Package com.pixelmed.dicom

# Class HierarchicalSOPInstanceReference

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

Direct Known Subclasses:
  `HierarchicalImageReference`

public class HierarchicalSOPInstanceReference extends 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 String`
`seriesInstanceUID`
`protected String`
`sopClassUID`
`protected String`
`sopInstanceUID`
`protected 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(String studyInstanceUID, String seriesInstanceUID, String sopInstanceUID, String sopClassUID)`
Construct an instance of a reference to an instance, with its hierarchy.

## Method Summary

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

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

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

## Field Details

### studyInstanceUID

protected String studyInstanceUID

### seriesInstanceUID

protected String seriesInstanceUID

### sopInstanceUID

protected String sopInstanceUID

### sopClassUID

protected String sopClassUID

## Constructor Details

### HierarchicalSOPInstanceReference

public HierarchicalSOPInstanceReference(String studyInstanceUID, String seriesInstanceUID, String sopInstanceUID, 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 Details

### getStudyInstanceUID

public String getStudyInstanceUID()

Get the Study Instance UID.

Returns:
  the Study Instance UID, or null

### getSeriesInstanceUID

public String getSeriesInstanceUID()

Get the Series Instance UID.

Returns:
  the Series Instance UID, or null

### getSOPInstanceUID

public String getSOPInstanceUID()

Get the SOP Instance UID.

Returns:
  the SOP Instance UID, or null

### getSOPClassUID

public String getSOPClassUID()

Get the SOP Class UID.

Returns:
  the SOP Class UID, or null

### findHierarchicalReferencesToSOPInstancesInStructuredReport

public static Map<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 Map<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, Map<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 String toString()

Overrides:
  `toString` in class `Object`

### toString

public static String toString(Map<String,HierarchicalSOPInstanceReference> map)

### main

public static void main(String[] arg)

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

Parameters:
  `arg` - DICOM file