ITK/Release 4/SpatialObjects/2010.11.18-Meeting: Difference between revisions
From KitwarePublic
< ITK | Release 4 | SpatialObjects
Jump to navigationJump to search
Daviddoria (talk | contribs) m (moved ITK Release 4/SpatialObjects/2010.11.18-Meeting to ITK/Release 4/SpatialObjects/2010.11.18-Meeting) |
|||
(15 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
= Attendees = | |||
* Arnaud Gelas | * Arnaud Gelas | ||
Line 7: | Line 5: | ||
* Luis Ibanez | * Luis Ibanez | ||
= Potential Use for FEM = | |||
* A potential '''FEMMeshSpatialObject''' could be created | * A potential '''FEMMeshSpatialObject''' could be created | ||
Line 16: | Line 14: | ||
*** a Reader Writer for it. | *** a Reader Writer for it. | ||
**** We can take the IO code from the Solver in the registration framework (Code/Numerics/FEM/itkFEMSolver.cxx) | **** 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 = | = Action Items = | ||
Line 22: | Line 68: | ||
** FEMSpatialObject | ** FEMSpatialObject | ||
** Make sure that it works nicely with the itkSpatialObjectWriter.txx (in ITK/Code/IO) | ** 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. |
Latest revision as of 16:01, 9 December 2011
Attendees
- 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)
- a Reader Writer for it.
- One option is to implement a FEMMeshSpatialObject and
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.