X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FWriteRead.cxx;h=2f247d923074903fca4ace5e748f82a564d187d2;hb=066996143ee597cc94ffc6d27751301931afad30;hp=d4d2c4f11e5f75f1c2420dc340c733cae96b598b;hpb=64429225702c1ca65ea3b6882be0e19c94509843;p=gdcm.git diff --git a/Example/WriteRead.cxx b/Example/WriteRead.cxx index d4d2c4f1..2f247d92 100644 --- a/Example/WriteRead.cxx +++ b/Example/WriteRead.cxx @@ -1,16 +1,34 @@ +/*========================================================================= + + Program: gdcm + Module: $RCSfile: WriteRead.cxx,v $ + Language: C++ + Date: $Date: 2005/07/08 12:02:02 $ + Version: $Revision: 1.14 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ +#include "gdcmFile.h" +#include "gdcmFileHelper.h" + #include -#include -#include "gdcm.h" -int main(int argc, char* argv[]) +int main(int argc, char *argv[]) { - std::string toto; - char zozo[200]; - - gdcmHeader* e1, *e2; - gdcmFile * f1, *f2; + std::string fileNameToWrite; - void* imageData, *imageData2; + gdcm::File *e1; + gdcm::File *e2; + gdcm::FileHelper *f1; + gdcm::FileHelper *f2; + uint8_t* imageData, *imageData2; int dataSize, dataSize2; if( argc < 2 ) @@ -19,37 +37,40 @@ int main(int argc, char* argv[]) return 1; } - toto = argv[1]; + std::string fileName = argv[1]; // --------------------- we read the input image - - e1 = new gdcmHeader(toto, false, true); + std::cout << argv[1] << std::endl; + e1 = new gdcm::File( ); + e1->SetFileName( fileName ); + e1->Load(); if (!e1->IsReadable()) { - std::cerr << "Sorry, " << toto <<" not a Readable DICOM / ACR File" + std::cerr << "Sorry, " << fileName <<" not a Readable DICOM / ACR File" <GetImageData(); dataSize = f1->GetImageDataSize(); // --------------------- we write it as an Explicit VR DICOM file - sprintf(zozo, "temp.XDCM" ); + fileNameToWrite = "temp.XDCM"; std::cout << "WriteDCM Explicit VR" << std::endl; - f1->WriteDcmExplVR(zozo); + f1->WriteDcmExplVR(fileNameToWrite); // --------------------- we read the written image - - e2 = new gdcmHeader(zozo, false, true); + e2 = new gdcm::File( ); + e2->SetFileName( fileNameToWrite ); + e2->Load(); if (!e2->IsReadable()) { - std::cerr << "Sorry, " << zozo << " not a Readable DICOM / ACR File" + std::cerr << "Sorry, " << fileNameToWrite << " not a Readable DICOM / ACR File" <GetImageData(); dataSize2 = f2->GetImageDataSize(); @@ -59,19 +80,19 @@ int main(int argc, char* argv[]) std::cout << " ----------------------------------------- " << "Bad shot! Lengthes are different : " << dataSize << " # " << dataSize2 - << " for file : " << toto << std::endl; + << " for file : " << fileName << std::endl; - return 1; + return 0; } if (int res=memcmp(imageData,imageData2,dataSize) !=0) { std::cout << " ----------------------------------------- " << "Bad shot! Pixels are different : " - << " for file : " << toto << std::endl; + << " for file : " << fileName << std::endl; std::cout << "memcmp(imageData,imageData2,dataSize) = " << res << std::endl; return 1; } - //If we reach here everythin is fine, return 0 then: + //If we reach here everything is fine, return 0 then: return 0; }