ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkWarpImageFilter.h>
Warps an image using an input displacement field.
WarpImageFilter warps an existing image with respect to a given displacement field.
A displacement field is represented as a image whose pixel type is some vector type with at least N elements, where N is the dimension of the input image. The vector type must support element access via operator [].
The output image is produced by inverse mapping: the output pixels are mapped back onto the input image. This scheme avoids the creation of any holes and overlaps in the output image.
Each vector in the displacement field represent the distance between a geometric point in the input space and a point in the output space such that:
Typically the mapped position does not correspond to an integer pixel position in the input image. Interpolation via an image function is used to compute values at non-integer positions. The default interpolation typed used is the LinearInterpolateImageFunction. The user can specify a particular interpolation function via SetInterpolator(). Note that the input interpolator must derive from base class InterpolateImageFunction.
Position mapped to outside of the input image buffer are assigned a edge padding value.
The LargetPossibleRegion for the output is inherited from the input displacement field. The output image spacing, origin and orientation may be set via SetOutputSpacing, SetOutputOrigin and SetOutputDirection. The default are respectively a vector of 1's, a vector of 0's and an identity matrix.
This class is templated over the type of the input image, the type of the output image and the type of the displacement field.
The input image is set via SetInput. The input displacement field is set via SetDisplacementField.
This filter is implemented as a multithreaded filter.
Definition at line 88 of file itkWarpImageFilter.h.
typedef SmartPointer< const Self > itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 96 of file itkWarpImageFilter.h.
typedef double itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::CoordRepType |
Interpolator typedef support.
Definition at line 142 of file itkWarpImageFilter.h.
typedef LinearInterpolateImageFunction< InputImageType, CoordRepType > itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DefaultInterpolatorType |
Definition at line 146 of file itkWarpImageFilter.h.
typedef TOutputImage::DirectionType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DirectionType |
Type for representing the direction of the output image
Definition at line 152 of file itkWarpImageFilter.h.
typedef DisplacementFieldType::Pointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementFieldPointer |
Definition at line 132 of file itkWarpImageFilter.h.
typedef TDisplacementField itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementFieldType |
Displacement field typedef support.
Definition at line 131 of file itkWarpImageFilter.h.
typedef DisplacementFieldType::PixelType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementType |
Definition at line 133 of file itkWarpImageFilter.h.
typedef ImageBase< itkGetStaticConstMacro(ImageDimension) > itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::ImageBaseType |
typedef for base image type at the current ImageDimension
Definition at line 128 of file itkWarpImageFilter.h.
typedef OutputImageType::IndexType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::IndexType |
Definition at line 113 of file itkWarpImageFilter.h.
typedef OutputImageType::IndexValueType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::IndexValueType |
Definition at line 114 of file itkWarpImageFilter.h.
typedef Superclass::InputImageConstPointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InputImageConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 112 of file itkWarpImageFilter.h.
typedef Superclass::InputImagePointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InputImagePointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 109 of file itkWarpImageFilter.h.
typedef Superclass::InputImageType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InputImageType |
Inherit some types from the superclass.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 108 of file itkWarpImageFilter.h.
typedef InterpolatorType::Pointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InterpolatorPointer |
Definition at line 144 of file itkWarpImageFilter.h.
typedef InterpolateImageFunction< InputImageType, CoordRepType > itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InterpolatorType |
Definition at line 143 of file itkWarpImageFilter.h.
typedef Superclass::OutputImagePointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::OutputImagePointer |
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 111 of file itkWarpImageFilter.h.
typedef TOutputImage::RegionType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::OutputImageRegionType |
Typedef to describe the output image region type.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 102 of file itkWarpImageFilter.h.
typedef Superclass::OutputImageType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 110 of file itkWarpImageFilter.h.
typedef OutputImageType::PixelType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::PixelType |
Definition at line 116 of file itkWarpImageFilter.h.
typedef SmartPointer< Self > itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 95 of file itkWarpImageFilter.h.
typedef Point< CoordRepType, itkGetStaticConstMacro(ImageDimension) > itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::PointType |
Point type
Definition at line 149 of file itkWarpImageFilter.h.
typedef WarpImageFilter itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 93 of file itkWarpImageFilter.h.
typedef OutputImageType::SizeType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SizeType |
Definition at line 115 of file itkWarpImageFilter.h.
typedef OutputImageType::SpacingType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SpacingType |
Definition at line 117 of file itkWarpImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 94 of file itkWarpImageFilter.h.
itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::WarpImageFilter | ( | ) | [protected] |
End concept checking
itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::WarpImageFilter | ( | const Self & | ) | [private] |
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::AfterThreadedGenerateData | ( | ) | [virtual] |
This method is used to set the state of the filter after multi-threading.
Reimplemented from itk::ImageSource< TOutputImage >.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::BeforeThreadedGenerateData | ( | ) | [virtual] |
This method is used to set the state of the filter before multi-threading.
Reimplemented from itk::ImageSource< TOutputImage >.
virtual::itk::LightObject::Pointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::CreateAnother | ( | void | ) | const [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.
DisplacementType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::EvaluateDisplacementAtPhysicalPoint | ( | const PointType & | p | ) | [private] |
This function should be in an interpolator but none of the ITK interpolators at this point handle edge conditions properly
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GenerateInputRequestedRegion | ( | ) | [virtual] |
It is difficult to compute in advance the input image region required to compute the requested output region. Thus the safest thing to do is to request for the whole input image.
For the displacement field, the input requested region set to be the same as that of the output requested region.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GenerateOutputInformation | ( | ) | [virtual] |
WarpImageFilter produces an image which is a different size than its input image. As such, it needs to provide an implemenation for GenerateOutputInformation() which set the output information according the OutputSpacing, OutputOrigin and the displacement field's LargestPossibleRegion.
Reimplemented from itk::ProcessObject.
DisplacementFieldType* itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetDisplacementField | ( | void | ) |
Get a pointer the displacement field.
virtual PixelType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetEdgePaddingValue | ( | ) | const [virtual] |
Get the edge padding value
virtual InterpolatorType* itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetInterpolator | ( | ) | [virtual] |
Get a pointer to the interpolator function.
virtual const char* itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods)
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual const DirectionType& itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetOutputDirection | ( | ) | [virtual] |
Set/Get the direction (orientation) of the output image
virtual const PointType& itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetOutputOrigin | ( | ) | [virtual] |
Get the output image origin.
virtual const SizeType& itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetOutputSize | ( | ) | [virtual] |
Get the size of the output image.
virtual const SpacingType& itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetOutputSpacing | ( | ) | [virtual] |
Get the output image spacing.
virtual const IndexType& itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::GetOutputStartIndex | ( | ) | [virtual] |
Get the start index of the output largest possible region.
static Pointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::operator= | ( | const Self & | ) | [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 >.
void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
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 >.
void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetDisplacementField | ( | const DisplacementFieldType * | field | ) |
Set the displacement field.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetEdgePaddingValue | ( | PixelType | _arg | ) | [virtual] |
Set the edge padding value
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetInterpolator | ( | InterpolatorType * | _arg | ) | [virtual] |
Set the interpolator function.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputDirection | ( | DirectionType | _arg | ) | [virtual] |
Set/Get the direction (orientation) of the output image
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputOrigin | ( | PointType | _arg | ) | [virtual] |
Set the output image origin.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputOrigin | ( | const double * | values | ) | [virtual] |
Set the output image origin.
void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputParametersFromImage | ( | const ImageBaseType * | image | ) |
Helper method to set the output parameters based on this image
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputSize | ( | SizeType | _arg | ) | [virtual] |
Set the size of the output image.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputSpacing | ( | SpacingType | _arg | ) | [virtual] |
Set the output image spacing.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputSpacing | ( | const double * | values | ) | [virtual] |
Set the output image spacing.
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::SetOutputStartIndex | ( | IndexType | _arg | ) | [virtual] |
Set the start index of the output largest possible region. The default is an index of all zeros.
void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::ThreadedGenerateData | ( | const OutputImageRegionType & | outputRegionForThread, |
ThreadIdType | threadId | ||
) | [protected, virtual] |
WarpImageFilter is implemented as a multi-threaded filter. As such, it needs to provide and implementation for ThreadedGenerateData().
Reimplemented from itk::ImageSource< TOutputImage >.
itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::typedef | ( | Concept::SameDimension< ImageDimension, InputImageDimension > | ) |
Begin concept checking This class requires SameDimensionCheck1 in the form of ( Concept::SameDimension< ImageDimension, InputImageDimension > )
itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::typedef | ( | Concept::SameDimension< ImageDimension, DisplacementFieldDimension > | ) |
This class requires SameDimensionCheck2 in the form of ( Concept::SameDimension< ImageDimension, DisplacementFieldDimension > )
itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::typedef | ( | Concept::HasNumericTraits< typename TInputImage::PixelType > | ) |
This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename TInputImage::PixelType > )
itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::typedef | ( | Concept::HasNumericTraits< typename TDisplacementField::PixelType::ValueType > | ) |
This class requires DisplacementFieldHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename TDisplacementField::PixelType::ValueType > )
virtual void itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::VerifyInputInformation | ( | ) | [inline, protected, virtual] |
Override VeriyInputInformation() since this filter's inputs do not need to occoupy the same physical space.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 273 of file itkWarpImageFilter.h.
const unsigned int itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::DisplacementFieldDimension = TDisplacementField::ImageDimension [static] |
Definition at line 125 of file itkWarpImageFilter.h.
const unsigned int itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::ImageDimension = TOutputImage::ImageDimension [static] |
Determine the image dimension.
Definition at line 121 of file itkWarpImageFilter.h.
const unsigned int itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::InputImageDimension = TInputImage::ImageDimension [static] |
ImageDimension constants
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 123 of file itkWarpImageFilter.h.
bool itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_DefFieldSizeSame [private] |
Definition at line 292 of file itkWarpImageFilter.h.
PixelType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_EdgePaddingValue [private] |
Definition at line 284 of file itkWarpImageFilter.h.
IndexType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_EndIndex [private] |
Definition at line 294 of file itkWarpImageFilter.h.
InterpolatorPointer itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_Interpolator [private] |
Definition at line 289 of file itkWarpImageFilter.h.
DirectionType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_OutputDirection [private] |
Definition at line 287 of file itkWarpImageFilter.h.
PointType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_OutputOrigin [private] |
Definition at line 286 of file itkWarpImageFilter.h.
SizeType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_OutputSize [private] |
Definition at line 290 of file itkWarpImageFilter.h.
SpacingType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_OutputSpacing [private] |
Definition at line 285 of file itkWarpImageFilter.h.
IndexType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_OutputStartIndex [private] |
Definition at line 291 of file itkWarpImageFilter.h.
IndexType itk::WarpImageFilter< TInputImage, TOutputImage, TDisplacementField >::m_StartIndex [private] |
Definition at line 294 of file itkWarpImageFilter.h.