00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkPadImageFilter_h
00018
#define __itkPadImageFilter_h
00019
00020
#include "itkImageToImageFilter.h"
00021
00022
namespace itk
00023 {
00024
00039
template <
class TInputImage,
class TOutputImage>
00040 class ITK_EXPORT PadImageFilter:
00041
public ImageToImageFilter<TInputImage,TOutputImage>
00042 {
00043
public:
00045 typedef PadImageFilter
Self;
00046 typedef ImageToImageFilter<TInputImage,TOutputImage> Superclass;
00047 typedef SmartPointer<Self> Pointer;
00048 typedef SmartPointer<const Self> ConstPointer;
00049
00051
itkNewMacro(
Self);
00052
00054 typedef typename TOutputImage::RegionType
OutputImageRegionType;
00055 typedef typename TInputImage::RegionType
InputImageRegionType;
00056
00058 typedef typename TOutputImage::PixelType
OutputImagePixelType;
00059 typedef typename TInputImage::PixelType
InputImagePixelType;
00060
00062 typedef typename TOutputImage::IndexType
OutputImageIndexType;
00063 typedef typename TInputImage::IndexType
InputImageIndexType;
00064 typedef typename TOutputImage::SizeType
OutputImageSizeType;
00065 typedef typename TInputImage::SizeType
InputImageSizeType;
00066
00068
itkTypeMacro(PadImageFilter,
ImageToImageFilter);
00069
00071
itkStaticConstMacro(ImageDimension,
unsigned int,
00072 TInputImage::ImageDimension );
00073
00076
itkSetVectorMacro(PadLowerBound,
const unsigned long, ImageDimension);
00077
itkSetVectorMacro(PadUpperBound,
const unsigned long, ImageDimension);
00078
itkGetVectorMacro(PadLowerBound,
const unsigned long, ImageDimension);
00079
itkGetVectorMacro(PadUpperBound,
const unsigned long, ImageDimension);
00080
00087
virtual void GenerateOutputInformation();
00088
00094
virtual void GenerateInputRequestedRegion();
00095
00096
protected:
00097 PadImageFilter();
00098 ~PadImageFilter() {};
00099 void PrintSelf(std::ostream& os,
Indent indent)
const;
00100
00101
private:
00102 PadImageFilter(
const Self&);
00103
void operator=(
const Self&);
00104
00105
unsigned long m_PadLowerBound[ImageDimension];
00106
unsigned long m_PadUpperBound[ImageDimension];
00107 };
00108
00109
00110 }
00111
00112
#ifndef ITK_MANUAL_INSTANTIATION
00113
#include "itkPadImageFilter.txx"
00114
#endif
00115
00116
#endif