KWScene/Documentation/Supported Generators/ITK/Image: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Desired Format Support =
= Desired Format Support =


DICOM (.dcm)
** DICOM (.dcm)
Analyze (.hdr/.ima)
** Analyze (.hdr/.ima)
XML (.vti)
** XML (.vti)
** MetaImage (.mha)


= Class Diagrams =
= Class Diagrams =
Line 10: Line 11:
<graphviz>
<graphviz>
digraph G {
digraph G {
itk::ProcessObject [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ProcessObject.html"];
itkProcessObject [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ProcessObject.html"];
itk::ImageSource<> [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageSource.html"];
itkImageSource [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageSource.html"];
itk::ImageSeriesReader [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageSeriesReader.html"];
itkImageSeriesReader [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageSeriesReader.html"];
itk::ImageFileReader [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageFileReader.html"];
itkImageFileReader [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageFileReader.html"];
itk::ImageIOBase [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageIOBase.html"];
itkImageIOBase [URL="http://www.itk.org/Doxygen316/html/classitk_1_1ImageIOBase.html"];
itk::VTKImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1VTKImageIO.html"];
itkVTKImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1VTKImageIO.html"];
itk::VTKGDCMImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1GDCMImageIO.html"];
itkGDCMImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1GDCMImageIO.html"];
itk::VTKAnalyzeImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1AnalyzeImageIO.html"];
itkAnalyzeImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1AnalyzeImageIO.html"];
itk::VTKMetaImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1MetaImageIO.html"];
itkMetaImageIO[URL="http://www.itk.org/Doxygen316/html/classitk_1_1MetaImageIO.html"];
itk::ProcessObject -> itk::ImageSource<>
itkProcessObject -> itkImageSource
itk::ImageSource<> -> itk::ImageSeriesReader<>
itkImageSource -> itkImageSeriesReader
itk::ImageSource<> -> itk::ImageFileReader<>
itkImageSource -> itkImageFileReader
itk::ImageIOBase -> itk::GDCMImageIO
itkImageIOBase -> itkGDCMImageIO
itk::ImageIOBase -> itk::AnalyzeImageIO
itkImageIOBase -> itkAnalyzeImageIO
itk::ImageIOBase -> itk::VTKImageIO
itkImageIOBase -> itkVTKImageIO
itk::ImageIOBase -> itk::MetaImageIO
itkImageIOBase -> itkMetaImageIO
}
}
</graphviz>
</graphviz>
Line 33: Line 34:
== Option A ==
== Option A ==


* Create a KWScene hierarchy where every class is dedicated to a specific file format.
* Create a KWScene hierarchy where FactoryBasedImageGenerator handles all relevant file formats.
* Will have classes
* Will have classes
** Image-KWSGenerator, which can generate either an image of most single-file types via itk::ImageIOFactory  
** FactoryBasedImage-KWSGenerator, which can generate either  
** or an Image Series via itk::GDCMImageIO.  
** an image of most single-file types via itk::ImageIOFactory or
** Because of the reliability of ImageIOFactory, ImageNode is not an abstract class here, and can handle any image.  
** an Image Series via itk::GDCMImageIO.  
** because of the breadth and reliability of ImageIOFactory.
** ImageNodeGenerator is the base class here, to be consistent with nomenclature in VTK.  


=== Proposed Hierarchy ===
=== Proposed Hierarchy ===
Line 46: Line 49:
kwsITKNodeGenerator
kwsITKNodeGenerator
kwsITKImageNodeGenerator
kwsITKImageNodeGenerator
kwsVTKGenerator -> kwsVTKNodeGenerator
kwsITKFactoryBasedImageNodeGenerator
kwsVTKNodeGenerator -> kwsVTKImageNodeGenerator
kwsITKGenerator -> kwsITKNodeGenerator
kwsITKNodeGenerator -> kwsITKImageNodeGenerator
kwsITKImageNodeGenerator-> kwsITKFactoryBasedImageNodeGenerator
}
}
</graphviz>
</graphviz>

Latest revision as of 19:32, 22 April 2010

Desired Format Support

    • DICOM (.dcm)
    • Analyze (.hdr/.ima)
    • XML (.vti)
    • MetaImage (.mha)

Class Diagrams

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

Options

Option A

  • Create a KWScene hierarchy where FactoryBasedImageGenerator handles all relevant file formats.
  • Will have classes
    • FactoryBasedImage-KWSGenerator, which can generate either
    • an image of most single-file types via itk::ImageIOFactory or
    • an Image Series via itk::GDCMImageIO.
    • because of the breadth and reliability of ImageIOFactory.
    • ImageNodeGenerator is the base class here, to be consistent with nomenclature in VTK.

Proposed Hierarchy

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.