140 likes | 157 Views
Explore the dynamic interactions, diverse representations, and refinements in the Level Set framework; supporting different domains, pixel types, and multiphase applications with adaptable stopping criteria.
E N D
Level Sets Framework Refactoring Arnaud Gelas, KishoreMosaliganti, 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 Kush Varshney Courtesy of Peter Karasev
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!
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 Level Set Function in 2D 0- Level Set + 2D image 0- Level Set in 3D
Wrappers • Provide default Traits • Provide wrapper classes with API close to ITKv3 implementation for existing level set filters