ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkConvolutionImageFilter.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef InputImageType::IndexType | InputIndexType |
typedef InputImageType::PixelType | InputPixelType |
typedef InputImageType::RegionType | InputRegionType |
typedef InputImageType::SizeType | InputSizeType |
typedef TKernelImage | KernelImageType |
typedef KernelImageType::IndexType | KernelIndexType |
typedef KernelImageType::PixelType | KernelPixelType |
typedef KernelImageType::RegionType | KernelRegionType |
typedef KernelImageType::SizeType | KernelSizeType |
typedef TOutputImage | OutputImageType |
typedef OutputImageType::IndexType | OutputIndexType |
typedef OutputImageType::PixelType | OutputPixelType |
typedef OutputImageType::RegionType | OutputRegionType |
typedef OutputImageType::SizeType | OutputSizeType |
typedef SmartPointer< Self > | Pointer |
typedef ConvolutionImageFilter | Self |
typedef ConvolutionImageFilterBase < TInputImage, TOutputImage > | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = TInputImage::ImageDimension |
Protected Member Functions | |
ConvolutionImageFilter () | |
void | GenerateData () |
virtual void | GenerateInputRequestedRegion () |
bool | GetKernelNeedsPadding () const |
KernelSizeType | GetKernelPadSize () const |
template<class TImage > | |
KernelSizeType | GetKernelRadius (const TImage *kernelImage) const |
~ConvolutionImageFilter () | |
Private Member Functions | |
template<class TImage > | |
void | ComputeConvolution (const TImage *kernelImage, ProgressAccumulator *progress) |
ConvolutionImageFilter (const Self &) | |
void | operator= (const Self &) |
Convolve a given image with an arbitrary image kernel.
This filter operates by centering the flipped kernel at each pixel in the image and computing the inner product between pixel values in the image and pixel values in the kernel. The center of the kernel is defined as where is the index and is the size of the largest possible region of the kernel image. For kernels with odd sizes in all dimensions, this corresponds to the center pixel. If a dimension of the kernel image has an even size, then the center index of the kernel in that dimension will be the largest integral index that is less than the continuous index of the image center.
The kernel can optionally be normalized to sum to 1 using NormalizeOn(). Normalization is off by default.
This code was contributed in the Insight Journal paper:
"Image Kernel Convolution" by Tustison N., Gee J. http://hdl.handle.net/1926/1323 http://www.insight-journal.org/browse/publication/208
Definition at line 65 of file itkConvolutionImageFilter.h.
typedef SmartPointer< const Self > itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 72 of file itkConvolutionImageFilter.h.
typedef TInputImage itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::InputImageType |
Some convenient typedefs.
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 84 of file itkConvolutionImageFilter.h.
typedef InputImageType::IndexType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::InputIndexType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 90 of file itkConvolutionImageFilter.h.
typedef InputImageType::PixelType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::InputPixelType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 87 of file itkConvolutionImageFilter.h.
typedef InputImageType::RegionType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::InputRegionType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 96 of file itkConvolutionImageFilter.h.
typedef InputImageType::SizeType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::InputSizeType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 93 of file itkConvolutionImageFilter.h.
typedef TKernelImage itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::KernelImageType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 86 of file itkConvolutionImageFilter.h.
typedef KernelImageType::IndexType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::KernelIndexType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 92 of file itkConvolutionImageFilter.h.
typedef KernelImageType::PixelType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::KernelPixelType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 89 of file itkConvolutionImageFilter.h.
typedef KernelImageType::RegionType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::KernelRegionType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 98 of file itkConvolutionImageFilter.h.
typedef KernelImageType::SizeType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::KernelSizeType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 95 of file itkConvolutionImageFilter.h.
typedef TOutputImage itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 85 of file itkConvolutionImageFilter.h.
typedef OutputImageType::IndexType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::OutputIndexType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 91 of file itkConvolutionImageFilter.h.
typedef OutputImageType::PixelType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::OutputPixelType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 88 of file itkConvolutionImageFilter.h.
typedef OutputImageType::RegionType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::OutputRegionType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 97 of file itkConvolutionImageFilter.h.
typedef OutputImageType::SizeType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::OutputSizeType |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 94 of file itkConvolutionImageFilter.h.
typedef SmartPointer< Self > itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::Pointer |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 71 of file itkConvolutionImageFilter.h.
typedef ConvolutionImageFilter itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 69 of file itkConvolutionImageFilter.h.
typedef ConvolutionImageFilterBase< TInputImage, TOutputImage > itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::Superclass |
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 70 of file itkConvolutionImageFilter.h.
itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ConvolutionImageFilter | ( | ) | [protected] |
itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::~ConvolutionImageFilter | ( | ) | [inline, protected] |
Definition at line 102 of file itkConvolutionImageFilter.h.
itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ConvolutionImageFilter | ( | const Self & | ) | [private] |
void itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ComputeConvolution | ( | const TImage * | kernelImage, |
ProgressAccumulator * | progress | ||
) | [private] |
virtual::itk::LightObject::Pointer itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::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.
void itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::GenerateData | ( | ) | [protected, virtual] |
This filter uses a minipipeline to compute the output.
Reimplemented from itk::ImageSource< TOutputImage >.
virtual void itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::GenerateInputRequestedRegion | ( | ) | [protected, virtual] |
ConvolutionImageFilter needs the entire image kernel, which in general is going to be a different size then the output requested region. As such, this filter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
bool itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::GetKernelNeedsPadding | ( | ) | const [protected] |
The kernel needs padding if any of the sizes of its dimensions is even. This method checks for this condition.
KernelSizeType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::GetKernelPadSize | ( | ) | const [protected] |
Calculates the padding width needed to make each dimension odd.
KernelSizeType itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::GetKernelRadius | ( | const TImage * | kernelImage | ) | const [protected] |
Calculates the radius of the kernel.
virtual const char* itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information ( and related methods )
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
static Pointer itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::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::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
const unsigned int itk::ConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension [static] |
Dimensionality of input and output data is assumed to be the same.
Reimplemented from itk::ConvolutionImageFilterBase< TInputImage, TKernelImage, TOutputImage >.
Definition at line 82 of file itkConvolutionImageFilter.h.