itkChangeRegionLabelMapFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __itkChangeRegionLabelMapFilter_h
00021 #define __itkChangeRegionLabelMapFilter_h
00022
00023 #include "itkInPlaceLabelMapFilter.h"
00024
00025 namespace itk
00026 {
00027
00039 template <class TInputImage>
00040 class ITK_EXPORT ChangeRegionLabelMapFilter : public InPlaceLabelMapFilter<TInputImage>
00041 {
00042 public:
00044 typedef ChangeRegionLabelMapFilter Self;
00045 typedef InPlaceLabelMapFilter<TInputImage> Superclass;
00046 typedef SmartPointer<Self> Pointer;
00047 typedef SmartPointer<const Self> ConstPointer;
00048
00049
00051 itkTypeMacro(ChangeRegionLabelMapFilter, InPlaceImageFilter);
00052
00054 itkNewMacro(Self);
00055
00057 typedef typename Superclass::OutputImageType OutputImageType;
00058 typedef typename Superclass::OutputImagePointer OutputImagePointer;
00059 typedef typename Superclass::OutputImageRegionType OutputImageRegionType;
00060 typedef typename Superclass::OutputImagePixelType OutputImagePixelType;
00061
00063 typedef TInputImage InputImageType;
00064 typedef typename InputImageType::Pointer InputImagePointer;
00065 typedef typename InputImageType::ConstPointer InputImageConstPointer;
00066 typedef typename InputImageType::RegionType InputImageRegionType;
00067 typedef typename InputImageType::PixelType InputImagePixelType;
00068 typedef typename InputImageType::LabelObjectType LabelObjectType;
00069
00070 typedef typename InputImageType::PixelType PixelType;
00071 typedef typename InputImageType::IndexType IndexType;
00072 typedef typename InputImageType::SizeType SizeType;
00073 typedef typename InputImageType::RegionType RegionType;
00074
00075 typedef TInputImage TOutputImage;
00076
00078 itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension);
00079 itkStaticConstMacro(OutputImageDimension, unsigned int, TOutputImage::ImageDimension);
00080 itkStaticConstMacro(ImageDimension, unsigned int, TOutputImage::ImageDimension);
00082
00084 itkSetMacro(Region, OutputImageRegionType);
00085 itkGetConstReferenceMacro(Region, OutputImageRegionType);
00087
00088 protected:
00089 ChangeRegionLabelMapFilter() {};
00090 ~ChangeRegionLabelMapFilter() {};
00091
00092 virtual void PrintSelf(std::ostream& os, Indent indent) const;
00093
00094 virtual void ThreadedProcessLabelObject( LabelObjectType * labelObject );
00095
00096 void GenerateInputRequestedRegion();
00097
00098 void EnlargeOutputRequestedRegion(DataObject *itkNotUsed(output));
00099
00100 virtual void GenerateOutputInformation();
00101
00102 void GenerateData();
00103
00104 private:
00105 ChangeRegionLabelMapFilter(const Self&);
00106 void operator=(const Self&);
00107
00108 OutputImageRegionType m_Region;
00109
00110 };
00111
00112 }
00113
00114 #ifndef ITK_MANUAL_INSTANTIATION
00115 #include "itkChangeRegionLabelMapFilter.txx"
00116 #endif
00117
00118 #endif
00119