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
`protected java.lang.String` `seriesInstanceUID`
`protected java.lang.String` `sopClassUID`
`protected java.lang.String` `sopInstanceUID`
`protected java.lang.String` `studyInstanceUID`

### Constructor Summary

Constructors
Constructor and 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

Methods
`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` -