Slicer 5.9
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 <itkInterpolateImageFunction.h>
21
22namespace itk
23{
24
30
31template <class TData, class TCoordRep = double>
33{
34public:
35 typedef TData DataType;
41 typedef Image<DataType, 3> ImageType;
42 typedef typename ImageType::Pointer ImagePointer;
44 typedef SmartPointer<Self> Pointer;
45 typedef SmartPointer<const Self> ConstPointer;
46 typedef ImageRegionIteratorWithIndex<DiffusionImageType> IteratorDiffusionImageType;
47 typedef ImageRegionIteratorWithIndex<ImageType> IteratorImageType;
48 typedef InterpolateImageFunction<ImageType, double> InterpolateImageFunctionType;
49 typedef typename DiffusionImageType::RegionType itkRegionType;
50 typedef typename DiffusionImageType::SizeType SizeType;
52
55
58 // TensorDataType Evaluate( const PointType& point ) ;
60
61 void SetInputImage(const DiffusionImageType* inputImage) override;
62
63 itkSetMacro(NumberOfThreads, int);
64
65protected:
67 virtual void AllocateInterpolator() = 0;
68
69 typename InterpolateImageFunctionType::Pointer m_Interpol[6];
72};
73
74} // end namespace itk
75
76#ifndef ITK_MANUAL_INSTANTIATION
77# include "itkDiffusionTensor3DInterpolateImageFunctionReimplementation.txx"
78#endif
79
80#endif
TensorDataType EvaluateAtContinuousIndex(const ContinuousIndexType &index) const override
itkTypeMacro(DiffusionTensor3DInterpolateImageFunctionReimplementation, DiffusionTensor3DInterpolateImageFunction)
void SetInputImage(const DiffusionImageType *inputImage) override
Simplified inverse ITK transforms.