Package com.pixelmed.dicom

## Class HierarchicalSOPInstanceReference

- java.lang.Object
- - com.pixelmed.dicom.HierarchicalSOPInstanceReference

- Direct Known Subclasses:
    `HierarchicalImageReference`

      public class HierarchicalSOPInstanceReference
      extends java.lang.Object

  A class to represent the study, series and instance identifiers necessary to retrieve a specific instance using the hierarchical model.

  Used, for example, when extracting a map of instance uids to hierarchical references from an SR evidence sequence.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `seriesInstanceUID` |
    `protected java.lang.String` | `sopClassUID` |
    `protected java.lang.String` | `sopInstanceUID` |
    `protected java.lang.String` | `studyInstanceUID` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HierarchicalSOPInstanceReference​(AttributeList list)` | Construct an instance of a reference from the attributes of the referenced instance itself.
    `HierarchicalSOPInstanceReference​(HierarchicalSOPInstanceReference reference)` | Construct an instance of a reference to an instance, with its hierarchy.
    `HierarchicalSOPInstanceReference​(java.lang.String studyInstanceUID, java.lang.String seriesInstanceUID, java.lang.String sopInstanceUID, java.lang.String sopClassUID)` | Construct an instance of a reference to an instance, with its hierarchy.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `addToHierarchicalReferencesToSOPInstances​(AttributeList list, java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference> hierarchicalInstancesBySOPInstanceUID)` | Find hierarchical references to instances that may be referenced anywhere in any dataset regardless of depth of nesting.
    `static java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference>` | `findHierarchicalReferencesToSOPInstances​(AttributeList list)` | Find hierarchical references to instances that may be referenced anywhere in any dataset regardless of depth of nesting.
    `static java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference>` | `findHierarchicalReferencesToSOPInstancesInStructuredReport​(AttributeList list)` | Find hierarchical references to instances that may be referenced in the content tree of an SR object.
    `java.lang.String` | `getSeriesInstanceUID()` | Get the Series Instance UID.
    `java.lang.String` | `getSOPClassUID()` | Get the SOP Class UID.
    `java.lang.String` | `getSOPInstanceUID()` | Get the SOP Instance UID.
    `java.lang.String` | `getStudyInstanceUID()` | Get the Study Instance UID.
    `static void` | `main​(java.lang.String[] arg)` | Dump the references in an a file (whether it is an SR file or not).
    `java.lang.String` | `toString()` |
    `static java.lang.String` | `toString​(java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference> map)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### studyInstanceUID

          protected java.lang.String studyInstanceUID

    - #### seriesInstanceUID

          protected java.lang.String seriesInstanceUID

    - #### sopInstanceUID

          protected java.lang.String sopInstanceUID

    - #### sopClassUID

          protected java.lang.String sopClassUID

  - ### Constructor Detail

    - #### HierarchicalSOPInstanceReference

          public HierarchicalSOPInstanceReference​(java.lang.String studyInstanceUID,
                                                  java.lang.String seriesInstanceUID,
                                                  java.lang.String sopInstanceUID,
                                                  java.lang.String sopClassUID)

      Construct an instance of a reference to an instance, with its hierarchy.

      Parameters:
        `studyInstanceUID` - the Study Instance UID
        `seriesInstanceUID` - the Series Instance UID
        `sopInstanceUID` - the SOP Instance UID
        `sopClassUID` - the SOP Class UID

    - #### HierarchicalSOPInstanceReference

          public HierarchicalSOPInstanceReference​(HierarchicalSOPInstanceReference reference)

      Construct an instance of a reference to an instance, with its hierarchy.

      Parameters:
        `reference` - an existing reference to clone

    - #### HierarchicalSOPInstanceReference

          public HierarchicalSOPInstanceReference​(AttributeList list)

      Construct an instance of a reference from the attributes of the referenced instance itself.

      Parameters:
        `list` - the attributes of an instance

  - ### Method Detail

    - #### getStudyInstanceUID

          public java.lang.String getStudyInstanceUID()

      Get the Study Instance UID.

      Returns:
        the Study Instance UID, or null

    - #### getSeriesInstanceUID

          public java.lang.String getSeriesInstanceUID()

      Get the Series Instance UID.

      Returns:
        the Series Instance UID, or null

    - #### getSOPInstanceUID

          public java.lang.String getSOPInstanceUID()

      Get the SOP Instance UID.

      Returns:
        the SOP Instance UID, or null

    - #### getSOPClassUID

          public java.lang.String getSOPClassUID()

      Get the SOP Class UID.

      Returns:
        the SOP Class UID, or null

    - #### findHierarchicalReferencesToSOPInstancesInStructuredReport

          public static java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference> findHierarchicalReferencesToSOPInstancesInStructuredReport​(AttributeList list)

      Find hierarchical references to instances that may be referenced in the content tree of an SR object.

      Uses the mandatory Current Requested Procedure Evidence Sequence in the top level dataset of an SR object.

      Parameters:
        `list` - the top level dataset of an SR instance
      Returns:
        a `Map` of `String` SOPInstanceUIDs to `HierarchicalSOPInstanceReference`

    - #### findHierarchicalReferencesToSOPInstances

          public static java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference> findHierarchicalReferencesToSOPInstances​(AttributeList list)

      Find hierarchical references to instances that may be referenced anywhere in any dataset regardless of depth of nesting.

      Detects any occurence of ReferencedSOPInstanceUID and then uses surround context to establish hierarchy.

      Parameters:
        `list` - the top level dataset of an instance
      Returns:
        a `Map` of `String` SOPInstanceUIDs to `HierarchicalSOPInstanceReference`

    - #### addToHierarchicalReferencesToSOPInstances

          public static void addToHierarchicalReferencesToSOPInstances​(AttributeList list,
                                                                       java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference> hierarchicalInstancesBySOPInstanceUID)

      Find hierarchical references to instances that may be referenced anywhere in any dataset regardless of depth of nesting.

      Detects any occurence of ReferencedSOPInstanceUID and then uses surround context to establish hierarchy.

      Parameters:
        `list` - the top level dataset of an instance
        `hierarchicalInstancesBySOPInstanceUID` - a `Map` of `String` SOPInstanceUIDs to `HierarchicalSOPInstanceReference` that is added to as references are found

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### toString

          public static java.lang.String toString​(java.util.Map<java.lang.String,​HierarchicalSOPInstanceReference> map)

    - #### main

          public static void main​(java.lang.String[] arg)

      Dump the references in an a file (whether it is an SR file or not).

      Parameters:
        `arg` - DICOM file