Class OtherFloatAttributeMultipleFilesOnDisk


  • public class OtherFloatAttributeMultipleFilesOnDisk
    extends Attribute

    A concrete class specializing Attribute for Other Float (OF) attributes whose values are not memory resident but rather are stored in multiple files on disk.

    See Also:
    Attribute, AttributeFactory, AttributeList
    • Field Detail

      • files

        protected java.io.File[] files
      • byteOffsets

        protected long[] byteOffsets
      • lengths

        protected long[] lengths
      • deleteFilesWhenNoLongerNeeded

        protected boolean deleteFilesWhenNoLongerNeeded
      • bigEndian

        protected boolean bigEndian
    • Constructor Detail

      • OtherFloatAttributeMultipleFilesOnDisk

        public OtherFloatAttributeMultipleFilesOnDisk​(AttributeTag t,
                                                      boolean bigEndian)

        Construct an (empty) attribute.

        Any file set later will be expected to be little endian.
        Parameters:
        t - the tag of the attribute
        bigEndian - big endian, false if little endian
      • OtherFloatAttributeMultipleFilesOnDisk

        public OtherFloatAttributeMultipleFilesOnDisk​(AttributeTag t,
                                                      java.io.File[] files,
                                                      long[] byteOffsets,
                                                      long[] lengths,
                                                      boolean bigEndian)
                                               throws java.io.IOException,
                                                      DicomException

        Read an attribute from a set of files.

        Parameters:
        t - the tag of the attribute
        files - the input files
        byteOffsets - the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all files
        lengths - 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:
        java.io.IOException
        DicomException
      • OtherFloatAttributeMultipleFilesOnDisk

        public OtherFloatAttributeMultipleFilesOnDisk​(AttributeTag t,
                                                      java.lang.String[] fileNames,
                                                      long[] byteOffsets,
                                                      long[] lengths,
                                                      boolean bigEndian)
                                               throws java.io.IOException,
                                                      DicomException

        Read an attribute from a set of files.

        Parameters:
        t - the tag of the attribute
        fileNames - the input files
        byteOffsets - the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all files
        lengths - 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:
        java.io.IOException
        DicomException
      • OtherFloatAttributeMultipleFilesOnDisk

        public OtherFloatAttributeMultipleFilesOnDisk​(AttributeTag t,
                                                      java.io.File[] files,
                                                      boolean bigEndian)
                                               throws java.io.IOException,
                                                      DicomException

        Read an attribute from a set of files.

        Parameters:
        t - the tag of the attribute
        files - the input files
        Throws:
        java.io.IOException
        DicomException
      • OtherFloatAttributeMultipleFilesOnDisk

        public OtherFloatAttributeMultipleFilesOnDisk​(AttributeTag t,
                                                      java.lang.String[] fileNames,
                                                      boolean bigEndian)
                                               throws java.io.IOException,
                                                      DicomException

        Read an attribute from a set of files.

        Parameters:
        t - the tag of the attribute
        fileNames - the input files
        Throws:
        java.io.IOException
        DicomException
    • Method Detail

      • getFiles

        public java.io.File[] 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

        public void setFiles​(java.io.File[] files,
                             long[] byteOffsets,
                             long[] lengths)
                      throws java.io.IOException
        Parameters:
        files - the input files
        byteOffsets - the byte offsets in the files of the start of the data, one entry for each file, or null if 0 for all files
        lengths - 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:
        java.io.IOException
      • 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)
      • 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>
         
        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
      • deleteFilesWhenNoLongerNeeded

        public void deleteFilesWhenNoLongerNeeded()
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • getVR

        public byte[] getVR()

        Get the value representation of this attribute (OF).

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