X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FAnonymize.cxx;h=639856430c963ff5e4a65b2f7358b25f7f40c873;hb=be9028b872c05c24a826b6fdf0ee688a877d47ee;hp=defdaf007539dfb5eb97f56c768fa2acf14b6ef2;hpb=4d992954520d43c6f2fb555b7cd721574978c23a;p=gdcm.git diff --git a/Example/Anonymize.cxx b/Example/Anonymize.cxx index defdaf00..63985643 100644 --- a/Example/Anonymize.cxx +++ b/Example/Anonymize.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: Anonymize.cxx,v $ Language: C++ - Date: $Date: 2005/07/07 17:31:53 $ - Version: $Revision: 1.2 $ + Date: $Date: 2005/11/07 09:53:53 $ + Version: $Revision: 1.7 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -27,18 +27,18 @@ int main(int argc, char *argv[]) { START_USAGE(usage) - " \n Anonymize :\n", - " Anonymize a full gdcm-readable Dicom image", - " Warning : probably segfaults if pixels are not gdcm readable.", - " Use exAnonymizeNoLoad instead.", - " usage: Anonymize filein=inputFileName fileout=anonymizedFileName[debug] ", - " debug : user wants to run the program in 'debug mode' ", + " \n Anonymize :\n ", + " Anonymize a full gdcm-readable Dicom image ", + " Warning : probably segfaults if pixels are not gdcm readable. ", + " Use exAnonymizeNoLoad instead. ", + " usage: Anonymize filein=inputFileName fileout=anonymizedFileName[debug] ", + " debug : user wants to run the program in 'debug mode' ", FINISH_USAGE // ----- Initialize Arguments Manager ------ gdcm::ArgMgr *am = new gdcm::ArgMgr(argc, argv); - if (am->ArgMgrDefined("usage")) + if (argc == 1 || am->ArgMgrDefined("usage")) { am->ArgMgrUsage(usage); // Display 'usage' delete am; @@ -76,8 +76,8 @@ int main(int argc, char *argv[]) gdcm::File *f; - f = new gdcm::File( ); - f->SetLoadMode( 0x00000000 ); + f = gdcm::File::New( ); + f->SetLoadMode( gdcm::LD_ALL ); f->SetFileName( fileName ); int res = f->Load(); @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) { std::cerr << "Sorry, " << fileName <<" not a gdcm-readable " << "DICOM / ACR File" <Delete(); return 0; } std::cout << " ... is readable " << std::endl; @@ -95,9 +95,10 @@ int main(int argc, char *argv[]) // ============================================================ // We need a gdcm::FileHelper, since we want to load the pixels - gdcm::FileHelper *fh = new gdcm::FileHelper(f); + gdcm::FileHelper *fh = gdcm::FileHelper::New(f); - // (unit8_t DOESN'T mean it's mandatory for the image to be a 8 bits one) + // unit8_t DOESN'T mean it's mandatory for the image to be a 8 bits one ! + // Feel free to cast if you know it's not. uint8_t *imageData = fh->GetImageData(); @@ -106,8 +107,8 @@ int main(int argc, char *argv[]) std::cerr << "Sorry, Pixels of" << fileName <<" are not " << " gdcm-readable." << std::endl << "Use exAnonymizeNoLoad" << std::endl; - delete f; - delete fh; + f->Delete(); + fh->Delete(); return 0; } @@ -125,7 +126,7 @@ int main(int argc, char *argv[]) // Telephone f->AddAnonymizeElement(0x0010, 0x2154, "3615" ); - // Aware user will add more fields to anonymize here + // Aware user will add here more fields to anonymize here // The gdcm::File is modified in memory @@ -134,7 +135,12 @@ int main(int argc, char *argv[]) // ============================================================ // Write a new file // ============================================================ - + + // Since we just Anonymized the file, we know no modification + // was performed on the pixels. + // We don't want this image appears as a 'Secondary Captured image' + fh->SetKeepMediaStorageSOPClassUID(true); + fh->WriteDcmExplVR(outputFileName); std::cout <<"End Anonymize" << std::cout; @@ -143,8 +149,8 @@ int main(int argc, char *argv[]) // ============================================================ f->ClearAnonymizeList(); - delete f; - delete fh; + f->Delete(); + fh->Delete(); return 0; }