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
_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