X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestChangeHeader.cxx;h=7ffbd7e1fd2b7661e0b738725a69829a4d21b54f;hb=1da135b970b886808d3eb3868c49d0bd02fc486f;hp=6e640b0397359fdf173504bfc360c1e72ea74945;hpb=e1df8136c53f59638cd50ab3c64a18ca838941a6;p=gdcm.git diff --git a/Testing/TestChangeHeader.cxx b/Testing/TestChangeHeader.cxx index 6e640b03..7ffbd7e1 100644 --- a/Testing/TestChangeHeader.cxx +++ b/Testing/TestChangeHeader.cxx @@ -9,38 +9,39 @@ // et des pixels d'une autre image -int main(int argc, char* argv[]) { - std::string premier, deuxieme; - char resultat[200]; +int testChangeEntete(int argc, char* argv[]) { + std::string premier, deuxieme; + char resultat[200]; - gdcmFile *f1, *f2; + gdcmFile *f1, *f2; //gdcmHeader *e1, *e2; - void* imageData; - int dataSize; + void* imageData; + int dataSize; - if (argc < 3) { - printf ("usage :\n testChangeEntete nomFichierPourEntete nomFichierPourDonnées \n"); - exit(0); - } + if (argc < 3) { + std::cerr << "usage :" << std::endl << + argv[0] << " nomFichierPourEntete nomFichierPourDonnées" << std::endl; + return 0; + } - premier = argv[1]; - f1 = new gdcmFile(premier); + premier = argv[1]; + f1 = new gdcmFile(premier); - deuxieme = argv[2]; - f2 = new gdcmFile(deuxieme); + deuxieme = argv[2]; + f2 = new gdcmFile(deuxieme); //f1->PrintPubElVal(); // On suppose que les champs DICOM du 2ieme fichier existent *effectivement* - std::string nbFrames = f2->GetHeader()->GetEntryByNumber(0x0028, 0x0008); - if(nbFrames != "gdcm::Unfound") { - f1->GetHeader()->ReplaceOrCreateByNumber( nbFrames, 0x0028, 0x0008); - } + std::string nbFrames = f2->GetHeader()->GetEntryByNumber(0x0028, 0x0008); + if(nbFrames != "gdcm::Unfound") { + f1->GetHeader()->ReplaceOrCreateByNumber( nbFrames, 0x0028, 0x0008); + } - f1->GetHeader()->ReplaceOrCreateByNumber(f2->GetHeader()->GetEntryByNumber(0x0028, 0x0010), + f1->GetHeader()->ReplaceOrCreateByNumber(f2->GetHeader()->GetEntryByNumber(0x0028, 0x0010), 0x0028, 0x0010);// nbLig - f1->GetHeader()->ReplaceOrCreateByNumber( f2->GetHeader()->GetEntryByNumber(0x0028, 0x0011), + f1->GetHeader()->ReplaceOrCreateByNumber( f2->GetHeader()->GetEntryByNumber(0x0028, 0x0011), 0x0028, 0x0011);// nbCol @@ -51,27 +52,28 @@ int main(int argc, char* argv[]) { // et qui fasse le boulot. - dataSize = f2->GetImageDataSize(); - printf ("dataSize %d\n",dataSize); - imageData= f2->GetImageData(); + dataSize = f2->GetImageDataSize(); + printf ("dataSize %d\n",dataSize); + imageData= f2->GetImageData(); // TODO : ne devrait-on pas fusionner ces 2 fonctions ? - f1->SetImageData(imageData,dataSize); - f1->GetHeader()->SetImageDataSize(dataSize); + f1->SetImageData(imageData,dataSize); + f1->GetHeader()->SetImageDataSize(dataSize); - f1->GetHeader()->PrintPubEntry(); + f1->GetHeader()->PrintEntry(); - std::string s0 =f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0000); - std::string s10=f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0010); - printf("lgr 7fe0, 0000 %s\n",s0.c_str()); - printf("lgr 7fe0, 0010 %s\n",s10.c_str()); + std::string s0 =f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0000); + std::string s10=f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0010); + printf("lgr 7fe0, 0000 %s\n",s0.c_str()); + printf("lgr 7fe0, 0010 %s\n",s10.c_str()); - sprintf(resultat, "%s.vol", deuxieme.c_str()); - printf ("WriteDCM\n"); + sprintf(resultat, "%s.vol", deuxieme.c_str()); + printf ("WriteDCM\n"); + //f1->WriteDcmExplVR("itk-gdcm-ex.dcm"); //f1->WriteDcmImplVR(resultat); - f1->WriteAcr(resultat); + f1->WriteAcr(resultat); - return 0; + return 0; }