public DicomIod Insert(
DicomIod neighbor,
bool child,
DicomModuleType code,
string name,
DicomIodType type,
DicomIodUsageType usage,
string description
)
- (nullable LTDicomIod *)insert:(nullable LTDicomIod *)neighbor child:(BOOL)child module:(LTDicomModuleType)code name:(NSString *)name type:(LTDicomIodType)type usage:(LTDicomIodUsageType)usage description:(NSString *)desc NS_SWIFT_NAME(insertIod(neighbor:child:module:name:type:usage:description:));
public DicomIod insert(DicomIod neighbor, boolean child, DicomModuleType code, String name, DicomIodType type, DicomIodUsageType usage, String description)
public:
DicomIod^ Insert(
DicomIod^ neighbor,
bool child,
DicomModuleType code,
String^ name,
DicomIodType type,
DicomIodUsageType usage,
String^ description
)
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 Module 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 Module Information Object Definition.
DicomIod class containing the newly inserted item.
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();
}