Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 public DiffusionTensor3DInterpolateImageFunction<TData, TCoordRep>
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 );
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.