Class OtherByteAttributeMultipleFrameArrays

java.lang.Object
com.pixelmed.dicom.Attribute
com.pixelmed.dicom.OtherByteAttributeMultipleFrameArrays

public class OtherByteAttributeMultipleFrameArrays extends Attribute

A concrete class specializing Attribute for Other Byte (OB) attributes whose values are an array of bytes per frame rather than a single contiguous array containing all frames.

See Also:
  • Constructor Details

    • OtherByteAttributeMultipleFrameArrays

      public OtherByteAttributeMultipleFrameArrays(AttributeTag t)

      Construct an (empty) attribute.

      Parameters:
      t - the tag of the attribute
  • Method Details

    • getPaddedVL

      public long getPaddedVL()
      Description copied from class: Attribute

      Get the value length of this attribute, accounting for the need for even-length padding.

      Overrides:
      getPaddedVL in class Attribute
      Returns:
      the value length (padded to an even length)
    • 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
    • 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
    • setValuesPerFrame

      public void setValuesPerFrame(byte[][] v) throws DicomException
      Parameters:
      v -
      Throws:
      DicomException
    • getByteValuesPerFrame

      public byte[][] getByteValuesPerFrame() throws DicomException

      Get the values of this attribute as multiple byte arrays, one per frame.

      Caller does not need to supply the number for frames since known when this attribute was created.

      This allocates a new array of sufficient length, which may fail if it is too large, and defeats the point of leaving the byte values on disk in the first place. However, it is a fallback for when the caller does not want to go to the trouble of creating a MappedByteBuffer from the file, or more likely is not even aware that the attribute values have been left on disk.

      Returns:
      the values as an array of arrays of bytes
      Throws:
      DicomException - thrown if values cannot be read
    • getNumberOfFrames

      public int getNumberOfFrames()

      Get the number of frames.

      Returns:
      number of frame
    • 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