com.pixelmed.dicom

## Class ImageLibrary

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

- Direct Known Subclasses:
    CrossSectionalImageLibrary, ProjectionXRayImageLibrary

      public class ImageLibrary
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ImageLibrary.ImageLibraryEntry`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CompositeInstanceContext` | `compositeInstanceContext`
    `protected java.util.Map<java.lang.String,ImageLibrary.ImageLibraryEntry>` | `entriesIndexedBySOPInstanceUID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImageLibrary()` Construct an empty Image Library.
    `ImageLibrary(AttributeList list)` Construct an Image Library by extracting it from an existing DICOM SR instance.
    `ImageLibrary(ContentItem imageLibraryContainer, AttributeList list)` Construct an Image Library by extracting it from an existing DICOM SR instance.
    `ImageLibrary(java.util.Set<java.io.File> files)` Create an SR Image Library from a bunch of DICOM image instances.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ImageLibrary.ImageLibraryEntry` | `addImage(AttributeList list)` Create and add an SR Image Library entry derived from a DICOM image instance.
    `protected void` | `constructImageLibrary(ContentItem imageLibraryContainer, AttributeList list)` Construct an Image Library by extracting it from an existing DICOM SR instance.
    `static ContentItem` | `findImageLibraryContainer(ContentItem node)` Find the Image Library contained within an SR content tree.
    `AttributeList` | `getAttributeList()`
    `SequenceAttribute` | `getCommonInstanceReferenceModuleReferencedSeriesSequence(java.lang.String studyInstanceUID)`
    `SequenceAttribute` | `getHierarchicalEvidenceSequence()` Build a hierarchical evidence sequence for the current Image Library content.
    `protected java.util.Map<java.lang.String,HierarchicalSOPInstanceReference>` | `getHierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID(AttributeList list)`
    `StructuredReport` | `getStructuredReport()`
    `ContentItem` | `getStructuredReportFragment(ContentItem parent)` Get the Image Library as an SR fragment.
    `static void` | `main(java.lang.String[] arg)` Create an SR Image Library from a bunch of DICOM image instances.
    `ImageLibrary.ImageLibraryEntry` | `makeImageLibraryEntry(AttributeList list)`
    `ImageLibrary.ImageLibraryEntry` | `makeImageLibraryEntry(ContentItemFactory.ImageContentItem imageContentItem, java.util.Map<java.lang.String,HierarchicalSOPInstanceReference> hierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID)`
    `static ImageLibrary` | `read(java.lang.String filename)` Extract the Image Library from a DICOM SR instance.
    `java.lang.String` | `toString()`
    `void` | `write(java.lang.String filename)`

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

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

- - ### Field Detail

    - #### entriesIndexedBySOPInstanceUID

          protected java.util.Map<java.lang.String,ImageLibrary.ImageLibraryEntry> entriesIndexedBySOPInstanceUID

    - #### compositeInstanceContext

          protected CompositeInstanceContext compositeInstanceContext

  - ### Constructor Detail

    - #### ImageLibrary

          public ImageLibrary()

      Construct an empty Image Library.

    - #### ImageLibrary

          public ImageLibrary(AttributeList list)
                       throws DicomException

      Construct an Image Library by extracting it from an existing DICOM SR instance.

      Searches the content tree for the Image Library CONTAINER content item.

      Parameters:
        `list` - the attributes comprising the DICOM SR instance containing the Image Library
      Throws:
        `DicomException`

    - #### ImageLibrary

          public ImageLibrary(ContentItem imageLibraryContainer,
                              AttributeList list)

      Construct an Image Library by extracting it from an existing DICOM SR instance.

      Parameters:
        `imageLibraryContainer` - the content item that is the Image Library CONTAINER
        `list` - the attributes comprising the DICOM SR instance containing the Image Library

    - #### ImageLibrary

          public ImageLibrary(java.util.Set<java.io.File> files)
                       throws java.io.IOException,
                              DicomException

      Create an SR Image Library from a bunch of DICOM image instances.

      Adds a new series (instance UID) to the existing study (instance UID).

      Parameters:
        `files` - the filenames and/or folder names of files containing the input image files
      Throws:
        `java.io.IOException`
        `DicomException`

  - ### Method Detail

    - #### makeImageLibraryEntry

          public ImageLibrary.ImageLibraryEntry makeImageLibraryEntry(ContentItemFactory.ImageContentItem imageContentItem,
                                                                      java.util.Map<java.lang.String,HierarchicalSOPInstanceReference> hierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID)

    - #### makeImageLibraryEntry

          public ImageLibrary.ImageLibraryEntry makeImageLibraryEntry(AttributeList list)
                                                               throws DicomException

      Throws:
        `DicomException`

    - #### toString

          public java.lang.String toString()

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

    - #### getCommonInstanceReferenceModuleReferencedSeriesSequence

          public SequenceAttribute getCommonInstanceReferenceModuleReferencedSeriesSequence(java.lang.String studyInstanceUID)
                                                                                     throws DicomException

      Throws:
        `DicomException`

    - #### getHierarchicalEvidenceSequence

          public SequenceAttribute getHierarchicalEvidenceSequence()
                                                            throws DicomException

      Build a hierarchical evidence sequence for the current Image Library content.

      This contains the Study and Series Instance UIDs and is required for most SR IODs.

      Returns:
        a CurrentRequestedProcedureEvidenceSequence listing all the referenced instances
      Throws:
        `DicomException`

    - #### findImageLibraryContainer

          public static ContentItem findImageLibraryContainer(ContentItem node)

      Find the Image Library contained within an SR content tree.

      The Image Library is identified by the ("111028","DCM","Image Library") concept name for the content item.

      Parameters:
        `node` - the content item to being the search at (e.g., the root node)
      Returns:
        the content item that is the Image Library CONTAINER

    - #### getHierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID

          protected java.util.Map<java.lang.String,HierarchicalSOPInstanceReference> getHierarchicalSOPInstanceReferencesIndexedBySOPInstanceUID(AttributeList list)

    - #### constructImageLibrary

          protected void constructImageLibrary(ContentItem imageLibraryContainer,
                                               AttributeList list)

      Construct an Image Library by extracting it from an existing DICOM SR instance.

      Parameters:
        `imageLibraryContainer` - the content item that is the Image Library CONTAINER
        `list` - the attributes comprising the DICOM SR instance containing the Image Library

    - #### getStructuredReportFragment

          public ContentItem getStructuredReportFragment(ContentItem parent)
                                                  throws DicomException

      Get the Image Library as an SR fragment.

      Has side effect of adding the fragment to the parent if the parent is not null.

      Parameters:
        `parent` - the parent CONTAINER content item (usually the root content item)
      Throws:
        `DicomException`

    - #### getStructuredReport

          public StructuredReport getStructuredReport()
                                               throws DicomException

      Throws:
        `DicomException`

    - #### getAttributeList

          public AttributeList getAttributeList()
                                         throws DicomException

      Throws:
        `DicomException`

    - #### write

          public void write(java.lang.String filename)
                     throws DicomException,
                            java.io.IOException

      Throws:
        `DicomException`
        `java.io.IOException`

    - #### read

          public static ImageLibrary read(java.lang.String filename)
                                   throws DicomException,
                                          java.io.IOException

      Extract the Image Library from a DICOM SR instance.

      Parameters:
        `filename` - the DICOM SR instance containing the Image Library
      Throws:
        `DicomException`
        `java.io.IOException`

    - #### addImage

          public ImageLibrary.ImageLibraryEntry addImage(AttributeList list)
                                                  throws DicomException

      Create and add an SR Image Library entry derived from a DICOM image instance.

      Parameters:
        `list` - the list of attributes of the image instance
      Throws:
        `DicomException`

    - #### main

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

      Create an SR Image Library from a bunch of DICOM image instances.

      Adds a new series (instance UID) to the existing study (instance UID).

      Parameters:
        `arg` - the path for the SR Image Library output, then the filenames and/or folder names of files containing the input image files