←Select platform

Initialize(DicomClassType,DicomDataSetInitializeType) Method

Summary
Creates the Data Set object, inserting the appropriate elements for the specified class.
Syntax
C#
Objective-C
C++/CLI
Java
- (void)initialize:(LTDicomClassType)classType type:(LTDicomDataSetInitializeType)type; 
public void initialize(DicomClassType classType, DicomDataSetInitializeType type) 

Parameters

classType
The IOD class to which the Data Set should be initialized.

type
The Value Representation and byte order of the Data Set.

Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void DicomDIRSample() 
{ 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   DicomEngine.Startup(); 
   using (DicomDataSet dicomDIR = new DicomDataSet()) 
   { 
      dicomDIR.Reset(); 
      //Initialize the dataset as a DICOMDIR class 
      dicomDIR.Initialize(DicomClassType.BasicDirectory, DicomDataSetInitializeType.ExplicitVRLittleEndian); 
      Debug.Assert(dicomDIR.InformationClass == DicomClassType.BasicDirectory); 
      Debug.Assert(dicomDIR.InformationFlags == (DicomDataSetFlags.ExplicitVR | DicomDataSetFlags.LittleEndian | DicomDataSetFlags.MetaHeaderPresent)); 
      //Insert a patient level key 
      DicomElement patientKey = dicomDIR.InsertKey(null, DicomDirKeyType.Patient, true); 
      //Insert a study key under the patient key 
      DicomElement studyKey = dicomDIR.InsertKey(patientKey, DicomDirKeyType.Study, true); 
      //Now insert three series keys under the study key 
      DicomElement seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true); 
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true); 
      seriesKey = dicomDIR.InsertKey(studyKey, DicomDirKeyType.Series, true); 
      DicomElement key = dicomDIR.GetRootKey(seriesKey); 
      //Get the key value, You can also call GetKeyValuePtr 
      DicomDirKeyType keyValue = dicomDIR.GetKeyValue(key); 
      //The root key for the series key should be patient 
      Debug.Assert(keyValue == DicomDirKeyType.Patient, "The root key for the series key should be patient in this case"); 
      //Get the parent key for the series, it should be study 
      key = dicomDIR.GetParentKey(seriesKey); 
      keyValue = dicomDIR.GetKeyValue(key); 
      Debug.Assert(keyValue == DicomDirKeyType.Study, "The parent key for the series key should be study in this case"); 
      //The child for the study key should be series 
      key = dicomDIR.GetChildKey(studyKey); 
      keyValue = dicomDIR.GetKeyValue(key); 
      Debug.Assert(keyValue == DicomDirKeyType.Series, "The child for the study key should be series"); 
      //The first key should be patient, if we traverse the DICOMDIR as a list 
      key = dicomDIR.GetFirstKey(studyKey, false); 
      keyValue = dicomDIR.GetKeyValue(key); 
      Debug.Assert(keyValue == DicomDirKeyType.Patient); 
      //The last key should be series, if we traverse the DICOMDIR as a list 
      key = dicomDIR.GetLastKey(studyKey, false); 
      keyValue = dicomDIR.GetKeyValue(key); 
      Debug.Assert(keyValue == DicomDirKeyType.Series); 
      //The key before the study key should be patient, if we traverse the DICOMDIR as a list 
      key = dicomDIR.GetPreviousKey(studyKey, false); 
      keyValue = dicomDIR.GetKeyValue(key); 
      Debug.Assert(keyValue == DicomDirKeyType.Patient); 
      //The key after the study key should be series, if we traverse the DICOMDIR as a list 
      key = dicomDIR.GetNextKey(studyKey, false); 
      keyValue = dicomDIR.GetKeyValue(key); 
      Debug.Assert(keyValue == DicomDirKeyType.Series); 
      //If we delete the study key, the series keys under it will get deleted too 
      dicomDIR.DeleteKey(studyKey); 
      key = dicomDIR.FindFirstKey(null, DicomDirKeyType.Series, false); 
      Debug.Assert(key == null); 
      key = dicomDIR.FindLastKey(null, DicomDirKeyType.Series, false); 
      Debug.Assert(key == null); 
      key = dicomDIR.FindPreviousKey(null, false); 
      Debug.Assert(key == null); 
      key = dicomDIR.FindNextKey(null, false); 
      Debug.Assert(key == null); 
   } 
   DicomEngine.Shutdown(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.8.20
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.