X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FTestWrite.cxx;h=ee92a4b19307208965f6311084e2b39311856689;hb=3e82e8b67eddf5d4b95b6aa2a2e2615aced4c452;hp=3355ed4339b55d8478329c0448f5c167fab1a99e;hpb=5d1776a78fb7d94a8325a00e438f7be82c16053c;p=gdcm.git diff --git a/Example/TestWrite.cxx b/Example/TestWrite.cxx index 3355ed43..ee92a4b1 100644 --- a/Example/TestWrite.cxx +++ b/Example/TestWrite.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestWrite.cxx,v $ Language: C++ - Date: $Date: 2004/12/03 11:55:37 $ - Version: $Revision: 1.11 $ + Date: $Date: 2005/02/02 10:06:32 $ + Version: $Revision: 1.18 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -15,21 +15,19 @@ 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]; - + std::string fileNameToWrite; - gdcm::Header* e1; - gdcm::File * f1; + gdcm::File *e1; + gdcm::FileHelper *f1; - //gdcmDocument * d; //not used - void* imageData; + void *imageData; int dataSize; if (argc < 3) { @@ -46,13 +44,13 @@ int main(int argc, char* argv[]) } /* if (0) { // Just to keep the code for further use - std::cout <GetHeader()->IsReadable()) { + std::cout <GetFile()->IsReadable()) { std::cout << "Sorry, not a DICOM / ACR File" < after new gdcmHeader" + std::cout << std::endl << "----------------------> after new gdcmFile" << std::endl; e1->PrintEntry(); std::cout <IsReadable()) { std::cerr << "Sorry, not a Readable DICOM / ACR File" <Print(); - f1 = new gdcm::File(e1); + f1 = new gdcm::FileHelper(e1); // --- dataSize = f1->GetImageDataSize(); @@ -94,12 +93,12 @@ int main(int argc, char* argv[]) << " SampleserPixel=" << sPP << " PlanarConfiguration=" << planarConfig << " PhotometricInterpretation=" - << e1->GetEntryByNumber(0x0028,0x0004) + << e1->GetEntryValue(0x0028,0x0004) << std::endl; int numberOfScalarComponents=e1->GetNumberOfScalarComponents(); std::cout << "NumberOfScalarComponents " << numberOfScalarComponents <GetTransfertSyntaxName(); + transferSyntaxName = e1->GetTransferSyntaxName(); std::cout << " TransferSyntaxName= [" << transferSyntaxName << "]" << std::endl; /* if ( transferSyntaxName != "Implicit VR - Little Endian" @@ -115,47 +114,48 @@ int main(int argc, char* argv[]) }*/ imageData= f1->GetImageData(); - switch (argv[2][0]) { + switch (mode[0]) + { case 'a' : // ecriture d'un fichier ACR - // à partir d'un dcmHeader correct. + // à partir d'un dcmFile correct. - sprintf(zozo, "%s.ACR", toto.c_str()); - printf ("WriteACR\n"); - f1->WriteAcr(zozo); + fileNameToWrite = fileName + ".ACR"; + std::cout << "WriteACR" << std::endl; + f1->WriteAcr(fileNameToWrite); break; case 'd' : // Not document in the 'usage', because the method is knowed to be bugged. // ecriture d'un fichier DICOM Implicit VR - // à partir d'un dcmHeader correct. + // à partir d'un dcmFile correct. - sprintf(zozo, "%s.DCM", toto.c_str()); - printf ("WriteDCM Implicit VR\n"); - f1->WriteDcmImplVR(zozo); + fileNameToWrite = fileName + ".DCM"; + std::cout << "WriteDCM Implicit VR" << std::endl; + f1->WriteDcmImplVR(fileNameToWrite); break; case 'x' : // ecriture d'un fichier DICOM Explicit VR - // à partir d'un dcmHeader correct. + // à partir d'un dcmFile correct. - sprintf(zozo, "%s.XDCM", toto.c_str()); + fileNameToWrite = fileName + ".XDCM"; std::cout << "WriteDCM Explicit VR" << std::endl; - f1->WriteDcmExplVR(zozo); + f1->WriteDcmExplVR(fileNameToWrite); break; case 'r' : // Ecriture d'un Raw File, a afficher avec // affim filein= dimx= dimy= nbit= signe= - sprintf(zozo, "%s.RAW", toto.c_str()); + fileNameToWrite = fileName + ".RAW"; std::cout << "WriteRaw" << std::endl; - f1->WriteRawData(zozo); + f1->WriteRawData(fileNameToWrite); break; case 'v' : - if ( f1->GetHeader()->GetBitsAllocated() == 8) + if ( f1->GetFile()->GetBitsAllocated() == 8) { std::cout << "videoinv for 8 bits" << std::endl; for (int i=0; iWriteDcmExplVR(zozo); + fileNameToWrite = fileName + ".VDCM"; + std::cout << "WriteDCM Explicit VR + VideoInv" << std::endl; + f1->WriteDcmExplVR(fileNameToWrite); break; }