00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _itkPolylineMask2DImageFilter_h
00018 #define _itkPolylineMask2DImageFilter_h
00019
00020 #include "itkImageToImageFilter.h"
00021 #include "itkImageRegionIteratorWithIndex.h"
00022
00023 namespace itk
00024 {
00025
00040 template <class TInputImage, class TPolyline,
00041 class TOutputImage>
00042 class ITK_EXPORT PolylineMask2DImageFilter:public ImageToImageFilter<TInputImage, TOutputImage>
00043 {
00044 public:
00046 typedef PolylineMask2DImageFilter Self;
00047 typedef ImageToImageFilter<TInputImage,TOutputImage> Superclass;
00048 typedef SmartPointer<Self> Pointer;
00049 typedef SmartPointer<const Self> ConstPointer;
00050
00052 itkNewMacro(Self);
00053
00055 itkTypeMacro( PolylineMask2DImageFilter, ImageToImageFilter );
00056
00058 itkStaticConstMacro(NDimensions, unsigned int,
00059 TInputImage::ImageDimension);
00060 itkStaticConstMacro(NOutputDimensions, unsigned int,
00061 TOutputImage::ImageDimension);
00063
00065 typedef TInputImage InputImageType;
00066 typedef typename InputImageType::ConstPointer InputImagePointer;
00067 typedef typename InputImageType::RegionType InputImageRegionType;
00068 typedef typename InputImageType::PixelType InputImagePixelType;
00069
00070
00071 typedef TPolyline PolylineType;
00072
00073
00074 typedef TOutputImage OutputImageType;
00075 typedef typename OutputImageType::Pointer OutputImagePointer;
00076 typedef typename OutputImageType::RegionType OutputImageRegionType;
00077 typedef typename OutputImageType::PixelType OutputImagePixelType;
00078
00080 void SetInput1( const InputImageType * image);
00081 void SetInput2( const PolylineType * polyline);
00083
00084
00085 void GenerateData(void);
00086
00087 #ifdef ITK_USE_CONCEPT_CHECKING
00088
00089 itkConceptMacro(SameDimensionCheck,
00090 (Concept::SameDimension<NDimensions, NOutputDimensions>));
00091 itkConceptMacro(IntConvertibleOutputCheck,
00092 (Concept::Convertible<int, OutputImagePixelType>));
00093 itkConceptMacro(OutputEqualityComparableCheck,
00094 (Concept::EqualityComparable<OutputImagePixelType>));
00095 itkConceptMacro(InputConvertibleToOutputCheck,
00096 (Concept::Convertible<InputImagePixelType, OutputImagePixelType>));
00097
00099 #endif
00100
00101 protected:
00102 PolylineMask2DImageFilter();
00103 virtual ~PolylineMask2DImageFilter() {};
00104 void PrintSelf(std::ostream& os, Indent indent) const;
00105
00106 private:
00107 PolylineMask2DImageFilter(const Self&);
00108 void operator=(const Self&);
00109
00110 };
00111
00112 }
00113
00114 #ifndef ITK_MANUAL_INSTANTIATION
00115 #include "itkPolylineMask2DImageFilter.txx"
00116 #endif
00117
00118 #endif
00119