Class OtherByteAttributeMultipleCompressedFrames

java.lang.Object
com.pixelmed.dicom.Attribute
com.pixelmed.dicom.OtherByteAttributeMultipleCompressedFrames
All Implemented Interfaces:
ByteFrameSource

public class OtherByteAttributeMultipleCompressedFrames extends Attribute implements ByteFrameSource

A concrete class specializing Attribute for Other Byte (OB) attributes whose values are memory or file resident compressed pixel data frames.

See Also:
  • Field Details

    • allframes

      protected byte[] allframes
    • frames

      protected byte[][] frames
    • files

      protected File[] files
    • itemTag

      protected static final AttributeTag itemTag
    • sequenceDelimitationItemTag

      protected static final AttributeTag sequenceDelimitationItemTag
  • Constructor Details

    • OtherByteAttributeMultipleCompressedFrames

      public OtherByteAttributeMultipleCompressedFrames(AttributeTag t, byte[] allframes)

      Construct an attribute from a single byte array containing all compressed frames.

      The VL is not required, since it is undefined by definition.

      Parameters:
      t - the tag of the attribute
      allframes - the frames
    • OtherByteAttributeMultipleCompressedFrames

      public OtherByteAttributeMultipleCompressedFrames(AttributeTag t, byte[][] frames)

      Construct an attribute from a set of compressed frames.

      The VL is not required, since it is undefined by definition.

      Parameters:
      t - the tag of the attribute
      frames - the frames
    • OtherByteAttributeMultipleCompressedFrames

      public OtherByteAttributeMultipleCompressedFrames(AttributeTag t, File[] files)

      Construct an attribute from a set of compressed frames.

      The VL is not required, since it is undefined by definition.

      Parameters:
      t - the tag of the attribute
      files - the files containing the compressed bit streams
  • Method Details

    • writeItemTag

      protected void writeItemTag(DicomOutputStream o, long length) throws IOException
      Throws:
      IOException
    • writeSequenceDelimitationItemTag

      protected void writeSequenceDelimitationItemTag(DicomOutputStream o) throws IOException
      Throws:
      IOException
    • write

      public void write(DicomOutputStream o) throws DicomException, IOException
      Description copied from class: Attribute

      Write the entire attribute (including values) to the output stream.

      Specified by:
      write in class Attribute
      Parameters:
      o -
      Throws:
      IOException
      DicomException - if no byte array or files containing the compressed bitstream have been supplied
    • getFrames

      public byte[][] getFrames()

      Get the byte arrays for each frame.

      Returns:
      an array of byte arrays for each frame
    • getFiles

      public File[] getFiles()

      Get the files for each frame.

      Returns:
      an array of files for each frame
    • getByteValuesForSelectedFrame

      public byte[] getByteValuesForSelectedFrame(int frameNumber) throws DicomException

      Get the value of this attribute as a byte array for one selected frame.

      Specified by:
      getByteValuesForSelectedFrame in interface ByteFrameSource
      Parameters:
      frameNumber - from 0
      Returns:
      the values as an array of bytes
      Throws:
      DicomException - thrown if values cannot be read
    • getNumberOfFrames

      public int getNumberOfFrames()

      Get the number of frames.

      Returns:
      number of frames, or zero if all frames are in one fragment
    • toString

      public String toString(DicomDictionary dictionary)
      Description copied from class: Attribute

      Dump the contents of the attribute as a human-readable string.

      No new line is appended.

      The result is of the form:

       (0xgggg,0xeeee) Name VR=<XX> VL=<0xnnnn> <...>
       

      For example:

       (0x0018,0x0020) ScanningSequence VR=<CS> VL=<0x2> <GR>
       
      Overrides:
      toString in class Attribute
      Parameters:
      dictionary - the dictionary to use to look up the name
      Returns:
      a single String value
    • removeValues

      public void removeValues()
      Description copied from class: Attribute

      Remove any existing values, making the attribute empty (zero length).

      Specified by:
      removeValues in class Attribute
    • getVR

      public byte[] getVR()

      Get the value representation of this attribute (OB).

      Overrides:
      getVR in class Attribute
      Returns:
      'O','B' in ASCII as a two byte array; see ValueRepresentation
    • getLengthOfEntireEncodedAttribute

      public long getLengthOfEntireEncodedAttribute(boolean explicit, boolean littleEndian) throws DicomException

      Get the length of the entire attribute when encoded, accounting for the characteristics of the Transfer Syntax and the need for even-length padding.

      Overrides:
      getLengthOfEntireEncodedAttribute in class Attribute
      Parameters:
      explicit - true if the Transfer Syntax to be used for encoding is explicit VR
      littleEndian - true if the Transfer Syntax to be used for encoding is little endian
      Returns:
      the length in bytes
      Throws:
      DicomException - if the VL is too long to be written in Explicit VR Transfer Syntax