15 #ifndef itkInvResampleImageFilter_h
16 #define itkInvResampleImageFilter_h
21 #include <itkConfigure.h>
23 #include <itkFixedArray.h>
24 #include <itkTransform.h>
25 #include <itkImageFunction.h>
26 #include <itkImageRegionIterator.h>
27 #include <itkImageToImageFilter.h>
28 #include <itkInterpolateImageFunction.h>
71 template <
class TInputImage,
class TOutputImage,
72 class TInterpolatorPrecisionType=
double>
74 public ImageToImageFilter<TInputImage, TOutputImage>
79 typedef ImageToImageFilter<TInputImage,TOutputImage>
Superclass;
97 itkStaticConstMacro(ImageDimension,
unsigned int,
98 TOutputImage::ImageDimension);
99 itkStaticConstMacro(InputImageDimension,
unsigned int,
100 TInputImage::ImageDimension);
104 typedef Transform<TInterpolatorPrecisionType,
105 itkGetStaticConstMacro(ImageDimension),
110 typedef InterpolateImageFunction<InputImageType, TInterpolatorPrecisionType>
InterpolatorType;
114 typedef Size<itkGetStaticConstMacro(ImageDimension)>
SizeType;
156 itkSetObjectMacro( Interpolator, InterpolatorType );
159 itkGetConstObjectMacro( Interpolator, InterpolatorType );
162 itkSetMacro( Size, SizeType );
165 itkGetConstReferenceMacro( Size, SizeType );
169 itkSetMacro( DefaultPixelValue, PixelType );
172 itkGetConstReferenceMacro( DefaultPixelValue, PixelType );
175 itkSetMacro( OutputSpacing, SpacingType );
176 virtual void SetOutputSpacing(
const double*
values );
179 itkGetConstReferenceMacro( OutputSpacing, SpacingType );
182 itkSetMacro( OutputOrigin, OriginPointType );
183 virtual void SetOutputOrigin(
const double*
values);
186 itkGetConstReferenceMacro( OutputOrigin, OriginPointType );
189 itkSetMacro( OutputDirection, DirectionType );
190 itkGetConstReferenceMacro( OutputDirection, DirectionType );
193 void SetOutputParametersFromImage (
const ImageBaseType *
image );
197 itkLegacyMacro(
void SetOutputParametersFromConstImage (
const ImageBaseType *
image ) );
201 itkSetMacro( OutputStartIndex, IndexType );
204 itkGetConstReferenceMacro( OutputStartIndex, IndexType );
212 void SetReferenceImage (
const TOutputImage *
image );
213 const TOutputImage * GetReferenceImage(
void )
const;
215 itkSetMacro( UseReferenceImage,
bool );
216 itkBooleanMacro( UseReferenceImage );
217 itkGetConstMacro( UseReferenceImage,
bool );
224 virtual void GenerateOutputInformation(
void );
231 virtual void GenerateInputRequestedRegion(
void );
235 virtual void BeforeThreadedGenerateData(
void );
239 virtual void AfterThreadedGenerateData(
void );
242 unsigned long GetMTime(
void )
const;
244 #ifdef ITK_USE_CONCEPT_CHECKING
246 itkConceptMacro(OutputHasNumericTraitsCheck,
247 (Concept::HasNumericTraits<PixelType>));
255 void PrintSelf( std::ostream& os, Indent indent )
const;
265 void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
266 ThreadIdType threadId );
270 void NonlinearThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
276 void LinearThreadedGenerateData(
const OutputImageRegionType&
277 outputRegionForThread,
283 void operator=(
const Self& );
286 TransformPointerType m_Transform;
287 InterpolatorPointerType m_Interpolator;
289 PixelType m_DefaultPixelValue;
292 SpacingType m_OutputSpacing;
293 OriginPointType m_OutputOrigin;
294 DirectionType m_OutputDirection;
295 IndexType m_OutputStartIndex;
296 bool m_UseReferenceImage;
303 #ifndef ITK_MANUAL_INSTANTIATION
304 #include "itkInvResampleImageFilter.txx"
InputImageType::Pointer InputImagePointer
Definition: itkInvResampleImageFilter.h:85
Definition: itkInvResampleImageFilter.h:73
ImageBase< itkGetStaticConstMacro(ImageDimension)> ImageBaseType
Definition: itkInvResampleImageFilter.h:136
TOutputImage::IndexType IndexType
Definition: itkInvResampleImageFilter.h:117
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
InterpolatorType::PointType PointType
Definition: itkInvResampleImageFilter.h:120
Definition: niftkITKAffineResampleImage.cxx:74
Size< itkGetStaticConstMacro(ImageDimension)> SizeType
Definition: itkInvResampleImageFilter.h:114
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
GLboolean GLenum GLenum GLvoid * values
Definition: glew.h:4068
TOutputImage::RegionType OutputImageRegionType
Definition: itkInvResampleImageFilter.h:128
TOutputImage::DirectionType DirectionType
Definition: itkInvResampleImageFilter.h:133
~InvResampleImageFilter(void)
Definition: itkInvResampleImageFilter.h:253
TransformType::ConstPointer TransformPointerType
Definition: itkInvResampleImageFilter.h:107
SmartPointer< Self > Pointer
Definition: itkInvResampleImageFilter.h:80
InputImageType::ConstPointer InputImageConstPointer
Definition: itkInvResampleImageFilter.h:86
TOutputImage::SpacingType SpacingType
Definition: itkInvResampleImageFilter.h:131
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Definition: itkInvResampleImageFilter.h:79
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
InterpolatorType::Pointer InterpolatorPointerType
Definition: itkInvResampleImageFilter.h:111
TInputImage InputImageType
Definition: itkInvResampleImageFilter.h:83
InterpolateImageFunction< InputImageType, TInterpolatorPrecisionType > InterpolatorType
Definition: itkInvResampleImageFilter.h:110
TOutputImage::PointType OriginPointType
Definition: itkInvResampleImageFilter.h:132
SmartPointer< const Self > ConstPointer
Definition: itkInvResampleImageFilter.h:81
Transform< TInterpolatorPrecisionType, itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension)> TransformType
Definition: itkInvResampleImageFilter.h:106
TInputImage::PixelType InputPixelType
Definition: itkInvResampleImageFilter.h:125
OutputImageType::Pointer OutputImagePointer
Definition: itkInvResampleImageFilter.h:87
TOutputImage::PixelType PixelType
Definition: itkInvResampleImageFilter.h:124
InvResampleImageFilter Self
Definition: itkInvResampleImageFilter.h:78
TOutputImage OutputImageType
Definition: itkInvResampleImageFilter.h:84
InputImageType::RegionType InputImageRegionType
Definition: itkInvResampleImageFilter.h:88