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