#include <itkOrientImageFilter.h>
Inheritance diagram for itk::OrientImageFilter< TInputImage, TOutputImage >:
This class satisfies a common requirement in medical imaging, which is to properly orient a 3 dimensional image with respect to anatomical features. Due to the wide variety of hardware used to generate 3D images of human anatomy, and the even wider variety of image processing software, it is often necessary to re-orient image volume data.
OrientImageFilter depends on a set of constants that describe all possible permutations of Axes. These reside in itkSpatialOrientation.h. These are labeled according to the following scheme: Directions are labeled in terms of following pairs:
The initials of these directions are used in a 3 letter code in the enumerated type itk::SpatialOrientation::ValidCoordinateOrientationFlags. The initials are given fastest moving index first, second fastest second, third fastest third. Examples:
In order to use this filter, you need to supply an input image, the current orientation of the input image (set with SetGivenCoordinateOrientation) and the desired orientation (set with SetDesiredCoordinateOrientation).
When reading image files that define the coordinate orientation of the image, the current orientation is stored in the MetadataDictionary for the itk::Image object created from the file.
As an example, if you wished to keep all images within your program in the orientation corresponding to the Analyze file format's 'CORONAL' orientation you could do something like the following
#include "itkAnalyzeImageIO.h" #include "itkMetaDataObject.h" #include "itkImage.h" #include "itkSpatialOrientation.h" #include "itkOrientImageFilter.h" #include "itkIOCommon.h" typedef itk::Image<unsigned char,3> ImageType; typedef itk::ImageFileReader< TstImageType > ImageReaderType ; ImageType::Pointer ReadAnalyzeFile(const char *path) { itk::AnalyzeImageIO::Pointer io = itk::AnalyzeImageIO::New(); ImageReaderType::Pointer fileReader = ImageReaderType::New(); fileReader->SetImageIO(io); fileReader->SetFileName(path); fileReader->Update(); ImageType::Pointer rval = fileReader->GetOutput(); itk::SpatialOrientation::ValidCoordinateOrientationFlags fileOrientation; itk::ExposeMetaData<itk::SpatialOrientation::ValidCoordinateOrientationFlags> (rval->GetMetaDataDictionary(),itk::ITK_CoordinateOrientation,fileOrientation); itk::OrientImageFilter<ImageType,ImageType>::Pointer orienter = itk::OrientImageFilter<ImageType,ImageType>::New(); orienter->SetGivenCoordinateOrientation(fileOrientation); orienter->SetDesiredCoordinateOrientation(itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RIP); orienter->SetInput(rval); orienter->Update(); rval = orienter->GetOutput(); return rval; }
Definition at line 106 of file itkOrientImageFilter.h.
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 115 of file itkOrientImageFilter.h. |
|
Definition at line 129 of file itkOrientImageFilter.h. |
|
Definition at line 137 of file itkOrientImageFilter.h. |
|
Axes flipper type. Definition at line 136 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 121 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 123 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 120 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 122 of file itkOrientImageFilter.h. |
|
Some convenient typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 118 of file itkOrientImageFilter.h. |
|
Definition at line 125 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 127 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 124 of file itkOrientImageFilter.h. |
|
Superclass typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 126 of file itkOrientImageFilter.h. |
|
Some convenient typedefs. Reimplemented from itk::ImageSource< TOutputImage >. Definition at line 119 of file itkOrientImageFilter.h. |
|
Definition at line 133 of file itkOrientImageFilter.h. |
|
Axes permuter type. Definition at line 132 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 114 of file itkOrientImageFilter.h. |
|
Standard class typedefs. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 111 of file itkOrientImageFilter.h. |
|
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >. Definition at line 113 of file itkOrientImageFilter.h. |
|
|
|
Definition at line 176 of file itkOrientImageFilter.h. |
|
* Member functions used by GenerateData: |
|
OrientImageFilter will produce the entire output. Reimplemented from itk::ProcessObject.
|
|
Single-threaded version of GenerateData. This filter delegates to PermuteAxesImageFilter and FlipImageFilter. Reimplemented from itk::ImageSource< TOutputImage >.
|
|
OrientImageFilter needs the entire input be available. Thus, it needs to provide an implementation of GenerateInputRequestedRegion(). Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
|
OrientImageFilter produces an image which is a different dimensionality than its input image, in general. As such, OrientImageFilter needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.
Reimplemented from itk::ProcessObject.
|
|
Runtime information support. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
|
Set/Get the orienttion codes to define the coordinate transform. |
|
Get flip axes. |
|
Set/Get the orienttion codes to define the coordinate transform. |
|
Get axes permute order. |
|
ImageDimension constants Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
|
ImageDimension constants Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
|
* Member functions used by GenerateData: |
|
* Member functions used by GenerateData: |
|
Standard New method. Reimplemented from itk::Object.
|
|
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes. Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
|
Set/Get the orienttion codes to define the coordinate transform. |
|
Set/Get the orienttion codes to define the coordinate transform. |