[AttributeUsageAttribute(System.AttributeTargets, AllowMultiple=false)]
public class ElementAttribute : Attribute
[AttributeUsageAttribute(ValidOn=AttributeTargets.Class |
AttributeTargets.Property |
AttributeTargets.Field,
AllowMultiple=false,
Inherited=true)]
public ref class ElementAttribute : public System.Attribute, System.Runtime.InteropServices._Attribute
This example gets and sets custom DICOM class information.
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, "DICOM", "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:\LEADTOOLS23\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document