SlicerDMRI icon indicating copy to clipboard operation
SlicerDMRI copied to clipboard

Improve DWVolumeMasking UX, reusability, testing

Open ihnorton opened this issue 9 years ago • 5 comments

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.

ihnorton avatar Jan 20 '16 19:01 ihnorton

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.

ljod avatar Jan 20 '16 20:01 ljod

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)

ihnorton avatar Jan 28 '16 23:01 ihnorton

You didn't miss anything I'm aware of.

Lauren

ljod avatar Jan 28 '16 23:01 ljod

I'm glad this is merged. Do we have any tests with varied test data?

ljod avatar Feb 18 '16 21:02 ljod

Added to checklist for closing this issue. (the current "test" is a comparison of static images, doesn't run module at all).

ihnorton avatar Feb 18 '16 22:02 ihnorton