level sets framework refactoring arnaud gelas, kishore mosaliganti, sean megason harvard medical...
TRANSCRIPT
![Page 1: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/1.jpg)
Level Sets Framework Refactoring
Arnaud Gelas, Kishore Mosaliganti,Sean Megason
Harvard Medical School
![Page 2: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/2.jpg)
Framework Enhancements
• Different representation• Different domains• Multiphase ( > 1 levelset)• Multichannel ( > 1 channel)• General PixelType (vector, tensor, RGB)• Term mashup ( geodesic, internal energy, etc )• Dynamic interactions• Stopping and reinitialization criteria
![Page 3: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/3.jpg)
Level Set Domain• Definition
– Level Set Domain refers to the subset where the Level Set Function is defined
• No restriction on topological dimension– Image– Volumetric Mesh– Surface Mesh – Curve– Point Set– Etc…
Courtesy of Peter Karasev
Courtesy of Kush Varshney
![Page 4: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/4.jpg)
Level Set Representation
• Discrete– Dense– Narrow-band
• Parametric (Continuous)– RBF based
• Images• Point-Set
– Spline based• Images
![Page 5: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/5.jpg)
Level Set Support• Definition
– Level Set Support refers to the subset of the Domain where the level set function is currently sampled and being evolved
• For instance– dense case:
• The level set support could be region of interest, or the whole domain
– narrow band: • The level set support is
changing at each iteration • The level set support is next to
the 0 level set
[Mosaliganti’09]
0 level-set
support
domain
![Page 6: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/6.jpg)
Level Set Equation Terms• Term class corresponds
to one term in the level set evolution equation– Provide a scalar for a given
location– Weight provided by the
user– A Name provided by the
developer• All Terms are stored in
containers, where – Terms can be added– Terms can be removed
dynamically at run-time
![Page 7: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/7.jpg)
Any PixelType
• Independent of the underlying data type thanks to the introduction of the term container– Scalars– Vectors– Tensors Needs to be taken care
In the term implementation!Needs to be taken careIn the term implementation!
![Page 8: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/8.jpg)
Level Set Evolution
• Implementation depends– on the representation of the level sets
• Discrete• Parametric
– on the scheme use to solve• Explicit • Semi implicit• Topologically constrained
![Page 9: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/9.jpg)
Multiphase
• # level sets N > 1– Useful in microscopy
• Level set function container– Add / Remove level set functions
• Terms container– Add interactions between levelsets
• Geometrical constraints
[Mosaliganti’09]
![Page 10: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/10.jpg)
Stopping criterion
• Default implementation– Number of Iterations– RMS Change
• User can provide his own stopping criterion
![Page 11: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/11.jpg)
Reinitialization
• Filters – Provided by the user
• Depends on the level set representation
– Periodically applied• User-specified
![Page 12: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/12.jpg)
Multithread Strategies
• Depends on the number of level sets– if N > number of cores, the priority is given to the
level set iteration– else the priority is given to the support iteration
![Page 13: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/13.jpg)
Visualization
• VTK widgets
0- Level Set + 2D image
0- Level Set in 3D
Level Set Function in 2D
![Page 14: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School](https://reader036.vdocument.in/reader036/viewer/2022062511/5514c10b55034640138b58bd/html5/thumbnails/14.jpg)
Wrappers
• Provide default Traits• Provide wrapper classes with API close to
ITKv3 implementation for existing level set filters