ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkInterpolateImagePointsFilter.h>
Resamples an image at the coordinates specified by the user.
This class may be templated over the Interpolate Function but defaults to the BSplineInterpolateImageFunction for cubic interpolation. The user must set the image using the SetInputImage function and they must set the coordinates (one coordinate "image" for each dimension) using SetInterpolationCoordinate(). The coordinates may be any number of points and can be randomly organized. The interpolated output will correspond to the ordering of the coordinate points. The coordinates must be of type ContinuousIndexType and not of PointType.
This function is different from the resampleImageFilter class in that the resampleImageFilter applies a transform to the original input image coordinates. This function takes an arbitrary set of point coordinates and applies the transform at these locations.
Limitations: The coordinates must be in an image of the same dimension as the input image. There is no reason why this should be the case and future revisions should look at eliminating this limitation. Currently TCoordType must be the same as the input pixel type (TInputImage). Again future revisions should look at eliminating this limitation. Though the output generation may be streamed the entire input image, must be supplied. The coordinates may be streamed in smaller blocks. The coordinates are specified as separate images for each dimension. The coordinates are treated as Continuous Indices. If coordinates are supplied as Points then they must be converted to an Index before passing to this class.
Definition at line 80 of file itkInterpolateImagePointsFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Types | |
typedef ImageRegionConstIterator < CoordImageType > | CoordImageIterator |
typedef CoordImageType::RegionType | CoordImageRegionType |
typedef CoordImageType::Pointer | CoordImageTypePointer |
Private Member Functions | |
InterpolateImagePointsFilter (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
PixelType | m_DefaultPixelValue |
InterpolatorPointer | m_Interpolator |
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 |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
typedef SmartPointer< const Self > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::ConstPointer |
Definition at line 88 of file itkInterpolateImagePointsFilter.h.
typedef InterpolatorType::ContinuousIndexType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::ContinuousIndexType |
Definition at line 114 of file itkInterpolateImagePointsFilter.h.
|
private |
Definition at line 185 of file itkInterpolateImagePointsFilter.h.
|
private |
Definition at line 186 of file itkInterpolateImagePointsFilter.h.
typedef Image< TCoordType, itkGetStaticConstMacro(ImageDimension) > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::CoordImageType |
Typedefs to describe and access coordinate images
Definition at line 117 of file itkInterpolateImagePointsFilter.h.
|
private |
Typedefs to describe and access coordinate images
Definition at line 184 of file itkInterpolateImagePointsFilter.h.
typedef Superclass::InputImagePointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InputImagePointer |
Definition at line 102 of file itkInterpolateImagePointsFilter.h.
typedef Superclass::InputImageType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InputImageType |
Typedefs from the Superclass
Definition at line 100 of file itkInterpolateImagePointsFilter.h.
typedef InterpolatorType::Pointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::InterpolatorPointer |
Typedefs to describe and access Interpolator
Definition at line 113 of file itkInterpolateImagePointsFilter.h.
typedef ImageRegionIterator< InputImageType > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImageIterator |
Definition at line 106 of file itkInterpolateImagePointsFilter.h.
typedef TOutputImage::Pointer itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImagePointer |
Typedefs to describe and access output image.
Definition at line 105 of file itkInterpolateImagePointsFilter.h.
typedef OutputImageType::RegionType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImageRegionType |
Definition at line 107 of file itkInterpolateImagePointsFilter.h.
typedef Superclass::OutputImageType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::OutputImageType |
Definition at line 101 of file itkInterpolateImagePointsFilter.h.
typedef TOutputImage::PixelType itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::PixelType |
Image pixel value typedef.
Definition at line 110 of file itkInterpolateImagePointsFilter.h.
typedef SmartPointer< Self > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::Pointer |
Definition at line 87 of file itkInterpolateImagePointsFilter.h.
typedef ImageToImageFilterDetail::ImageRegionCopier< itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension) > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::RegionCopierType |
Typedef for region copier
Definition at line 121 of file itkInterpolateImagePointsFilter.h.
typedef InterpolateImagePointsFilter itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::Self |
Standard class typedefs.
Definition at line 85 of file itkInterpolateImagePointsFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::Superclass |
Definition at line 86 of file itkInterpolateImagePointsFilter.h.
|
protected |
End concept checking
|
private |
|
protectedvirtual |
If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.
Reimplemented from itk::ImageSource< TOutputImage >.
|
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.
|
virtual |
Overloaded to set the input image to the largest possible region
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Overloaded to ensure that output is sized the same as the coordinate inputs and not the size of the input image.
Reimplemented from itk::ProcessObject.
|
virtual |
Get the pixel value when a transformed pixel is outside of the image
|
inline |
Returns a pointer to the interpolator.
Definition at line 140 of file itkInterpolateImagePointsFilter.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
static |
New macro for creation of through a Smart Pointer
|
private |
|
protectedvirtual |
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 >.
|
virtual |
Set the pixel value when a transformed pixel is outside of the image
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::SetInputImage | ( | const TInputImage * | inputImage | ) |
SetInputImage is used to set the image to be interpolated. Note that this should be used instead of the direct setInput as multiple inputs are needed and this class keeps track of the ordering.
void itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::SetInterpolationCoordinate | ( | const CoordImageType * | coordinate, |
unsigned int | setDimension | ||
) |
SetInterpolationCoordinate must be called for each dimension. The variable setDimension is used to identify the dimension being set, i.e. 0,1,2...N
|
protectedvirtual |
Main function for calculating interpolated values at each coordinate set. Access is through the update() call. TODO: This needs to be modified for a threaded implementation.
Reimplemented from itk::ImageSource< TOutputImage >.
itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >::typedef | ( | Concept::HasNumericTraits< typename TInputImage::PixelType > | ) |
Begin concept checking This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< typename TInputImage::PixelType > )
|
inlineprotectedvirtual |
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 179 of file itkInterpolateImagePointsFilter.h.
|
static |
ImageDimension enumeration.
Definition at line 97 of file itkInterpolateImagePointsFilter.h.
|
private |
Definition at line 192 of file itkInterpolateImagePointsFilter.h.
|
private |
Definition at line 191 of file itkInterpolateImagePointsFilter.h.