X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=Example%2FTestWrite.cxx;h=38c25b71c37868b3a68d0947982b4ff0aa76d51c;hb=a462ce9f1af0894cd930ab04f2e65cd80dfa7084;hp=1793b4d9be95e91def0066d0d2c09668a1db8b86;hpb=0edbae0b69424af845a81a9f12ed16cec719130b;p=gdcm.git diff --git a/Example/TestWrite.cxx b/Example/TestWrite.cxx index 1793b4d9..38c25b71 100644 --- a/Example/TestWrite.cxx +++ b/Example/TestWrite.cxx @@ -1,15 +1,31 @@ +/*========================================================================= + + Program: gdcm + Module: $RCSfile: TestWrite.cxx,v $ + Language: C++ + Date: $Date: 2005/01/08 15:03:57 $ + Version: $Revision: 1.13 $ + + 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 "gdcmHeader.h" +#include "gdcmFile.h" + #include -#include -#include "gdcm.h" int main(int argc, char* argv[]) { - std::string toto; - char zozo[200]; - + std::string zozo; - gdcmHeader* e1; - gdcmFile * f1; + gdcm::Header* e1; + gdcm::File * f1; //gdcmDocument * d; //not used void* imageData; @@ -47,9 +63,10 @@ int main(int argc, char* argv[]) << "--------------------- file :" << argv[1] << std::endl; - toto = argv[1]; + std::string toto = argv[1]; + std::string mode = argv[2]; - e1 = new gdcmHeader( toto.c_str() ); + e1 = new gdcm::Header( toto.c_str() ); if (!e1->IsReadable()) { std::cerr << "Sorry, not a Readable DICOM / ACR File" <Print(); - f1 = new gdcmFile(e1); + f1 = new gdcm::File(e1); // --- dataSize = f1->GetImageDataSize(); @@ -77,7 +94,7 @@ int main(int argc, char* argv[]) << " SampleserPixel=" << sPP << " PlanarConfiguration=" << planarConfig << " PhotometricInterpretation=" - << e1->GetEntryByNumber(0x0028,0x0004) + << e1->GetEntry(0x0028,0x0004) << std::endl; int numberOfScalarComponents=e1->GetNumberOfScalarComponents(); @@ -85,26 +102,27 @@ int main(int argc, char* argv[]) transferSyntaxName = e1->GetTransfertSyntaxName(); 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->ParsePixelData(); + f1->GetPixelReadConverter()->Print(); std::cout << std::endl << "===========================================" << std::endl; - } + }*/ imageData= f1->GetImageData(); - switch (argv[2][0]) { + switch (mode[0]) + { case 'a' : // ecriture d'un fichier ACR // à partir d'un dcmHeader correct. - sprintf(zozo, "%s.ACR", toto.c_str()); - printf ("WriteACR\n"); + zozo = toto + ".ACR"; + std::cout << "WriteACR" << std::endl; f1->WriteAcr(zozo); break; @@ -113,8 +131,8 @@ int main(int argc, char* argv[]) // ecriture d'un fichier DICOM Implicit VR // à partir d'un dcmHeader correct. - sprintf(zozo, "%s.DCM", toto.c_str()); - printf ("WriteDCM Implicit VR\n"); + zozo = toto + ".DCM"; + std::cout << "WriteDCM Implicit VR" << std::endl; f1->WriteDcmImplVR(zozo); break; @@ -122,7 +140,7 @@ int main(int argc, char* argv[]) // ecriture d'un fichier DICOM Explicit VR // à partir d'un dcmHeader correct. - sprintf(zozo, "%s.XDCM", toto.c_str()); + zozo = toto + ".XDCM"; std::cout << "WriteDCM Explicit VR" << std::endl; f1->WriteDcmExplVR(zozo); break; @@ -131,7 +149,7 @@ int main(int argc, char* argv[]) // Ecriture d'un Raw File, a afficher avec // affim filein= dimx= dimy= nbit= signe= - sprintf(zozo, "%s.RAW", toto.c_str()); + zozo = toto + ".RAW"; std::cout << "WriteRaw" << std::endl; f1->WriteRawData(zozo); break; @@ -154,8 +172,8 @@ int main(int argc, char* argv[]) ((uint16_t*)imageData)[i] += 60000; //32767; } } - sprintf(zozo, "%s.VDCM", toto.c_str()); - printf ("WriteDCM Explicit VR + VideoInv\n"); + zozo = toto + ".VDCM"; + std::cout << "WriteDCM Explicit VR + VideoInv" << std::endl; f1->WriteDcmExplVR(zozo); break;