]> Creatis software - gdcm.git/blobdiff - src/gdcmHeader.cxx
modif DcmWrite
[gdcm.git] / src / gdcmHeader.cxx
index 5a16e591114e3395a9bed2fcfe2623da52bbfd1a..6eeebe416a421f5327dd32076ca87adf9581ada7 100644 (file)
@@ -13,9 +13,8 @@
 #include <sstream>
 #include "gdcmUtil.h"
 
-#define HEADER_LENGTH_TO_READ 256 // on ne lit plus que le debut
-
-#define DEBUG 1
+#define HEADER_LENGTH_TO_READ          256     // on ne lit plus que le debut
+#define _MaxSizeLoadElementValue_      1024    // longueur au dela de laquelle on ne charge plus les valeurs 
 
 namespace Error {
        struct FileReadError {
@@ -49,7 +48,7 @@ void gdcmHeader::Initialise(void) {
 }
 
 gdcmHeader::gdcmHeader (const char* InFilename) {
-       SetMaxSizeLoadElementValue(1024);
+       SetMaxSizeLoadElementValue(_MaxSizeLoadElementValue_);
        filename = InFilename;
        Initialise();
        fp=fopen(InFilename,"rw");
@@ -125,7 +124,7 @@ void gdcmHeader::CheckSwap()
                net2host = false;
        
        // The easiest case is the one of a DICOM header, since it possesses a
-       // file preamble where it suffice to look for the sting "DICM".
+       // file preamble where it suffice to look for the string "DICM".
        lgrLue = fread(deb, 1, HEADER_LENGTH_TO_READ, fp);
        
        entCur = deb + 128;
@@ -248,7 +247,6 @@ void gdcmHeader::SwitchSwapToBigEndian(void) {
 void gdcmHeader::GetPixels(size_t lgrTotale, void* _Pixels) {
        size_t pixelsOffset; 
        pixelsOffset = GetPixelOffset();
-       printf("pixelsOffset %d\n",pixelsOffset);
        fseek(fp, pixelsOffset, SEEK_SET);
        fread(_Pixels, 1, lgrTotale, fp);
 }
@@ -500,6 +498,8 @@ bool gdcmHeader::IsJPEGSpectralSelectionProcess6_8TransferSyntax(void) {
 // Il y en a encore DIX-SEPT, comme ça.
 // Il faudrait trouver qq chose + rusé ...
 //
+// --> probablement TOUS les supprimer (Eric dixit)
+//
 
 
 void gdcmHeader::FixFoundLength(ElValue * ElVal, guint32 FoundLength) {
@@ -731,7 +731,9 @@ void gdcmHeader::LoadElementValue(ElValue * ElVal) {
        // The group length doesn't represent data to be loaded in memory, since
        // each element of the group shall be loaded individualy.
        if( elem == 0 )
-               SkipLoad = true;
+               //SkipLoad = true;              // modif sauvage JPR
+                                                               // On charge la longueur du groupe
+                                                               // quand l'element 0x0000 est présent !
 
        if ( SkipLoad ) {
                          // FIXME the following skip is not necessary
@@ -1158,15 +1160,10 @@ void gdcmHeader::ParseHeader(void) {
  */
 void gdcmHeader::LoadElements(void) {
 
-       if (DEBUG) printf("LoadElements : Entree\n");
-
        rewind(fp);   
-       if (DEBUG) printf("LoadElements : rewind\n");
 
        TagElValueHT ht = PubElVals.GetTagHt();
        
-       if (DEBUG) printf("LoadElements : GetTagHt\n");
-
        for (TagElValueHT::iterator tag = ht.begin(); tag != ht.end(); ++tag) {
                LoadElementValue(tag->second);
                }