←Select platform

Insert(DicomIod,bool,DicomClassType,string,DicomIodType,DicomIodUsageType,string) Method

Summary
Inserts a new item in the IOD Structure.
Syntax
C#
Objective-C
C++/CLI
Java
- (nullable LTDicomIod *)insert:(nullable LTDicomIod *)neighbor child:(BOOL)child class:(LTDicomClassType)code name:(NSString *)name type:(LTDicomIodType)type usage:(LTDicomIodUsageType)usage description:(NSString *)desc NS_SWIFT_NAME(insertIod(neighbor:child:class:name:type:usage:description:)); 
public DicomIod insert(DicomIod neighbor, boolean child, DicomClassType code, String name, DicomIodType type, DicomIodUsageType usage, String description) 

Parameters

neighbor
contains an item in the IOD Structure. The inserted item will be inserted as a neighbor to this item, or as a child, depending on the value of child.

child
true to insert the new item as the last child of neighbor, false to insert the new item as the last sibling of neighbor.

code
The class Information Object Definitions.

name
The name of the inserted item

type
The type of Information Object Definition you are working with.

usage
Indicates whether the Information Object is mandatory, conditional or optional, and the type of usage. For more information on mandatory, conditional and optional usage, refer to An Overview of the DICOM File Format or the DICOM Standard.

description
The description of the inserted class Information Object Definition.

Return Value

DicomIod class containing the newly inserted item.

Remarks
  • The illustrations below show how items are added to the IOD Structure (internally maintained as a tree), based on the value of child.
  • For the sake of these illustrations, the order of siblings is top to bottom. Therefore, since added items become the last sibling or the last child, these are drawn at the bottom of the appropriate group of items.
  • In this illustration, neighbor points to Item 1 and child is false. The new item is added as the last sibling of Item 1
    iodissib.gif
    In this illustration, neighbor points to Item 1 and child is true. The new item is added as the last child of Item 1.
    iodischd.gif
Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void RecursiveReadIOD(DicomIod parentIOD) 
{ 
   DicomIod iod; 
   if (parentIOD == null) 
   { 
      iod = DicomIodTable.Instance.GetFirst(null, true); 
   } 
   else 
   { 
      iod = DicomIodTable.Instance.GetChild(parentIOD); 
   } 
 
   while (iod != null) 
   { 
      // Over here we can show the information about this IOD such as  
      // DicomIod.Type, DicomIod.Type, DicomIod.Usage and DicomIod.Description 
      if (DicomIodTable.Instance.GetChild(iod) != null) 
      { 
         RecursiveReadIOD(iod); 
      } 
      iod = DicomIodTable.Instance.GetNext(iod, true); 
   } 
} 
void TestIODTable() 
{ 
   //Make sure to initialize the DICOM engine, this needs to be done only once. 
   DicomEngine.Startup(); 
 
   //We don't need to call this since the DicomEngine.Startup already does that for us 
   //These calls are for demonstration purposes only 
   DicomIodTable.Instance.Reset(); 
   DicomIodTable.Instance.Default(); 
 
   // We can find the number of modules in any class 
   int moduleCount = DicomIodTable.Instance.GetModuleCount(DicomClassType.SCImageStorage); 
 
   // We can in here call any of the Find methods including FindModule and FindModuleByIndex, 
   // in this sample we are searching for a DICOM class, this is why we are using FindClass 
   DicomIod iod = DicomIodTable.Instance.FindClass(DicomClassType.SCImageStorage); 
 
   // We can get the name of the IOD 
   string name = iod.ToString(); 
 
   DicomIodTable.Instance.Delete(iod); 
 
   DicomIod iod1 = DicomIodTable.Instance.Insert(null, false, DicomClassType.SCImageStorage, "Secondary Capture Image Storage", DicomIodType.Class, DicomIodUsageType.MandatoryModule, "Description of the class goes in here"); 
   Debug.Assert(DicomIodTable.Instance.Exists(iod1) == true); 
   DicomIodTable.Instance.SetName(iod1, "Secondary Capture Image Storage 1"); 
 
   //Go through all the IODs in the IOD table 
   RecursiveReadIOD(null); 
 
   DicomEngine.Shutdown(); 
} 
Requirements

Target Platforms

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

Leadtools.Dicom Assembly

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