14#ifndef itkDiffusionTensor3DResample_h
15#define itkDiffusionTensor3DResample_h
18#include <itkImageToImageFilter.h>
22#include <itkDiffusionTensor3D.h>
23#include <itkCastImageFilter.h>
24#include <itkImageRegionIterator.h>
36template <
class TInput,
class TOutput>
37class DiffusionTensor3DResample :
public ImageToImageFilter<Image<DiffusionTensor3D<TInput>, 3>, Image<DiffusionTensor3D<TOutput>, 3>>
43 typedef ImageToImageFilter<Image<DiffusionTensor3D<TInput>, 3>, Image<DiffusionTensor3D<TOutput>, 3>>
Superclass;
78 itkSetMacro(OutputOrigin,
typename OutputImageType::PointType);
79 itkSetMacro(OutputSpacing,
typename OutputImageType::SpacingType);
81 itkSetMacro(OutputDirection,
typename OutputImageType::DirectionType);
84 itkGetMacro(OutputOrigin,
typename OutputImageType::PointType);
85 itkGetMacro(OutputSpacing,
typename OutputImageType::SpacingType);
87 itkGetMacro(OutputDirection,
typename OutputImageType::DirectionType);
105 typename OutputImageType::PointType m_OutputOrigin;
106 typename OutputImageType::SpacingType m_OutputSpacing;
107 typename OutputImageType::SizeType m_OutputSize;
108 typename OutputImageType::DirectionType m_OutputDirection;
115#ifndef ITK_MANUAL_INSTANTIATION
116# include "itkDiffusionTensor3DResample.txx"
SmartPointer< Self > Pointer
itk::ImageRegionIterator< OutputImageType > IteratorType
DiffusionTensor3DInterpolateImageFunction< InputDataType > InterpolatorType
void GenerateOutputInformation() override
InputImageType::Pointer InputImagePointerType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
DiffusionTensor3DResample Self
itkSetObjectMacro(Interpolator, InterpolatorType)
void BeforeThreadedGenerateData() override
itkGetMacro(OutputDirection, typename OutputImageType::DirectionType)
itkTypeMacro(DiffusionTensor3DResample, ImageToImageFilter)
itkSetMacro(OutputSpacing, typename OutputImageType::SpacingType)
itkSetObjectMacro(Transform, TransformType)
ImageToImageFilter< Image< DiffusionTensor3D< TInput >, 3 >, Image< DiffusionTensor3D< TOutput >, 3 > > Superclass
Matrix< double, 3, 3 > GetOutputMeasurementFrame()
itkGetMacro(DefaultPixelValue, OutputDataType)
Image< InputTensorDataType, 3 > InputImageType
void GenerateInputRequestedRegion() override
Image< OutputTensorDataType, 3 > OutputImageType
itkGetMacro(OutputSize, typename OutputImageType::SizeType)
DiffusionTensor3DResample()
itkGetMacro(OutputSpacing, typename OutputImageType::SpacingType)
itkSetMacro(OutputSize, typename OutputImageType::SizeType)
itkSetMacro(DefaultPixelValue, OutputDataType)
ModifiedTimeType GetMTime() const override
itkSetMacro(OutputDirection, typename OutputImageType::DirectionType)
DiffusionTensor3DTransform< InputDataType > TransformType
SmartPointer< Self > Pointer
itkGetMacro(OutputOrigin, typename OutputImageType::PointType)
DiffusionTensor3D< InputDataType > InputTensorDataType
void SetOutputParametersFromImage(InputImagePointerType Image)
SmartPointer< const Self > ConstPointer
DiffusionTensor3D< OutputDataType > OutputTensorDataType
itkSetMacro(OutputOrigin, typename OutputImageType::PointType)
OutputImageType::RegionType OutputImageRegionType
void AfterThreadedGenerateData() override
OutputImageType::Pointer OutputImagePointerType
Simplified inverse ITK transforms.