ITK/Release 4/Modularization/Prototype/Partition

From KitwarePublic
Jump to navigationJump to search

The following is part of the suggested list of modules in which monolithic ITK will be partitioned. Those modules are categorized into Core, IO, Filtering Segmentation, Registration and Others, according to their functionalities. The current list is only for prototyping discussion purposes and does not cover all the classes in ITK yet.

Core

  • common (Object, Exception,ProcessObject ...)
  • io-common (IO wrapper)
  • itksys (system tools)
  • itkvnl (essential numerics)

Numerics

  • Optimizers
  • Statistics
  • Neural Networks
  • FEM

IO

One module per file format. This is because every file format brings in a dependency on a full third party library

  • PNG
  • JPEG
  • Nrrd
  • BMP
  • IPL
  • GDCM
  • BioRad
  • LSM
  • TIFF
  • VTK
  • GE
  • Analyze
  • BMP
  • Gipl
  • Nifti
  • DICOM
  • Meta
  • Siemens
  • XML
  • Transform

Filtering

  • Anisotropic Diffusion
  • Isotropic (Mean, Median, Gaussian)
  • Thresholding (BinaryThreshold, OtsuThreshold)
  • Mathematical Morphology (Open, Close, Thinning,Pruning)
  • Hole Filling
  • Anti-alias
  • Gradient
  • Ballon Force
  • Curvature Flow
  • Gradient Vector Flow
  • STAPLE
  • QuadEdgeMesh
  • Diffusion Tensor
  • BSpline
  • Edge Detection
  • Image Statistics
  • Triangle Mesh

Segmentation

  • Region Growing
  • Level Sets
  • Deformable Mesh
  • Watersheds
  • Voronoi
  • Kmeans
  • Classifier
  • Markov Random Fields
  • GibbsPiror
  • Connected Components
  • Label Voting
  • Fast marching
  • PCAShapeModel

Registration

  • registration-common (common classes for all image registration methods, eg. Deformation Fields, Image matching metrics)
  • Deformable Registration
  • Demons
  • FEM Registration
  • Curvature Registration
  • Image to Spatial Object registration
  • Point set to point set registration

Others

(Utility modules)

  • NrrdIO
  • zlib
  • openjpeg
  • KWSyle
  • Doxygen
  • DICOMParser

Applications