4 #include <itkImageToImageFilter.h> 5 #include <itkVectorImage.h> 12 template <
typename TInputPixelType,
typename TOutputPixelType>
14 public itk::ImageToImageFilter< itk::Image<TInputPixelType, 3> , itk::VectorImage <TOutputPixelType, 3> >
22 typedef itk::ImageToImageFilter< TInputImage, TOutputImage >
Superclass;
39 void SetBValuesList(std::vector <double> bValuesList) {m_BValuesList = bValuesList;}
40 itkSetMacro(BValueShellSelected,
int)
42 itkSetMacro(Lambda,
double);
43 itkSetMacro(LOrder,
unsigned int);
45 itkSetMacro(SharpnessRatio,
double);
46 itkSetMacro(Sharpen,
bool);
49 itkSetMacro(FileNameSphereTesselation,std::string);
51 itkSetMacro(UseAganjEstimation,
bool);
52 itkSetMacro(DeltaAganjRegularization,
double);
59 m_GradientDirections.clear();
61 m_ReferenceB0Image =
nullptr;
63 m_BValueShellSelected = -1;
64 m_BValueShellTolerance = 20;
67 m_DeltaAganjRegularization = 0.001;
72 m_SharpnessRatio = 0.255;
75 m_SphereSHSampling.clear();
77 m_UseAganjEstimation =
false;
89 bool isZero(std::vector <double> &testVal)
92 for (
unsigned int i = 0;i < testVal.size();++i)
104 std::vector < std::vector <double> > m_GradientDirections;
105 std::vector <double> m_BValuesList;
106 InputImagePointer m_ReferenceB0Image;
108 int m_BValueShellSelected;
109 double m_BValueShellTolerance;
110 std::vector <unsigned int> m_SelectedDWIIndexes;
112 vnl_matrix <double> m_TMatrix;
113 std::vector <double> m_DeconvolutionVector;
114 std::vector <double> m_PVector;
116 std::vector <unsigned int> m_B0Indexes, m_GradientIndexes;
119 std::string m_FileNameSphereTesselation;
120 std::vector < std::vector <double> > m_SphereSHSampling;
123 double m_SharpnessRatio;
125 bool m_UseAganjEstimation;
126 double m_DeltaAganjRegularization;
127 unsigned int m_LOrder;
itk::VectorImage< TOutputPixelType, 3 > TOutputImage
void BeforeThreadedGenerateData() ITK_OVERRIDE
itk::Image< TInputPixelType, 3 > TInputImage
ODFEstimatorImageFilter()
itk::SmartPointer< Self > Pointer
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) ITK_OVERRIDE
Superclass::OutputImageRegionType OutputImageRegionType
itk::Image< TInputPixelType, 4 > Image4DType
TOutputImage::Pointer OutputImagePointer
void AddGradientDirection(unsigned int i, std::vector< double > &grad)
itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
void Normalize(const VectorType &v, const unsigned int NDimension, VectorType &resVec)
TInputImage::Pointer InputImagePointer
void GenerateOutputInformation() ITK_OVERRIDE
ODFEstimatorImageFilter Self
void SetReferenceB0Image(TInputImage *refB0)
virtual ~ODFEstimatorImageFilter()
itk::SmartPointer< const Self > ConstPointer
void SetBValuesList(std::vector< double > bValuesList)