Leadtools.Dicom.Common Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ElementAttribute Class
See Also  Members  
Leadtools.Dicom.Common.Extensions Namespace : ElementAttribute Class



Specifies what element to associate to the object this attribute is bound to.

Object Model

ElementAttribute Class

Syntax

Visual Basic (Declaration) 
<AttributeUsageAttribute(ValidOn=AttributeTargets.Class Or  _
    AttributeTargets.Property Or  _
    AttributeTargets.Field, 
   AllowMultiple=False, 
   Inherited=True)>
Public Class ElementAttribute 
   Inherits System.Attribute
   Implements _Attribute 
Visual Basic (Usage)Copy Code
Dim instance As ElementAttribute
C# 
[AttributeUsageAttribute(ValidOn=AttributeTargets.Class | 
    AttributeTargets.Property | 
    AttributeTargets.Field, 
   AllowMultiple=false, 
   Inherited=true)]
public class ElementAttribute : System.Attribute, _Attribute  
C++/CLI 
[AttributeUsageAttribute(ValidOn=AttributeTargets.Class | 
    AttributeTargets.Property | 
    AttributeTargets.Field, 
   AllowMultiple=false, 
   Inherited=true)]
public ref class ElementAttribute : public System.Attribute, _Attribute  

Example

This example gets and sets custom DICOM class information.

Visual BasicCopy Code
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
         _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
         _PatientID = Value
      End Set
   End Property
End Class

<Test> _
Public Sub ExtractInfoExample()
   Dim dicomFileNameIn As String = LeadtoolsExamples.Common.ImagesPath.Path & "IMAGE2.dcm"
   Dim info As MyPatientInfo = Nothing

   ' Initialize 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 info
   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
C#Copy Code
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 = LeadtoolsExamples.Common.ImagesPath.Path + "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();
}

Inheritance Hierarchy

System.Object
   System.Attribute
      Leadtools.Dicom.Common.Extensions.ElementAttribute

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Dicom.Common requires a Document or Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features