GDCM
2.2.0
|
Anonymizer This class is a multi purpose anonymizer. It can work in 2 mode: More...
#include <gdcmAnonymizer.h>
Public Member Functions | |
Anonymizer () | |
~Anonymizer () | |
bool | BasicApplicationLevelConfidentialityProfile (bool deidentify=true) |
bool | Empty (Tag const &t) |
const CryptographicMessageSyntax * | GetCryptographicMessageSyntax () const |
File & | GetFile () |
bool | Remove (Tag const &t) |
remove a tag (even a SQ can be removed) | |
bool | RemoveGroupLength () |
Main function that loop over all elements and remove group length. | |
bool | RemovePrivateTags () |
Main function that loop over all elements and remove private tags. | |
bool | RemoveRetired () |
Main function that loop over all elements and remove retired element. | |
bool | Replace (Tag const &t, const char *value) |
bool | Replace (Tag const &t, const char *value, VL const &vl) |
void | SetCryptographicMessageSyntax (CryptographicMessageSyntax *cms) |
Set/Get CMS key that will be used to encrypt the dataset within BasicApplicationLevelConfidentialityProfile. | |
void | SetFile (const File &f) |
Set/Get File. | |
Static Public Member Functions | |
static std::vector< Tag > | GetBasicApplicationLevelConfidentialityProfileAttributes () |
Return the list of Tag that will be considered when anonymizing a DICOM file. | |
static SmartPointer< Anonymizer > | New () |
for wrapped language: instantiate a reference counted object | |
Protected Member Functions | |
bool | BALCPProtect (DataSet &ds, Tag const &tag, const IOD &iod) |
bool | CanEmptyTag (Tag const &tag, const IOD &iod) const |
void | RecurseDataSet (DataSet &ds) |
Anonymizer This class is a multi purpose anonymizer. It can work in 2 mode:
Tag based functions:
DataSet based functions:
All function calls actually execute the user specified request. Previous implementation were calling a general Anonymize function but traversing a std::set is O(n) operation, while a simple user specified request is O(log(n)) operation. So 'm' user interaction is O(m*log(n)) which is < O(n) complexity.
This class implement the Subject/Observer pattern trigger the following event:
gdcm::Anonymizer::Anonymizer | ( | ) | [inline] |
bool gdcm::Anonymizer::BALCPProtect | ( | DataSet & | ds, |
Tag const & | tag, | ||
const IOD & | iod | ||
) | [protected] |
bool gdcm::Anonymizer::BasicApplicationLevelConfidentialityProfile | ( | bool | deidentify = true | ) |
PS 3.15 / E.1.1 De-Identifier An Application may claim conformance to the Basic Application Level Confidentiality Profile as a deidentifier if it protects all Attributes that might be used by unauthorized entities to identify the patient. NOT THREAD SAFE
bool gdcm::Anonymizer::CanEmptyTag | ( | Tag const & | tag, |
const IOD & | iod | ||
) | const [protected] |
bool gdcm::Anonymizer::Empty | ( | Tag const & | t | ) |
Make Tag t empty (if not found tag will be created) Warning: does not handle SQ element
static std::vector<Tag> gdcm::Anonymizer::GetBasicApplicationLevelConfidentialityProfileAttributes | ( | ) | [static] |
Return the list of Tag that will be considered when anonymizing a DICOM file.
File& gdcm::Anonymizer::GetFile | ( | ) | [inline] |
static SmartPointer<Anonymizer> gdcm::Anonymizer::New | ( | ) | [inline, static] |
for wrapped language: instantiate a reference counted object
void gdcm::Anonymizer::RecurseDataSet | ( | DataSet & | ds | ) | [protected] |
bool gdcm::Anonymizer::Remove | ( | Tag const & | t | ) |
remove a tag (even a SQ can be removed)
bool gdcm::Anonymizer::RemoveGroupLength | ( | ) |
Main function that loop over all elements and remove group length.
bool gdcm::Anonymizer::RemovePrivateTags | ( | ) |
Main function that loop over all elements and remove private tags.
bool gdcm::Anonymizer::RemoveRetired | ( | ) |
Main function that loop over all elements and remove retired element.
bool gdcm::Anonymizer::Replace | ( | Tag const & | t, |
const char * | value | ||
) |
Replace tag with another value, if tag is not found it will be created: WARNING: this function can only execute if tag is a VRASCII
bool gdcm::Anonymizer::Replace | ( | Tag const & | t, |
const char * | value, | ||
VL const & | vl | ||
) |
when the value contains \0, it is a good idea to specify the length. This function is required when dealing with VRBINARY tag
Set/Get CMS key that will be used to encrypt the dataset within BasicApplicationLevelConfidentialityProfile.
void gdcm::Anonymizer::SetFile | ( | const File & | f | ) | [inline] |
Set/Get File.