L_DicomDeleteIOD

#include "Ltdic.h"

L_LTDIC_API pDICOMIOD L_DicomDeleteIOD(pIOD)

Deletes the specified item from the IOD Structure.

Parameters

pDICOMIOD pIOD

Pointer to a DICOMIOD structure that contains the item to be deleted.

Returns

Value Meaning
!NULL A pointer to an adjacent item. If the item being deleted has a sibling (same level, same parent), following it, the returned pointer will point to this sibling. If the item being deleted does not have a sibling following it, but has a sibling preceding it, the returned pointer points to the preceding sibling. If the item being deleted is an only child, the returned pointer points to the parent.
NULL The item being deleted has no siblings and no parent.

Comments

You can remove all items from the IOD Structure using L_DicomResetIOD.

Since the IOD Structure is stored internally as a tree, the deletion must be carried out as a tree.

When deleting an item from the tree, if the item being deleted has a sibling (same level, same parent), following it, this function returns a pointer to this sibling. If the item being deleted does not have a sibling following it, but has a sibling preceding it, this function returns a pointer to the preceding sibling. If the item being deleted is an only child, this function returns a pointer to the parent. If there is no parent this function returns NULL.

Below are illustrations of these situations:

For the sake of these illustrations, the order of siblings is top to bottom. A preceding sibling is drawn above the sibling it precedes, a following sibling is drawn below the sibling it follows.

Please note that the numbering of the items of interest is arbitrary, and does not imply order.

In this illustration item 2 will be deleted. Since it has a following sibling, the returned pointer will point to item 3.

image\IODDlAft.gif

In this illustration item 3 will be deleted. Since it does not have a following sibling, but does have a preceding sibling, the returned pointer will point to item 2.

image\IODDlBef.gif

In this illustration item 2 will be deleted. Since it is an only child, the returned pointer will point to the parent, item 1.

image\IODDlPar.gif

In this illustration item 1 will be deleted. Since it has no siblings and no parent, this function will return NULL.

image\IODDlNul.gif

Required DLLs and Libraries

Platforms

Win32, x64, Linux.

See Also

Functions

Topics

Example

The first example removes a class from the IOD table The second example removes a module from the IOD table. The third example removes an element from the IOD table.

L_INT DicomDeleteIODExample1(L_VOID) 
{ 
   pDICOMIOD pClass; 
 
   pClass = L_DicomFindClassIOD(CLASS_CT_IMAGE_STORAGE); 
   if (pClass != NULL) 
      L_DicomDeleteIOD(pClass); 
   return DICOM_SUCCESS; 
} 
 
L_INT DicomDeleteIODExample2(L_VOID) 
{ 
   pDICOMIOD pModule; 
 
   pModule = L_DicomFindModuleIOD(CLASS_US_IMAGE_STORAGE, MODULE_GENERAL_STUDY); 
   if (pModule != NULL) 
      L_DicomDeleteIOD(pModule); 
 
   return DICOM_SUCCESS; 
} 
 
L_INT DicomDeleteIODExample3(L_VOID) 
{ 
   pDICOMIOD pModule; 
   pDICOMIOD pElement; 
 
   pModule = L_DicomFindModuleIOD(CLASS_NM_IMAGE_STORAGE, MODULE_PATIENT_STUDY); 
   if (pModule != NULL) 
   { 
      pElement = L_DicomGetChildIOD(pModule); 
      if (pElement != NULL) 
         L_DicomDeleteIOD(pElement); 
   } 
 
   return DICOM_SUCCESS; 
} 

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C API Help