]> Creatis software - gdcm.git/blobdiff - src/gdcmHeader.h
2004-10-18 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
[gdcm.git] / src / gdcmHeader.h
index c5afb10b8b484a08c1ea425d5b416b74a61dcfe3..684b99aac0d2641d1caebf7fc3654684111f981d 100644 (file)
@@ -3,12 +3,12 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmHeader.h,v $
   Language:  C++
-  Date:      $Date: 2004/07/30 11:40:13 $
-  Version:   $Revision: 1.82 $
+  Date:      $Date: 2004/10/18 12:49:22 $
+  Version:   $Revision: 1.90 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
-  http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details.
+  http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
                                                                                 
      This software is distributed WITHOUT ANY WARRANTY; without even
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 
 #include "gdcmCommon.h"
 #include "gdcmDocument.h"
+namespace gdcm 
+{
+
+
 //-----------------------------------------------------------------------------
 /**
  * \brief
- * The purpose of an instance of gdcmHeader is to act as a container of
+ * The purpose of an instance of Header is to act as a container of
  * all the DICOM elements and their corresponding values (and
  * additionaly the corresponding DICOM dictionary entry) of the header
  * of a DICOM file.
  *
- * The typical usage of instances of class gdcmHeader is to classify a set of
+ * The typical usage of instances of class Header is to classify a set of
  * dicom files according to header information e.g. to create a file hierarchy
  * reflecting the Patient/Study/Serie informations, or extracting a given
  * SerieId. Accessing the content (image[s] or volume[s]) is beyond the
  * functionality of this class and belongs to gdmcFile.
  * \note  The various entries of the explicit value representation (VR) shall
- *        be managed within a dictionary which is shared by all gdcmHeader
+ *        be managed within a dictionary which is shared by all Header
  *        instances.
- * \note  The gdcmHeader::Set*Tag* family members cannot be defined as
+ * \note  The Header::Set*Tag* family members cannot be defined as
  *        protected due to Swig limitations for as Has_a dependency between
- *        gdcmFile and gdcmHeader.
+ *        File and Header.
  */
 
 //-----------------------------------------------------------------------------
@@ -90,29 +94,27 @@ enum ModalityType {
 };
 //-----------------------------------------------------------------------------
 
-class GDCM_EXPORT gdcmHeader : public gdcmDocument
+class GDCM_EXPORT Header : public Document
 {
 protected:
    /// \brief In some cases (e.g. for some ACR-NEMA images) the Header Entry Element
    /// Number of the 'Pixel Element' is *not* found at 0x0010. In order to
    /// make things easier the parser shall store the proper value in
    /// NumPixel to provide a unique access facility. See also the constructor
-   /// \ref gdcmHeader::gdcmHeader
+   /// \ref Header::Header
    uint16_t NumPixel;
    /// \brief In some cases (e.g. for some ACR-NEMA images) the header entry for
    /// the group of pixels is *not* found at 0x7fe0. In order to
    /// make things easier the parser shall store the proper value in
    /// GrPixel to provide a unique access facility. See also the constructor
-   /// \ref gdcmHeader::gdcmHeader
+   /// \ref Header::Header
    uint16_t GrPixel;
 
 public:
-   gdcmHeader(bool exception_on_error = false);
-   gdcmHeader(std::string const & filename, 
-              bool  exception_on_error = false, 
-              bool  skip_shadow        = false);
+   Header();
+   Header( std::string const & filename );
  
-   virtual ~gdcmHeader();
+   virtual ~Header();
 
    // Standard values and informations contained in the header
    virtual bool IsReadable();
@@ -123,6 +125,11 @@ public:
    int GetSamplesPerPixel();
    int GetPlanarConfiguration();
    int GetPixelSize();
+   int GetHighBitPosition();
+   bool IsSignedPixelData();
+   bool IsMonochrome();
+   bool IsPaletteColor();
+   bool IsYBRFull();
 
    std::string GetPixelType();
    size_t GetPixelOffset();
@@ -155,28 +162,28 @@ public:
 
    bool   HasLUT();
    int    GetLUTNbits();
-   unsigned char * GetLUTRGBA();
 
    std::string GetTransfertSyntaxName();
 
-   /// Accessor to \ref gdcmHeader::GrPixel
+   /// Accessor to \ref Header::GrPixel
    uint16_t GetGrPixel()  { return GrPixel; }
    
-   /// Accessor to \ref gdcmHeader::NumPixel
+   /// Accessor to \ref Header::NumPixel
    uint16_t GetNumPixel() { return NumPixel; }
 
-   /// Read (used in gdcmFile)
+   /// Read (used in File)
    void SetImageDataSize(size_t expectedSize);
 
-   void gdcmHeader::Write(FILE* fp,FileType filetype);
+   void Write(FILE* fp, FileType filetype);
  
 protected:
    bool AnonymizeHeader();
-   void GetImageOrientationPatient( float* iop );
+   void GetImageOrientationPatient( float iop[6] );
 
 private:
-  friend class gdcmSerieHeader;
+  friend class SerieHeader;
 };
+} // end namespace gdcm
 
 //-----------------------------------------------------------------------------
 #endif