ITK/Release 4/SpatialObjects/2010.11.18-Meeting

From KitwarePublic
Jump to navigationJump to search


  • Arnaud Gelas
  • Vincent Magnotta
  • Luis Ibanez

Potential Use for FEM

  • A potential FEMMeshSpatialObject could be created
    • Still a "FEMMesh" must be created
  • How much refactoring is needed in Numeric/FEM
  • IO is a critical need for FEM.
    • One option is to implement a FEMMeshSpatialObject and
      • a Reader Writer for it.
        • We can take the IO code from the Solver in the registration framework (Code/Numerics/FEM/itkFEMSolver.cxx)

Other Modifications

Add TimeStamp

  • The actual TimeStamp will probably go in the itk::DataObject
  • and will be available to the SpatialObject (given that it derives from itk::DataObject)

Compute Statistics

  • A new filter that takes two inputs
    • an Image
    • an SpatialObject (as a mask)
  • This filter compute intensity and shape statistics from image pixels that are "inside" of the spatial object.
  • Use case: Having thousands of cells (biological ones) represented as itk::SpatialObjects and over each one compute statistics from the image pixels that are inside.
    • Multi-thread over groups of spatial objects.
    • Maybe reusing the LabelMap statistics classes ?
    • Converting the spatial objects to a label map.

Time and Tracking

  • Given a group of SpatialObjects at time 1
  • Given a group of SpatialObjects at time 2

Need to

  • Filter(s) to Establish correspondences between the homologous spatial object of T1 to T1 (find self...)
  • What should the output be ?
  • Create itkTrajectoriesSpatialObject (3D + time)
    • It derives from the itkGroupSpatialObject
    • It provide links (edges) between objects that are the "same".
      • The links are across 4D.

Conceptual Grouping

  • Have ShapedGroupSpatialObjects with Shape information
    • Use Case: Track an organ (composed of spatial objects, each one being cells)
  • The shape would be the outline of the group of cell.

Arbitrary Properties

  • Add arbitrary (key, value) pairs to label the objects.
    • For example tissue-type (connective, epithelial...).
  • This could be done by using the MetaDataDictionary
    • SpatialObjects have MetaDataDictionaries (they inherit it from the itk::Object).
  • itk::QuerySpatialObjectFilter that take a Spatial object and select the ones for which the MetaData dictionary has labels with a given value.
  • Is the MetaData Dictionary managed by the SpatialObject Reader/Writer ?

Action Items

  • Kitware: to create skeletons classes
    • FEMSpatialObject
    • Make sure that it works nicely with the itkSpatialObjectWriter.txx (in ITK/Code/IO)
  • Create a filter that takes a collection of spatial objects (in a itkGroupSpatialObject) and generates a label map.
    • Maybe introduce a policy for overlap resolution (?)
    • Arnaud to send this code to Luis
    • Luis to create the filter.