Slicer 5.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
itkDiffusionTensor3DInterpolateImageFunctionReimplementation.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Diffusion Applications
4 Module: $HeadURL$
5 Language: C++
6 Date: $Date$
7 Version: $Revision$
8
9 Copyright (c) Brigham and Women's Hospital (BWH) All Rights Reserved.
10
11 See License.txt or http://www.slicer.org/copyright/copyright.txt for details.
12
13==========================================================================*/
14#ifndef itkDiffusionTensor3DInterpolateImageFunctionReimplementation_h
15#define itkDiffusionTensor3DInterpolateImageFunctionReimplementation_h
16
18#include <itkImage.h>
19#include <itkImageRegionIteratorWithIndex.h>
20#include <itkInterpolateImageFunction.h>
22
23namespace itk
24{
25
31
32template <class TData, class TCoordRep = double>
34{
35public:
36 typedef TData DataType;
42 typedef Image<DataType, 3> ImageType;
43 typedef typename ImageType::Pointer ImagePointer;
45 typedef SmartPointer<Self> Pointer;
46 typedef SmartPointer<const Self> ConstPointer;
47 typedef ImageRegionIteratorWithIndex<DiffusionImageType> IteratorDiffusionImageType;
48 typedef ImageRegionIteratorWithIndex<ImageType> IteratorImageType;
49 typedef InterpolateImageFunction<ImageType, double> InterpolateImageFunctionType;
50 typedef typename DiffusionImageType::RegionType itkRegionType;
51 typedef typename DiffusionImageType::SizeType SizeType;
53
56
59 // TensorDataType Evaluate( const PointType& point ) ;
61
62 void SetInputImage(const DiffusionImageType* inputImage) override;
63
64 itkSetMacro(NumberOfThreads, int);
65
66protected:
68 virtual void AllocateInterpolator() = 0;
69
70 typename InterpolateImageFunctionType::Pointer m_Interpol[6];
73};
74
75} // end namespace itk
76
77#ifndef ITK_MANUAL_INSTANTIATION
78# include "itkDiffusionTensor3DInterpolateImageFunctionReimplementation.hxx"
79#endif
80
81#endif
TensorDataType EvaluateAtContinuousIndex(const ContinuousIndexType &index) const override
itkTypeMacro(DiffusionTensor3DInterpolateImageFunctionReimplementation, DiffusionTensor3DInterpolateImageFunction)
void SetInputImage(const DiffusionImageType *inputImage) override
Simplified inverse ITK transforms.