ITK
4.2.0
Insight Segmentation and Registration Toolkit
|
#include <itkOrientImageFilter.h>
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > |
Private Member Functions | |
std::string | GetMajorAxisFromPatientRelativeDirectionCosine (double x, double y, double z) |
void | operator= (const Self &) |
OrientImageFilter (const Self &) |
Private Attributes | |
std::map < CoordinateOrientationCode, std::string > | m_CodeToString |
CoordinateOrientationCode | m_DesiredCoordinateOrientation |
FlipAxesArrayType | m_FlipAxes |
CoordinateOrientationCode | m_GivenCoordinateOrientation |
PermuteOrderArrayType | m_PermuteOrder |
std::map< std::string, CoordinateOrientationCode > | m_StringToCode |
bool | m_UseImageDirection |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Permute axes and then flip images as needed to obtain agreement in coordinateOrientation codes.
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 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). You may explicitly set the DesiredOrientation with SetDesiredCoordinateOrientation (if UseImageDirection is "off") or you can use the image's direction cosines to set the DesiredOrientation (if UseImageDirection is "on"). 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 and the Image.Direction direction cosine matrix 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
Or, using the direction cosines of the image,
Definition at line 140 of file itkOrientImageFilter.h.
typedef SmartPointer< const Self > itk::OrientImageFilter< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 148 of file itkOrientImageFilter.h.
typedef SpatialOrientation::ValidCoordinateOrientationFlags itk::OrientImageFilter< TInputImage, TOutputImage >::CoordinateOrientationCode |
Definition at line 162 of file itkOrientImageFilter.h.
typedef FlipperType::FlipAxesArrayType itk::OrientImageFilter< TInputImage, TOutputImage >::FlipAxesArrayType |
Definition at line 170 of file itkOrientImageFilter.h.
typedef FlipImageFilter< TInputImage > itk::OrientImageFilter< TInputImage, TOutputImage >::FlipperType |
Axes flipper type.
Definition at line 169 of file itkOrientImageFilter.h.
typedef InputImageType::ConstPointer itk::OrientImageFilter< TInputImage, TOutputImage >::InputImageConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 153 of file itkOrientImageFilter.h.
typedef InputImageType::PixelType itk::OrientImageFilter< TInputImage, TOutputImage >::InputImagePixelType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 155 of file itkOrientImageFilter.h.
typedef InputImageType::Pointer itk::OrientImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 152 of file itkOrientImageFilter.h.
typedef InputImageType::RegionType itk::OrientImageFilter< TInputImage, TOutputImage >::InputImageRegionType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 154 of file itkOrientImageFilter.h.
typedef TInputImage itk::OrientImageFilter< TInputImage, TOutputImage >::InputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 151 of file itkOrientImageFilter.h.
typedef OutputImageType::ConstPointer itk::OrientImageFilter< TInputImage, TOutputImage >::OutputImageConstPointer |
Definition at line 158 of file itkOrientImageFilter.h.
typedef OutputImageType::PixelType itk::OrientImageFilter< TInputImage, TOutputImage >::OutputImagePixelType |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 160 of file itkOrientImageFilter.h.
typedef OutputImageType::Pointer itk::OrientImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 157 of file itkOrientImageFilter.h.
typedef OutputImageType::RegionType itk::OrientImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Superclass typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 159 of file itkOrientImageFilter.h.
typedef TOutputImage itk::OrientImageFilter< TInputImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 156 of file itkOrientImageFilter.h.
typedef PermuterType::PermuteOrderArrayType itk::OrientImageFilter< TInputImage, TOutputImage >::PermuteOrderArrayType |
Definition at line 166 of file itkOrientImageFilter.h.
typedef PermuteAxesImageFilter< TInputImage > itk::OrientImageFilter< TInputImage, TOutputImage >::PermuterType |
Axes permuter type.
Definition at line 165 of file itkOrientImageFilter.h.
typedef SmartPointer< Self > itk::OrientImageFilter< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 147 of file itkOrientImageFilter.h.
typedef OrientImageFilter itk::OrientImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 145 of file itkOrientImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::OrientImageFilter< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 146 of file itkOrientImageFilter.h.
|
protected |
End concept checking
|
inlineprotected |
End concept checking
Definition at line 274 of file itkOrientImageFilter.h.
|
private |
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
protected |
|
protectedvirtual |
OrientImageFilter will produce the entire output.
Reimplemented from itk::ProcessObject.
|
protectedvirtual |
Single-threaded version of GenerateData. This filter delegates to PermuteAxesImageFilter and FlipImageFilter.
Reimplemented from itk::ImageSource< TOutputImage >.
|
protectedvirtual |
OrientImageFilter needs the entire input be available. Thus, it needs to provide an implementation of GenerateInputRequestedRegion().
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
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.
|
virtual |
|
virtual |
Get flip axes.
|
virtual |
Set/Get the orientation codes to define the coordinate transform.
|
private |
|
virtual |
Runtime information support.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Get axes permute order.
|
virtual |
Controls how the GivenCoordinateOrientation is determined. If "on", the direction cosines determine the coordinate orientation. If "off", the user must use the SetGivenCoordinateOrientation method to establish the orientation. For compatbility with the original API, the default if "off".
|
protected |
|
protected |
|
static |
Standard New method.
Reimplemented from itk::Object.
|
private |
PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
protectedvirtual |
End concept checking
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
inline |
Definition at line 199 of file itkOrientImageFilter.h.
void itk::OrientImageFilter< TInputImage, TOutputImage >::SetDesiredCoordinateOrientation | ( | CoordinateOrientationCode | newCode | ) |
|
inline |
Convenience methods to set desired slice orientation These methods allow a limited selection of slice orientations without having to specify the SpatialOrientation.
SetDesiredCoordinateOrientationToAxial is equivalent to SetDesiredCoordinateOrientation (ITK_COORDINATE_ORIENTATION_RAI).
SetDesiredCoordinateOrientationToCoronal is equivalent to SetDesiredCoordinateOrientation (ITK_COORDINATE_ORIENTATION_RSA).
SetDesiredCoordinateOrientationToSagittal is equivalent to SetDesiredCoordinateOrientation (ITK_COORDINATE_ORIENTATION_ASL).
Definition at line 236 of file itkOrientImageFilter.h.
References itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RAI.
|
inline |
Definition at line 241 of file itkOrientImageFilter.h.
References itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_RSA.
|
inline |
Definition at line 246 of file itkOrientImageFilter.h.
References itk::SpatialOrientation::ITK_COORDINATE_ORIENTATION_ASL.
|
inline |
Definition at line 190 of file itkOrientImageFilter.h.
void itk::OrientImageFilter< TInputImage, TOutputImage >::SetGivenCoordinateOrientation | ( | CoordinateOrientationCode | newCode | ) |
Set/Get the orientation codes to define the coordinate transform.
|
virtual |
Controls how the GivenCoordinateOrientation is determined. If "on", the direction cosines determine the coordinate orientation. If "off", the user must use the SetGivenCoordinateOrientation method to establish the orientation. For compatbility with the original API, the default if "off".
itk::OrientImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::Convertible< InputImagePixelType, OutputImagePixelType > | ) |
Begin concept checking This class requires InputConvertibleToOutput in the form of ( Concept::Convertible< InputImagePixelType, OutputImagePixelType > )
itk::OrientImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::SameDimension< itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | ) |
This class requires SameDimension in the form of ( Concept::SameDimension< itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > )
itk::OrientImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::SameDimension< itkGetStaticConstMacro(InputImageDimension), 3 > | ) |
This class requires DimensionShouldBe3 in the form of ( Concept::SameDimension< itkGetStaticConstMacro(InputImageDimension), 3 > )
|
virtual |
Controls how the GivenCoordinateOrientation is determined. If "on", the direction cosines determine the coordinate orientation. If "off", the user must use the SetGivenCoordinateOrientation method to establish the orientation. For compatbility with the original API, the default if "off".
|
virtual |
Controls how the GivenCoordinateOrientation is determined. If "on", the direction cosines determine the coordinate orientation. If "off", the user must use the SetGivenCoordinateOrientation method to establish the orientation. For compatbility with the original API, the default if "off".
|
static |
ImageDimension constants
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 174 of file itkOrientImageFilter.h.
|
private |
Definition at line 312 of file itkOrientImageFilter.h.
|
private |
Definition at line 305 of file itkOrientImageFilter.h.
|
private |
Definition at line 309 of file itkOrientImageFilter.h.
|
private |
Definition at line 304 of file itkOrientImageFilter.h.
|
private |
Definition at line 308 of file itkOrientImageFilter.h.
|
private |
Definition at line 311 of file itkOrientImageFilter.h.
|
private |
Definition at line 306 of file itkOrientImageFilter.h.
|
static |
ImageDimension constants
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 176 of file itkOrientImageFilter.h.