Program: gdcm
Module: $RCSfile: Anonymize.cxx,v $
Language: C++
- Date: $Date: 2005/08/30 15:13:05 $
- Version: $Revision: 1.5 $
+ Date: $Date: 2006/01/02 15:16:38 $
+ Version: $Revision: 1.8 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
" \n Anonymize :\n ",
" Anonymize a full gdcm-readable Dicom image ",
" Warning : probably segfaults if pixels are not gdcm readable. ",
- " Use exAnonymizeNoLoad instead. ",
+ " Use AnonymizeNoLoad instead. ",
" usage: Anonymize filein=inputFileName fileout=anonymizedFileName[debug] ",
" debug : user wants to run the program in 'debug mode' ",
FINISH_USAGE
gdcm::File *f;
- f = new gdcm::File( );
+ f = gdcm::File::New( );
f->SetLoadMode( gdcm::LD_ALL );
f->SetFileName( fileName );
int res = f->Load();
{
std::cerr << "Sorry, " << fileName <<" not a gdcm-readable "
<< "DICOM / ACR File" <<std::endl;
- delete f;
+ f->Delete();
return 0;
}
std::cout << " ... is readable " << std::endl;
// ============================================================
// 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();
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;
}
// 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
// ============================================================
// 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;
// ============================================================
f->ClearAnonymizeList();
- delete f;
- delete fh;
+ f->Delete();
+ fh->Delete();
return 0;
}