13 #ifndef itkStitchImageFilter_h
14 #define itkStitchImageFilter_h
16 #include "itkFixedArray.h"
17 #include "itkTransform.h"
18 #include "itkImageRegionIterator.h"
19 #include "itkImageToImageFilter.h"
20 #include "itkLinearInterpolateImageFunction.h"
22 #include "itkDefaultConvertPixelTraits.h"
23 #include "itkDataObjectDecorator.h"
39 os <<
"BorderDistance";
59 template<
typename TInputImage,
60 typename TOutputImage,
61 typename TInterpolatorPrecisionType = double,
62 typename TTransformPrecisionType = TInterpolatorPrecisionType>
64 public ImageToImageFilter< TInputImage, TOutputImage >
69 typedef ImageToImageFilter< TInputImage, TOutputImage >
Superclass;
88 TOutputImage::ImageDimension);
90 TInputImage::ImageDimension);
93 typedef ImageBase< itkGetStaticConstMacro(ImageDimension) >
ImageBaseType;
98 typedef Transform< TTransformPrecisionType,
99 itkGetStaticConstMacro(ImageDimension),
119 typedef typename LinearInterpolatorType::Pointer
123 typedef Size< itkGetStaticConstMacro(ImageDimension) >
SizeType;
141 typedef ContinuousIndex< TTransformPrecisionType, ImageDimension >
152 using Superclass::GetInput;
157 using Superclass::SetInput;
171 itkGetConstReferenceMacro(Size,
SizeType);
175 itkSetMacro(DefaultPixelValue,
PixelType);
176 itkGetConstReferenceMacro(DefaultPixelValue,
PixelType);
183 itkGetConstReferenceMacro(OutputSpacing,
SpacingType);
201 itkSetMacro(OutputStartIndex,
IndexType);
204 itkGetConstReferenceMacro(OutputStartIndex,
IndexType);
219 itkSetMacro(UseReferenceImage,
bool);
220 itkBooleanMacro(UseReferenceImage);
221 itkGetConstMacro(UseReferenceImage,
bool);
249 ModifiedTimeType
GetMTime(
void) const ITK_OVERRIDE;
251 #ifdef ITK_USE_CONCEPT_CHECKING
253 itkConceptMacro( OutputHasNumericTraitsCheck,
254 ( Concept::HasNumericTraits< PixelComponentType > ) );
261 void PrintSelf(std::ostream & os, Indent indent)
const ITK_OVERRIDE;
280 ThreadIdType threadId) ITK_OVERRIDE;
304 typedef std::vector<const InputImageType*> InputImageVectorType;
305 typedef std::map<const InputImageType*, typename TransformType::ConstPointer> TransformMapType;
306 typedef std::map<const InputImageType*, InterpolatorPointerType> InterpolatorMapType;
308 InputImageVectorType GetInputs();
309 TransformMapType GetTransforms();
311 InterpolatorMapType m_Interpolators;
321 bool m_UseReferenceImage;
326 #ifndef ITK_MANUAL_INSTANTIATION
327 #include "itkStitchImageFilter.tpp"