BeforeTagAnonymization Event

Summary
Occurs before a tag is anonymized.
Syntax
C#
C++/CLI
public event EventHandler<BeforeTagAnonymizationEventArgs> BeforeTagAnonymization 
public: 
event EventHandler<BeforeTagAnonymizationEventArgs^>^ BeforeTagAnonymization 
Event Data

The event handler receives an argument of type BeforeTagAnonymizationEventArgs containing data related to this event. The following BeforeTagAnonymizationEventArgs properties provide information specific to this event.

PropertyDescription
Cancel (Inherited from System.ComponentModel.CancelEventArgs)Gets or sets a value indicating whether the event should be canceled.
CurrentValue Gets the current value of the DICOM element.
Element Gets the element in the DICOM dataset that is being anonymized.
NewValue Gets or sets the new value of the DICOM element.
Remarks

This event will occur after the tag has been processed with the MacroProcessor.

Example

This example anonymizes a dataset using the DICOM Anonymization basic profile.

C#
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:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom.Common Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.