X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FWriteDicom.cxx;h=7116f734fceaefaaa7065440b17675711d50e015;hb=2bb60efea83f2bfa1823f27b2a5536a0e6cfd8c0;hp=905163cdf842aa3cd3a8dc56e67dd185d4d16227;hpb=11acea13c5f6b70f1cd3753ccbb92e330df32fcb;p=gdcm.git diff --git a/Example/WriteDicom.cxx b/Example/WriteDicom.cxx index 905163cd..7116f734 100644 --- a/Example/WriteDicom.cxx +++ b/Example/WriteDicom.cxx @@ -1,5 +1,21 @@ -#include "gdcmDocument.h" -#include "gdcmFile.h" +/*========================================================================= + + Program: gdcm + Module: $RCSfile: WriteDicom.cxx,v $ + Language: C++ + Date: $Date: 2004/11/26 10:55:03 $ + Version: $Revision: 1.8 $ + + 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 "gdcm.h" // Writting of a DICOM file based on a correct dicom header // and data pixel of another image @@ -11,19 +27,17 @@ int main(int argc, char* argv[]) { std::cerr << "Usage :" << std::endl << argv[0] << " HeaderFileName DataFileName" << std::endl; - return 0; + return 0; } const char *first = argv[1]; - gdcmFile *f1 = new gdcmFile( first ); - + gdcm::File *f1 = new gdcm::File( first ); + const char *second = argv[2]; - gdcmFile *f2 = new gdcmFile( second ); - - // f1->PrintPubElVal(); - + gdcm::File *f2 = new gdcm::File( second ); + // We assume that DICOM fields of second file actually exists : - + std::string nbFrames = f2->GetHeader()->GetEntryByNumber(0x0028, 0x0008); if(nbFrames != "gdcm::Unfound") { f1->GetHeader()->ReplaceOrCreateByNumber( nbFrames, 0x0028, 0x0008); @@ -35,33 +49,30 @@ int main(int argc, char* argv[]) f2->GetHeader()->GetEntryByNumber(0x0028, 0x0011), 0x0028, 0x0011); // nbCol // Some other tags should be updated: - - // TODO : add a default value + + // TODO : add a default value // TODO : a function which take as input a list of tuple (gr, el) // and that does the job int dataSize = f2->GetImageDataSize(); - void *imageData = f2->GetImageData(); + uint8_t* imageData = f2->GetImageData(); std::cout << "dataSize :" << dataSize << std::endl; - + // TODO : Shouldn't we merge those two functions ? f1->SetImageData( imageData, dataSize); - f1->GetHeader()->SetImageDataSize( dataSize ); - + f1->GetHeader()->Print(); - + std::string s0 = f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0000); std::string s10 = f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0010); std::cout << "lgr 7fe0, 0000 " << s0 << std::endl; - std::cout << "lgr 7fe0, 0010 " << s10 << std::endl; + std::cout << "lgr 7fe0, 0010 " << s10 << std::endl; std::cout << "WriteDCM" << std::endl; f1->WriteDcmExplVR("WriteDicom.dcm"); - //f1->WriteDcmImplVR(resultat); - //f1->WriteAcr(resultat); return 0; }