Logo Search packages:      
Sourcecode: gdcm version File versions  Download package

gdcm::Anonymizer Class Reference

#include <gdcmAnonymizer.h>

Inheritance diagram for gdcm::Anonymizer:

gdcm::Subject gdcm::Object

List of all members.

Detailed Description

Anonymizer This class is a multi purpose anonymizer. It can work in 2 mode:

1. dumb mode This is a dumb anonymizer implementation. All it allows user is simple operation such as: Tag based functions:

DataSet function:

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.

2. smart mode this mode implements the Basic Application Level Confidentiality Profile (DICOM PS 3.15-2008) In this case it is extremely important to use the same gdcm::Anonymizer class when anonymizing a FileSet. Once the gdcm::Anonymizer is destroyed its memory of known (already processed) UIDs will be lost. which will make the anonymizer behaves incorrectly for attributes such as Series UID Study UID where user want some consistancy. When attribute is Type 1 / Type 1C, a dummy generator will take in the existing value and produce a dummy value (a sha1 representation). sha1 algorithm is considered to be cryptograpgically strong (compared to md5sum) so that we meet the following two conditions:

See also:

Definition at line 63 of file gdcmAnonymizer.h.

Public Member Functions

unsigned long AddObserver (const Event &event, Command *) const
unsigned long AddObserver (const Event &event, Command *)
bool BasicApplicationLevelConfidentialityProfile (bool deidentify=true)
bool Empty (Tag const &t)
CommandGetCommand (unsigned long tag)
const CryptographicMessageSyntaxGetCryptographicMessageSyntax () const
FileGetFile ()
bool HasObserver (const Event &event) const
void InvokeEvent (const Event &) const
void InvokeEvent (const Event &)
virtual void Print (std::ostream &) const
bool Remove (Tag const &t)
 remove a tag (even a SQ can be removed)
void RemoveAllObservers ()
bool RemoveGroupLength ()
 Main function that loop over all elements and remove group length.
void RemoveObserver (unsigned long tag)
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, VL const &vl)
bool Replace (Tag const &t, const char *value)
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 SmartPointer< AnonymizerNew ()
 for wrapped language: instanciate a reference counted object

Protected Member Functions

bool BALCPProtect (DataSet &ds, Tag const &tag)
bool CanEmptyTag (Tag const &tag)
void RecurseDataSet (DataSet &ds)
void Register ()
void UnRegister ()

Private Member Functions

bool BasicApplicationLevelConfidentialityProfile1 ()
bool BasicApplicationLevelConfidentialityProfile2 ()

Private Attributes

SmartPointer< FileF

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index