Date post: | 27-Mar-2015 |
Category: |
Documents |
Upload: | charles-andersen |
View: | 214 times |
Download: | 0 times |
Level Sets Framework Refactoring
Arnaud Gelas, Kishore Mosaliganti,Sean Megason
Harvard Medical School
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
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
Level Set Representation
• Discrete– Dense– Narrow-band
• Parametric (Continuous)– RBF based
• Images• Point-Set
– Spline based• Images
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
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
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!
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
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]
Stopping criterion
• Default implementation– Number of Iterations– RMS Change
• User can provide his own stopping criterion
Reinitialization
• Filters – Provided by the user
• Depends on the level set representation
– Periodically applied• User-specified
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
Visualization
• VTK widgets
0- Level Set + 2D image
0- Level Set in 3D
Level Set Function in 2D
Wrappers
• Provide default Traits• Provide wrapper classes with API close to
ITKv3 implementation for existing level set filters