]> Creatis software - gdcm.git/commitdiff
Bug fix in Load method.
authorjpr <jpr>
Fri, 10 Jun 2005 14:05:37 +0000 (14:05 +0000)
committerjpr <jpr>
Fri, 10 Jun 2005 14:05:37 +0000 (14:05 +0000)
Thx to Benoit for providing fix.

src/gdcmDocument.cxx
src/gdcmFile.cxx
src/gdcmFile.h

index cf01f037d4dcac996c871677ab89b3658da04b44..17a7cdfee552a9fcaab071edc4a9cad1b1285169 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDocument.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/06/07 15:31:31 $
-  Version:   $Revision: 1.244 $
+  Date:      $Date: 2005/06/10 14:05:38 $
+  Version:   $Revision: 1.245 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -65,7 +65,7 @@ Document::Document()
 
 /**
  * \brief   Constructor (not to break the API) 
- * @param   fileName 'Document' (File or DicomDir) to be opened for parsing
+ * @param   fileName 'Document' (File or DicomDir) to be open for parsing
  */
 Document::Document( std::string const &fileName )
          :ElementSet(-1) 
@@ -83,11 +83,6 @@ Document::Document( std::string const &fileName )
    IsDocumentAlreadyLoaded = false;
 
    Load(fileName);
-
-   // Normaly (?) Fp should be already deleted by CloseFile()
-   if ( Fp != 0 ) 
-      delete Fp;
-   Fp = 0;    
 }
 /**
  * \brief   Canonical destructor.
@@ -103,7 +98,7 @@ Document::~Document ()
 
 /**
  * \brief   Loader  
- * @param   fileName 'Document' (File or DicomDir) to be opened for parsing
+ * @param   fileName 'Document' (File or DicomDir) to be open for parsing
  * @return false if file cannot be open or no swap info was found,
  *         or no tag was found.
  */
@@ -118,7 +113,7 @@ bool Document::Load( std::string const &fileName )
                         << Filename.c_str() << ". New name is :"
                         << fileName );
      // todo : clean out the 'Document'
-     // We should call ClearEntry() on the parent object ?!?
+     // Should we call ClearEntry() on the parent object ?!?
    }
 
    Filename = fileName;
index 3fc1414adf560767ec1e8ec77e98bc0a5c81d16f..a1c975f42ade566949abe80bf1a2f53aad203ff0 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmFile.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/06/03 16:08:16 $
-  Version:   $Revision: 1.241 $
+  Date:      $Date: 2005/06/10 14:05:37 $
+  Version:   $Revision: 1.242 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -55,7 +55,7 @@ File::File():
 {
    RLEInfo  = new RLEFramesInfo;
    JPEGInfo = new JPEGFragmentsInfo;
-   GrPixel  = 0x7fe0;
+   GrPixel  = 0x7fe0;  // to avoid further troubles
    NumPixel = 0x0010;
 }
 
@@ -69,6 +69,33 @@ File::File( std::string const &filename )
    RLEInfo  = new RLEFramesInfo;
    JPEGInfo = new JPEGFragmentsInfo;
 
+   Load( filename );
+}
+
+/**
+ * \brief   Canonical destructor.
+ */
+File::~File ()
+{
+   if( RLEInfo )
+      delete RLEInfo;
+   if( JPEGInfo )
+      delete JPEGInfo;
+}
+
+//-----------------------------------------------------------------------------
+// Public
+
+/**
+ * \brief   Loader  
+ * @param   fileName file to be open for parsing
+ * @return false if file cannot be open or no swap info was found,
+ *         or no tag was found.
+ */
+bool File::Load( std::string const &fileName ) 
+{
+   this->Document::Load( fileName );
+
    // for some ACR-NEMA images GrPixel, NumPixel is *not* 7fe0,0010
    // We may encounter the 'RETired' (0x0028, 0x0200) tag
    // (Image Location") . This entry contains the number of
@@ -125,7 +152,7 @@ File::File( std::string const &filename )
          ComputeJPEGFragmentInfo();
       CloseFile();
 
-      // Create a new BinEntry to change the the DictEntry
+      // Create a new BinEntry to change the DictEntry
       // The changed DictEntry will have 
       // - a correct PixelVR OB or OW)
       // - the name to "Pixel Data"
@@ -156,24 +183,8 @@ File::File( std::string const &filename )
          }
       }
    }
+   return true;
 }
-
-
-/**
- * \brief   Canonical destructor.
- */
-File::~File ()
-{
-   if( RLEInfo )
-      delete RLEInfo;
-   if( JPEGInfo )
-      delete JPEGInfo;
-}
-
-//-----------------------------------------------------------------------------
-// Public
-
-
 /**
  * \brief  This predicate, based on hopefully reasonable heuristics,
  *         decides whether or not the current File was properly parsed
index 0afb7cef4f4f3d67782d60a7b6052a19fdfb9a80..b8264c05eb90c245c78914807ec2bca9161289c5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmFile.h,v $
   Language:  C++
-  Date:      $Date: 2005/03/22 11:37:15 $
-  Version:   $Revision: 1.106 $
+  Date:      $Date: 2005/06/10 14:05:38 $
+  Version:   $Revision: 1.107 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -99,6 +99,9 @@ public:
    File( std::string const &filename );
    ~File();
 
+   // Loading
+   bool Load( std::string const &filename );
    // Standard values and informations contained in the header
    bool IsReadable();