1 #ifndef __cpExtensions__Algorithms__CPRImageFilter__h__
2 #define __cpExtensions__Algorithms__CPRImageFilter__h__
4 #include <itkImageToImageFilter.h>
5 #include <cpExtensions/Algorithms/IsoImageSlicer.h>
13 template< class _TImage, class _TCurve >
15 : public itk::ImageToImageFilter< _TImage, _TImage >
18 typedef CPRImageFilter Self;
19 typedef itk::ImageToImageFilter< _TImage, _TImage > Superclass;
20 typedef itk::SmartPointer< Self > Pointer;
21 typedef itk::SmartPointer< const Self > ConstPointer;
23 typedef _TImage TImage;
24 typedef _TCurve TCurve;
25 typedef typename TCurve::TScalar TScalar;
27 typedef IsoImageSlicer< TImage, TScalar > TSlicer;
28 typedef typename TSlicer::TInterpolateFunction TInterpolateFunction;
32 itkTypeMacro( CPRImageFilter, itk::ImageToImageFilter );
34 itkGetConstMacro( SliceRadius, double );
35 itkGetObjectMacro( Interpolator, TInterpolateFunction );
37 itkSetMacro( SliceRadius, double );
38 itkSetObjectMacro( Interpolator, TInterpolateFunction );
42 const _TCurve* GetCurve( ) const;
43 void SetCurve( _TCurve* curve );
47 virtual ~CPRImageFilter( );
49 virtual void GenerateOutputInformation( ) cpExtensions_OVERRIDE;
50 virtual void GenerateInputRequestedRegion( ) cpExtensions_OVERRIDE;
51 virtual void GenerateData( ) cpExtensions_OVERRIDE;
55 typename TInterpolateFunction::Pointer m_Interpolator;
62 #ifndef ITK_MANUAL_INSTANTIATION
63 # include <cpExtensions/Algorithms/CPRImageFilter.hxx>
64 #endif // ITK_MANUAL_INSTANTIATION
66 #endif // __cpExtensions__Algorithms__CPRImageFilter__h__