+
+ //
+ // Parse the input file.
+ //
+ gdcm::File *f;
+ f = new gdcm::File( );
+ f->SetLoadMode(loadMode);
+ 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 <<std::endl
+ << "Sorry, " << fileName <<" not a gdcm-readable "
+ << "DICOM / ACR Document"
+ << std::endl;
+ delete f;
+ return 1;
+ }
+ std::cout << fileName << " is readable " << std::endl;
+
+ //
+ // No need to load the pixels in memory.
+ // File will be overwritten
+ //
+
+
+ //
+ // Choose the fields to anonymize.
+ //
+
+ // Institution name
+ f->AddAnonymizeElement( 0x0008, 0x0080, "Xanadoo" );
+ // Patient's name
+ f->AddAnonymizeElement( 0x0010, 0x0010, "g^Fantomas" );
+ // Patient's ID
+ 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,"g^Vampirella" );
+ // Study Instance UID
+ f->AddAnonymizeElement( 0x0020, 0x000d, "9.99.999.9999" );
+ // Telephone
+ f->AddAnonymizeElement(0x0010, 0x2154, "3615" );
+
+ // Aware use will add new fields here
+
+ //
+ // Overwrite the file
+ //
+
+ std::cout <<"Let's AnonymizeNoLoad " << std::endl;
+
+ // The gdcm::File remains untouched in memory
+
+ f->AnonymizeNoLoad();
+
+ // No need to write the File : modif were done on disc !
+ // File was overwritten ...
+
+ std::cout <<"End AnonymizeNoLoad" << std::endl;
+
+ //
+ // Remove the Anonymize list
+ //
+ f->ClearAnonymizeList();
+
+ delete f;
+ return 0;
+