Package com.pixelmed.dicom

# 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:
  - `Attribute`
  - `AttributeFactory`
  - `AttributeList`

## Field Summary

### Fields inherited from class com.pixelmed.dicom.Attribute

`valueLength, valueMultiplicity`

## Constructor Summary

Constructors
Constructor
Description
`OtherByteAttributeMultipleFrameArrays(AttributeTag t)`
Construct an (empty) attribute.

## Method Summary

Modifier and Type
Method
Description
`byte[][]`
`getByteValuesPerFrame()`
Get the values of this attribute as multiple byte arrays, one per frame.
`int`
`getNumberOfFrames()`
Get the number of frames.
`long`
`getPaddedVL()`
Get the value length of this attribute, accounting for the need for even-length padding.
`byte[]`
`getVR()`
Get the value representation of this attribute (OB).
`void`
`removeValues()`
Remove any existing values, making the attribute empty (zero length).
`void`
`setValuesPerFrame(byte[][] v)`
`String`
`toString(DicomDictionary dictionary)`
Dump the contents of the attribute as a human-readable string.
`void`
`write(DicomOutputStream o)`
Write the entire attribute (including values) to the output stream.

### Methods inherited from class com.pixelmed.dicom.Attribute

`addValue, addValue, addValue, addValue, addValue, addValue, addValue, getByteValues, getByteValues, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrDefault, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrEmptyString, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDelimitedStringValuesOrNull, getDoubleValues, getDoubleValues, getDoubleValues, getElement, getFloatValues, getFloatValues, getFloatValues, getGroup, getIntegerValues, getIntegerValues, getIntegerValues, getLengthOfBaseOfEncodedAttribute, getLengthOfEncodedValue, getLengthOfEntireEncodedAttribute, getLongValues, getLongValues, getLongValues, getOriginalStringValues, getShortValues, getSingleDoubleValueOrDefault, getSingleDoubleValueOrDefault, getSingleDoubleValueOrDefault, getSingleFloatValueOrDefault, getSingleFloatValueOrDefault, getSingleFloatValueOrDefault, getSingleIntegerValueOrDefault, getSingleIntegerValueOrDefault, getSingleIntegerValueOrDefault, getSingleLongValueOrDefault, getSingleLongValueOrDefault, getSingleLongValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrDefault, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrEmptyString, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getSingleStringValueOrNull, getStringValues, getStringValues, getStringValues, getStringValues, getStringValues, getStringValues, getTag, getVL, getVM, getVRAsString, isValid, repairValues, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValues, setValues, setValues, setValues, setValues, setValues, setValues, toString, writeBase`

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

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

## 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`