[AttributeUsageAttribute(System.AttributeTargets, AllowMultiple=false)]
public class ElementAttribute : Attribute
<AttributeUsageAttribute(ValidOn=AttributeTargets.Class Or _
AttributeTargets.Property Or _
AttributeTargets.Field,
AllowMultiple=False,
Inherited=True)>
Public Class ElementAttribute
Inherits System.Attribute
Implements System.Runtime.InteropServices._Attribute
[AttributeUsageAttribute(ValidOn=AttributeTargets.Class |
AttributeTargets.Property |
AttributeTargets.Field,
AllowMultiple=false,
Inherited=true)]
public ref class ElementAttribute : public System.Attribute, System.Runtime.InteropServices._Attribute
This example gets and sets custom DICOM class information.
using Leadtools.Dicom.Common.DataTypes;
using Leadtools.Dicom.Common.Extensions;
using Leadtools.Dicom;
using Leadtools.Dicom.Common.Editing.Converters;
using Leadtools.Dicom.Common.Editing;
public class MyPatientInfo
{
private PersonName _PatientName;
[Element(DicomTag.PatientName, Optional = true)]
[TypeConverter(typeof(PersonNameConverter))]
public PersonName PatientName
{
get { return _PatientName; }
set { _PatientName = value; }
}
private string _PatientID;
[Element(DicomTag.PatientID, Optional = false)]
public string PatientID
{
get { return _PatientID; }
set { _PatientID = value; }
}
}
public void ExtractInfoExample()
{
string dicomFileNameIn = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image2.dcm");
MyPatientInfo info = null;
// Initialize DICOM engine
DicomEngine.Startup();
DicomDataSet ds = new DicomDataSet();
// Load an existing DICOM file
ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None);
// Fill the class with the appropriate DICOM info
info = ds.Get<MyPatientInfo>();
if (info != null)
{
//
// Display information extracted from DICOM file.
//
Console.WriteLine("Patient Name: " + info.PatientName.Full);
Console.WriteLine("Patient ID: " + info.PatientID);
//
// Change the patient id
//
info.PatientID = "12345";
ds.Set(info);
if (ds.GetValue<string>(DicomTag.PatientID, string.Empty) == "12345")
Console.WriteLine("Patient successfully changed");
}
DicomEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";
}
Imports Leadtools.Dicom.Common.DataTypes
Imports Leadtools.Dicom.Common.Extensions
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Common.Editing.Converters
Imports Leadtools.Dicom.Common.Editing
Public Class MyPatientInfo
Private _PatientName As PersonName
<Element(DicomTag.PatientName, Optional:=True), TypeConverter(GetType(PersonNameConverter))>
Public Property PatientName() As PersonName
Get
Return _PatientName
End Get
Set(value As PersonName)
_PatientName = value
End Set
End Property
Private _PatientID As String
<Element(DicomTag.PatientID, Optional:=False)>
Public Property PatientID() As String
Get
Return _PatientID
End Get
Set(value As String)
_PatientID = value
End Set
End Property
End Class
Public Sub ExtractInfoExample()
Dim dicomFileNameIn As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm")
Dim info As MyPatientInfo = Nothing
' Initialize the DICOM engine
DicomEngine.Startup()
Dim ds As DicomDataSet = New DicomDataSet()
' Load an existing DICOM file
ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None)
' Fill the class with the appropriate DICOM information
info = ds.Get(Of MyPatientInfo)()
If Not info Is Nothing Then
'
' Display information extracted from DICOM file.
'
Console.WriteLine("Patient Name: " & info.PatientName.Full)
Console.WriteLine("Patient ID: " & info.PatientID)
'
' Change the patient id
'
info.PatientID = "12345"
ds.Set(info)
If ds.GetValue(Of String)(DicomTag.PatientID, String.Empty) = "12345" Then
Console.WriteLine("Patient successfully changed")
End If
End If
DicomEngine.Shutdown()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"
End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document