←Select platform

Is this page helpful?

In this page

FindModuleByIndex Method

Summary
Returns the item in the IOD Structure that contains the IOD for the module in the specified class at the specified index.
Syntax
C#
Objective-C
C++/CLI
Java
public DicomIod FindModuleByIndex( 
   DicomClassType type, 
   int index 
) 
- (nullable LTDicomIod *)findModule:(LTDicomClassType)type byIndex:(NSUInteger)index; 
public DicomIod findModuleByIndex(DicomClassType type, int index) 
public: 
DicomIod^ FindModuleByIndex(  
   DicomClassType type, 
   int index 
)  

Parameters

type
The class in which to look for the module.

index
Value that indicates the position of the module within the class. This index is zero-based. For example, if nIndex is 2 and class is DicomClassType.NMImageStorage, this method will return the item in the IOD Structure that contains the IOD for the module at index position 2 in the Nuclear Medicine Image class.

Return Value

DicomIod class in the IOD Structure that contains the IOD for the module at the specified index position in the specified class.

Remarks
  • To find the IOD of a module within a class use FindModule. To find the IOD for a specific class use FindClass.
  • Find lets you find IODs for classes, modules or elements in the IOD Structure.
Example
C#
Copied to clipboard
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.