# gdcmSpacing.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program: GDCM (Grassroots DICOM). A DICOM library
    00004   Module:  $URL$
    00005
    00006   Copyright (c) 2006-2009 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