]> Creatis software - gdcm.git/blobdiff - src/gdcmHeader.cxx
FIX: put back everything since I broke tests, warnings should be discarded -apparently-
[gdcm.git] / src / gdcmHeader.cxx
index 90299a8a0ab45d4a08a4d685b8f7533b1390f508..6eb2f39b96e20f84ee8295e6b4509f41778fddf8 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmHeader.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/07/31 23:30:04 $
-  Version:   $Revision: 1.181 $
+  Date:      $Date: 2004/09/10 18:54:39 $
+  Version:   $Revision: 1.185 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 /**
  * \brief  Constructor 
  * @param  filename name of the file whose header we want to analyze
- * @param  exception_on_error whether we want to throw an exception or not
  */
-gdcmHeader::gdcmHeader( std::string const & filename, 
-                        bool exception_on_error ):
-            gdcmDocument( filename,
-                          exception_on_error )
+gdcmHeader::gdcmHeader( std::string const & filename ):
+            gdcmDocument( filename )
 {    
    // for some ACR-NEMA images GrPixel, NumPixel is *not* 7fe0,0010
    // We may encounter the 'RETired' (0x0028, 0x0200) tag
@@ -80,10 +77,9 @@ gdcmHeader::gdcmHeader( std::string const & filename,
 
 /**
  * \brief Constructor  
- * @param exception_on_error whether we want to throw an exception or not
  */
-gdcmHeader::gdcmHeader(bool exception_on_error) :
-            gdcmDocument( exception_on_error )
+gdcmHeader::gdcmHeader()
+           :gdcmDocument()
 {
 }
 
@@ -112,10 +108,7 @@ void gdcmHeader::Write(FILE* fp,FileType filetype)
       SetEntryByNumber("16", 0x0028,0x0100);
    }
 
-  // correct Pixel group Length if necessary
-
-   // TODO : create a gdcmHeader::Write method and move this part.
-   //        (only gdcmHeader knows GrPixel, NumPixel)
+  // TODO : correct 'Pixel group' Length if necessary
 
    int i_lgPix = GetEntryLengthByNumber(GrPixel, NumPixel);
    if (i_lgPix != -2)
@@ -757,7 +750,6 @@ int gdcmHeader::GetBitsStored()
       return 0;  // It's supposed to be mandatory
                  // the caller will have to check
    }
-
    return atoi( strSize.c_str() );
 }
 
@@ -777,7 +769,6 @@ int gdcmHeader::GetBitsAllocated()
       return 0; // It's supposed to be mandatory
                 // the caller will have to check
    }
-
    return atoi( strSize.c_str() );
 }
 
@@ -797,7 +788,6 @@ int gdcmHeader::GetSamplesPerPixel()
       return 1; // Well, it's supposed to be mandatory ...
                 // but sometimes it's missing : *we* assume Gray pixels
    }
-
    return atoi( strSize.c_str() );
 }
 
@@ -814,7 +804,6 @@ int gdcmHeader::GetPlanarConfiguration()
    {
       return 0;
    }
-
    return atoi( strSize.c_str() );
 }
 
@@ -848,7 +837,6 @@ int gdcmHeader::GetPixelSize()
    {
       return 8;
    }
-
    dbg.Verbose(0, "gdcmHeader::GetPixelSize: Unknown pixel type");
    return 0;
 }
@@ -907,7 +895,6 @@ std::string gdcmHeader::GetPixelType()
    {
       sign = "S";
    }
-
    return bitsAlloc + sign;
 }
 
@@ -1204,7 +1191,6 @@ uint8_t* gdcmHeader::GetLUTRGBA()
       *a = 1; // Alpha component
       a += 4;
    }
-
    return LUTRGBA;
 } 
 
@@ -1218,6 +1204,12 @@ std::string gdcmHeader::GetTransfertSyntaxName()
    // use the gdcmTS (TS : Transfert Syntax)
    std::string transfertSyntax = GetEntryByNumber(0x0002,0x0010);
 
+   if ( transfertSyntax == GDCM_NOTLOADED ) { // fusible
+      std::cout << "Transfert Syntax not loaded. " << std::endl
+               << "Better you increase MAX_SIZE_LOAD_ELEMENT_VALUE"
+               << std::endl;
+      return "Uncompressed ACR-NEMA";
+   }
    if ( transfertSyntax == GDCM_UNFOUND )
    {
       dbg.Verbose(0, "gdcmHeader::GetTransfertSyntaxName:"