Provides support for anonymized DICOM files.
[DefaultMemberAttribute("Item")]
public class Anonymizer : Leadtools.Dicom.Common.Datatypes.Leadtools.Dicom.Common.DataTypes.NotifyPropertyChanged, System.ComponentModel.INotifyPropertyChanged
<DefaultMemberAttribute("Item")>
Public Class Anonymizer
Inherits Leadtools.Dicom.Common.Datatypes.Leadtools.Dicom.Common.DataTypes.NotifyPropertyChanged
Implements System.ComponentModel.INotifyPropertyChanged
[DefaultMemberAttribute("Item")]
public ref class Anonymizer : public Leadtools.Dicom.Common.Datatypes.Leadtools.Dicom.Common.DataTypes.NotifyPropertyChanged, System.ComponentModel.INotifyPropertyChanged
The Anonymizer class provides you with the ability to anonymize DICOM files using macros. The Anonymizer is created with default macros that can be replaced or you can add your own.
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();
string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm");
anonymizer.Progress += new EventHandler<ProgressEventArgs>(anonymizer_Progress);
anonymizer.BeforeTagAnonymization += new EventHandler<BeforeTagAnonymizationEventArgs>(anonymizer_BeforeTagAnonymization);
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}
//
Debug.Assert(oldPatientId != source.GetValue<string>(DicomTag.PatientID, string.Empty));
}
}
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:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools.Dicom.Common.Anonymization
Imports Leadtools.Dicom
Public Sub AnonymizationSample()
Dim anonymizer As New Anonymizer()
Dim dicomFileNameIn As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm")
AddHandler anonymizer.Progress, AddressOf anonymizer_Progress
AddHandler anonymizer.BeforeTagAnonymization, AddressOf anonymizer_BeforeTagAnonymization
Using source As New DicomDataSet()
Dim oldPatientId As String = String.Empty
source.Load(dicomFileNameIn, DicomDataSetLoadFlags.None)
oldPatientId = source.GetValue(Of 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}
'
Debug.Assert(oldPatientId <> source.GetValue(Of String)(DicomTag.PatientID, String.Empty))
End Using
End Sub
Private Sub anonymizer_BeforeTagAnonymization(ByVal sender As Object, ByVal e As BeforeTagAnonymizationEventArgs)
Console.WriteLine(String.Format("Tag: {0}, Current Value: {1}, New Value: {0} ", e.Element.Tag, e.CurrentValue, e.NewValue))
End Sub
Private Sub anonymizer_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs)
Console.WriteLine("Progress: " + e.Progress.ToString())
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
Products |
Support |
Feedback: Anonymizer Class - Leadtools.Dicom.Common |
Introduction |
Help Version 19.0.2017.6.23
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.