ElementAttribute Class

Summary

Specifies which element to associate with the object to which this attribute is bound.

Syntax
C#
VB
C++
[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   

Example

This example gets and sets custom DICOM class information.

C#
VB
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, "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:\Users\Public\Documents\LEADTOOLS 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:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

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

Leadtools.Dicom.Common Assembly