itkGridForwardWarpImageFilter.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 #ifndef __itkGridForwardWarpImageFilter_h
00019 #define __itkGridForwardWarpImageFilter_h
00020
00021 #include "itkImageToImageFilter.h"
00022
00023 namespace itk
00024 {
00025
00054 template <
00055 class TDeformationField,
00056 class TOutputImage
00057 >
00058 class ITK_EXPORT GridForwardWarpImageFilter :
00059 public ImageToImageFilter<TDeformationField, TOutputImage>
00060 {
00061 public:
00063 typedef GridForwardWarpImageFilter Self;
00064 typedef ImageToImageFilter<TDeformationField,TOutputImage> Superclass;
00065 typedef SmartPointer<Self> Pointer;
00066 typedef SmartPointer<const Self> ConstPointer;
00067
00069 itkNewMacro(Self);
00070
00072 itkTypeMacro( GridForwardWarpImageFilter, ImageToImageFilter );
00073
00075 typedef typename TOutputImage::RegionType OutputImageRegionType;
00076
00078 typedef typename Superclass::OutputImageType OutputImageType;
00079 typedef typename Superclass::OutputImagePointer OutputImagePointer;
00080 typedef typename OutputImageType::IndexType IndexType;
00081 typedef typename OutputImageType::SizeType SizeType;
00082 typedef typename OutputImageType::PixelType PixelType;
00083 typedef typename OutputImageType::SpacingType SpacingType;
00084
00086 itkStaticConstMacro(ImageDimension, unsigned int,
00087 TOutputImage::ImageDimension );
00088 itkStaticConstMacro(DeformationFieldDimension, unsigned int,
00089 TDeformationField::ImageDimension );
00091
00093 typedef TDeformationField DeformationFieldType;
00094 typedef typename DeformationFieldType::ConstPointer DeformationFieldConstPointer;
00095 typedef typename DeformationFieldType::PixelType DisplacementType;
00096
00098 itkSetMacro( BackgroundValue, PixelType );
00099
00101 itkGetConstMacro( BackgroundValue, PixelType );
00102
00104 itkSetMacro( ForegroundValue, PixelType );
00105
00107 itkGetConstMacro( ForegroundValue, PixelType );
00108
00109
00110 #ifdef ITK_USE_CONCEPT_CHECKING
00111
00112 itkConceptMacro(SameDimensionCheck,
00113 (Concept::SameDimension<ImageDimension, DeformationFieldDimension>));
00114 itkConceptMacro(DeformationFieldHasNumericTraitsCheck,
00115 (Concept::HasNumericTraits<typename TDeformationField::PixelType::ValueType>));
00116
00118 #endif
00119
00120 protected:
00121 GridForwardWarpImageFilter();
00122 ~GridForwardWarpImageFilter() {};
00123
00124 void PrintSelf(std::ostream& os, Indent indent) const;
00125
00129 void GenerateData();
00130
00131 private:
00132 GridForwardWarpImageFilter(const Self&);
00133 void operator=(const Self&);
00134
00135 PixelType m_BackgroundValue;
00136 PixelType m_ForegroundValue;
00137 unsigned int m_GridPixSpacing;
00138 };
00139
00140 }
00141
00142 #ifndef ITK_MANUAL_INSTANTIATION
00143 #include "itkGridForwardWarpImageFilter.txx"
00144 #endif
00145
00146 #endif
00147