Leadtools.Dicom.Common
LEAD Technologies, Inc

ElementAttribute Class

Example 





Members 
Specifies what element to associate to the object this attribute is bound to.
Object Model
ElementAttribute Class
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
public sealed class ElementAttribute : System.Runtime.InteropServices._Attribute  
function Leadtools.Dicom.Common.Extensions.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
Copy CodeCopy 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 = Path.Combine(LEAD_VARS.ImagesDir, "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


Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
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";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

ElementAttribute Members
Leadtools.Dicom.Common.Extensions Namespace

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

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