14 #ifndef itkDiffusionTensor3DResample_h 15 #define itkDiffusionTensor3DResample_h 17 #include <itkObject.h> 18 #include <itkImageToImageFilter.h> 22 #include <itkDiffusionTensor3D.h> 23 #include <itkCastImageFilter.h> 24 #include <itkImageRegionIterator.h> 36 template <
class TInput,
class TOutput>
38 :
public ImageToImageFilter
39 <Image<DiffusionTensor3D<TInput>, 3>,
40 Image<DiffusionTensor3D<TOutput>, 3> >
46 typedef ImageToImageFilter
47 <Image<DiffusionTensor3D<TInput>, 3>,
78 unsigned long GetMTime() const ITK_OVERRIDE;
83 itkSetMacro( OutputOrigin, typename OutputImageType::PointType );
84 itkSetMacro( OutputSpacing, typename OutputImageType::SpacingType );
85 itkSetMacro( OutputSize, typename OutputImageType::SizeType );
86 itkSetMacro( OutputDirection, typename OutputImageType::DirectionType );
89 itkGetMacro( OutputOrigin, typename OutputImageType::PointType );
90 itkGetMacro( OutputSpacing, typename OutputImageType::SpacingType );
91 itkGetMacro( OutputSize, typename OutputImageType::SizeType );
92 itkGetMacro( OutputDirection, typename OutputImageType::DirectionType );
96 void ThreadedGenerateData( const OutputImageRegionType & outputRegionForThread, ThreadIdType threadId ) ITK_OVERRIDE;
107 typename InterpolatorType::Pointer m_Interpolator;
108 typename TransformType::Pointer m_Transform;
109 typename OutputImageType::PointType m_OutputOrigin;
110 typename OutputImageType::SpacingType m_OutputSpacing;
111 typename OutputImageType::SizeType m_OutputSize;
112 typename OutputImageType::DirectionType m_OutputDirection;
113 OutputDataType m_DefaultPixelValue;
114 OutputTensorDataType m_DefaultTensor;
119 #ifndef ITK_MANUAL_INSTANTIATION 120 #include "itkDiffusionTensor3DResample.txx" OutputImageType::RegionType OutputImageRegionType
Image< OutputTensorDataType, 3 > OutputImageType
DiffusionTensor3DInterpolateImageFunction< InputDataType > InterpolatorType
itkTypeMacro(DiffusionTensor3DResample, ImageToImageFilter)
ImageToImageFilter< Image< DiffusionTensor3D< TInput >, 3 >, Image< DiffusionTensor3D< TOutput >, 3 > > Superclass
DiffusionTensor3D< OutputDataType > OutputTensorDataType
Simplified inverse ITK transforms.
InputImageType::Pointer InputImagePointerType
DiffusionTensor3D< InputDataType > InputTensorDataType
void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) ITK_OVERRIDE
SmartPointer< const Self > ConstPointer
DiffusionTensor3DTransform< InputDataType > TransformType
itkGetMacro(DefaultPixelValue, OutputDataType)
itkSetObjectMacro(Transform, TransformType)
void AfterThreadedGenerateData() ITK_OVERRIDE
Image< InputTensorDataType, 3 > InputImageType
void GenerateOutputInformation() ITK_OVERRIDE
SmartPointer< Self > Pointer
itk::ImageRegionIterator< OutputImageType > IteratorType
void SetOutputParametersFromImage(InputImagePointerType Image)
OutputImageType::Pointer OutputImagePointerType
DiffusionTensor3DResample Self
itkSetMacro(DefaultPixelValue, OutputDataType)
void GenerateInputRequestedRegion() ITK_OVERRIDE
void BeforeThreadedGenerateData() ITK_OVERRIDE
unsigned long GetMTime() const ITK_OVERRIDE
Matrix< double, 3, 3 > GetOutputMeasurementFrame()