18 #ifndef itkWarpImageFilter_h
19 #define itkWarpImageFilter_h
85 typename TOutputImage,
86 typename TDisplacementField
115 typedef typename OutputImageType::SizeType
SizeType;
121 itkStaticConstMacro(ImageDimension,
unsigned int,
122 TOutputImage::ImageDimension);
123 itkStaticConstMacro(InputImageDimension,
unsigned int,
124 TInputImage::ImageDimension);
125 itkStaticConstMacro(DisplacementFieldDimension,
unsigned int,
126 TDisplacementField::ImageDimension);
136 #ifdef ITKV3_COMPATIBILITY
137 typedef TDisplacementField DeformationFieldType;
138 typedef typename DeformationFieldType::Pointer DeformationFieldPointer;
139 typedef typename DeformationFieldType::PixelType DeformationType;
161 #ifdef ITKV3_COMPATIBILITY
164 this->SetDisplacementField(field);
166 DeformationFieldType * GetDeformationField(
void)
168 return static_cast<DeformationFieldType *
> (GetDisplacementField());
173 itkSetObjectMacro(Interpolator, InterpolatorType);
174 itkGetModifiableObjectMacro(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() ITK_OVERRIDE;
233 virtual
void GenerateInputRequestedRegion() ITK_OVERRIDE;
237 virtual
void BeforeThreadedGenerateData() ITK_OVERRIDE;
241 virtual
void AfterThreadedGenerateData() ITK_OVERRIDE;
243 #ifdef ITK_USE_CONCEPT_CHECKING
246 ( Concept::SameDimension< ImageDimension, InputImageDimension > ) );
248 ( Concept::SameDimension< ImageDimension, DisplacementFieldDimension > ) );
250 ( Concept::HasNumericTraits< typename TInputImage::InternalPixelType > ) );
252 ( Concept::HasNumericTraits< typename TDisplacementField::PixelType::ValueType > ) );
260 void PrintSelf(std::ostream & os, Indent indent)
const ITK_OVERRIDE;
265 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
274 virtual void VerifyInputInformation() ITK_OVERRIDE;
284 void EvaluateDisplacementAtPhysicalPoint(const PointType & p, DisplacementType & output);
289 void EvaluateDisplacementAtPhysicalPoint(const PointType & p, const DisplacementFieldType * fieldPtr,
290 DisplacementType & output);
292 bool m_DefFieldSameInformation;
311 #ifndef ITK_MANUAL_INSTANTIATION
312 #include "itkWarpImageFilter.hxx"
Superclass::InputImageType InputImageType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
TDisplacementField DisplacementFieldType
OutputImageType::InternalPixelType PixelComponentType
OutputImageType::SizeType SizeType
signed long IndexValueType
InterpolateImageFunction< InputImageType, CoordRepType > InterpolatorType
SmartPointer< const Self > ConstPointer
TOutputImage::RegionType OutputImageRegionType
OutputImageType::IndexType IndexType
Base class for all process objects that output image data.
SmartPointer< Self > Pointer
ImageBase< itkGetStaticConstMacro(ImageDimension) > ImageBaseType
Superclass::InputImagePointer InputImagePointer
DisplacementFieldType::PixelType DisplacementType
OutputImageType::PixelType PixelType
TOutputImage::DirectionType DirectionType
OutputImageType::IndexValueType IndexValueType
OutputImageType::SpacingType SpacingType
Warps an image using an input displacement field.
DisplacementFieldType::Pointer DisplacementFieldPointer
Linearly interpolate an image at specified positions.
unsigned int ThreadIdType
Point< CoordRepType, itkGetStaticConstMacro(ImageDimension) > PointType
Base class for all image interpolaters.
Base class for templated image classes.
InterpolatorType::Pointer InterpolatorPointer
Superclass::OutputImagePointer OutputImagePointer
LinearInterpolateImageFunction< InputImageType, CoordRepType > DefaultInterpolatorType
Base class for filters that take an image as input and produce an image as output.
Superclass::OutputImageType OutputImageType
#define itkConceptMacro(name, concept)
Superclass::InputImageConstPointer InputImageConstPointer