Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkDiffusionImageHeaderInformation.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITK_DiffusionImageHeaderInformation_H
18 #define MITK_DiffusionImageHeaderInformation_H
19 
20 #include <itkObject.h>
21 #include "vnl/vnl_vector_fixed.h"
22 #include "mitkCommon.h"
23 #include "itkObjectFactory.h"
24 
25 namespace mitk
26 {
27 
33  };
34 
35  class DiffusionImageHeaderInformation : public itk::Object
36  {
37 
38  public:
39 
41  itkFactorylessNewMacro(Self)
42  itkCloneMacro(Self)
43 
44  typedef std::vector< std::string > FileNamesContainer;
45 
46  //DiffusionImageHeaderInformation(int nRows, int nCols, float xRes, float yRes, float xOrigin,
47  // float yOrigin, float zOrigin, float sliceThickness, float sliceSpacing,
48  // int nSliceInVolume, float xRow, float yRow, float zRow, float xCol,
49  // float yCol, float zCol, float xSlice, float ySlice, float zSlice,
50  // float bValue, vnl_vector_fixed<double, 3> DiffusionVector,
51  // std::string vendor, bool mosaic, DiffusionHeaderGroup headerGroup = DHG_NotYetGrouped):
52  // nRows(nRows), nCols(nCols),xRes(xRes),
53  // yRes(yRes),xOrigin(xOrigin),yOrigin(yOrigin),zOrigin(zOrigin),
54  // sliceThickness(sliceThickness),sliceSpacing(sliceSpacing),
55  // nSliceInVolume(nSliceInVolume), xRow(xRow), yRow(yRow), zRow(zRow),
56  // xCol(xCol),yCol(yCol),zCol(zCol),xSlice(xSlice),ySlice(ySlice),zSlice(zSlice),
57  // bValue(bValue), DiffusionVector(DiffusionVector), vendor(vendor),mosaic(mosaic),
58  // headerGroup(headerGroup) {}
59 
62  std::string patientName;
63  int nRows;
64  int nCols;
65  float xRes;
66  float yRes;
67  float xOrigin;
68  float yOrigin;
69  float zOrigin;
71  float sliceSpacing;
73  float xRow;
74  float yRow;
75  float zRow;
76  float xCol;
77  float yCol;
78  float zCol;
79  float xSlice;
80  float ySlice;
81  float zSlice;
82  float bValue;
83  vnl_vector_fixed<double, 3> DiffusionVector;
84  std::string vendor;
85  bool mosaic;
87 
88  FileNamesContainer m_DicomFilenames;
89 
90  inline bool isIdentical(const DiffusionImageHeaderInformation::Pointer other) const {
91  return nRows == other->nRows &&
92  nCols == other->nCols &&
93  xRes == other->xRes &&
94  yRes == other->yRes &&
95  xOrigin == other->xOrigin &&
96  yOrigin == other->yOrigin &&
97  zOrigin == other->zOrigin &&
98  sliceThickness == other->sliceThickness &&
99  sliceSpacing == other->sliceSpacing &&
100  nSliceInVolume == other->nSliceInVolume &&
101  xRow == other->xRow &&
102  yRow == other->yRow &&
103  zRow == other->zRow &&
104  xCol == other->xCol &&
105  yCol == other->yCol &&
106  zCol == other->zCol &&
107  xSlice == other->xSlice &&
108  ySlice == other->ySlice &&
109  zSlice == other->zSlice;
110  }
111 
112  protected:
113 
116 
117  };
118 
119 } // namespace
120 
121 #endif // MITK_DiffusionImageHeaderInformation_H
122 
123 
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
mitkClassMacroItkParent(DiffusionImageHeaderInformation, itk::Object)
bool isIdentical(const DiffusionImageHeaderInformation::Pointer other) const