]> Creatis software - gdcm.git/blobdiff - Testing/TestWriteSimple.cxx
ENH: Adding it to the list
[gdcm.git] / Testing / TestWriteSimple.cxx
index 4bdbfbfb0395cd68705619017c6ea7cefaf64537..f3172b1a2e493c51d6db34945e743de4867fed85 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestWriteSimple.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/07/08 13:39:57 $
-  Version:   $Revision: 1.31 $
+  Date:      $Date: 2005/09/06 11:16:04 $
+  Version:   $Revision: 1.37 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -106,6 +106,7 @@ int WriteSimple(Image &img)
    fileName << "TestWriteSimple";
 
 // Step 1 : Create the header of the image
+
    std::cout << "        1...";
    gdcm::File *fileToBuild = new gdcm::File();
    std::ostringstream str;
@@ -154,21 +155,20 @@ int WriteSimple(Image &img)
    switch (img.writeMode)
    {
       case 'a' :
-         fileName << ".ACR"; break; 
+         fileName << ".ACR";  break; 
       case 'e' :
          fileName << ".EXPL"; break; 
       case 'i' :
          fileName << ".IMPL"; break;
-} 
+   } 
+
+   std::cout << "[" << fileName.str() << "]...";
 
    // Set the samples per pixel
    str.str("");
    str << img.components;
    fileToBuild->InsertValEntry(str.str(),0x0028,0x0002); // Samples per Pixel
 
-
-
-
 // Step 2 : Create the output image
    std::cout << "2...";
    if( img.componentSize%8 > 0 )
@@ -224,7 +224,7 @@ int WriteSimple(Image &img)
          break;
 
       default :
-         std::cout << "Failed\n"
+         std::cout << "Failed for [" << fileName.str() << "]\n"
                    << "        Write mode '"<<img.writeMode<<"' is undefined\n";
 
          delete fileH;
@@ -235,7 +235,7 @@ int WriteSimple(Image &img)
 
    if( !fileH->Write(fileName.str()) )
    {
-      std::cout << "Failed\n"
+      std::cout << "Failed for [" << fileName.str() << "]\n"
                 << "           File in unwrittable\n";
 
       delete fileH;
@@ -246,11 +246,24 @@ int WriteSimple(Image &img)
 
 // Step 5 : Read the written image
    std::cout << "5...";
-   gdcm::FileHelper *reread = new gdcm::FileHelper( fileName.str() );
+   // old form.
+   //gdcm::FileHelper *reread = new gdcm::FileHelper( fileName.str() );
+   // Better use :
+   gdcm::FileHelper *reread = new gdcm::FileHelper( );
+   reread->SetFileName( fileName.str() );
+   reread->SetLoadMode(0); // Load everything
+                           // Other possible values are 
+                           //              gdcm::LD_ALL, 
+                           //              gdcm::LD_NOSEQ, 
+                           //              gdcm::LD_NOSHADOW,
+                           //              gdcm::LD_NOSEQ|gdcm::LD_NOSHADOW, 
+                           //              gdcm::LD_NOSHADOWSEQ
+   reread->Load();
+
    if( !reread->GetFile()->IsReadable() )
    {
       std::cerr << "Failed" << std::endl
-                << "Could not read written image : " << fileName << std::endl;
+                << "Could not read written image : " << fileName.str() << std::endl;
       delete fileToBuild;
       delete fileH;
       delete reread;
@@ -283,7 +296,7 @@ int WriteSimple(Image &img)
        fileToBuild->GetYSize() != reread->GetFile()->GetYSize() ||
        fileToBuild->GetZSize() != reread->GetFile()->GetZSize())
    {
-      std::cout << "Failed" << std::endl
+      std::cout << "Failed for [" << fileName.str() << "]" << std::endl
          << "        X Size differs: "
          << "X: " << fileToBuild->GetXSize() << " # " 
                   << reread->GetFile()->GetXSize() << " | "