Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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