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:
Attribute
,AttributeList
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
allframes
protected java.io.File[]
files
protected byte[][]
frames
protected static AttributeTag
itemTag
protected static AttributeTag
sequenceDelimitationItemTag
-
Fields inherited from class com.pixelmed.dicom.Attribute
valueLength, valueMultiplicity
-
-
Constructor Summary
Constructors Constructor Description OtherByteAttributeMultipleCompressedFrames(AttributeTag t, byte[] allframes)
Construct an attribute from a single byte array containing all compressed frames.OtherByteAttributeMultipleCompressedFrames(AttributeTag t, byte[][] frames)
Construct an attribute from a set of compressed frames.OtherByteAttributeMultipleCompressedFrames(AttributeTag t, java.io.File[] files)
Construct an attribute from a set of compressed frames.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
getByteValuesForSelectedFrame(int frameNumber)
Get the value of this attribute as a byte array for one selected frame.java.io.File[]
getFiles()
Get the files for each frame.byte[][]
getFrames()
Get the byte arrays for each frame.long
getLengthOfEntireEncodedAttribute(boolean explicit, boolean littleEndian)
Get the length of the entire attribute when encoded, accounting for the characteristics of the Transfer Syntax and the need for even-length padding.int
getNumberOfFrames()
Get the number of frames.byte[]
getVR()
Get the value representation of this attribute (OB).void
removeValues()
Remove any existing values, making the attribute empty (zero length).java.lang.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.protected void
writeItemTag(DicomOutputStream o, long length)
protected void
writeSequenceDelimitationItemTag(DicomOutputStream o)
-
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, getLongValues, getLongValues, getLongValues, getOriginalStringValues, getPaddedVL, 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
-
-
-
-
Field Detail
-
allframes
protected byte[] allframes
-
frames
protected byte[][] frames
-
files
protected java.io.File[] files
-
itemTag
protected static final AttributeTag itemTag
-
sequenceDelimitationItemTag
protected static final AttributeTag sequenceDelimitationItemTag
-
-
Constructor Detail
-
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 attributeallframes
- 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 attributeframes
- the frames
-
OtherByteAttributeMultipleCompressedFrames
public OtherByteAttributeMultipleCompressedFrames(AttributeTag t, java.io.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 attributefiles
- the files containing the compressed bit streams
-
-
Method Detail
-
writeItemTag
protected void writeItemTag(DicomOutputStream o, long length) throws java.io.IOException
- Throws:
java.io.IOException
-
writeSequenceDelimitationItemTag
protected void writeSequenceDelimitationItemTag(DicomOutputStream o) throws java.io.IOException
- Throws:
java.io.IOException
-
write
public void write(DicomOutputStream o) throws DicomException, java.io.IOException
Description copied from class:Attribute
Write the entire attribute (including values) to the output stream.
- Specified by:
write
in classAttribute
- Parameters:
o
-- Throws:
java.io.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 java.io.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 interfaceByteFrameSource
- 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 java.lang.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>
-
removeValues
public void removeValues()
Description copied from class:Attribute
Remove any existing values, making the attribute empty (zero length).
- Specified by:
removeValues
in classAttribute
-
getVR
public byte[] getVR()
Get the value representation of this attribute (OB).
- Overrides:
getVR
in classAttribute
- 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 classAttribute
- Parameters:
explicit
- true if the Transfer Syntax to be used for encoding is explicit VRlittleEndian
- 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
-
-