Error processing SSI file
Leadtools.Dicom.Common

Show in webframe

ElementAttribute Class






Members 
Specifies which element to associate with the object to which this attribute is bound.
Object Model
Syntax
[AttributeUsageAttribute(ValidOn=AttributeTargets.Class | 
    AttributeTargets.Property | 
    AttributeTargets.Field, 
   AllowMultiple=false, 
   Inherited=true)]
public class ElementAttribute : System.Attribute, System.Runtime.InteropServices._Attribute  
'Declaration
 
<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 
'Usage
 
Dim instance As ElementAttribute
[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.

Copy Code  
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

<TestMethod> _
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
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; }
    }
}

[TestMethod]
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";
}
Requirements

Target Platforms

See Also

Reference

ElementAttribute Members
Leadtools.Dicom.Common.Extensions Namespace

Error processing SSI file
   Leadtools.Dicom.Common requires a Medical toolkit license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features