public DicomIod FindModuleByIndex(
DicomClassType type,
int index
)
public:
DicomIod^ FindModuleByIndex(
DicomClassType type,
int index
)
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.
DicomIod class in the IOD Structure that contains the IOD for the module at the specified index position in the specified class.
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();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document