NAMIC Wiki:ShapeAnalysis:ShapeRepresentation

From NAMIC Wiki
Revision as of 13:39, 18 December 2006 by Andy (talk | contribs) (Update from Wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < NAMIC Wiki:ShapeAnalysis:ShapeRepresentation

Project:

Generally, we want to develop easy-to-use and standard modules and pipelines for shape representation and statistical shape analysis.

This part of the NAMIC-TOOLKIT will be implemented in C++, and based upon the template-based ITK library. In order to support efficient and flexible shape processing of a large group, we need to adopt the pipeline concept oand divide tasks into modules, but at the same time, we want to keep the compactness of the pipeline by trying to avoid too many small modules. There will be a trade-off in implementation.

We also want to separate data representation from data processing, by defining data objects and process objects. While data objects are used to represent data, process objects(e.g. data filters) are classes that operate on data objects and may produce new data objects.

This project is basically composed by three main components: individual shpe representation, shape and statistical result visualization, and statistical analysis on shape populations. Following addresses mainly on the design of individual shape representations.

Processing Modules:

  • Isotropic image to spherical harmonic (SPHARM) parametric coefficient object conversion
  • SPHARM parametric coefficient object to PDM (Point Distribution Model)/Mesh object conversion
  • Mesh to Isotropic image conversion
  • Procrustes alignment of two mesh or point based spatial objects
  • Procrustes alignment of a population of objects

Data Representation:

In order to maintain compactness, we make use of the ITK existing data classes as much as possible

  • Image
    • We will adopt the Image in ITK, but we need to do extra check to the ImageToCoefFilter to guarantee that
      • the image is 3D scalar image (binary segmentation), error otherwise
      • the image has one single component, otherwise take the largest component
      • isotropic resolution, otherwise convert it into isotropic
  • Mesh/PDM object
    • Make use of ITK MeshSpatialObject
  • SPHARMCoefSpatialObject (NEW)
    • Representing spherical harmonic coefficient objects
  • Intermediate NET data that ImageToCoefFilter can generate
    • Make use of ITK SurfaceSpatialObject
  • Intermediate PAR data that ImageToCoefFilter can generate
    • Make use of ITK MeshSpatialObject

Processing Objects:

  • ImageToCoefFilter
  • CoefToMeshFilter
  • MeshToImageFilter
  • SpatialObjectProcrustesAlignFilter
  • PopulationProcrustesAlignFilter

Pipeline:

pipeline.png