Closed hanayik closed 2 years ago
When adding this feature to NiiVue, it might also be nice to add in support for section 2.2 of this paper in order to control boundary smoothness of the resulting segmentation.
Yes, I would love to collaborate on this. Note I also have a 3D version as a webgl shader here: https://github.com/pieper/step/blob/master/src/growcut.js
Plus one for this feature.
@pieper's webGL grow-cut implementation is a powerful, interactive segmentation tool in 2D. The 3D variant of the algorithm is already implemented in Slicer as well. Grow-cut is beneficial for medical image segmentation in that multiple (greater than 2) classes can be used to segment pathologies in real-time, rather than the traditional foreground/background 2 class segmentation methods like graph-cut.
Adding grow-cut segmentation to NiiVue could be a valuable feature for many researchers. We can implement it using WebGL 2.0 which is now supported by the latest versions of all major browsers. The algorithm could be implemented in other viewing software such as @neurolabusc's MRIcroGL, and @pauldmccarthy's FSLeyes.
Implementing this feature in NiiVue would build on @cdrake's latest PR #146.
We would also need to add a "save" method to the NVImage class so that we can write out the image segmentation results.
@pieper, this would be a great collaboration opportunity that would provide a benefit to users of the neuroimaging community that use NiiVue in web reports, and cloud based analysis pipelines.