Anonymizer Class (original) (raw)
Summary
Provides support for anonymized DICOM files.
Syntax
[DefaultMemberAttribute("Item")]
public ref class Anonymizer : public [NotifyPropertyChanged](datatypes-notifypropertychanged.html), System.ComponentModel.INotifyPropertyChanged
Example
This example anonymizes a dataset using the DICOM Anonymization basic profile.
using Leadtools.Dicom.Common.Anonymization;
using Leadtools.Dicom;
public void AnonymizationSample()
{
Anonymizer anonymizer = new Anonymizer(true);
string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir,"DICOM", "image3.dcm");
anonymizer.Progress += new EventHandler<ProgressEventArgs>(anonymizer_Progress);
anonymizer.BeforeTagAnonymization += new EventHandler<BeforeTagAnonymizationEventArgs>(anonymizer_BeforeTagAnonymization);
DicomEngine.Startup();
using (DicomDataSet source = new DicomDataSet())
{
string oldPatientId = string.Empty;
source.Load(dicomFileNameIn, DicomDataSetLoadFlags.None);
oldPatientId = source.GetValue<string>(DicomTag.PatientID, string.Empty);
anonymizer.Anonymize(source);
//
// The values should not be equal because the anonymizer has provided another patient ID using the DICOM Anonymization basic profile.
// By default the following macro is provided for patient id: ${random_string}
//
Assert.IsTrue(oldPatientId != source.GetValue<string>(DicomTag.PatientID, string.Empty), "The values should not be equal because the anonymizer has provided another patient ID using the DICOM Anonymization basic profile.");
}
DicomEngine.Shutdown();
}
void anonymizer_BeforeTagAnonymization(object sender, BeforeTagAnonymizationEventArgs e)
{
Console.WriteLine(string.Format("Tag: {0}, Current Value: {1}, New Value: {0} ", e.Element.Tag, e.CurrentValue, e.NewValue));
}
void anonymizer_Progress(object sender, ProgressEventArgs e)
{
Console.WriteLine("Progress: " + e.Progress.ToString());
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}
Leadtools.Dicom.Common Assembly