18 #ifndef __itkWarpImageFilter_h
19 #define __itkWarpImageFilter_h
86 class TDisplacementField
115 typedef typename OutputImageType::SizeType
SizeType;
120 itkStaticConstMacro(ImageDimension,
unsigned int,
121 TOutputImage::ImageDimension);
122 itkStaticConstMacro(InputImageDimension,
unsigned int,
123 TInputImage::ImageDimension);
124 itkStaticConstMacro(DisplacementFieldDimension,
unsigned int,
125 TDisplacementField::ImageDimension);
135 #ifdef ITKV3_COMPATIBILITY
136 typedef TDisplacementField DeformationFieldType;
137 typedef typename DeformationFieldType::Pointer DeformationFieldPointer;
138 typedef typename DeformationFieldType::PixelType DeformationType;
160 #ifdef ITKV3_COMPATIBILITY
163 this->SetDisplacementField(field);
165 DeformationFieldType * GetDeformationField(
void)
167 return static_cast<DeformationFieldType *
> (GetDisplacementField());
172 itkSetObjectMacro(Interpolator, InterpolatorType);
175 itkGetObjectMacro(Interpolator, InterpolatorType);
178 itkSetMacro(OutputSpacing, SpacingType);
179 virtual void SetOutputSpacing(
const double *values);
183 itkGetConstReferenceMacro(OutputSpacing, SpacingType);
186 itkSetMacro(OutputOrigin, PointType);
187 virtual void SetOutputOrigin(
const double *values);
191 itkGetConstReferenceMacro(OutputOrigin, PointType);
194 itkSetMacro(OutputDirection, DirectionType);
195 itkGetConstReferenceMacro(OutputDirection, DirectionType);
199 void SetOutputParametersFromImage(
const ImageBaseType *image);
203 itkSetMacro(OutputStartIndex, IndexType);
206 itkGetConstReferenceMacro(OutputStartIndex, IndexType);
209 itkSetMacro(OutputSize, SizeType);
212 itkGetConstReferenceMacro(OutputSize, SizeType);
215 itkSetMacro(EdgePaddingValue, PixelType);
218 itkGetConstMacro(EdgePaddingValue, PixelType);
225 virtual void GenerateOutputInformation();
233 virtual void GenerateInputRequestedRegion();
237 virtual void BeforeThreadedGenerateData();
241 virtual void AfterThreadedGenerateData();
243 #ifdef ITK_USE_CONCEPT_CHECKING
246 ( Concept::SameDimension< ImageDimension, InputImageDimension > ) );
248 ( Concept::SameDimension< ImageDimension, DisplacementFieldDimension > ) );
250 ( Concept::HasNumericTraits< typename TInputImage::PixelType > ) );
252 ( Concept::HasNumericTraits< typename TDisplacementField::PixelType::ValueType > ) );
260 void PrintSelf(std::ostream & os, Indent indent)
const;
265 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
277 void operator=(
const Self &);
282 DisplacementType EvaluateDisplacementAtPhysicalPoint(
const PointType & p);
298 #ifndef ITK_MANUAL_INSTANTIATION
299 #include "itkWarpImageFilter.hxx"