Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
itkShCoefficientImageImporter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkDiffusionTensor3DReconstructionImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2006-03-27 17:01:06 $
7  Version: $Revision: 1.12 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkShCoefficientImageImporter_h_
18 #define __itkShCoefficientImageImporter_h_
19 
21 
22 namespace itk{
27 template< class PixelType, int ShOrder >
28 class ShCoefficientImageImporter : public ProcessObject
29 {
30 
31 public:
32 
37  };
38 
39  enum Toolkit {
40  FSL,
42  };
43 
47  typedef ProcessObject Superclass;
48  typedef itk::Image< float, 4 > InputImageType;
49  typedef Image< Vector< PixelType, (ShOrder*ShOrder + ShOrder + 2)/2 + ShOrder >, 3 > CoefficientImageType;
50  typedef Image< Vector< PixelType, QBALL_ODFSIZE >, 3 > QballImageType;
51 
53  itkFactorylessNewMacro(Self)
54  itkCloneMacro(Self)
55 
57  itkTypeMacro(ShCoefficientImageImporter, ProcessObject)
58 
59  // input
60  itkSetMacro( InputImage, InputImageType::Pointer)
61 
62  // output
63  itkGetMacro( CoefficientImage, typename CoefficientImageType::Pointer)
64  itkGetMacro( QballImage, typename QballImageType::Pointer)
65 
66  itkSetMacro( Toolkit, Toolkit)
67  itkGetMacro( Toolkit, Toolkit)
68 
69  void GenerateData() override;
70 
71 protected:
72  ShCoefficientImageImporter();
73  ~ShCoefficientImageImporter(){}
74 
75  void CalcShBasis();
76  vnl_matrix_fixed<double, 2, QBALL_ODFSIZE> GetSphericalOdfDirections();
77 
81  vnl_matrix<double> m_ShBasis;
83 
84 private:
85 
86 };
87 
88 }
89 
90 #ifndef ITK_MANUAL_INSTANTIATION
92 #endif
93 
94 #endif //__itkShCoefficientImageImporter_h_
95 
itk::SmartPointer< Self > Pointer
CoefficientImageType::Pointer m_CoefficientImage
mitk style image containing the SH coefficients
Image< Vector< PixelType, QBALL_ODFSIZE >, 3 > QballImageType
QballImageType::Pointer m_QballImage
mitk Q-Ball image generated from the coefficients
class ITK_EXPORT Image
SH coefficient convention (depends on toolkit)
unsigned short PixelType
vnl_matrix_fixed< double, 2, QBALL_ODFSIZE > GetSphericalOdfDirections()
Image< Vector< PixelType,(ShOrder *ShOrder+ShOrder+2)/2+ShOrder >, 3 > CoefficientImageType