NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar > Class Template Reference

This class takes as input 2 input images, the Fixed and Moving image, as you would have in a registration pipeline, and outputs the derivative of the moving image resampled by a transformation. More...

Inheritance diagram for itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >:
Inheritance graph
[legend]
Collaboration diagram for itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >:
Collaboration graph
[legend]

Public Types

typedef
LinearlyInterpolatedDerivativeFilter 
Self
 
typedef ImageToImageFilter
< TFixedImage, Image< Vector
< TDeformationScalar,
TFixedImage::ImageDimension >
, TFixedImage::ImageDimension > > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TDeformationScalar OutputDataType
 
typedef Vector< OutputDataType,
itkGetStaticConstMacro(Dimension) > 
OutputPixelType
 
typedef Image< OutputPixelType,
itkGetStaticConstMacro(Dimension) > 
OutputImageType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef OutputImageType::IndexType OutputImageIndexType
 
typedef OutputImageType::SizeType OutputImageSizeType
 
typedef
OutputImageType::SpacingType 
OutputImageSpacingType
 
typedef OutputImageType::PointType OutputImageOriginType
 
typedef
OutputImageType::DirectionType 
OutputImageDirectionType
 
typedef TFixedImage FixedImageType
 
typedef FixedImageType::Pointer FixedImagePointer
 
typedef FixedImageType::PixelType FixedImagePixelType
 
typedef FixedImageType::RegionType FixedImageRegionType
 
typedef FixedImageType::IndexType FixedImageIndexType
 
typedef FixedImageType::SizeType FixedImageSizeType
 
typedef FixedImageType::SpacingType FixedImageSpacingType
 
typedef FixedImageType::PointType FixedImageOriginType
 
typedef
FixedImageType::DirectionType 
FixedImageDirectionType
 
typedef TMovingImage MovingImageType
 
typedef MovingImageType::SizeType MovingImageSizeType
 
typedef MovingImageType::Pointer MovingImagePointer
 
typedef MovingImageType::PixelType MovingImagePixelType
 
typedef MovingImageType::RegionType MovingImageRegionType
 
typedef MovingImageType::IndexType MovingImageIndexType
 
typedef Transform< TScalarType,
itkGetStaticConstMacro(Dimension),
itkGetStaticConstMacro(Dimension)> 
TransformType
 
typedef TransformType::ConstPointer TransformPointerType
 
typedef Size
< itkGetStaticConstMacro(Dimension)> 
SizeType
 
typedef OutputImageType::IndexType IndexType
 
typedef MovingImageType::PointType MovingImagePointType
 

Public Member Functions

virtual const char * GetClassName () const
 
 itkStaticConstMacro (Dimension, unsigned int, TFixedImage::ImageDimension)
 
virtual void SetFixedImage (const FixedImageType *image)
 
virtual void SetMovingImage (const MovingImageType *image)
 
virtual void SetDefaultPixelValue (OutputPixelType _arg)
 
virtual const OutputPixelTypeGetDefaultPixelValue ()
 
void WriteDerivativeImage (std::string filename)
 
virtual void SetTransform (TransformType *_arg)
 
virtual const TransformTypeGetTransform ()
 
virtual void SetMovingImageLowerPixelValue (MovingImagePixelType _arg)
 
virtual MovingImagePixelType GetMovingImageLowerPixelValue ()
 
virtual void SetMovingImageUpperPixelValue (MovingImagePixelType _arg)
 
virtual MovingImagePixelType GetMovingImageUpperPixelValue ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 LinearlyInterpolatedDerivativeFilter ()
 
 ~LinearlyInterpolatedDerivativeFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void GenerateOutputInformation (void)
 
virtual void GenerateInputRequestedRegion (void)
 
virtual void BeforeThreadedGenerateData ()
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
 
virtual void AfterThreadedGenerateData ()
 
unsigned long GetMTime (void) const
 

Detailed Description

template<class TFixedImage, class TMovingImage, class TScalarType, class TDeformationScalar>
class itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >

This class takes as input 2 input images, the Fixed and Moving image, as you would have in a registration pipeline, and outputs the derivative of the moving image resampled by a transformation.

The output is a vector image, of the same size as the input image, where each pixel is a vector with as many components as image dimensions.

Effectively, this is a cross between itkResampleImageFilter which resamples an image using an interpolator and outputs a scalar value and also a derivative filter. Except that we don't inject an interpolator, as this is done internally.

Member Typedef Documentation

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef SmartPointer<const Self> itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::ConstPointer
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::DirectionType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImageDirectionType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::IndexType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImageIndexType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::PointType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImageOriginType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::PixelType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImagePixelType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::Pointer itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImagePointer
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::RegionType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImageRegionType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::SizeType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImageSizeType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef FixedImageType::SpacingType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImageSpacingType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef TFixedImage itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::FixedImageType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::IndexType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::IndexType

Image index typedef.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef MovingImageType::IndexType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::MovingImageIndexType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef MovingImageType::PixelType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::MovingImagePixelType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef MovingImageType::Pointer itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::MovingImagePointer
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef MovingImageType::PointType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::MovingImagePointType

Image point type.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef MovingImageType::RegionType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::MovingImageRegionType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef MovingImageType::SizeType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::MovingImageSizeType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef TMovingImage itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::MovingImageType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef TDeformationScalar itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputDataType

Standard typedefs.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::DirectionType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImageDirectionType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::IndexType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImageIndexType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::PointType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImageOriginType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::Pointer itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImagePointer
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::RegionType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImageRegionType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::SizeType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImageSizeType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef OutputImageType::SpacingType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImageSpacingType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef Image< OutputPixelType, itkGetStaticConstMacro(Dimension) > itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputImageType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef Vector< OutputDataType, itkGetStaticConstMacro(Dimension) > itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::OutputPixelType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef SmartPointer<Self> itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::Pointer
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef LinearlyInterpolatedDerivativeFilter itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::Self

Standard "Self" typedef.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef Size<itkGetStaticConstMacro(Dimension)> itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::SizeType

Image size typedef.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef ImageToImageFilter<TFixedImage, Image< Vector< TDeformationScalar, TFixedImage::ImageDimension>, TFixedImage::ImageDimension> > itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::Superclass
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef TransformType::ConstPointer itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::TransformPointerType
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
typedef Transform<TScalarType, itkGetStaticConstMacro(Dimension), itkGetStaticConstMacro(Dimension)> itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::TransformType

Transform typedef.

Constructor & Destructor Documentation

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::LinearlyInterpolatedDerivativeFilter ( )
protected
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::~LinearlyInterpolatedDerivativeFilter ( )
inlineprotected

Member Function Documentation

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::AfterThreadedGenerateData ( )
protectedvirtual

(mainly for debugging purposes).

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::BeforeThreadedGenerateData ( )
protectedvirtual

Check before we start.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GenerateInputRequestedRegion ( void  )
protectedvirtual

ResampleImageFilter needs a different input requested region than the output requested region. As such, ResampleImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.

See also
ProcessObject::GenerateInputRequestedRegion()
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GenerateOutputInformation ( void  )
protectedvirtual

ResampleImageFilter produces an image which is a different size than its input. As such, it needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.

See also
ProcessObject::GenerateOutputInformaton()
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual const char* itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual const OutputPixelType& itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GetDefaultPixelValue ( )
virtual

Get the pixel value when a transformed pixel is outside of the image

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual MovingImagePixelType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GetMovingImageLowerPixelValue ( )
virtual
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual MovingImagePixelType itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GetMovingImageUpperPixelValue ( )
virtual
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
unsigned long itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GetMTime ( void  ) const
protected

Method Compute the Modified Time based on changed to the components.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual const TransformType* itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::GetTransform ( )
virtual

Get a pointer to the Transform.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::itkStaticConstMacro ( Dimension  ,
unsigned  int,
TFixedImage::ImageDimension   
)

Get the number of dimensions we are working in.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
static Pointer itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::New ( )
static

Method for creation through the object factory.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::SetDefaultPixelValue ( OutputPixelType  _arg)
virtual

Set the pixel value when a transformed pixel is outside of the image. The default default pixel value is a vector of zeros.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::SetFixedImage ( const FixedImageType image)
virtual

Set the fixed image at position 0.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::SetMovingImage ( const MovingImageType image)
virtual

Set the moving image at position 1.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::SetMovingImageLowerPixelValue ( MovingImagePixelType  _arg)
virtual

Set a lower limit on voxels we consider for gradient calcs.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::SetMovingImageUpperPixelValue ( MovingImagePixelType  _arg)
virtual

Set an upper limit on voxels we consider for gradient calcs.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
virtual void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::SetTransform ( TransformType _arg)
virtual

Connect the Transform.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
protected

Just Do it.

template<class TFixedImage , class TMovingImage , class TScalarType , class TDeformationScalar >
void itk::LinearlyInterpolatedDerivativeFilter< TFixedImage, TMovingImage, TScalarType, TDeformationScalar >::WriteDerivativeImage ( std::string  filename)

Mainly for debugging, write image to file.


The documentation for this class was generated from the following file: