|
GDCM 3.0.24
|
#include <gdcmAnonymizer.h>
Public Member Functions | |
| Anonymizer () | |
| ~Anonymizer () override | |
| bool | BasicApplicationLevelConfidentialityProfile (bool deidentify=true) |
| bool | Clear (PrivateTag const &pt) |
| bool | Clear (Tag const &t) |
| Identical to 'Empty' except no action is done when tag is not present. | |
| bool | Empty (PrivateTag const &pt) |
| bool | Empty (Tag const &t) |
| Make Tag t empty (if not found tag will be created) | |
| const CryptographicMessageSyntax * | GetCryptographicMessageSyntax () const |
| File & | GetFile () |
| bool | Remove (PrivateTag const &pt) |
| 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 (PrivateTag const &t, const char *value) |
| bool | Replace (PrivateTag const &t, const char *value, VL const &vl) |
| 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. | |
Public Member Functions inherited from gdcm::Subject | |
| Subject () | |
| ~Subject () override | |
| unsigned long | AddObserver (const Event &event, Command *) |
| unsigned long | AddObserver (const Event &event, Command *) const |
| Command * | GetCommand (unsigned long tag) |
| bool | HasObserver (const Event &event) const |
| void | InvokeEvent (const Event &) |
| void | InvokeEvent (const Event &) const |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) |
Public Member Functions inherited from gdcm::Object | |
| Object () | |
| Object (const Object &) | |
| Special requirement for copy/cstor, assignment operator. | |
| virtual | ~Object () |
| void | operator= (const Object &) |
| virtual void | Print (std::ostream &) const |
Static Public Member Functions | |
| static void | ClearInternalUIDs () |
| 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) |
Protected Member Functions inherited from gdcm::Object | |
| void | Register () |
| void | UnRegister () |
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:
|
inline |
|
override |
| 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::Clear | ( | PrivateTag const & | pt | ) |
| bool gdcm::Anonymizer::Clear | ( | Tag const & | t | ) |
Identical to 'Empty' except no action is done when tag is not present.
|
static |
| bool gdcm::Anonymizer::Empty | ( | PrivateTag const & | pt | ) |
Make PrivateTag pt empty (if not found tag will be created) Pay special attention that this code must be done before any call to Empty/Remove of the associated Private Creator, but before any call to Replace.
| bool gdcm::Anonymizer::Empty | ( | Tag const & | t | ) |
Make Tag t empty (if not found tag will be created)
|
static |
Return the list of Tag that will be considered when anonymizing a DICOM file.
| const CryptographicMessageSyntax * gdcm::Anonymizer::GetCryptographicMessageSyntax | ( | ) | const |
|
inline |
|
inlinestatic |
for wrapped language: instantiate a reference counted object
|
protected |
| bool gdcm::Anonymizer::Remove | ( | PrivateTag const & | pt | ) |
remove a private tag (even a SQ can be removed) Pay special attention that this code must be done before any call to Empty/Remove of the associated Private Creator, but before any call to Replace. When the private reservation becomes empty, no check is done to automatically remove the private creator
| 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 | ( | PrivateTag const & | t, |
| const char * | value | ||
| ) |
| bool gdcm::Anonymizer::Replace | ( | PrivateTag const & | t, |
| const char * | value, | ||
| VL const & | vl | ||
| ) |
| 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
when the value contains \0, it is a good idea to specify the length. This function is required when dealing with VRBINARY tag
| void gdcm::Anonymizer::SetCryptographicMessageSyntax | ( | CryptographicMessageSyntax * | cms | ) |
Set/Get CMS key that will be used to encrypt the dataset within BasicApplicationLevelConfidentialityProfile.