public virtual void Load(string name,DicomDataSetLoadFlags flags)
Public Overloads Overridable Sub Load( _ByVal name As String, _ByVal flags As DicomDataSetLoadFlags _)
public void load(String file, /*DicomDataSetLoadFlags*/ int flags) public:virtual void Load(String^ name,DicomDataSetLoadFlags flags)
name
The name of the file that contains the Data Set to be loaded.
flags
Meta-header flags and Transfer Syntax flags that indicate the file characteristics to use when loading the file.
If you know certain characteristics of the file, you can set those in flags. Any characteristic that you do not set will be automatically determined. For example, if you know that the Meta-header is present, but you do not know the byte order, or whether the Value Representation is Implicit or Explicit, you can set only DicomDataSetLoadFlags.MetaHeaderPresent in flags. During loading, LEADTOOLS will determine the byte order and whether the byte order is Implicit or Explicit. If you do not know any of the characteristics of the file, set flags to DicomDataSetLoadFlags.None and LEADTOOLS will automatically determine all the file characteristics and load the file accordingly.
If DicomDataSetLoadFlags.LoadAndClose is not included in flags, the file will remain open until the object is destructed, or one of the following methods is called: Reset, Initialize, or Load (again). If LoadAndClose is used for large images it may slow performance; however, the file handle will be released. If set to None, large images will load quickly, and image traverse can begin immediately. Although, nothing can be done to the image until the file handle is released.
To load a Data Set from memory, call Load.
This example will load a DICOM Dataset and enumerate all its elements.
using Leadtools;using Leadtools.Dicom;public void LoadEnumerateSample(){string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm");//Make sure to initialize the DICOM engine, this needs to be done only once//In the whole applicationDicomEngine.Startup();using (DicomDataSet ds = new DicomDataSet()){//Load DICOM Fileds.Load(dicomFileName, DicomDataSetLoadFlags.None);//Insert patient name element, if it doesn't already existDicomElement element = ds.FindFirstElement(null, DicomTag.PatientName, false);if (element == null){element = ds.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0);}//The dataset should include the patient name element or an error occurredelement = ds.FindLastElement(null, DicomTag.PatientName, false);Debug.Assert(element != null);//There can be only one patient element in the root levelelement = ds.FindPreviousElement(null, false);Debug.Assert(element == null);element = ds.FindNextElement(null, false);Debug.Assert(element == null);element = ds.FindFirstElement(null, DicomTag.PatientName, false);//Since the patient name element is in the root level,//GetRootElement will return the same element.DicomElement element1 = ds.GetRootElement(element);Debug.Assert((element1.Tag == element.Tag), "GetRootElement should return same element");//Since the patient name element has no parent then GetParentElement will return nullelement1 = ds.GetParentElement(element);Debug.Assert(element1 == null, "GetParentElement should return null");//Since the patient name element has no children then GetChildElement will return nullelement1 = ds.GetChildElement(element, false);Debug.Assert(element1 == null, "GetChildElement should return null");element1 = ds.GetFirstElement(element, false, false);Debug.Assert(element1 != null, "GetFirstElement Can't return null in this case");element1 = ds.GetLastElement(element, false, false);Debug.Assert(element1 != null, "GetLastElement Can't return null in this case");element1 = ds.GetPreviousElement(element, false, true);DicomElement element2 = ds.GetNextElement(element, false, true);Debug.Assert(ds.GetElementLevel(element) == 0);Debug.Assert(ds.ExistsElement(element));Debug.Assert(ds.IsVolatileElement(element) == false);//Patient Name is not the only element in this levelDebug.Assert((element1 != null) && (element2 != null));//Delete the patient name elementds.DeleteElement(element);}DicomEngine.Shutdown();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";}
Imports LeadtoolsImports Leadtools.DicomPublic Sub LoadEnumerateSample()Dim dicomFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE3.dcm")'Make sure to initialize the DICOM engine, this needs to be done only once'In the whole applicationDicomEngine.Startup()Dim ds As DicomDataSet = New DicomDataSet()Using (ds)'Load DICOM Fileds.Load(dicomFileName, DicomDataSetLoadFlags.None)'Insert patient name element, if it doesn't already existDim element As DicomElement = ds.FindFirstElement(Nothing, DicomTag.PatientName, False)If element Is Nothing Thenelement = ds.InsertElement(Nothing, False, DicomTag.PatientName, DicomVRType.PN, False, 0)End If'The dataset should include the patient name element or an error occurredelement = ds.FindLastElement(Nothing, DicomTag.PatientName, False)Debug.Assert(Not element Is Nothing)'There can be only one patient element in the root levelelement = ds.FindPreviousElement(Nothing, False)Debug.Assert(element Is Nothing)element = ds.FindNextElement(Nothing, False)Debug.Assert(element Is Nothing)element = ds.FindFirstElement(Nothing, DicomTag.PatientName, False)'Since the patient name element is in the root level,'GetRootElement will return the same element.Dim element1 As DicomElement = ds.GetRootElement(element)Debug.Assert((element1.Tag = element.Tag), "GetRootElement should return same element")'Since the patient name element has no parent then GetParentElement will return nullelement1 = ds.GetParentElement(element)Debug.Assert(element1 Is Nothing, "GetParentElement should return null")'Since the patient name element has no children then GetChildElement will return nullelement1 = ds.GetChildElement(element, False)Debug.Assert(element1 Is Nothing, "GetChildElement should return null")element1 = ds.GetFirstElement(element, False, False)Debug.Assert(Not element1 Is Nothing, "GetFirstElement Can't return null in this case")element1 = ds.GetLastElement(element, False, False)Debug.Assert(Not element1 Is Nothing, "GetLastElement Can't return null in this case")element1 = ds.GetPreviousElement(element, False, True)Dim element2 As DicomElement = ds.GetNextElement(element, False, True)Debug.Assert(ds.GetElementLevel(element) = 0)Debug.Assert(ds.ExistsElement(element))Debug.Assert(ds.IsVolatileElement(element) = False)'Patient Name is not the only element in this levelDebug.Assert((Not element1 Is Nothing) AndAlso (Not element2 Is Nothing))'Delete the patient name elementds.DeleteElement(element)End UsingDicomEngine.Shutdown()End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"End Class
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
