GDCM 3.2.1

gdcmSpacing.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
14#ifndef GDCMSPACING_H
15#define GDCMSPACING_H
16
17#include "gdcmTypes.h"
18#include "gdcmAttribute.h"
19
20 namespace gdcm
21{
56
85 class GDCM_EXPORT Spacing
86{
87public :
88 Spacing();
89 ~Spacing() = default;
90
91 // Here are the list of spacing we support:
92 // (0018,0088) DS [1.500000] # 8,1 Spacing Between Slices
93 // (0018,1164) DS [0.5\0.5 ] # 8,2 Imager Pixel Spacing
94 // (0018,2010) DS [0.664062\0.664062 ] # 18,2 Nominal Scanned Pixel Spacing
95 // (0018,7022) DS [0.125\0.125 ] # 12,2 Detector Element Spacing
96 // (0028,0030) DS [0.25\0.25 ] # 10,2 Pixel Spacing
97 // > (0028,0a02) CS [FIDUCIAL] # 8,1 Pixel Spacing Calibration Type
98 // > (0028,0a04) LO [Used fiducial ] # 14,1 Pixel Spacing Calibration Description
99 // (0028,0034) IS [4\3 ] # 4,2 Pixel Aspect Ratio
100 // (3002,0011) DS [0.8\0.8 ] # 8,2 Image Plane Pixel Spacing
101
102 // Here is the list of Spacing we do not support:
103 // <entry group="0018" element="7041" vr="LT" vm="1" name="Grid Spacing Material"/>
104 // <entry group="0018" element="9030" vr="FD" vm="1" name="Tag Spacing First Dimension"/>
105 // <entry group="0018" element="9218" vr="FD" vm="1" name="Tag Spacing Second Dimension"/>
106 // <entry group="0018" element="9322" vr="FD" vm="2" name="Reconstruction Pixel Spacing"/>
107 // <entry group="0018" element="9404" vr="FL" vm="2" name="Object Pixel Spacing in Center of Beam"/>
108 // <entry group="0040" element="08d8" vr="SQ" vm="1" name="Pixel Spacing Sequence"/>
109 // <entry group="0070" element="0101" vr="DS" vm="2" name="Presentation Pixel Spacing"/>
110 // <entry group="2010" element="0376" vr="DS" vm="2" name="Printer Pixel Spacing"/>
111 // <entry group="300a" element="00e9" vr="DS" vm="2" name="Compensator Pixel Spacing"/>
112
113 typedef enum {
114 DETECTOR = 0, // (0018,1164) Imager Pixel Spacing
115 MAGNIFIED, // (0018,1114) (IHE Mammo)
116 CALIBRATED, // (0028,0030) Pixel Spacing -> (0028,0a04) Pixel Spacing Calibration Description
117 UNKNOWN
118 } SpacingType;
119
120 static Attribute<0x28,0x34> ComputePixelAspectRatioFromPixelSpacing(const Attribute<0x28,0x30>& pixelspacing);
121};
122} // end namespace gdcm
123//-----------------------------------------------------------------------------
124#endif //GDCMSPACING_H
gdcm::Attribute
Attribute class This class use template metaprograming tricks to let the user know when the template ...
Definition gdcmAttribute.h:86
gdcm::Spacing::Spacing
Spacing()
gdcm::Spacing::ComputePixelAspectRatioFromPixelSpacing
static Attribute< 0x28, 0x34 > ComputePixelAspectRatioFromPixelSpacing(const Attribute< 0x28, 0x30 > &pixelspacing)
gdcm::Spacing::~Spacing
~Spacing()=default
gdcm::Spacing::MAGNIFIED
@ MAGNIFIED
Definition gdcmSpacing.h:115
gdcm::Spacing::UNKNOWN
@ UNKNOWN
Definition gdcmSpacing.h:117
gdcm::Spacing::DETECTOR
@ DETECTOR
Definition gdcmSpacing.h:114
gdcm::Spacing::CALIBRATED
@ CALIBRATED
Definition gdcmSpacing.h:116
gdcmAttribute.h
gdcmTypes.h
GDCM_EXPORT
#define GDCM_EXPORT
Definition gdcmWin32.h:34
gdcm
Definition gdcmASN1.h:21