X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FTestCopyDicom.cxx;h=9916f6a44108ae5111390d5e56f9c1829d1640ce;hb=bd60287496e2943a7f60b9d21cba8247dbbffb88;hp=423a3ded8ce7d0adfa6148b0b3ae75b64848aa49;hpb=3e82e8b67eddf5d4b95b6aa2a2e2615aced4c452;p=gdcm.git diff --git a/Example/TestCopyDicom.cxx b/Example/TestCopyDicom.cxx index 423a3ded..9916f6a4 100644 --- a/Example/TestCopyDicom.cxx +++ b/Example/TestCopyDicom.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestCopyDicom.cxx,v $ Language: C++ - Date: $Date: 2005/02/02 10:06:31 $ - Version: $Revision: 1.23 $ + Date: $Date: 2005/09/22 14:45:11 $ + Version: $Revision: 1.29 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -57,7 +57,7 @@ bool RemoveFile(const char *source) // Here we load a gdcmFile and then try to create from scratch a copy of it, // copying field by field the dicom image -int main(int argc, char* argv[]) +int main(int argc, char *argv[]) { if (argc < 3) { @@ -73,25 +73,38 @@ int main(int argc, char* argv[]) if( FileExists( output.c_str() ) ) { - std::cerr << "Don't try to cheat, I am removing the file anyway" << std::endl; + std::cerr << "Don't try to cheat, I am removing the file anyway" + << std::endl; if( !RemoveFile( output.c_str() ) ) { - std::cerr << "Ouch, the file exist, but I cannot remove it" << std::endl; + std::cerr << "Ouch, the file exist, but I cannot remove it" + << std::endl; return 1; } } - gdcm::FileHelper *original = new gdcm::FileHelper( filename ); + gdcm::File *fileOr = new gdcm::File(); + fileOr->SetFileName( filename ); + fileOr->Load(); + gdcm::FileHelper *original = new gdcm::FileHelper( fileOr ); std::cout << "--- Original ----------------------" << std::endl; //original->GetFile()->Print(); - gdcm::FileHelper *copy = new gdcm::FileHelper( output ); - - size_t dataSize = original->GetImageDataSize(); - uint8_t *imageData = original->GetImageData(); - (void)imageData; - (void)dataSize; + gdcm::FileHelper *copy = new gdcm::FileHelper( ); + copy->SetFileName( output ); + copy->Load(); + + //size_t dataSize; + uint8_t *imageData; + //dataSize = original->GetImageDataSize();// just an accesor :useless here + + imageData = original->GetImageData(); // VERY important : + // brings pixels in memory ! + //(void)imageData; // not enough to avoid warning with icc compiler + //(void)dataSize; // not enough to avoid warning on 'Golgot' + std::cout << imageData << std::endl; // to avoid warning ? + //First of all copy the header field by field gdcm::DocEntry *d = original->GetFile()->GetFirstEntry(); @@ -112,10 +125,10 @@ int main(int argc, char* argv[]) else { // We skip pb of SQ recursive exploration - //std::cout << "Skipped Sequence " - // << "------------- " << d->GetVR() << " "<< std::hex - // << d->GetGroup() << " " << d->GetElement() - // << std::endl; + std::cout << "Skipped Sequence " + << "------------- " << d->GetVR() << " "<< std::hex + << d->GetGroup() << "," << d->GetElement() + << std::endl; } d=original->GetFile()->GetNextEntry(); @@ -125,7 +138,8 @@ int main(int argc, char* argv[]) //copy->SetImageData(imageData, dataSize); std::cout << "--- Copy ----------------------" << std::endl; - std::cout <GetFile()->Print(); std::cout << "--- ---- ----------------------" << std::endl;