loci.formats.in

## Class FlexReader

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

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

      public class FlexReader
      extends FormatReader

  FlexReader is a file format reader for Evotec Flex files.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `FlexReader.FilterGroup` Stores a grouping of filters.
    `(package private) class` | `FlexReader.FlexFile`
    `class` | `FlexReader.FlexHandler` SAX handler for parsing XML.
    `class` | `FlexReader.MeaHandler` SAX handler for parsing XML from .mea files.
    `class` | `FlexReader.ResHandler` SAX handler for parsing XML from .res files.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.util.HashMap<java.lang.Integer,ome.xml.model.primitives.Timestamp>` | `acquisitionDates`
    `static java.lang.String` | `ARCHIVE`
    `private java.util.List<java.lang.String>` | `binnings`
    `private int` | `binX` Camera binning values.
    `private int` | `binY` Camera binning values.
    `private java.util.List<java.lang.String>` | `cameraIDs`
    `private java.util.List<java.lang.String>` | `cameraRefs`
    `private java.lang.String[]` | `channelNames`
    `private java.util.HashMap<java.lang.String,java.lang.String>` | `dichroicMap`
    `private int` | `effectiveFieldCount`
    `private int` | `fieldCount`
    `private java.util.HashMap<java.lang.String,java.lang.String>` | `filterMap`
    `private java.util.HashMap<java.lang.String,FlexReader.FilterGroup>` | `filterSetMap`
    `private java.util.List<java.lang.String>` | `filterSets`
    `static int` | `FLEX` Custom IFD entry for Flex XML.
    `static java.lang.String` | `FLEX_SUFFIX`
    `private java.util.ArrayList<FlexReader.FlexFile>` | `flexFiles`
    `private java.util.HashMap<java.lang.String,java.util.List<java.lang.String>>` | `lightSourceCombinationIDs`
    `private java.util.List<java.lang.String>` | `lightSourceCombinationRefs`
    `private java.util.List<java.lang.String>` | `lightSourceIDs`
    `static java.lang.String` | `MEA_SUFFIX`
    `static java.lang.String[]` | `MEASUREMENT_SUFFIXES`
    `private java.util.List<java.lang.String>` | `measurementFiles`
    `private int` | `nCols`
    `private int` | `nFiles`
    `private int` | `nRows`
    `private java.util.List<java.lang.String>` | `objectiveIDs`
    `private java.util.List<java.lang.String>` | `objectiveRefs`
    `private java.util.ArrayList<java.lang.Double>` | `planeDeltaT`
    `private java.util.ArrayList<java.lang.Double>` | `planeExposureTime`
    `private java.util.ArrayList<ome.units.quantity.Length>` | `planePositionX`
    `private java.util.ArrayList<ome.units.quantity.Length>` | `planePositionY`
    `private java.util.ArrayList<ome.units.quantity.Length>` | `planePositionZ`
    `private java.lang.String` | `plateAcqStartTime`
    `private java.lang.String` | `plateBarcode`
    `private int` | `plateCount`
    `private java.lang.String` | `plateName`
    `static java.lang.String` | `RES_SUFFIX`
    `private java.util.HashMap<java.lang.String,java.lang.String>` | `reverseFileMapping`
    `static java.lang.String` | `SCREENING`
    `private static java.util.HashMap<java.lang.String,java.lang.String[]>` | `serverMap` Mapping from server names stored in the .mea file to actual server names.
    `static java.lang.String[]` | `SUFFIXES`
    `private int` | `wellColumns`
    `private int` | `wellCount`
    `private int[][]` | `wellNumber` Specifies the row and column index into 'flexFiles' for a given well.
    `private int` | `wellRows`
    `private java.util.List<java.lang.Double>` | `xPositions`
    `private java.util.List<java.lang.Double>` | `xSizes`
    `private java.util.List<java.lang.Double>` | `yPositions`
    `private java.util.List<java.lang.Double>` | `ySizes`

    - ### 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
    `FlexReader()` Constructs a new Flex reader.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `appendServerMap(java.lang.String alias, java.lang.String realName)` Add the path 'realName' to the mapping for the server named 'alias'.
    `void` | `close(boolean fileOnly)` Closes the currently open file.
    `int` | `fileGroupOption(java.lang.String id)` Returns an indication of whether the files in a multi-file dataset can be handled individually.
    `private java.lang.String[]` | `findFiles(loci.common.Location baseFile)` Search for files that correspond to the given file.
    `private java.lang.String[]` | `findFiles(loci.common.Location baseFile, java.lang.String[] suffixes)`
    `private int` | `firstWellPlanes()` Returns the number of planes in the first well that has data.
    `private int` | `getField(java.lang.String file)`
    `private loci.common.IRandomAccess` | `getFileHandle(java.lang.String flexFile)`
    `int` | `getOptimalTileHeight()` Returns the optimal sub-image height for use with openBytes.
    `int` | `getOptimalTileWidth()` Returns the optimal sub-image width for use with openBytes.
    `java.lang.String[]` | `getSeriesUsedFiles(boolean noPixels)` Returns an array of filenames needed to open the current series.
    `private int[]` | `getWell(java.lang.String file)` Returns a two-element array containing the well row and well column corresponding to the given file.
    `private void` | `groupFiles(java.lang.String[] fileList, MetadataStore store)`
    `protected void` | `initFile(java.lang.String id)` Initializes the given file (parsing header information, etc.).
    `private void` | `initFlexFile(java.lang.String id)`
    `private void` | `initMeaFile(java.lang.String id)` Initialize the dataset from a .mea file.
    `private void` | `initResFile(java.lang.String id)` Initialize the dataset from a .res file.
    `boolean` | `isSingleFile(java.lang.String id)` Returns true if the named file is expected to be the only file in the dataset.
    `private FlexReader.FlexFile` | `lookupFile(int fileSeries)`
    `private FlexReader.FlexFile` | `lookupFile(int wellRow, int wellColumn, int field)`
    `static void` | `mapServer(java.lang.String alias, java.lang.String realName)` Map the server named 'alias' to the path 'realName'.
    `static void` | `mapServer(java.lang.String alias, java.lang.String[] realNames)` Map the server named 'alias' to the paths in 'realNames'.
    `static void` | `mapServersFromConfigurationFile(java.lang.String configFile)` Read a configuration file with lines of the form: <server alias>=<real server name> and call mapServer(String, String) accordingly.
    `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` | `parseFlexFile(int currentWell, int wellRow, int wellCol, int field, boolean firstFile, MetadataStore store)` Parses XML metadata from the Flex file corresponding to the given well.
    `private void` | `parseResFile(java.lang.String id)`
    `private void` | `populateCoreMetadata(int wellRow, int wellCol, int field, java.util.List<java.lang.String> imageNames)` Populate core metadata using the given list of image names.
    `private void` | `populateMetadataStore(MetadataStore store)`

    - ### 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, flattenHashtables, get16BitLookupTable, get8BitLookupTable, 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, getPixelType, getPixelType, getPossibleDomains, getPulse, getRequiredDirectories, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getThumbSizeX, getThumbSizeY, getTileColumns, getTileRows, getUnderlyingReaders, getUsedFiles, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isThisType, isThisType, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, openThumbBytes, readPlane, readPlane, readPlane, reopenFile, 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

    - #### FLEX

          public static final int FLEX

      Custom IFD entry for Flex XML.
      See Also:
        Constant Field Values

    - #### FLEX_SUFFIX

          public static final java.lang.String FLEX_SUFFIX

      See Also:
        Constant Field Values

    - #### MEA_SUFFIX

          public static final java.lang.String MEA_SUFFIX

      See Also:
        Constant Field Values

    - #### RES_SUFFIX

          public static final java.lang.String RES_SUFFIX

      See Also:
        Constant Field Values

    - #### MEASUREMENT_SUFFIXES

          public static final java.lang.String[] MEASUREMENT_SUFFIXES

    - #### SUFFIXES

          public static final java.lang.String[] SUFFIXES

    - #### SCREENING

          public static final java.lang.String SCREENING

      See Also:
        Constant Field Values

    - #### ARCHIVE

          public static final java.lang.String ARCHIVE

      See Also:
        Constant Field Values

    - #### serverMap

          private static java.util.HashMap<java.lang.String,java.lang.String[]> serverMap

      Mapping from server names stored in the .mea file to actual server names.

    - #### binX

          private int binX

      Camera binning values.

    - #### binY

          private int binY

      Camera binning values.

    - #### plateCount

          private int plateCount

    - #### wellCount

          private int wellCount

    - #### fieldCount

          private int fieldCount

    - #### wellRows

          private int wellRows

    - #### wellColumns

          private int wellColumns

    - #### channelNames

          private java.lang.String[] channelNames

    - #### xPositions

          private java.util.List<java.lang.Double> xPositions

    - #### yPositions

          private java.util.List<java.lang.Double> yPositions

    - #### xSizes

          private java.util.List<java.lang.Double> xSizes

    - #### ySizes

          private java.util.List<java.lang.Double> ySizes

    - #### cameraIDs

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

    - #### objectiveIDs

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

    - #### lightSourceIDs

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

    - #### lightSourceCombinationIDs

          private java.util.HashMap<java.lang.String,java.util.List<java.lang.String>> lightSourceCombinationIDs

    - #### cameraRefs

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

    - #### binnings

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

    - #### objectiveRefs

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

    - #### lightSourceCombinationRefs

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

    - #### filterSets

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

    - #### filterSetMap

          private java.util.HashMap<java.lang.String,FlexReader.FilterGroup> filterSetMap

    - #### acquisitionDates

          private java.util.HashMap<java.lang.Integer,ome.xml.model.primitives.Timestamp> acquisitionDates

    - #### measurementFiles

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

    - #### plateName

          private java.lang.String plateName

    - #### plateBarcode

          private java.lang.String plateBarcode

    - #### nRows

          private int nRows

    - #### nCols

          private int nCols

    - #### plateAcqStartTime

          private java.lang.String plateAcqStartTime

    - #### planePositionX

          private java.util.ArrayList<ome.units.quantity.Length> planePositionX

    - #### planePositionY

          private java.util.ArrayList<ome.units.quantity.Length> planePositionY

    - #### planePositionZ

          private java.util.ArrayList<ome.units.quantity.Length> planePositionZ

    - #### planeExposureTime

          private java.util.ArrayList<java.lang.Double> planeExposureTime

    - #### planeDeltaT

          private java.util.ArrayList<java.lang.Double> planeDeltaT

    - #### flexFiles

          private java.util.ArrayList<FlexReader.FlexFile> flexFiles

    - #### nFiles

          private int nFiles

    - #### effectiveFieldCount

          private int effectiveFieldCount

    - #### reverseFileMapping

          private java.util.HashMap<java.lang.String,java.lang.String> reverseFileMapping

    - #### dichroicMap

          private java.util.HashMap<java.lang.String,java.lang.String> dichroicMap

    - #### filterMap

          private java.util.HashMap<java.lang.String,java.lang.String> filterMap

    - #### wellNumber

          private int[][] wellNumber

      Specifies the row and column index into 'flexFiles' for a given well.

  - ### Constructor Detail

    - #### FlexReader

          public FlexReader()

      Constructs a new Flex reader.

  - ### Method Detail

    - #### fileGroupOption

          public int fileGroupOption(java.lang.String id)
                              throws FormatException,
                                     java.io.IOException

      Description copied from interface: `IFormatReader`
      Returns an indication of whether the files in a multi-file dataset can be handled individually. This method is only useful for formats and datasets which contain multiple files.
      Specified by:
        `fileGroupOption` in interface `IFormatReader`
      Overrides:
        `fileGroupOption` in class `FormatReader`
      Parameters:
        `id` - a file in the multi-file dataset
      Returns:
        an int indicating that we cannot, must, or might group the files. A return value of `FormatTools.MUST_GROUP` indicates that the files cannot be handled separately; the reader will always detect and read all files in the dataset. `FormatTools.CAN_GROUP` indicates that the files may be handled separately, but file grouping must then be disabled via `IFormatReader.setGroupFiles(boolean)`. `FormatTools.CANNOT_GROUP` indicates that the files must be handled separately; the reader will not attempt to read all files in the dataset (this is rare).
      Throws:
        `FormatException`
        `java.io.IOException`
      See Also:
        `FormatTools.MUST_GROUP`, `FormatTools.CAN_GROUP`, `FormatTools.CANNOT_GROUP`

    - #### isSingleFile

          public boolean isSingleFile(java.lang.String id)
                               throws FormatException,
                                      java.io.IOException

      Description copied from interface: `IFormatReader`
      Returns true if the named file is expected to be the only file in the dataset. For single-file formats, always returns true.
      Specified by:
        `isSingleFile` in interface `IFormatReader`
      Overrides:
        `isSingleFile` in class `FormatReader`
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### getSeriesUsedFiles

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

      Description copied from interface: `IFormatReader`
      Returns an array of filenames needed to open the current series. 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:
        `getSeriesUsedFiles` in interface `IFormatReader`
      Overrides:
        `getSeriesUsedFiles` in class `FormatReader`

    - #### getOptimalTileWidth

          public int getOptimalTileWidth()

      Description copied from interface: `IFormatReader`
      Returns the optimal sub-image width for use with openBytes.
      Specified by:
        `getOptimalTileWidth` in interface `IFormatReader`
      Overrides:
        `getOptimalTileWidth` in class `FormatReader`

    - #### getOptimalTileHeight

          public int getOptimalTileHeight()

      Description copied from interface: `IFormatReader`
      Returns the optimal sub-image height for use with openBytes.
      Specified by:
        `getOptimalTileHeight` in interface `IFormatReader`
      Overrides:
        `getOptimalTileHeight` 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`

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

    - #### initResFile

          private void initResFile(java.lang.String id)
                            throws FormatException,
                                   java.io.IOException

      Initialize the dataset from a .res file.
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### initMeaFile

          private void initMeaFile(java.lang.String id)
                            throws FormatException,
                                   java.io.IOException

      Initialize the dataset from a .mea file.
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### initFlexFile

          private void initFlexFile(java.lang.String id)
                             throws FormatException,
                                    java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### populateMetadataStore

          private void populateMetadataStore(MetadataStore store)
                                      throws FormatException

      Throws:
        `FormatException`

    - #### parseResFile

          private void parseResFile(java.lang.String id)
                             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getWell

          private int[] getWell(java.lang.String file)

      Returns a two-element array containing the well row and well column corresponding to the given file.

    - #### getField

          private int getField(java.lang.String file)

    - #### firstWellPlanes

          private int firstWellPlanes()

      Returns the number of planes in the first well that has data. May not be `[0][0]` as the acquisition may have been column or row offset.

    - #### parseFlexFile

          private void parseFlexFile(int currentWell,
                                     int wellRow,
                                     int wellCol,
                                     int field,
                                     boolean firstFile,
                                     MetadataStore store)
                              throws FormatException,
                                     java.io.IOException

      Parses XML metadata from the Flex file corresponding to the given well. If the 'firstFile' flag is set, then the core metadata is also populated.
      Throws:
        `FormatException`
        `java.io.IOException`

    - #### populateCoreMetadata

          private void populateCoreMetadata(int wellRow,
                                            int wellCol,
                                            int field,
                                            java.util.List<java.lang.String> imageNames)
                                     throws FormatException

      Populate core metadata using the given list of image names.
      Throws:
        `FormatException`

    - #### findFiles

          private java.lang.String[] findFiles(loci.common.Location baseFile)
                                        throws java.io.IOException

      Search for files that correspond to the given file. If the given file is a .mea file, then the corresponding files will be .res and .flex files. If the given file is a .flex file, then the corresponding files will be .res and .mea files.
      Throws:
        `java.io.IOException`

    - #### findFiles

          private java.lang.String[] findFiles(loci.common.Location baseFile,
                                               java.lang.String[] suffixes)
                                        throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### groupFiles

          private void groupFiles(java.lang.String[] fileList,
                                  MetadataStore store)
                           throws FormatException,
                                  java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### getFileHandle

          private loci.common.IRandomAccess getFileHandle(java.lang.String flexFile)
                                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### lookupFile

          private FlexReader.FlexFile lookupFile(int wellRow,
                                                 int wellColumn,
                                                 int field)

    - #### lookupFile

          private FlexReader.FlexFile lookupFile(int fileSeries)

    - #### appendServerMap

          public static void appendServerMap(java.lang.String alias,
                                             java.lang.String realName)
                                      throws FormatException

      Add the path 'realName' to the mapping for the server named 'alias'.
      Throws:
        `FormatException` - if 'realName' does not exist

    - #### mapServer

          public static void mapServer(java.lang.String alias,
                                       java.lang.String realName)

      Map the server named 'alias' to the path 'realName'. If other paths were mapped to 'alias', they will be overwritten.

    - #### mapServer

          public static void mapServer(java.lang.String alias,
                                       java.lang.String[] realNames)

      Map the server named 'alias' to the paths in 'realNames'. If other paths were mapped to 'alias', they will be overwritten.

    - #### mapServersFromConfigurationFile

          public static void mapServersFromConfigurationFile(java.lang.String configFile)
                                                      throws FormatException,
                                                             java.io.IOException

      Read a configuration file with lines of the form: <server alias>=<real server name> and call mapServer(String, String) accordingly.
      Throws:
        `FormatException` - if configFile does not exist.
        `java.io.IOException`
      See Also:
        `mapServer(String, String)`

Copyright © 2026 Open Microscopy Environment