loci.formats.in

## Class BDVReader

- java.lang.Object
- - loci.formats.FormatHandler
  - - loci.formats.FormatReader
    - - loci.formats.in.BDVReader

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, ICompressedTileReader, IFormatHandler, IFormatReader, IMetadataConfigurable, IPyramidHandler

      public class BDVReader
      extends FormatReader

  Reader for BDV files.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `BDVReader.BDVXMLHandler`
    `private class` | `BDVReader.H5Constants`
    `private class` | `BDVReader.H5Coordinate`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private ch.systemsx.cisd.hdf5.HDF5CompoundDataMap[]` | `bbox`
    `static java.lang.String` | `BDV_MAGIC_STRING`
    `private java.lang.String` | `bdvxml`
    `private java.util.List<java.lang.String>` | `cellObjectNames`
    `private java.util.List<java.lang.Integer>` | `channelIndexes`
    `private ch.systemsx.cisd.hdf5.HDF5CompoundDataMap[]` | `classes`
    `private int[][]` | `COLORS`
    `private java.lang.Integer` | `firstTimepoint`
    `private java.lang.String` | `h5Id`
    `private java.util.List<java.lang.String>` | `H5PathsToImageData`
    `private java.util.List<BDVReader.H5Coordinate>` | `H5PositionList`
    `static java.lang.String` | `HDF_MAGIC_STRING`
    `private JHDFService` | `jhdf`
    `private int` | `lastChannel`
    `private java.lang.Integer` | `lastTimepoint`
    `private int` | `seriesCount`
    `private java.util.HashMap<java.lang.Integer,java.util.HashMap<java.lang.String,java.lang.String>>` | `setupAttributeList`
    `private java.util.HashMap<java.lang.Integer,java.lang.Integer>` | `setupResolutionCounts`
    `private java.util.HashMap<java.lang.Integer,java.util.ArrayList<ome.units.quantity.Length>>` | `setupVoxelSizes`
    `private int` | `sizeC`
    `private MetadataStore` | `store`
    `private java.lang.Integer` | `timepointIncrement`
    `private boolean` | `timepointUsePattern`
    `private ch.systemsx.cisd.hdf5.HDF5CompoundDataMap[]` | `times`

    - ### Fields inherited from class loci.formats.FormatReader

      `core, coreIndex, datasetDescription, domains, fillColor, filterMetadata, flattenedResolutions, group, hasCompanionFiles, in, indexedAsRGB, metadata, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSION`

    - ### Fields inherited from class loci.formats.FormatHandler

      `COMPRESSION_SUFFIXES, currentId, format, LOGGER, metadataOptions, suffixes`

    - ### Fields inherited from interface loci.formats.IFormatReader

      `CAN_GROUP, CANNOT_GROUP, MUST_GROUP`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BDVReader()` Constructs a new BDV reader.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close(boolean fileOnly)` Closes the currently open file.
    `private java.lang.String` | `fetchXMLId()`
    `byte[][]` | `get8BitLookupTable()` Gets the 8-bit color lookup table associated with the most recently opened image.
    `private int` | `getChannelIndexOfCellObjectName(java.lang.String cellObjectName)`
    `private java.lang.Object` | `getImageData(int no, int x, int y, int width, int height)`
    `java.lang.String[]` | `getUsedFiles(boolean noPixels)` Returns an array of filenames needed to open this dataset.
    `private static ome.xml.model.primitives.Color` | `hex2Rgb(java.lang.String colorStr)`
    `protected void` | `initFile(java.lang.String id)` Initializes the given file (parsing header information, etc.).
    `private void` | `initializeJHDFService(java.lang.String id)`
    `boolean` | `isThisType(loci.common.RandomAccessInputStream stream)` Checks if the given stream is a valid stream for this file format.
    `boolean` | `isThisType(java.lang.String name, boolean open)` Checks if a file matches the type of this format reader.
    `byte[]` | `openBytes(int no, byte[] buf, int x, int y, int w, int h)` Obtains a sub-image of the specified image plane into a pre-allocated byte array.
    `private void` | `parseROIs(int s)`
    `private void` | `parseStructure()`
    `void` | `reopenFile()` Reopen any files that were closed, and which are expected to be open while the reader is open.

    - ### Methods inherited from class loci.formats.FormatReader

      `addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMetaList, addMeta, addMetaList, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMetaList, close, coreIndexToSeries, fileGroupOption, flattenHashtables, get16BitLookupTable, getAcquisitionMode, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getArcType, getAvailableOptions, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCoreIndex, getCoreMetadataList, getCorrection, getCurrentCore, getCurrentFile, getDatasetStructureDescription, getDetectorType, getDimensionOrder, getDimensionOrder, getDomains, getEffectiveSizeC, getExperimentType, getFilamentType, getFillColor, getFillRule, getFilterType, getFontFamily, getFontStyle, getGlobalMeta, getGlobalMetadata, getIlluminationType, getImageCount, getImmersion, getIndex, getIndex, getLaserMedium, getLaserType, getMarker, getMedium, getMetadataStore, getMetadataStoreRoot, getMetadataValue, getMicrobeamManipulationType, getMicroscopeType, getModuloC, getModuloT, getModuloZ, getNamingConvention, getOptimalTileHeight, getOptimalTileWidth, getPixelType, getPixelType, getPossibleDomains, getPulse, getRequiredDirectories, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getThumbSizeX, getThumbSizeY, getTileColumns, getTileRows, getUnderlyingReaders, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isSingleFile, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, openThumbBytes, readPlane, readPlane, readPlane, seriesToCoreIndex, setCoreIndex, setFillColor, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries, updateMetadataLists`

    - ### Methods inherited from class loci.formats.FormatHandler

      `checkSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptions`

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

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

    - ### Methods inherited from interface loci.formats.IFormatHandler

      `getFormat, getNativeDataType, getSuffixes`

    - ### Methods inherited from interface loci.formats.IMetadataConfigurable

      `getMetadataOptions, getSupportedMetadataLevels, setMetadataOptions`

    - ### Methods inherited from interface loci.formats.ICompressedTileReader

      `getTileCodec, getTileCodecOptions, openCompressedBytes, openCompressedBytes`

- - ### Field Detail

    - #### HDF_MAGIC_STRING

          public static final java.lang.String HDF_MAGIC_STRING

      See Also:
        Constant Field Values

    - #### BDV_MAGIC_STRING

          public static final java.lang.String BDV_MAGIC_STRING

      See Also:
        Constant Field Values

    - #### COLORS

          private final int[][] COLORS

    - #### store

          private MetadataStore store

    - #### bdvxml

          private java.lang.String bdvxml

    - #### h5Id

          private java.lang.String h5Id

    - #### sizeC

          private int sizeC

    - #### timepointUsePattern

          private boolean timepointUsePattern

    - #### firstTimepoint

          private java.lang.Integer firstTimepoint

    - #### lastTimepoint

          private java.lang.Integer lastTimepoint

    - #### timepointIncrement

          private java.lang.Integer timepointIncrement

    - #### seriesCount

          private int seriesCount

    - #### jhdf

          private transient JHDFService jhdf

    - #### lastChannel

          private int lastChannel

    - #### H5PositionList

          private java.util.List<BDVReader.H5Coordinate> H5PositionList

    - #### H5PathsToImageData

          private java.util.List<java.lang.String> H5PathsToImageData

    - #### cellObjectNames

          private java.util.List<java.lang.String> cellObjectNames

    - #### channelIndexes

          private java.util.List<java.lang.Integer> channelIndexes

    - #### setupAttributeList

          private java.util.HashMap<java.lang.Integer,java.util.HashMap<java.lang.String,java.lang.String>> setupAttributeList

    - #### setupVoxelSizes

          private java.util.HashMap<java.lang.Integer,java.util.ArrayList<ome.units.quantity.Length>> setupVoxelSizes

    - #### setupResolutionCounts

          private java.util.HashMap<java.lang.Integer,java.lang.Integer> setupResolutionCounts

    - #### times

          private ch.systemsx.cisd.hdf5.HDF5CompoundDataMap[] times

    - #### classes

          private ch.systemsx.cisd.hdf5.HDF5CompoundDataMap[] classes

    - #### bbox

          private ch.systemsx.cisd.hdf5.HDF5CompoundDataMap[] bbox

  - ### Constructor Detail

    - #### BDVReader

          public BDVReader()

      Constructs a new BDV reader.

  - ### Method Detail

    - #### initFile

          protected void initFile(java.lang.String id)
                           throws FormatException,
                                  java.io.IOException

      Description copied from class: `FormatReader`
      Initializes the given file (parsing header information, etc.). Most subclasses should override this method to perform initialization operations such as parsing metadata.
      Overrides:
        `initFile` in class `FormatReader`
      Throws:
        `FormatException` - if a parsing error occurs processing the file.
        `java.io.IOException` - if an I/O error occurs processing the file

    - #### fetchXMLId

          private java.lang.String fetchXMLId()
                                       throws FormatException

      Throws:
        `FormatException`

    - #### getUsedFiles

          public java.lang.String[] getUsedFiles(boolean noPixels)

      Description copied from interface: `IFormatReader`
      Returns an array of filenames needed to open this dataset. If the 'noPixels' flag is set, then only files that do not contain pixel data will be returned. The first element in the array is expected to be the path passed to `IFormatHandler.setId(String)`, if appropriate based upon 'noPixels'. The remaining elements are expected to be in a consistent order; if a directory listing is necessary to build the list then it should be sorted first.
      Specified by:
        `getUsedFiles` in interface `IFormatReader`
      Overrides:
        `getUsedFiles` in class `FormatReader`

    - #### isThisType

          public boolean isThisType(java.lang.String name,
                                    boolean open)

      Description copied from class: `FormatReader`
      Checks if a file matches the type of this format reader. Checks filename suffixes against those known for this format. If the suffix check is inconclusive and the open parameter is true, the file is opened and tested with `FormatReader.isThisType(RandomAccessInputStream)`.
      Specified by:
        `isThisType` in interface `IFormatReader`
      Overrides:
        `isThisType` in class `FormatReader`
        `open` - If true, and the file extension is insufficient to determine the file type, the (existing) file is opened for further analysis.

    - #### isThisType

          public boolean isThisType(loci.common.RandomAccessInputStream stream)
                             throws java.io.IOException

      Description copied from interface: `IFormatReader`
      Checks if the given stream is a valid stream for this file format. The number of bytes read is format-dependent.
      Specified by:
        `isThisType` in interface `IFormatReader`
      Overrides:
        `isThisType` in class `FormatReader`
      Parameters:
        `stream` - A RandomAccessInputStream representing the file to check. The first byte in the stream is assumed to be the first byte in the file.
      Returns:
        true if the file represented by the stream can be read by this reader; false otherwise.
      Throws:
        `java.io.IOException`

    - #### get8BitLookupTable

          public byte[][] get8BitLookupTable()

      Description copied from interface: `IFormatReader`
      Gets the 8-bit color lookup table associated with the most recently opened image. If no image planes have been opened, or if `IFormatReader.isIndexed()` returns false, then this may return null. Also, if `IFormatReader.getPixelType()` returns anything other than `FormatTools.INT8` or `FormatTools.UINT8`, this method will return null.
      Specified by:
        `get8BitLookupTable` in interface `IFormatReader`
      Overrides:
        `get8BitLookupTable` in class `FormatReader`

    - #### openBytes

          public byte[] openBytes(int no,
                                  byte[] buf,
                                  int x,
                                  int y,
                                  int w,
                                  int h)
                           throws FormatException,
                                  java.io.IOException

      Description copied from interface: `IFormatReader`
      Obtains a sub-image of the specified image plane into a pre-allocated byte array.
      Specified by:
        `openBytes` in interface `IFormatReader`
      Specified by:
        `openBytes` in class `FormatReader`
      Parameters:
        `no` - the plane index within the current series.
        `buf` - a pre-allocated buffer.
        `x` - X coordinate of the upper-left corner of the sub-image
        `y` - Y coordinate of the upper-left corner of the sub-image
        `w` - width of the sub-image
        `h` - height of the sub-image
      Returns:
        the pre-allocated buffer `buf` for convenience.
      Throws:
        `FormatException` - if there was a problem parsing the metadata of the file.
        `java.io.IOException` - if there was a problem reading the file.
      See Also:
        `IFormatReader.openBytes(int, byte[], int, int, int, int)`

    - #### close

          public void close(boolean fileOnly)
                     throws java.io.IOException

      Description copied from interface: `IFormatReader`
      Closes the currently open file. If the flag is set, this is all that happens; if unset, it is equivalent to calling `Closeable.close()`.
      Specified by:
        `close` in interface `IFormatReader`
      Overrides:
        `close` in class `FormatReader`
      Throws:
        `java.io.IOException`

    - #### reopenFile

          public void reopenFile()
                          throws java.io.IOException

      Description copied from interface: `IFormatReader`
      Reopen any files that were closed, and which are expected to be open while the reader is open. This assumes that `IFormatHandler.setId(java.lang.String)` has been called, but close(false) has not been called.
      Specified by:
        `reopenFile` in interface `IFormatReader`
      Overrides:
        `reopenFile` in class `FormatReader`
      Throws:
        `java.io.IOException`

    - #### initializeJHDFService

          private void initializeJHDFService(java.lang.String id)
                                      throws java.io.IOException,
                                             MissingLibraryException

      Throws:
        `java.io.IOException`
        `MissingLibraryException`

    - #### getImageData

          private java.lang.Object getImageData(int no,
                                                int x,
                                                int y,
                                                int width,
                                                int height)
                                         throws FormatException

      Throws:
        `FormatException`

    - #### parseStructure

          private void parseStructure()
                               throws FormatException

      Throws:
        `FormatException`

    - #### getChannelIndexOfCellObjectName

          private int getChannelIndexOfCellObjectName(java.lang.String cellObjectName)

    - #### hex2Rgb

          private static ome.xml.model.primitives.Color hex2Rgb(java.lang.String colorStr)

    - #### parseROIs

          private void parseROIs(int s)

Copyright © 2026 Open Microscopy Environment