com.pixelmed.dicom

## Class FrameSet

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

    public class FrameSet
    extends java.lang.Object

A class to describe a set of frames sharing common characteristics suitable for display or analysis as an entity.

There is no constructor or factory method, since one or more `FrameSet`s is created by using `SetOfFrameSets`.

The list of "distinguishing" attributes that are used to determine commonality is currently fixed, and includes the unique identifying attributes at the Patient, Study, Equipment levels, the Modality and SOP Class, and ImageType as well as the characteristics of the Pixel Data, and those attributes that for cross-sectional images imply consistent sampling, such as ImageOrientationPatient, PixelSpacing and SliceThickness, and in addition AcquisitionContextSequence and BurnedInAnnotation.

Note that Series identification, specifically SeriesInstanceUID is NOT a distinguishing attribute; i.e., `FrameSet`s may span Series.

### Method Summary

Methods
`static java.util.Set<AttributeTag>` `getAttributeTagsInMapWithValues(java.util.Map<AttributeTag,java.lang.String> map)` Given a map of tags to values or empty strings, return only those with values.
`java.util.Set<AttributeTag>` `getDistinguishingAttributeTags()` Get the distinguishing AttributeTags used in this `FrameSet` that are present with values.
`java.util.Set<AttributeTag>` `getPerFrameAttributeTags()` Get the per-frame varying AttributeTags used in this `FrameSet` that are present with values.
`java.util.Set<AttributeTag>` `getSharedAttributeTags()` Get the shared AttributeTags used in this `FrameSet` that are present with values.
`java.util.List<java.lang.String>` `getSOPInstanceUIDsSortedByFrameOrder()` Get a sorted list of the frames.
`int` `size()` Get the number of frames in this `FrameSet`.
`java.lang.String` `toString()` Return a String representing this object's value.

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

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

### Method Detail

#### getSOPInstanceUIDsSortedByFrameOrder

    public java.util.List<java.lang.String> getSOPInstanceUIDsSortedByFrameOrder()

Get a sorted list of the frames.

Returns:
  a sorted list of SOP Instance UIDs

#### getAttributeTagsInMapWithValues

    public static java.util.Set<AttributeTag> getAttributeTagsInMapWithValues(java.util.Map<AttributeTag,java.lang.String> map)

Given a map of tags to values or empty strings, return only those with values.

Parameters:
  `map` - a `Map` of `AttributeTag`s to `String`s
Returns:
  a new `Set` of `AttributeTag`s

#### getDistinguishingAttributeTags

    public java.util.Set<AttributeTag> getDistinguishingAttributeTags()

Get the distinguishing AttributeTags used in this `FrameSet` that are present with values.

Returns:
  a set of distinguishing AttributeTags

#### getSharedAttributeTags

    public java.util.Set<AttributeTag> getSharedAttributeTags()

Get the shared AttributeTags used in this `FrameSet` that are present with values.

Returns:
  a set of shared AttributeTags

#### getPerFrameAttributeTags

    public java.util.Set<AttributeTag> getPerFrameAttributeTags()

Get the per-frame varying AttributeTags used in this `FrameSet` that are present with values.

This is the set used in any frame (not necessarily all frames).

Returns:
  a set of per-frame varying AttributeTags

#### size

    public int size()

Get the number of frames in this `FrameSet`.

Returns:
  the number of frames in this `FrameSet`

#### toString

    public java.lang.String toString()

Return a String representing this object's value.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  a string representation of the value of this object