00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkCropImageFilter_h
00018
#define __itkCropImageFilter_h
00019
00020
#include "itkExtractImageFilter.h"
00021
00022
namespace itk
00023 {
00024
00037
template <
class TInputImage,
class TOutputImage>
00038 class ITK_EXPORT CropImageFilter:
00039
public ExtractImageFilter<TInputImage,TOutputImage>
00040 {
00041
public:
00043 typedef CropImageFilter
Self;
00044 typedef ExtractImageFilter<TInputImage,TOutputImage> Superclass;
00045 typedef SmartPointer<Self> Pointer;
00046 typedef SmartPointer<const Self> ConstPointer;
00047
00049
itkNewMacro(
Self);
00050
00052
itkTypeMacro(CropImageFilter,
ExtractImageFilter);
00053
00055 typedef typename Superclass::OutputImageRegionType
OutputImageRegionType;
00056 typedef typename Superclass::InputImageRegionType
InputImageRegionType;
00057
00059 typedef typename Superclass::OutputImagePixelType
OutputImagePixelType;
00060 typedef typename Superclass::InputImagePixelType
InputImagePixelType;
00061
00063 typedef typename Superclass::OutputImageIndexType
OutputImageIndexType;
00064 typedef typename Superclass::InputImageIndexType
InputImageIndexType;
00065 typedef typename Superclass::OutputImageSizeType
OutputImageSizeType;
00066 typedef typename Superclass::InputImageSizeType
InputImageSizeType;
00067 typedef InputImageSizeType SizeType;
00068
00070
itkStaticConstMacro(InputImageDimension,
unsigned int,
00071 Superclass::InputImageDimension);
00072
itkStaticConstMacro(OutputImageDimension,
unsigned int,
00073 Superclass::OutputImageDimension);
00074
00076
itkSetMacro(UpperBoundaryCropSize,
SizeType);
00077
itkGetMacro(UpperBoundaryCropSize,
SizeType);
00078
itkSetMacro(LowerBoundaryCropSize,
SizeType);
00079
itkGetMacro(LowerBoundaryCropSize,
SizeType);
00080
00081
00082
protected:
00083 CropImageFilter()
00084 {
00085 m_UpperBoundaryCropSize.Fill(0);
00086 m_LowerBoundaryCropSize.Fill(0);
00087 };
00088 ~CropImageFilter() {};
00089
void PrintSelf(std::ostream& os, Indent indent)
const;
00090
00091
00092
void GenerateOutputInformation();
00093
00094
private:
00095 CropImageFilter(
const Self&);
00096
void operator=(
const Self&);
00097
00098
SizeType m_UpperBoundaryCropSize;
00099
SizeType m_LowerBoundaryCropSize;
00100 };
00101
00102
00103 }
00104
00105
#ifndef ITK_MANUAL_INSTANTIATION
00106
#include "itkCropImageFilter.txx"
00107
#endif
00108
00109
#endif