Top Banner
Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School
14

Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School.

Mar 27, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Level Sets Framework Refactoring Arnaud Gelas, Kishore Mosaliganti, Sean Megason Harvard Medical School.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Wrappers

• Provide default Traits• Provide wrapper classes with API close to

ITKv3 implementation for existing level set filters