SlicerDMRI
SlicerDMRI copied to clipboard
Improve DWVolumeMasking UX, reusability, testing
Feedback from SP tractography tutorials:
- [x] Otsu thresholding is hard to use, often need to set high (0.9) threshold and then erode/dilate to get usable mask.
- [x] Otsu has issues with some datasets, where mask will underfill (may be due to 2d vs. 3d, see discussion notes w/ OB)
- [ ] Separate masking step adds complication to workflow
Other tasks:
- [ ] move masking to filter library.
- [ ] fix test w/ helix-DWI.
- [ ] add test(s) w/ real data.
- [ ] re-incorporate masking pipeline into tensor estimation as library call
- [ ] make CLI a bare wrapper.
Also the filters for island removal etc are old Slicer ones. Orjan was going to replace with current vtk ones to test if it fixes issues, but he did not have time. I recommend removing use of Slicer specific vtk classes here.
The two Slicer-specific filters are:
- vtkITKNewOtsuThresholdImageFilter
- vtkImageConnectivity (for island removal)
The first can likely be replaced with http://www.itk.org/Doxygen/html/itkOtsuThresholdImageFilter_8h.html
For the second, the closest I've found so far in VTK proper vtkImageThresholdConnectivity. I'll test it and see.
Another option, not yet in VTK mainstream, is a filter from David Gobbi described here and here (mailing list). It looks self-contained, so we could copy it over until it is available in VTK.
(please let me know if I missed an existing filter that you are aware of / discussed with Orjan)
You didn't miss anything I'm aware of.
Lauren
I'm glad this is merged. Do we have any tests with varied test data?
Added to checklist for closing this issue. (the current "test" is a comparison of static images, doesn't run module at all).