←Select platform

GetFirst Method

Summary
Returns the first item in the IOD Structure.
Syntax
C#
Objective-C
C++/CLI
Java
public DicomIod GetFirst( 
   DicomIod iod, 
   bool tree 
) 
- (nullable LTDicomIod *)first:(nullable LTDicomIod *)iod tree:(BOOL)tree; 
public DicomIod getFirst(DicomIod iod, boolean tree) 
public: 
DicomIod^ GetFirst(  
   DicomIod^ iod, 
   bool tree 
)  

Parameters

iod
An item in the IOD Structure.

tree
true to evaluate the IOD Structure as a tree, false to evaluate the IOD Structure as a list.

Return Value

a DicomIod class that contains the first item in the IOD Structure.

Remarks

If the IOD Structure is evaluated as a tree structure, this method returns the first item on the same level as iod with the same parent as iod. Please note that the numbering of the items in this first illustration is arbitrary and does not imply order.

getfsttr.gif
If the passed class is : The method returns:
Item 1 Item 2
Item 3 Item 4
Item 5 Item 5
Item 6 Item 7
null item 2

If the IOD Structure is evaluated as a list, the first item in the list is returned. Please note that the numbering of the items in this illustration does indicate the order of the items when the IOD Structure is evaluated as a list.

getftlst.gif
If the passed class is : The method returns:
null Item 1
Item 12 Item 1
Item 14 Item 1
Item 22 Item 1
Item 25 item 1

The following methods will also help you navigate the IOD Structure as either a tree or a list:

If you evaluate the IOD Structure as a tree, you can also use the following method to navigate the tree:

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.Name, 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 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.