Program: gdcm
Module: $RCSfile: TestWriteSimple.cxx,v $
Language: C++
- Date: $Date: 2005/10/18 08:35:46 $
- Version: $Revision: 1.39 $
+ Date: $Date: 2005/10/28 13:16:48 $
+ Version: $Revision: 1.46 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
} Image;
Image Images [] = {
- {256, 256, 1, 1, 8, 8, 0, 'a'},
- {256, 256, 1, 1, 8, 8, 0, 'e'},
- {256, 256, 1, 1, 8, 8, 0, 'i'},
-
- {512, 256, 1, 1, 8, 8, 0, 'a'},
- {512, 256, 1, 1, 8, 8, 0, 'e'},
- {512, 256, 1, 1, 8, 8, 0, 'i'},
-
- {256, 512, 1, 1, 8, 8, 0, 'a'},
- {256, 512, 1, 1, 8, 8, 0, 'e'},
- {256, 512, 1, 1, 8, 8, 0, 'i'},
-
- {256, 512, 1, 1, 16, 16, 0, 'a'},
- {256, 512, 1, 1, 16, 16, 0, 'e'},
- {256, 512, 1, 1, 16, 16, 0, 'i'},
- {256, 512, 1, 1, 16, 16, 0, 'a'},
- {256, 512, 1, 1, 16, 16, 0, 'e'},
- {256, 512, 1, 1, 16, 16, 0, 'i'},
-
- {512, 256, 10, 1, 8, 8, 0, 'a'},
- {512, 256, 10, 1, 8, 8, 0, 'e'},
- {512, 256, 10, 1, 8, 8, 0, 'i'},
- {512, 256, 10, 3, 8, 8, 0, 'a'},
- {512, 256, 10, 3, 8, 8, 0, 'e'},
- {512, 256, 10, 3, 8, 8, 0, 'i'},
-
- {256, 256, 1, 1, 8, 8, 1, 'a'},
- {256, 256, 1, 1, 8, 8, 1, 'e'},
- {256, 256, 1, 1, 8, 8, 1, 'i'},
-
- {512, 256, 1, 1, 8, 8, 1, 'a'},
- {512, 256, 1, 1, 8, 8, 1, 'e'},
- {512, 256, 1, 1, 8, 8, 1, 'i'},
-
- {256, 512, 1, 1, 8, 8, 1, 'a'},
- {256, 512, 1, 1, 8, 8, 1, 'e'},
- {256, 512, 1, 1, 8, 8, 1, 'i'},
-
- {256, 512, 1, 1, 16, 16, 1, 'a'},
- {256, 512, 1, 1, 16, 16, 1, 'e'},
- {256, 512, 1, 1, 16, 16, 1, 'i'},
- {256, 512, 1, 1, 16, 16, 1, 'a'},
- {256, 512, 1, 1, 16, 16, 1, 'e'},
- {256, 512, 1, 1, 16, 16, 1, 'i'},
-
- {512, 256, 10, 1, 8, 8, 1, 'a'},
- {512, 256, 10, 1, 8, 8, 1, 'e'},
- {512, 256, 10, 1, 8, 8, 1, 'i'},
- {512, 256, 10, 3, 8, 8, 1, 'a'},
- {512, 256, 10, 3, 8, 8, 1, 'e'},
- {512, 256, 10, 3, 8, 8, 1, 'i'},
+
+ {128, 128, 1, 1, 8, 8, 0, 'e'},
+ {256, 128, 1, 1, 8, 8, 0, 'e'},
+ {128, 128, 1, 1, 16, 16, 0, 'e'},
+ {128, 256, 1, 1, 16, 16, 0, 'e'},
+
+ {128, 128, 1, 1, 8, 8, 0, 'i'},
+ {256, 128, 1, 1, 8, 8, 0, 'i'},
+ {256, 128, 1, 1, 8, 8, 0, 'a'},
+ {128, 128, 1, 1, 8, 8, 0, 'a'},
+
+ {128, 256, 1, 1, 8, 8, 0, 'e'},
+ {128, 256, 1, 1, 8, 8, 0, 'i'},
+ {128, 256, 1, 1, 8, 8, 0, 'a'},
+
+ {128, 256, 1, 1, 16, 16, 0, 'i'},
+ {128, 256, 1, 1, 16, 16, 0, 'i'},
+ {128, 256, 1, 1, 16, 16, 0, 'a'},
+ {128, 256, 1, 1, 16, 16, 0, 'a'},
+
+ {256, 128, 10, 1, 8, 8, 0, 'e'},
+ {256, 128, 10, 3, 8, 8, 0, 'e'},
+ {256, 128, 10, 3, 8, 8, 0, 'i'},
+ {256, 128, 10, 1, 8, 8, 0, 'i'},
+ {256, 128, 10, 1, 8, 8, 0, 'a'},
+ {256, 128, 10, 3, 8, 8, 0, 'a'},
+
+ {128, 128, 1, 1, 8, 8, 1, 'e'},
+ {128, 128, 1, 1, 8, 8, 1, 'i'},
+ {128, 128, 1, 1, 8, 8, 1, 'a'},
+
+ {256, 128, 1, 1, 8, 8, 1, 'e'},
+ {256, 128, 1, 1, 8, 8, 1, 'i'},
+ {256, 128, 1, 1, 8, 8, 1, 'a'},
+
+ {128, 256, 1, 1, 8, 8, 1, 'a'},
+ {128, 256, 1, 1, 8, 8, 1, 'e'},
+ {128, 256, 1, 1, 8, 8, 1, 'i'},
+
+ {128, 256, 1, 1, 16, 16, 1, 'e'},
+ {128, 256, 1, 1, 16, 16, 1, 'e'},
+ {128, 256, 1, 1, 16, 16, 1, 'i'},
+ {128, 256, 1, 1, 16, 16, 1, 'i'},
+ {128, 256, 1, 1, 16, 16, 1, 'a'},
+ {128, 256, 1, 1, 16, 16, 1, 'a'},
+
+ {256, 128, 10, 1, 8, 8, 1, 'e'},
+ {256, 128, 10, 1, 8, 8, 1, 'i'},
+ {256, 128, 10, 1, 8, 8, 1, 'a'},
+
+ {256, 128, 10, 3, 8, 8, 1, 'e'},
+ {256, 128, 10, 3, 8, 8, 1, 'i'},
+ {256, 128, 10, 3, 8, 8, 1, 'a'},
{0, 0, 1, 1, 8, 8, 0, 'i'} // to find the end
};
+
const unsigned int MAX_NUMBER_OF_DIFFERENCE = 10;
int WriteSimple(Image &img)
fileName.str("");
fileName << "TestWriteSimple";
-// Step 1 : Create the header of the image
+// Step 1 : Create an empty FileHelper
std::cout << " 1...";
- gdcm::File *fileToBuild = new gdcm::File();
+ gdcm::FileHelper *fileH = gdcm::FileHelper::New();
+
+ // Get the (empty) image header.
+ gdcm::File *fileToBuild = fileH->GetFile();
std::ostringstream str;
// Set the image size
}
std::cout << "[" << fileName.str() << "]...";
-
// Set the samples per pixel
str.str("");
str << img.components;
}
}
-// Step 3 : Create the file of the image
+// Step 3 : Set the image Pixel Data
std::cout << "3...";
- gdcm::FileHelper *fileH = new gdcm::FileHelper(fileToBuild);
fileH->SetImageData(imageData,size);
// Step 4 : Set the writting mode and write the image
std::cout << "Failed for [" << fileName.str() << "]\n"
<< " Write mode '"<<img.writeMode<<"' is undefined\n";
- delete fileH;
- delete fileToBuild;
+ fileH->Delete();
delete[] imageData;
return 1;
}
std::cout << "Failed for [" << fileName.str() << "]\n"
<< " File is unwrittable\n";
- delete fileH;
- delete fileToBuild;
+ fileH->Delete();
+
delete[] imageData;
return 1;
}
// old form.
//gdcm::FileHelper *reread = new gdcm::FileHelper( fileName.str() );
// Better use :
- gdcm::FileHelper *reread = new gdcm::FileHelper( );
+ gdcm::FileHelper *reread = gdcm::FileHelper::New( );
reread->SetFileName( fileName.str() );
- reread->SetLoadMode(0); // Load everything
- // Other possible values are
+ reread->SetLoadMode(gdcm::LD_ALL); // Load everything
+ // Possible values are
// gdcm::LD_ALL,
// gdcm::LD_NOSEQ,
// gdcm::LD_NOSHADOW,
{
std::cerr << "Failed" << std::endl
<< "Could not read written image : " << fileName.str() << std::endl;
- delete fileToBuild;
- delete fileH;
- delete reread;
+ fileToBuild->Delete();
+ fileH->Delete();
+ reread->Delete();
delete[] imageData;
return 1;
}
<< " File type differ: "
<< fileH->GetWriteType() << " # "
<< reread->GetFile()->GetFileType() << std::endl;
- delete fileToBuild;
- delete fileH;
- delete reread;
+ fileToBuild->Delete();
+ fileH->Delete();
+ reread->Delete();
delete[] imageData;
return 1;
<< reread->GetFile()->GetYSize() << " | "
<< "Z: " << fileToBuild->GetZSize() << " # "
<< reread->GetFile()->GetZSize() << std::endl;
- delete fileToBuild;
- delete fileH;
- delete reread;
+ fileToBuild->Delete();
+ fileH->Delete();
+ reread->Delete();
delete[] imageData;
return 1;
std::cout << "Failed" << std::endl
<< " Pixel areas lengths differ: "
<< size << " # " << dataSizeWritten << std::endl;
- delete fileToBuild;
- delete fileH;
- delete reread;
+ fileToBuild->Delete();
+ fileH->Delete();
+ reread->Delete();
delete[] imageData;
return 1;
std::cout << " list of the first " << MAX_NUMBER_OF_DIFFERENCE
<< " pixels differing (pos : test - ref) :"
<< std::endl;
- int i;
+ unsigned int i;
unsigned int j;
for(i=0, j=0;i<dataSizeWritten && j<MAX_NUMBER_OF_DIFFERENCE;i++)
{
}
}
std::cout << std::endl;
- delete fileToBuild;
- delete fileH;
- delete reread;
+ fileToBuild->Delete();
+ fileH->Delete();
+ reread->Delete();
delete[] imageData;
return 1;
std::cout << "OK" << std::endl;
- delete fileToBuild;
- delete fileH;
- delete reread;
+ fileH->Delete();
+ reread->Delete();
delete[] imageData;
return 0;
return 1;
}
- //gdcm::Debug::DebugOn();
+ gdcm::Debug::DebugOn();
int ret=0;
int i=0;