X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=Example%2FexAnonymizeNoLoad.cxx;h=dece2b6a6194ccd010cdd225e50b194acb7883ef;hb=066996143ee597cc94ffc6d27751301931afad30;hp=4335a85a39ff918b6f7cb7d7fb64f99427237260;hpb=8e834ad16229e2a3f98bd4cbfb9d5590bf68f47f;p=gdcm.git diff --git a/Example/exAnonymizeNoLoad.cxx b/Example/exAnonymizeNoLoad.cxx index 4335a85a..dece2b6a 100644 --- a/Example/exAnonymizeNoLoad.cxx +++ b/Example/exAnonymizeNoLoad.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: exAnonymizeNoLoad.cxx,v $ Language: C++ - Date: $Date: 2005/03/09 19:16:33 $ - Version: $Revision: 1.2 $ + Date: $Date: 2005/07/07 17:31:54 $ + Version: $Revision: 1.9 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -24,19 +24,20 @@ int main(int argc, char *argv[]) { - gdcm::File *f1; - + gdcm::File *f; + gdcm::Debug::DebugOn(); - std::cout << "------------------------------------------------" << std::endl; + std::cout << "Anonymize a gdcm-readable Dicom image" << std::endl; std::cout << "even if pixels are not gdcm readable (JPEG2000)" << std::endl; std::cout << "Warning : the image is overwritten" << std::endl; - std::cout << " : to preserve image integrity " - << " use exAnonymize " << std::endl; + std::cout << " : to preserve image integrity," + << " use exAnonymize " << std::endl; + std::cout << "------------------------------------------------" << std::endl; - if( argc < 3 ) + if( argc < 2 ) { - std::cerr << "Usage " << argv[0] << " Source image.dcm " + std::cerr << "Usage " << argv[0] << " Source Document " << std::endl; return 1; } @@ -47,15 +48,22 @@ int main(int argc, char *argv[]) // Read the input image. // ============================================================ - std::cout << argv[1] << std::endl; - - f1 = new gdcm::File( fileName ); - if (!f1->IsReadable()) { - std::cerr << "Sorry, " << fileName <<" not a gdcm-readable " - << "DICOM / ACR File" - <SetLoadMode(NO_SEQ - NO_SHADOW); + f->SetFileName( fileName ); + bool res = f->Load(); + + // gdcm::File::IsReadable() is no usable here, because we deal with + // any kind of gdcm::Readable *document* + // not only gdcm::File (as opposed to gdcm::DicomDir) + if ( !res ) { + std::cout <AddAnonymizeElement(0x0008, 0x0080, "Xanadoo"); + f->AddAnonymizeElement( 0x0008, 0x0080, "Xanadoo" ); // Patient's name - f1->AddAnonymizeElement(0x0010, 0x0010, "Fantomas"); + f->AddAnonymizeElement( 0x0010, 0x0010, "Fantomas" ); // Patient's ID - f1->AddAnonymizeElement( 0x0010, 0x0020,"1515" ); + f->AddAnonymizeElement( 0x0010, 0x0020,"1515" ); + // Patient's Birthdate + f->AddAnonymizeElement( 0x0010, 0x0030,"11.11.1111" ); + // Patient's Adress + f->AddAnonymizeElement( 0x0010, 0x1040,"Sing-sing" ); + // Patient's Mother's Birth Name + f->AddAnonymizeElement( 0x0010, 0x1060,"Vampirella" ); // Study Instance UID - f1->AddAnonymizeElement(0x0020, 0x000d, "9.99.999.9999" ); + f->AddAnonymizeElement( 0x0020, 0x000d, "9.99.999.9999" ); // Telephone - f1->AddAnonymizeElement(0x0010, 0x2154, "3615" ); + f->AddAnonymizeElement(0x0010, 0x2154, "3615" ); // Aware use will add new fields here @@ -90,7 +104,7 @@ int main(int argc, char *argv[]) // The gdcm::File remains untouched in memory - f1->AnonymizeNoLoad(); + f->AnonymizeNoLoad(); // No need to write the File : modif were done on disc ! // File was overwritten ... @@ -100,9 +114,9 @@ int main(int argc, char *argv[]) // ============================================================ // Remove the Anonymize list // ============================================================ - f1->ClearAnonymizeList(); + f->ClearAnonymizeList(); - delete f1; + delete f; return 0; }