com.pixelmed.dicom

## Class ContentItemFactory

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

-     public class ContentItemFactory
      extends java.lang.Object

  A class with methods for constructing a `ContentItem` of the appropriate class from a list of attributes.

  The sub-classes of `ContentItem` are public internal classes of this class, but specialize the methods, specifically the extractors and the string representation methods.

  This is not an abstract class, and the content item factory method is not static; an instance of the factory needs to be created.

  See Also:
    `ContentItem`, `ContentItemWithReference`, `ContentItemWithValue`, `StructuredReport`, `StructuredReportBrowser`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ContentItemFactory.CodeContentItem`
    `class` | `ContentItemFactory.CompositeContentItem`
    `class` | `ContentItemFactory.ContainerContentItem`
    `class` | `ContentItemFactory.DateContentItem`
    `class` | `ContentItemFactory.DateTimeContentItem`
    `class` | `ContentItemFactory.ImageContentItem`
    `class` | `ContentItemFactory.NumericContentItem`
    `class` | `ContentItemFactory.PersonNameContentItem`
    `class` | `ContentItemFactory.SpatialCoordinates3DContentItem`
    `class` | `ContentItemFactory.SpatialCoordinatesContentItem`
    `protected class` | `ContentItemFactory.StringContentItem`
    `class` | `ContentItemFactory.TemporalCoordinatesContentItem`
    `class` | `ContentItemFactory.TextContentItem`
    `class` | `ContentItemFactory.TimeContentItem`
    `class` | `ContentItemFactory.UIDContentItem`
    `class` | `ContentItemFactory.UnrecognizedContentItem`
    `class` | `ContentItemFactory.WaveformContentItem`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ContentItemFactory()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `codeContentItemValueMatchesCodeValueAndCodingSchemeDesignator(ContentItem ci, java.lang.String cvWanted, java.lang.String csdWanted)` Test if the coded value of the code content item matches the specified code value and coding scheme designator.
    `ContentItem` | `getNewContentItem(ContentItem parent, AttributeList list)` Construct a content item of the appropriate class from a list of attributes.
    `ContentItemFactory.CodeContentItem` | `makeCodeContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, CodedSequenceItem conceptCode)`
    `ContentItemFactory.CompositeContentItem` | `makeCompositeContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String referencedSOPClassUID, java.lang.String referencedSOPInstanceUID)`
    `ContentItemFactory.ContainerContentItem` | `makeContainerContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName)` Construct a ContainerContentItem Default to separate continuity
    `ContentItemFactory.ContainerContentItem` | `makeContainerContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, boolean continuityOfContentIsSeparate)`
    `ContentItemFactory.ContainerContentItem` | `makeContainerContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, boolean continuityOfContentIsSeparate, java.lang.String templateMappingResource, java.lang.String templateIdentifier)`
    `ContentItemFactory.DateContentItem` | `makeDateContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String dateValue)`
    `ContentItemFactory.DateTimeContentItem` | `makeDateTimeContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String dateTimeValue)`

    `ContentItemFactory.ImageContentItem`

    `makeImageContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String referencedSOPClassUID, java.lang.String referencedSOPInstanceUID, int referencedFrameNumber, int referencedSegmentNumber, java.lang.String presentationStateSOPClassUID, java.lang.String presentationStateSOPInstanceUID, java.lang.String realWorldValueMappingSOPClassUID, java.lang.String realWorldValueMappingSOPInstanceUID)`

    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, boolean isNotSR, java.lang.String relationshipType, CodedSequenceItem conceptName, double numericValue, CodedSequenceItem units)`
    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, boolean isNotSR, java.lang.String relationshipType, CodedSequenceItem conceptName, int numerator, long denominator, CodedSequenceItem units)`
    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, boolean isNotSR, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String numericValue, CodedSequenceItem units, CodedSequenceItem qualifier)`
    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, boolean isNotSR, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String numericValue, java.lang.Double floatingPointValue, java.lang.Integer rationalNumeratorValue, java.lang.Long rationalDenominatorValue, CodedSequenceItem units, CodedSequenceItem qualifier)`
    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, double numericValue, CodedSequenceItem units)`
    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, int numerator, long denominator, CodedSequenceItem units)`
    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String numericValue, CodedSequenceItem units, CodedSequenceItem qualifier)`
    `ContentItemFactory.NumericContentItem` | `makeNumericContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String numericValue, java.lang.Double floatingPointValue, java.lang.Integer rationalNumeratorValue, java.lang.Long rationalDenominatorValue, CodedSequenceItem units, CodedSequenceItem qualifier)`
    `ContentItemFactory.PersonNameContentItem` | `makePersonNameContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String personNameValue)`
    `ContentItemFactory.SpatialCoordinates3DContentItem` | `makeSpatialCoordinates3DContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String graphicType, float[] graphicData, java.lang.String referencedFrameOfReferenceUID)`
    `ContentItemFactory.SpatialCoordinatesContentItem` | `makeSpatialCoordinatesContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String graphicType, float[] graphicData)`
    `ContentItemFactory.TextContentItem` | `makeTextContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String textValue)`
    `ContentItemFactory.TimeContentItem` | `makeTimeContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String timeValue)`
    `ContentItemFactory.UIDContentItem` | `makeUIDContentItem(ContentItem parent, java.lang.String relationshipType, CodedSequenceItem conceptName, java.lang.String uidValue)`

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

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

- - ### Constructor Detail

    - #### ContentItemFactory

          public ContentItemFactory()

  - ### Method Detail

    - #### makeContainerContentItem

          public ContentItemFactory.ContainerContentItem makeContainerContentItem(ContentItem parent,
                                                                                  java.lang.String relationshipType,
                                                                                  CodedSequenceItem conceptName,
                                                                                  boolean continuityOfContentIsSeparate,
                                                                                  java.lang.String templateMappingResource,
                                                                                  java.lang.String templateIdentifier)
                                                                           throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `continuityOfContentIsSeparate` - true if SEPARATE, false if CONTINUOUS
        `templateMappingResource` - identifier of the template mapping resource
        `templateIdentifier` - identifier of the template
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeContainerContentItem

          public ContentItemFactory.ContainerContentItem makeContainerContentItem(ContentItem parent,
                                                                                  java.lang.String relationshipType,
                                                                                  CodedSequenceItem conceptName,
                                                                                  boolean continuityOfContentIsSeparate)
                                                                           throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `continuityOfContentIsSeparate` - true if SEPARATE, false if CONTINUOUS
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeContainerContentItem

          public ContentItemFactory.ContainerContentItem makeContainerContentItem(ContentItem parent,
                                                                                  java.lang.String relationshipType,
                                                                                  CodedSequenceItem conceptName)
                                                                           throws DicomException

      Construct a ContainerContentItem Default to separate continuity
      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeCompositeContentItem

          public ContentItemFactory.CompositeContentItem makeCompositeContentItem(ContentItem parent,
                                                                                  java.lang.String relationshipType,
                                                                                  CodedSequenceItem conceptName,
                                                                                  java.lang.String referencedSOPClassUID,
                                                                                  java.lang.String referencedSOPInstanceUID)
                                                                           throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `referencedSOPClassUID` - the SOP Class UID
        `referencedSOPInstanceUID` - the SOP Instance UID
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeImageContentItem

          public ContentItemFactory.ImageContentItem makeImageContentItem(ContentItem parent,
                                                                          java.lang.String relationshipType,
                                                                          CodedSequenceItem conceptName,
                                                                          java.lang.String referencedSOPClassUID,
                                                                          java.lang.String referencedSOPInstanceUID,
                                                                          int referencedFrameNumber,
                                                                          int referencedSegmentNumber,
                                                                          java.lang.String presentationStateSOPClassUID,
                                                                          java.lang.String presentationStateSOPInstanceUID,
                                                                          java.lang.String realWorldValueMappingSOPClassUID,
                                                                          java.lang.String realWorldValueMappingSOPInstanceUID)
                                                                   throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `referencedSOPClassUID` - the SOP Class UID
        `referencedSOPInstanceUID` - the SOP Instance UID
        `referencedFrameNumber` - if < 1, not added
        `referencedSegmentNumber` - if < 1, not added
        `presentationStateSOPClassUID` - the SOP Class UID of the presentation state (or null or empty if none)
        `presentationStateSOPInstanceUID` - the SOP Instance UID of the presentation state (or null or empty if none)
        `realWorldValueMappingSOPClassUID` - the SOP Class UID of the RWV Map (or null or empty if none)
        `realWorldValueMappingSOPInstanceUID` - the SOP Instance UID of the RWV Map (or null or empty if none)
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeSpatialCoordinatesContentItem

          public ContentItemFactory.SpatialCoordinatesContentItem makeSpatialCoordinatesContentItem(ContentItem parent,
                                                                                                    java.lang.String relationshipType,
                                                                                                    CodedSequenceItem conceptName,
                                                                                                    java.lang.String graphicType,
                                                                                                    float[] graphicData)
                                                                                             throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `graphicType` - graphic type
        `graphicData` - graphic data
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeSpatialCoordinates3DContentItem

          public ContentItemFactory.SpatialCoordinates3DContentItem makeSpatialCoordinates3DContentItem(ContentItem parent,
                                                                                                        java.lang.String relationshipType,
                                                                                                        CodedSequenceItem conceptName,
                                                                                                        java.lang.String graphicType,
                                                                                                        float[] graphicData,
                                                                                                        java.lang.String referencedFrameOfReferenceUID)
                                                                                                 throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `graphicType` - graphic type
        `graphicData` - graphic data
        `referencedFrameOfReferenceUID` - frame of reference UID
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              boolean isNotSR,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              java.lang.String numericValue,
                                                                              CodedSequenceItem units,
                                                                              CodedSequenceItem qualifier)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `isNotSR` - affects whether value type is NUM (false) or NUMERIC (true)
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numericValue` - numeric value as decimal string
        `units` - code for the units
        `qualifier` - code for qualifier
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              java.lang.String numericValue,
                                                                              CodedSequenceItem units,
                                                                              CodedSequenceItem qualifier)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numericValue` - numeric value as decimal string
        `units` - code for the units
        `qualifier` - code for qualifier
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              boolean isNotSR,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              double numericValue,
                                                                              CodedSequenceItem units)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `isNotSR` - affects whether value type is NUM (false) or NUMERIC (true)
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numericValue` - numeric value as decimal string
        `units` - code for the units
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              double numericValue,
                                                                              CodedSequenceItem units)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numericValue` - numeric value as decimal string
        `units` - code for the units
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              boolean isNotSR,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              int numerator,
                                                                              long denominator,
                                                                              CodedSequenceItem units)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `isNotSR` - affects whether value type is NUM (false) or NUMERIC (true)
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numerator` - integer numerator
        `denominator` - integer denominator
        `units` - code for the units
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              int numerator,
                                                                              long denominator,
                                                                              CodedSequenceItem units)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numerator` - integer numerator
        `denominator` - integer denominator
        `units` - code for the units
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              boolean isNotSR,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              java.lang.String numericValue,
                                                                              java.lang.Double floatingPointValue,
                                                                              java.lang.Integer rationalNumeratorValue,
                                                                              java.lang.Long rationalDenominatorValue,
                                                                              CodedSequenceItem units,
                                                                              CodedSequenceItem qualifier)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `isNotSR` - affects whether value type is NUM (false) or NUMERIC (true)
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numericValue` - numeric value as decimal string
        `floatingPointValue` - numeric value as floating point
        `rationalNumeratorValue` - integer numerator
        `rationalDenominatorValue` - integer denominator
        `units` - code for the units
        `qualifier` - code for qualifier
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeNumericContentItem

          public ContentItemFactory.NumericContentItem makeNumericContentItem(ContentItem parent,
                                                                              java.lang.String relationshipType,
                                                                              CodedSequenceItem conceptName,
                                                                              java.lang.String numericValue,
                                                                              java.lang.Double floatingPointValue,
                                                                              java.lang.Integer rationalNumeratorValue,
                                                                              java.lang.Long rationalDenominatorValue,
                                                                              CodedSequenceItem units,
                                                                              CodedSequenceItem qualifier)
                                                                       throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `numericValue` - numeric value as decimal string
        `floatingPointValue` - numeric value as floating point
        `rationalNumeratorValue` - integer numerator
        `rationalDenominatorValue` - integer denominator
        `units` - code for the units
        `qualifier` - code for qualifier
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeCodeContentItem

          public ContentItemFactory.CodeContentItem makeCodeContentItem(ContentItem parent,
                                                                        java.lang.String relationshipType,
                                                                        CodedSequenceItem conceptName,
                                                                        CodedSequenceItem conceptCode)
                                                                 throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `conceptCode` - coded value
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### codeContentItemValueMatchesCodeValueAndCodingSchemeDesignator

          public static boolean codeContentItemValueMatchesCodeValueAndCodingSchemeDesignator(ContentItem ci,
                                                                                              java.lang.String cvWanted,
                                                                                              java.lang.String csdWanted)

      Test if the coded value of the code content item matches the specified code value and coding scheme designator. This is more robust than checking code meaning, which may have synomyms, and there is no need to also test code meaning.
      Parameters:
        `ci` - the content item to check
        `csdWanted` - the coding scheme designator of the coded value wanted
        `cvWanted` - the code value of the coded value wanted
      Returns:
        true if matches

    - #### makeDateTimeContentItem

          public ContentItemFactory.DateTimeContentItem makeDateTimeContentItem(ContentItem parent,
                                                                                java.lang.String relationshipType,
                                                                                CodedSequenceItem conceptName,
                                                                                java.lang.String dateTimeValue)
                                                                         throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `dateTimeValue` - datetime value
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeDateContentItem

          public ContentItemFactory.DateContentItem makeDateContentItem(ContentItem parent,
                                                                        java.lang.String relationshipType,
                                                                        CodedSequenceItem conceptName,
                                                                        java.lang.String dateValue)
                                                                 throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `dateValue` - date value
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeTimeContentItem

          public ContentItemFactory.TimeContentItem makeTimeContentItem(ContentItem parent,
                                                                        java.lang.String relationshipType,
                                                                        CodedSequenceItem conceptName,
                                                                        java.lang.String timeValue)
                                                                 throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `timeValue` - time value
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makePersonNameContentItem

          public ContentItemFactory.PersonNameContentItem makePersonNameContentItem(ContentItem parent,
                                                                                    java.lang.String relationshipType,
                                                                                    CodedSequenceItem conceptName,
                                                                                    java.lang.String personNameValue)
                                                                             throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `personNameValue` - person name value
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeUIDContentItem

          public ContentItemFactory.UIDContentItem makeUIDContentItem(ContentItem parent,
                                                                      java.lang.String relationshipType,
                                                                      CodedSequenceItem conceptName,
                                                                      java.lang.String uidValue)
                                                               throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `uidValue` - UID value
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### makeTextContentItem

          public ContentItemFactory.TextContentItem makeTextContentItem(ContentItem parent,
                                                                        java.lang.String relationshipType,
                                                                        CodedSequenceItem conceptName,
                                                                        java.lang.String textValue)
                                                                 throws DicomException

      Parameters:
        `parent` - parent content item to add to
        `relationshipType` - relationship type
        `conceptName` - coded concept name
        `textValue` - text value
      Returns:
        the content item created
      Throws:
        `DicomException` - if error in DICOM encoding

    - #### getNewContentItem

          public ContentItem getNewContentItem(ContentItem parent,
                                               AttributeList list)
                                        throws DicomException

      Construct a content item of the appropriate class from a list of attributes.

      Parameters:
        `parent` - the parent to add the content item to
        `list` - a list of attributes that constitute the content item as it is encoded in a DICOM data set
      Returns:
        a content item
      Throws:
        `DicomException` - if error in DICOM encoding