1 #ifndef __clitkInvertVFFilter_h
2 #define __clitkInvertVFFilter_h
3 #include "clitkImageCommon.h"
5 #include "itkImageToImageFilter.h"
7 #include "itkImageRegionIterator.h"
8 #include "itkImageRegionIteratorWithIndex.h"
9 #include "itkNumericTraits.h"
14 template <class InputImageType, class OutputImageType>
15 class ITK_EXPORT InvertVFFilter : public itk::ImageToImageFilter<InputImageType, OutputImageType>
19 typedef InvertVFFilter Self;
20 typedef itk::ImageToImageFilter<InputImageType, OutputImageType> Superclass;
21 typedef itk::SmartPointer<Self> Pointer;
22 typedef itk::SmartPointer<const Self> ConstPointer;
24 /** Method for creation through the object factory. */
27 /** Run-time type information (and related methods) */
28 itkTypeMacro( InvertVFFilter, ImageToImageFilter );
30 /** Determine the image dimension. */
31 itkStaticConstMacro(ImageDimension, unsigned int,
32 InputImageType::ImageDimension );
35 typedef double CoordRepType;
36 typedef itk::Image<double, ImageDimension> WeightsImageType;
37 typedef itk::Image<itk::SimpleFastMutexLock, ImageDimension> MutexImageType;
40 typedef itk::Point<CoordRepType,itkGetStaticConstMacro(ImageDimension)> PointType;
42 /** Inherit some types from the superclass. */
43 typedef typename OutputImageType::IndexType IndexType;
44 typedef typename OutputImageType::SizeType SizeType;
45 typedef typename OutputImageType::PixelType PixelType;
46 typedef typename OutputImageType::SpacingType SpacingType;
49 itkSetMacro( Verbose, bool);
50 itkSetMacro( EdgePaddingValue, PixelType );
51 void SetNumberOfThreads(unsigned int r )
53 m_NumberOfThreadsIsGiven=true;
56 itkSetMacro(ThreadSafe, bool);
65 bool m_NumberOfThreadsIsGiven;
66 unsigned int m_NumberOfThreads;
67 PixelType m_EdgePaddingValue;
72 } // end namespace clitk
73 #ifndef ITK_MANUAL_INSTANTIATION
74 #include "clitkInvertVFFilter.txx"
77 #endif // #define __clitkInvertVFFilter_h