X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=Example%2FexExtractCSA.cxx;h=4b5e3c74901fb500eb6ec7f199d2bb42b896d602;hb=fa249f33b911d99d2cd3ca2c508728a178a927a3;hp=ff5e444acf4d353c18ed38bb127fdc2c1b3dc2f4;hpb=7dc67f3f6c048f30c66765c15710ceaa82f228e9;p=gdcm.git diff --git a/Example/exExtractCSA.cxx b/Example/exExtractCSA.cxx index ff5e444a..4b5e3c74 100755 --- a/Example/exExtractCSA.cxx +++ b/Example/exExtractCSA.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: exExtractCSA.cxx,v $ Language: C++ - Date: $Date: 2007/06/15 13:18:51 $ - Version: $Revision: 1.2 $ + Date: $Date: 2007/06/21 15:06:13 $ + Version: $Revision: 1.4 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -180,7 +180,7 @@ int main(int argc, char *argv[]) " inputFileName : Name of the (single) file user wants to anonymize ", " listOfElementsExtract : group-elem,g2-e2,... (in hexa, no space) ", " of Elements to extract ", - " default : 0029-1210,0029-1220 ", + " default : 0029-1010,0029-1020 ", " noshadowseq: user doesn't want to load Private Sequences ", " noshadow : user doesn't want to load Private groups (odd number) ", " noseq : user doesn't want to load Sequences ", @@ -216,20 +216,26 @@ int main(int argc, char *argv[]) if ( am->ArgMgrDefined("noseq") ) loadMode |= GDCM_NAME_SPACE::LD_NOSEQ; } - + const char *tempWorkFile = am->ArgMgrGetString("tmp"); int extractNb; uint16_t *elemsToExtract; - if (am->ArgMgrDefined("extract")) + if (am->ArgMgrDefined("extract")) + { am->ArgMgrGetXInt16Enum("extract", &extractNb); + std::cout << "extractNb=" << extractNb << std::endl; + if (extractNb =! 0) + for (int k=0;kSetLoadMode(gdcm::LD_NOSEQ | gdcm::LD_NOSHADOW); + //f->SetLoadMode(GDCM_NAME_SPACE::LD_NOSEQ | GDCM_NAME_SPACE::LD_NOSHADOW); f->SetFileName( fileName ); f->SetMaxSizeLoadEntry(0xffff); bool res = f->Load(); - if( gdcm::Debug::GetDebugFlag()) + if( GDCM_NAME_SPACE::Debug::GetDebugFlag()) { std::cout << "---------------------------------------------" << std::endl; f->Print(); @@ -282,18 +288,25 @@ for (int tag_no=0; tag_noGetEntryString(group, elem); - if (dicom_tag_value == gdcm::GDCM_UNFOUND) + if (dicom_tag_value == GDCM_NAME_SPACE::GDCM_UNFOUND) { - gdcm::DictEntry *dictEntry = f->GetPubDict()->GetEntry( group, elem); - std::cerr << "Image doesn't contain any tag: " << dictEntry->GetName() - << std::endl; + GDCM_NAME_SPACE::DictEntry *dictEntry = f->GetPubDict()->GetEntry( group, elem); + if (dictEntry != NULL) + std::cerr << "Image doesn't contain any tag: " << dictEntry->GetName() + << std::endl; + else + std::cerr << "Dicom Dictionary doesn't contain any tag: " + << std::hex << group << "|" << elem << std::endl; f->Delete(); return 1; } - gdcm::DocEntry *dicom_tag_doc = f->GetDocEntry(group, elem); - gdcm::DataEntry *dicom_tag = dynamic_cast(dicom_tag_doc); + GDCM_NAME_SPACE::DocEntry *dicom_tag_doc = f->GetDocEntry(group, elem); + GDCM_NAME_SPACE::DataEntry *dicom_tag = dynamic_cast(dicom_tag_doc); if( !dicom_tag ) { std::cerr << "Sorry DataEntry only please" << std::endl;