00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 Module: $URL$ 00005 00006 Copyright (c) 2006-2010 Mathieu Malaterre 00007 All rights reserved. 00008 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 #ifndef GDCMSPACING_H 00016 #define GDCMSPACING_H 00017 00018 #include "gdcmTypes.h" 00019 #include "gdcmAttribute.h" 00020 00021 namespace gdcm 00022 { 00086 class GDCM_EXPORT Spacing 00087 { 00088 public : 00089 Spacing(); 00090 ~Spacing(); 00091 00092 // Here are the list of spacing we support: 00093 // (0018,0088) DS [1.500000] # 8,1 Spacing Between Slices 00094 // (0018,1164) DS [0.5\0.5 ] # 8,2 Imager Pixel Spacing 00095 // (0018,2010) DS [0.664062\0.664062 ] # 18,2 Nominal Scanned Pixel Spacing 00096 // (0018,7022) DS [0.125\0.125 ] # 12,2 Detector Element Spacing 00097 // (0028,0030) DS [0.25\0.25 ] # 10,2 Pixel Spacing 00098 // > (0028,0a02) CS [FIDUCIAL] # 8,1 Pixel Spacing Calibration Type 00099 // > (0028,0a04) LO [Used fiducial ] # 14,1 Pixel Spacing Calibration Description 00100 // (0028,0034) IS [4\3 ] # 4,2 Pixel Aspect Ratio 00101 // (3002,0011) DS [0.8\0.8 ] # 8,2 Image Plane Pixel Spacing 00102 00103 // Here is the list of Spacing we do not support: 00104 // <entry group="0018" element="7041" vr="LT" vm="1" name="Grid Spacing Material"/> 00105 // <entry group="0018" element="9030" vr="FD" vm="1" name="Tag Spacing First Dimension"/> 00106 // <entry group="0018" element="9218" vr="FD" vm="1" name="Tag Spacing Second Dimension"/> 00107 // <entry group="0018" element="9322" vr="FD" vm="2" name="Reconstruction Pixel Spacing"/> 00108 // <entry group="0018" element="9404" vr="FL" vm="2" name="Object Pixel Spacing in Center of Beam"/> 00109 // <entry group="0040" element="08d8" vr="SQ" vm="1" name="Pixel Spacing Sequence"/> 00110 // <entry group="0070" element="0101" vr="DS" vm="2" name="Presentation Pixel Spacing"/> 00111 // <entry group="2010" element="0376" vr="DS" vm="2" name="Printer Pixel Spacing"/> 00112 // <entry group="300a" element="00e9" vr="DS" vm="2" name="Compensator Pixel Spacing"/> 00113 00114 typedef enum { 00115 DETECTOR = 0, // (0018,1164) Imager Pixel Spacing 00116 MAGNIFIED, // (0018,1114) (IHE Mammo) 00117 CALIBRATED, // (0028,0030) Pixel Spacing -> (0028,0a04) Pixel Spacing Calibration Description 00118 UNKNOWN 00119 } SpacingType; 00120 00121 static Attribute<0x28,0x34> ComputePixelAspectRatioFromPixelSpacing(const Attribute<0x28,0x30>& pixelspacing); 00122 }; 00123 } // end namespace gdcm 00124 //----------------------------------------------------------------------------- 00125 #endif //GDCMSPACING_H