X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FTestWrite.cxx;h=dd7211aa05794cd4a2bf91bbdd7144d02e2f6388;hb=16767fac37398a5864a19243c56352752e103c04;hp=8fce916bd8c3f2f342a1f84a062fb49a58ea538f;hpb=aaeee7164728ec0749a525f0c74274865712ec37;p=gdcm.git diff --git a/Example/TestWrite.cxx b/Example/TestWrite.cxx index 8fce916b..dd7211aa 100644 --- a/Example/TestWrite.cxx +++ b/Example/TestWrite.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestWrite.cxx,v $ Language: C++ - Date: $Date: 2005/01/24 16:10:49 $ - Version: $Revision: 1.17 $ + Date: $Date: 2005/07/07 17:31:53 $ + Version: $Revision: 1.21 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -22,12 +22,12 @@ int main(int argc, char *argv[]) { - std::string zozo; + std::string fileNameToWrite; - gdcm::File *e1; - gdcm::FileHelper *f1; + gdcm::File *f; + gdcm::FileHelper *fh; - void* imageData; + void *imageData; int dataSize; if (argc < 3) { @@ -45,14 +45,14 @@ int main(int argc, char *argv[]) /* if (0) { // Just to keep the code for further use std::cout <GetFile()->IsReadable()) { + f = new gdcmFileHelper(argv[1]); + if (!fh->GetFile()->IsReadable()) { std::cout << "Sorry, not a DICOM / ACR File" < after new gdcmFile" << std::endl; - e1->PrintEntry(); + f->PrintEntry(); std::cout <IsReadable()) + //f = new gdcm::File( fileName.c_str() ); + + // new style : + f = new gdcm::File( ); + f->SetLoadMode(0); + f->SetFileName( fileName ); + bool res = f->Load(); + if ( !res ) { std::cerr << "Sorry, not a Readable DICOM / ACR File" <Print(); + // f->Print(); - f1 = new gdcm::FileHelper(e1); + fh = new gdcm::FileHelper(f); + dataSize = fh->GetImageDataSize(); + imageData= fh->GetImageData(); + + // --- - dataSize = f1->GetImageDataSize(); std::cout <GetXSize(); - nY=e1->GetYSize(); - nZ=e1->GetZSize(); + nX=f->GetXSize(); + nY=f->GetYSize(); + nZ=f->GetZSize(); std::cout << " DIMX=" << nX << " DIMY=" << nY << " DIMZ=" << nZ << std::endl; - pixelType = e1->GetPixelType(); - sPP = e1->GetSamplesPerPixel(); - planarConfig = e1->GetPlanarConfiguration(); + pixelType = f->GetPixelType(); + sPP = f->GetSamplesPerPixel(); + planarConfig = f->GetPlanarConfiguration(); std::cout << " pixelType=" << pixelType << " SampleserPixel=" << sPP << " PlanarConfiguration=" << planarConfig << " PhotometricInterpretation=" - << e1->GetEntryValue(0x0028,0x0004) + << f->GetEntryValue(0x0028,0x0004) << std::endl; - int numberOfScalarComponents=e1->GetNumberOfScalarComponents(); + int numberOfScalarComponents=f->GetNumberOfScalarComponents(); std::cout << "NumberOfScalarComponents " << numberOfScalarComponents <GetTransferSyntaxName(); + transferSyntaxName = f->GetTransferSyntaxName(); std::cout << " TransferSyntaxName= [" << transferSyntaxName << "]" << std::endl; - -/* if ( transferSyntaxName != "Implicit VR - Little Endian" + +/* + if ( transferSyntaxName != "Implicit VR - Little Endian" && transferSyntaxName != "Explicit VR - Little Endian" && transferSyntaxName != "Deflated Explicit VR - Little Endian" && transferSyntaxName != "Explicit VR - Big Endian" && transferSyntaxName != "Uncompressed ACR-NEMA" ) { std::cout << std::endl << "===========================================" << std::endl; - f1->GetPixelReadConverter()->Print(); + fh->GetPixelReadConverter()->Print(); std::cout << std::endl << "===========================================" << std::endl; - }*/ - imageData= f1->GetImageData(); - + } +*/ switch (mode[0]) { case 'a' : // ecriture d'un fichier ACR // à partir d'un dcmFile correct. - zozo = toto + ".ACR"; + fileNameToWrite = fileName + ".ACR"; std::cout << "WriteACR" << std::endl; - f1->WriteAcr(zozo); + fh->WriteAcr(fileNameToWrite); break; case 'd' : // Not document in the 'usage', because the method is knowed to be bugged. @@ -130,37 +139,37 @@ int main(int argc, char *argv[]) // ecriture d'un fichier DICOM Implicit VR // à partir d'un dcmFile correct. - zozo = toto + ".DCM"; + fileNameToWrite = fileName + ".DCM"; std::cout << "WriteDCM Implicit VR" << std::endl; - f1->WriteDcmImplVR(zozo); + fh->WriteDcmImplVR(fileNameToWrite); break; case 'x' : // ecriture d'un fichier DICOM Explicit VR // à partir d'un dcmFile correct. - zozo = toto + ".XDCM"; + fileNameToWrite = fileName + ".XDCM"; std::cout << "WriteDCM Explicit VR" << std::endl; - f1->WriteDcmExplVR(zozo); + fh->WriteDcmExplVR(fileNameToWrite); break; case 'r' : // Ecriture d'un Raw File, a afficher avec // affim filein= dimx= dimy= nbit= signe= - zozo = toto + ".RAW"; + fileNameToWrite = fileName + ".RAW"; std::cout << "WriteRaw" << std::endl; - f1->WriteRawData(zozo); + fh->WriteRawData(fileNameToWrite); break; case 'v' : - if ( f1->GetFile()->GetBitsAllocated() == 8) + if ( fh->GetFile()->GetBitsAllocated() == 8) { std::cout << "videoinv for 8 bits" << std::endl; for (int i=0; iWriteDcmExplVR(zozo); + fh->WriteDcmExplVR(fileNameToWrite); break; } - return 0; + delete f; + delete fh; + return 0; }