←Select platform

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#
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.