Class OtherWordAttributeMultipleFilesOnDisk
A concrete class specializing Attribute for
Other Word (OW) attributes whose values are not memory resident but rather are stored in multiple files on disk.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected long[]protected booleanprotected File[]protected long[]Fields inherited from class com.pixelmed.dicom.Attribute
valueLength, valueMultiplicity -
Constructor Summary
ConstructorsConstructorDescriptionOtherWordAttributeMultipleFilesOnDisk(AttributeTag t, boolean bigEndian) Construct an (empty) attribute.OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, boolean bigEndian) Read an attribute from a set of files.OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, long[] byteOffsets, long[] lengths, boolean bigEndian) Read an attribute from a set of files.OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, boolean bigEndian) Read an attribute from a set of files.OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, long[] byteOffsets, long[] lengths, boolean bigEndian) Read an attribute from a set of files. -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voidfinalize()long[]File[]getFiles()long[]longGet the value length of this attribute, accounting for the need for even-length padding.short[]Get the values of this attribute as a short array.short[][]Get the values of this attribute as multiple short arrays, one per frame.byte[]getVR()Get the value representation of this attribute (OW).voidRemove any existing values, making the attribute empty (zero length).voidtoString(DicomDictionary dictionary) Dump the contents of the attribute as a human-readable string.voidWrite 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, 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 Details
-
files
-
byteOffsets
protected long[] byteOffsets -
lengths
protected long[] lengths -
deleteFilesWhenNoLongerNeeded
protected boolean deleteFilesWhenNoLongerNeeded -
bigEndian
protected boolean bigEndian
-
-
Constructor Details
-
OtherWordAttributeMultipleFilesOnDisk
Construct an (empty) attribute.
Any file set later will be expected to be little endian.- Parameters:
t- the tag of the attributebigEndian- big endian, false if little endian
-
OtherWordAttributeMultipleFilesOnDisk
public OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, long[] byteOffsets, long[] lengths, boolean bigEndian) throws IOException, DicomException Read an attribute from a set of files.
- Parameters:
t- the tag of the attributefiles- the input filesbyteOffsets- the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all fileslengths- the lengths in the files from the the start of the data, one entry for each file, or null if the remaining file length after the byteOffset, if any- Throws:
IOExceptionDicomException
-
OtherWordAttributeMultipleFilesOnDisk
public OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, long[] byteOffsets, long[] lengths, boolean bigEndian) throws IOException, DicomException Read an attribute from a set of files.
- Parameters:
t- the tag of the attributefileNames- the input filesbyteOffsets- the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all fileslengths- the lengths in the files from the the start of the data, one entry for each file, or null if the remaining file length after the byteOffset, if any- Throws:
IOExceptionDicomException
-
OtherWordAttributeMultipleFilesOnDisk
public OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, File[] files, boolean bigEndian) throws IOException, DicomException Read an attribute from a set of files.
- Parameters:
t- the tag of the attributefiles- the input files- Throws:
IOExceptionDicomException
-
OtherWordAttributeMultipleFilesOnDisk
public OtherWordAttributeMultipleFilesOnDisk(AttributeTag t, String[] fileNames, boolean bigEndian) throws IOException, DicomException Read an attribute from a set of files.
- Parameters:
t- the tag of the attributefileNames- the input files- Throws:
IOExceptionDicomException
-
-
Method Details
-
getFiles
- Returns:
- the files containing the data
-
getByteOffsets
public long[] getByteOffsets()- Returns:
- the per-file byte offsets to the frame data
-
getLengths
public long[] getLengths()- Returns:
- the per-file lengths of the data for each frame (after the byte offset) in bytes
-
setFiles
- Parameters:
files- the input filesbyteOffsets- the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all fileslengths- the lengths in the files from the the start of the data, one entry for each file, or null if the remaining file length after the byteOffset, if any- Throws:
IOException
-
getPaddedVL
public long getPaddedVL()Description copied from class:AttributeGet the value length of this attribute, accounting for the need for even-length padding.
- Overrides:
getPaddedVLin classAttribute- Returns:
- the value length (padded to an even length)
-
write
Description copied from class:AttributeWrite the entire attribute (including values) to the output stream.
- Specified by:
writein classAttribute- Parameters:
o-- Throws:
IOExceptionDicomException
-
toString
Description copied from class:AttributeDump 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>
-
getShortValues
Get the values of this attribute as a short array.
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
MappedByteBufferfrom the file, or more likely is not even aware that the attribute values have been left on disk.- Overrides:
getShortValuesin classAttribute- Returns:
- the values as an array of bytes
- Throws:
DicomException- thrown if values cannot be read
-
getShortValuesPerFrame
Get the values of this attribute as multiple short 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 short 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
MappedByteBufferfrom 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 shorts
- Throws:
DicomException- thrown if values cannot be read
-
removeValues
public void removeValues()Description copied from class:AttributeRemove any existing values, making the attribute empty (zero length).
- Specified by:
removeValuesin classAttribute
-
deleteFilesWhenNoLongerNeeded
public void deleteFilesWhenNoLongerNeeded() -
finalize
- Throws:
Throwable
-
getVR
public byte[] getVR()Get the value representation of this attribute (OW).
- Overrides:
getVRin classAttribute- Returns:
- 'O','W' in ASCII as a two byte array; see
ValueRepresentation
-