Bio-Formats Documentation

The following documentation is split into four parts. About Bio-Formats explains the goal of the software, discusses how it processes metadata, and provides other useful information such as version history and how to report bugs. User Information focuses on how to use Bio-Formats as a plugin for ImageJ and Fiji, and also gives details of other software packages which can use Bio-Formats to read and write microscopy formats. Developer Documentation covers more indepth information on using Bio-Formats as a Java library and how to interface from non-Java codes. Finally, Formats is a guide to all the file formats currently supported by Bio-Formats.

Bio-Formats 7.3.0 requires Java 8 or above and uses the June 2016 release of the OME Model.

Bio-Formats is a community project and we welcome your input. You can find guidance on Reporting a bug and contact us via the forums. Further information about how the OME team works and how you can contribute to our projects is in the Contributing Developer Documentation.

About Bio-Formats

Bio-Formats is a standalone Java library for reading and writing life sciences image file formats. It is capable of parsing both pixels and metadata for a large number of formats, as well as writing to several formats.

The primary goal of Bio-Formats is to facilitate the exchange of microscopy data between different software packages and organizations. It achieves this by converting proprietary microscopy data into an open standard called the OME data model, particularly into the OME-TIFF file format.

We believe the standardization of microscopy metadata to a common structure is of vital importance to the community. You may find LOCI’s article on open source software in science of interest.

Help

There is a guide for reporting bugs here.

For help relating to opening images in ImageJ or FIJI or when using the command line tools, refer to the users documentation. You can also find tips on common issues with specific formats on the pages linked from the supported formats table.

Please contact us if you have any questions or problems with Bio-Formats not addressed by referring to the documentation.

Other places where questions are commonly asked and/or bugs are reported include:

Bio-Formats versions

Since Bio-Formats 5.1.3, Bio-Formats is decoupled from OMERO with its own release schedule rather than being updated whenever a new version of OMERO is released. This change allows for more frequent releases to get fixes out to the community faster. See the version history for a list of changes in each release.

Versioning policy

The following set of rules describe the current versioning policy using RFC 2119.

The Bio-Formats API follows strict semantic versioning since Bio-Formats 5.4.0 i.e.:

  • The version number MUST take the form X.Y.Z where X, Y, and Z are non-negative integers, and MUST NOT contain leading zeroes. X is the major version, Y is the minor version and Z is the patch version.

  • The patch version Z MUST be incremented if only backwards-compatible bug fixes are introduced. A bug fix is defined as an internal change that fixes incorrect behavior.

  • The minor version Y MUST be incremented if new, backwards-compatible functionality is introduced to the public API.

  • The major version X MUST be incremented when backwards-incompatible changes are introduced to the public API.

  • Either the minor version or the major version MUST be incremented if the version of a non-OME/external dependency is updated.

Serialization functionality was implemented as a ReaderWrapper called Memoizer in Bio-Formats 5.0.0 and is exposed to the community via a public API. Since Bio-Format 5.4.0,:

  • The minor version Y MUST be incremented if changes are introduced that are not backwards compatible with regard to serialization.

  • Serialized memo files written with a previous minor version MAY not be readable by later versions and MAY need to be rewritten.

  • Consumers with code relying on Bio-Formats caching stability SHOULD not upgrade the minor version of Bio-Formats version for now.

For format reader fixes and additions, the policy should read as follows:

  • The minor version Y MUST be incremented when a new file format reader is introduced.

  • The minor version Y MUST be incremented when a non backwards-compatible format bug fix is introduced, e.g. a fix that modifies the core metadata of existing files.

  • The patch version Z MUST be incremented if only backwards-compatible format bug fixes are introduced.

See this GitHub issue for further details.

Why Java?

From a practical perspective, Bio-Formats is written in Java because it is cross-platform and widely used, with a vast array of libraries for handling common programming tasks. Java is one of the easiest languages from which to deploy cross-platform software. In contrast to C++, which has a large number of complex platform issues to consider, and Python, which leans heavily on C and C++ for many of its components (e.g., NumPy and SciPy), Java code is compiled one time into platform-independent byte code, which can be deployed as is to all supported platforms. And despite this enormous flexibility, Java manages to provide time performance nearly equal to C++, often better in the case of I/O operations (see further discussion on the comparative speed of Java on the LOCI site).

There are also historical reasons associated with the fact that the project grew out of work on the VisAD Java component library. You can read more about the origins of Bio-Formats on the LOCI Bio-Formats homepage.

Bio-Formats metadata processing

Pixels in microscopy are almost always very straightforward, stored on evenly spaced rectangular grids. It is the metadata (details about the acquisition, experiment, user, and other information) that can be complex. Using the OME data model enables applications to support a single metadata format, rather than the multitude of proprietary formats available today.

Every file format has a distinct set of metadata, stored differently. Bio-Formats processes and converts each format’s metadata structures into a standard form called the OME data model, according to the OME-XML specification. We have defined an open exchange format called OME-TIFF that stores its metadata as OME-XML. Any software package that supports OME-TIFF is also compatible with the dozens of formats listed on the Bio-Formats page, because Bio-Formats can convert your files to OME-TIFF format.

To facilitate support of OME-XML, we have created a library in Java for reading and writing OME-XML metadata.

There are three types of metadata in Bio-Formats, which we call core metadata, original metadata, and OME metadata.

  1. Core metadata only includes things necessary to understand the basic structure of the pixels: image resolution; number of focal planes, time points, channels, and other dimensional axes; byte order; dimension order; color arrangement (RGB, indexed color or separate channels); and thumbnail resolution.

  2. Original metadata is information specific to a particular file format. These fields are key/value pairs in the original format, with no guarantee of cross-format naming consistency or compatibility. Nomenclature often differs between formats, as each vendor is free to use their own terminology.

  3. OME metadata is information from #1 and #2 converted by Bio-Formats into the OME data model. Performing this conversion is the primary purpose of Bio-Formats. Bio-Formats uses its ability to convert proprietary metadata into OME-XML as part of its integration with the OME and OMERO servers— essentially, they are able to populate their databases in a structured way because Bio-Formats sorts the metadata into the proper places. This conversion is nowhere near complete or bug free, but we are constantly working to improve it. We would greatly appreciate any and all input from users concerning missing or improperly converted metadata fields.

User Information

Using Bio-Formats with ImageJ and Fiji

The following sections explain the features of Bio-Formats and how to use it within ImageJ and Fiji:

ImageJ overview

ImageJ is an image processing and analysis application written in Java, widely used in the life sciences fields, with an extensible plugin infrastructure. You can use Bio-Formats as a plugin for ImageJ to read and write images in the formats it supports.

Installation

Download bioformats_package.jar and drop it into your ImageJ/plugins folder. Next time you run ImageJ, a new Bio-Formats submenu with several plugins will appear in the Plugins menu, including the Bio-Formats Importer and Bio-Formats Exporter.

Usage

The Bio-Formats Importer plugin can display image stacks in several ways:

  • In a standard ImageJ window (including as a hyperstack)

  • With Joachim Walter’s Image5D plugin (if installed)

  • With Rainer Heintzmann’s View5D plugin (if installed)

ImageJ v1.37 and later automatically (via HandleExtraFileTypes) calls the Bio-Formats logic, if installed, as needed when a file is opened within ImageJ, i.e. when using File ‣ Open instead of explicitly choosing Plugins ‣ Bio-Formats ‣ Bio-Formats Importer from the menu.

For a more detailed description of each plugin, see the Bio-Formats page of the ImageJ wiki.

Upgrading

To upgrade, just overwrite the old bioformats_package.jar with the latest one.

You can also upgrade the Bio-Formats plugin directly from ImageJ. Select Plugins ‣ Bio-Formats ‣ Update Bio-Formats Plugins from the ImageJ menu, then select which release you would like to use. You will then need to restart ImageJ to complete the upgrade process.

Macros and plugins

Bio-Formats is fully scriptable in a macro, and callable from a plugin. To use in a macro, use the Macro Recorder to record a call to the Bio-Formats Importer with the desired options. You can also perform more targeted metadata queries using the Bio-Formats macro extensions.

Here are some example ImageJ macros and plugins that use Bio-Formats to get you started:

basicMetadata.txt - A macro that uses the Bio-Formats macro extensions to print the chosen file’s basic dimensional parameters to the Log.

planeTimings.txt - A macro that uses the Bio-Formats macro extensions to print the chosen file’s plane timings to the Log.

recursiveTiffConvert.txt - A macro for recursively converting files to TIFF using Bio-Formats.

bfOpenAsHyperstack.txt - This macro from Wayne Rasband opens a file as a hyperstack using only the Bio-Formats macro extensions (without calling the Bio-Formats Importer plugin).

zvi2HyperStack.txt - This macro from Sebastien Huart reads in a ZVI file using Bio-Formats, synthesizes the LUT using emission wavelength metadata, and displays the result as a hyperstack.

dvSplitTimePoints.txt - This macro from Sebastien Huart splits timepoints/channels on all DV files in a folder.

batchTiffConvert.txt - This macro converts all files in a directory to TIFF using the Bio-Formats macro extensions.

Read_Image - A simple plugin that demonstrates how to use Bio-Formats to read files into ImageJ.

Mass_Importer - A simple plugin that demonstrates how to open all image files in a directory using Bio-Formats, grouping files with similar names to avoiding opening the same dataset more than once.

Usage tips
  • “How do I make the options window go away?” is a common question. There are a few ways to do this:

    • To disable the options window only for files in a specific format, select Plugins > Bio-Formats > Bio-Formats Plugins Configuration, then pick the format from the list and make sure the “Windowless” option is checked.

    • To avoid the options window entirely, use the Plugins > Bio-Formats > Bio-Formats Windowless Importer menu item to import files.

    • Open files by calling the Bio-Formats importer plugin from a macro.

  • A common cause of problems having multiple copies of bioformats_package.jar in you ImageJ plugins folder, or a copy of bioformats_package.jar and a copy of formats-gpl.jar. It is often difficult to determine for sure that this is the problem - the only error message that pretty much guarantees it is a NoSuchMethodException. If you downloaded the latest version and whatever error message or odd behavior you are seeing has been reported as fixed, it is worth removing all copies of bioformats_package.jar (or any other Bio-Formats jars) and download a fresh version.

  • The Bio-Formats Exporter plugin’s file chooser will automatically add the first listed file extension to the file name if a specific file format is selected in the Files of Type box (e.g. .ome.tif for OME-TIFF). This can prevent BigTIFF and OME BigTIFF files from being created, as the .btf or .ome.btf file extension will be overwritten. To ensure that the desired extension is used, select All files or All supported file types in the Files of type box, as an extension will not be automatically added in those cases.

  • Saving an open image using Bio-Formats must be done via Plugins > Bio-Formats > Bio-Formats Exporter or the corresponding macro code. File > Save and File > Save As… do not use Bio-Formats. In particular, using File > Save As… to save a TIFF will result in an ImageJ-specific TIFF being written. While Bio-Formats can read ImageJ TIFFs, other software may not; see TIFF (Tagged Image File Format) for additional information.

Fiji overview

Fiji is an image processing package. It can be described as a distribution of ImageJ together with Java, Java 3D and a lot of plugins organized into a coherent menu structure. Fiji compares to ImageJ as Ubuntu compares to Linux.

Fiji works with Bio-Formats out of the box, because it comes bundled with the Bio-Formats ImageJ plugins.

The Fiji documentation has been combined with the ImageJ wiki; for further details on Bio-Formats in Fiji, see the Bio-Formats ImageJ page.

Upgrading

Upgrading Bio-Formats within Fiji is as simple as invoking the “Update Fiji” command from the Help menu. By default, Fiji even automatically checks for updates every time it is launched, so you will always be notified when new versions of Bio-Formats (or any other bundled plugin) are available.

Manual upgrade

Manually updating your Fiji installation should not be necessary but if you need to do so, the steps are detailed below. Note that although we assume you will be upgrading to the latest release version, all previous versions of Bio-Formats are available from http://downloads.openmicroscopy.org/bio-formats/ so you can revert to an earlier version using this guide if you need to.

  1. Fiji must first be fully updated

  2. Close Fiji

  3. Open the Fiji installation folder (typically named ‘Fiji.app’)

  4. Remove bio-formats_plugins.jar from the ‘plugins’ sub-folder

  5. Remove all of the .jars from the ‘jars/bio-formats’ sub-folder:

    • ome-jai.jar

    • formats-gpl.jar

    • ome-common.jar

    • turbojpeg.jar

    • ome-xml.jar

    • formats-bsd.jar

    • ome-poi.jar

    • specification.jar

    • mdbtools-java.jar

    • metakit.jar

    • formats-api.jar

  6. Download bio-formats_plugins.jar (from the latest release http://downloads.openmicroscopy.org/bio-formats/) and place it in the ‘plugins’ sub-folder

  7. Download each of the following (from the latest release http://downloads.openmicroscopy.org/bio-formats/) and place them in the ‘jars/bio-formats’ sub-folder:

    • ome-jai.jar

    • formats-gpl.jar

    • ome-common.jar

    • turbojpeg.jar

    • ome-xml.jar

    • formats-bsd.jar

    • ome-poi.jar

    • specification.jar

    • mdbtools-java.jar

    • metakit.jar

    • formats-api.jar

  8. To Check Version of Bio-Formats Select Help > About Plugins > Bio-Formats Plugins… Check that the version of Bio-Formats matches the freshly downloaded version.

  9. Start Fiji and open any Image file using Plugins > Bio-Formats > Bio-Formats Importer

Note

It is vital to perform all of those steps in order; omitting even one will cause a problem. In particular, make sure that the old files are fully removed; it is not sufficient to add the new files to any sub-directory without removing the old files first.

Bio-Formats features in ImageJ and Fiji

When you select Bio-Formats under the Plugin menu, you will see the following features:

  • The Bio-Formats Importer is a plugin for loading images into ImageJ or Fiji. It can read over 140 proprietary life sciences formats and standardizes their acquisition metadata into the common OME data model. It will also extract and set basic metadata values such as spatial calibration if they are available in the file.

  • The Bio-Formats Exporter is a plugin for exporting data to disk. It can save to the open OME-TIFF file format, as well as several movie formats (e.g. QuickTime, AVI) and graphics formats (e.g. PNG, JPEG).

  • The Bio-Formats Remote Importer is a plugin for importing data from a remote URL. It is likely to be less robust than working with files on disk, so we recommend downloading your data to disk and using the regular Bio-Formats Importer whenever possible.

  • The Bio-Formats Windowless Importer is a version of the Bio-Formats Importer plugin that runs with the last used settings to avoid any additional dialogs beyond the file chooser. If you always use the same import settings, you may wish to use the windowless importer to save time (Learn more here).

  • The Bio-Formats Macro Extensions plugin prints out the set of commands that can be used to create macro extensions.  The commands and the instructions for using them are printed to the ImageJ log window.

  • The Stack Slicer plugin is a helper plugin used by the Bio-Formats Importer. It can also be used to split a stack across channels, focal planes or time points.

  • The Bio-Formats Plugins Configuration dialog is a useful way to configure the behavior of the Bio-Formats plugin or each file format. The general tab allows you to configure features of the Bio-Formats plugin such as the display of the slice label (see Bio-Formats plugin configuration options). The Formats tab lists supported file formats and toggles each format on or off, which is useful if your file is detected as the wrong format. It also toggles whether each format bypasses the importer options dialog through the “Windowless” checkbox. You can also configure any specific option for each format (see Additional reader and writer options). The Libraries tab provides a list of available helper libraries used by Bio-Formats.

  • The Bio-Formats Plugins Shortcut Window opens a small window with a quick-launch button for each plugin. Dragging and dropping files onto the shortcut window opens them quickly using the Bio-Formats Importer plugin.

  • The Update Bio-Formats Plugins command will check for updates to the plugins. We recommend you update to the newest Trunk build as soon as you think you may have discovered a bug.

Installing Bio-Formats in ImageJ

Note

Since FIJI is essentially ImageJ with plugins like Bio-Formats already built in, people who install Fiji can skip this section.

If you are also using the OMERO plugin for ImageJ, you may find the set-up guide on the new user help site useful for getting you started with both plugins at the same time.

Once you download and install ImageJ, you can install the Bio-Formats plugin by going to the Bio-Formats download page and saving the bioformats_package.jar to the Plugins directory within ImageJ.

Plugin Directory for ImageJ

Plugin Directory for ImageJ: Where in ImageJ’s file structure you should place the file once you downloaded it.

You may have to quit and restart ImageJ. Once you restart it, you will find Bio-Formats in the Bio-Formats option under the Plugins menu:

ImageJ's Plugin Menu.

You are now ready to start using Bio-Formats.

Using Bio-Formats to load images into ImageJ

This section will explain how to use Bio-Formats to import files into ImageJ and how to use the settings on the Bio-Formats Import Options screen.

Opening files

There are three ways you can open a file using Bio-Formats:

  1. Select the Bio-Formats Importer under the Bio-Formats plugins menu.

  2. Drag and drop it onto the Bio-Formats Plugins Shortcut window.

  3. Use the Open command in the File menu.

Unless you used the Bio-Formats Plugins Configuration dialog to open the file type windowlessly, you know you used Bio-Formats to open a file when you see a screen like this:

Bio-Formats' Import Options Screen

If you used the File > Open command and did not see the Bio-Formats Import Options screen, ImageJ/Fiji probably used another plugin instead of Bio-Formats to open the file. If this happens and you want to open a file using Bio-Formats, use one of the other two methods instead.

Opening files windowlessly

When you open a file with Bio-Formats, the Import Options Screen automatically recalls the settings you last used to open a file with that specific format (e.g. JPG, TIF, LSM, etc.). If you always choose the same options whenever you open files in a specific file format, you can save yourself time by bypassing the Bio-Formats Import Options screen. You can accomplish this two ways:

1. You can select the Bio-Formats Windowless Importer, located in the Bio-Formats menu under ImageJ’s Plugin menu.  When you select this option, Bio-Formats will import the file using the same settings you used the last time you imported a file with the same format.

2. If you invariably use the same settings when you open files in a specific format, you can always bypass the Import Options Screen by changing the settings in the Bio-Formats Plugins Configuration option, which is also located in the Bio-Formats menu under ImageJ’s Plugin menu.

Once you select this option, select the file format you are interested in from the list on the left side of the screen. Check both the Enabled and Windowless boxes. Once you do this, whenever you open a file using the Bio-Formats Windowless Importer,the Bio-Formats Importer, or the drag-and-drop method described in the previous section, the file will always open the same way using the last setting used.

Please note that if you want to change any of the import settings once you enable this windowless option, you will have to go back to the Bio-Formats Plugins Configuration screen, unselect the windowless option, open a file using the regular Bio-Formats Importer, select your settings, and re-select the windowless option.

Group files with similar names

Note

The functionality described below is also available outside ImageJ, by using a pattern file to tell Bio-Formats how to group the files. See Grouping files using a pattern file for more information.

One of the most important features of Bio-Formats is to combine multiple files from a data set into one coherent, multi-dimensional image.

To demonstrate how to use the Group files with similar names feature, you can use the dub data set available under LOCI’s Sample Data page. You will notice that it is a large dataset: each of the 85 files shows the specimen at 33 optical sections along the z-plane at a specific time.

If you open just one file in ImageJ/Fiji using the Bio-Formats Importer, you will get an image incorporating three dimensions (x, y, z). However, if you select Group files with similar names from the Bio-Formats Import Options screen, you will be able to create a 4-D image (x, y, z, and t) incorporating the 85 files.

After clicking OK, you will see a screen like this:

File Stitching Window

This screen allows you to select which files within the 85-file cluster to use to create that 4-D image. Some information will be pre-populated in the fields. Unless you want to change the settings in that field, there is no need to change or delete it. If you click OK at this point, you will load all 85 files.

However, you can specify which files you want to open by adjusting the “axis information”, the file “name contains”, or the “pattern” sections. Even though there are three options, you only need to need to make changes to one of them. Since Bio-Format’s precedence for processing data is from top to bottom, only the uppermost section that you made changes to will be used. If you change multiple boxes, any information you enter into lower boxes will be ignored.

To return to the example involving the dub data set, suppose you want to open the first image and only every fifth image afterwards (i.e. dub01, dub06, dub11 … dub81). This would give you 17 images. There are different ways to accomplish this:

You can use the Axis Settings only when your files are numbered in sequential order and you want to open only a subset of the files that have similar names. Since the dub data set is numbered sequentially, you can use this feature.

Axis 1 number of images refers to the total number of images you want to open. Since you want to view 17 images, enter 17. Axis 1 axis first image specifies which image in the set you want to be the first. Since you want to start with dub01, enter 1 in that box. You also want to view only every fifth image, so enter 5 in the Axis 1 axis increment box.

The File name contains box should be used if all of the files that you want to open have common text. This is especially useful when the files are not numbered. For example, if you have “Image_Red.tif”, “Image_Green.tif”, and “Image_Blue.tif” you could enter “Image_” in the box to group them all.

To continue the example involving the dub data set, you cannot use the file name contains box to open every fifth image. However, if you only wanted to open dub10 thorough dub19, you could enter “dub1” in the file name contains box.

The pattern box can be used to do either of the options listed above or much more. This box can accept a single file name like “dub01.pic”. It can also contain a pattern that use “<” and “>” to specify what numbers or text the file names contain.

There are three basic forms to the “< >” blocks:

  • Text enumeration - “Image_<Red,Green,Blue>.tif” is the pattern for Image_Red.tif, Image_Green.tif, Image_Blue.tif.  (Note that the order you in which you enter the file names is the order in which they will be loaded.)

  • Number range - “dub<1-85>.pic” is the pattern for “dub1.pic”, “dub2.pic”, “dub3.pic” … “dub85.pic”.

  • Number range with step - “dub<1-85:5>.pic” is the pattern for “dub1.pic”, “dub6.pic”, “dub11.pic”, “dub11.pic” … “dub85.pic”.

It can also accept a Java regular expression.

Autoscale

Autoscale helps increase the brightness and contrast of an image by adjusting the range of light intensity within an image to match the range of possible display values. Note that Autoscale does not change your data. It just changes how it is displayed.

Each pixel in an image has a numerical value ascribed to it to describe its intensity. The bit depth—the number of possible values– depends on the number of bits used in the image. Eight bits, for example, gives 256 values to express intensity where 0 is completely black, 255 is completely white, and 1 through 254 display increasingly lighter shades of grey.

ImageJ can collect the intensity information about each pixel from an image or stack and create a histogram (you can see it by selecting Histogram under the Analyze menu). Here is the histogram of a one particular image:

Histogram

Notice that the histogram heavily skews left. Even though there are 256 possible values, only 0 thorough 125 are being used.

Autoscale adjusts the image so the smallest and largest number in that image or stack’s histogram become the darkest and brightest settings. For this image, pixels with the intensity of 125 will be displayed in pure white. The other values will be adjusted too to help show contrast between values that were too insignificant to see before.

Here is one image Bio-Formats imported with and without using Autoscale:

Without autoscale With autoscale

Autoscale readjusts the image based on the highest value in the entire data set. This means if the highest value in your dataset is close to maximum display value, Autoscale’s adjusting may be undetectable to the eye.

ImageJ/Fiji also has its own tools for adjusting the image, which are available by selecting Brightness/Contrast, which is under the Adjust option in the Image menu.

Managing memory in ImageJ/Fiji using Bio-Formats

When dealing with a large stack of images, you may receive a warning like this:

Memory warning

This means the allotted memory is less than what Bio-Formats needs to load all the images. If you have a very large data set, you may have to:

  • Crop the view area

  • Open only a subset of images

  • Use Virtual Stack

  • Increase ImageJ/Fiji’s memory.

If your files contain JPEG or JPEG-2000 images, you may see this memory warning even if your file size is smaller than the amount of allocated memory. This is because compressed images like JPEG need to be decompressed into memory before being displayed and require more memory than their file size suggests. If you are having this issue, try utilizing one of the memory management tools below.

Cropping the view area

Crop on Import is useful if your images are very large and you are only interested in one specific section of the stack you are importing. If you select this feature, you will see a screen where you can enter the height and width (in pixels) of the part of image you want to see. Note that these measurements are from the top left corner of the image.

Opening only a subset of images

The Specify Range for Each Series option is useful for viewing a portion of a data set where all the plane images are encapsulated into one file (e.g. the Zeiss LSM format). If your file has a large quantity of images, you can specify which channels, Z-planes, and times you want to load.

Use Virtual Stack

Virtual Stack conserves memory by not loading specific images until necessary. Virtual Stack does not contain a buffer and may produce choppy animations.

Increasing ImageJ/Fiji’s memory

Finally, you can also increase the amount of the computer memory devoted to ImageJ/Fiji by selecting Memory & Threads under the Edit menu.

Fiji's Memory Allocation Menu

Generally, allocating more than 75% of the computer’s total memory will cause ImageJ/Fiji to become slow and unstable.

Please note that, unlike the other two features, ImageJ/Fiji itself provides this feature and not Bio-Formats. You can find out more about this feature by looking at ImageJ’s documentation.

Bio-Formats plugin configuration options

The Bio-Formats plugin can be configured by opening the Bio-Formats Plugins Configuration dialog from the Plugin menu. The General tab allows for configuration of features for the plugin such as upgrade checking or modifying the slice label pattern.

Configuring the slice label pattern

The slice label is the text displayed at the top of the image window in ImageJ. The values displayed here can be modified by configuring the slice label pattern.

The list of available parameters for configuration is as follows::
%s:

series index

%n:

series name

%c:

channel index

%w:

channel name

%z:

Z index

%t:

T index

%A:

acquisition timestamp

Each index value will be 1-based rather than 0-based. The index will be displayed along with the total dimension count and with a prefix for the particular dimension. For example using %c for channel index will result in the display c:1/3.

Command line tools

The Bio-Formats Command line tools (bftools.zip) provide a complete package for carrying out a variety of tasks:

Command line tools

There are several scripts for using Bio-Formats on the command line.

Displaying images and metadata

The showinf command line tool can be used to show the images and metadata contained in a file.

If no options are specified, showinf displays a summary of available options.

To simply display images:

showinf /path/to/file

All of the images in the first ‘series’ (or 5 dimensional stack) will be opened and displayed in a simple image viewer. The number of series, image dimensions, and other basic metadata will be printed to the console.

-noflat

Do not flatten resolutions into individual series:

showinf -noflat /path/to/file
-series SERIES

Displays a different series, for example the second one:

showinf -series 1 /path/to/file

Note that series numbers begin with 0.

-omexml

Displays the OME-XML metadata for a file on the console:

showinf -omexml /path/to/file
-nopix

Image reading can be suppressed if only the metadata is needed:

showinf -nopix /path/to/file
-option KEY VALUE

Passes options expressed as key/value pairs:

showinf -option key value /path/to/file

e.g. additional reader options, see Additional reader and writer options:

showinf -option leicalif.old_physical_size true /path/to/file

Added in version 5.3.0.

-range START END

A subset of images can also be opened instead of the entire stack, by specifying the start and end plane indices (inclusive):

showinf -range 0 0 /path/to/file

That opens only the first image in first series in the file.

-crop X,Y,WIDTH,HEIGHT

For very large images, it may also be useful to open a small tile from the image instead of reading everything into memory. To open the upper-left-most 512×512 tile from the images:

showinf -crop 0,0,512,512 /path/to/file

The parameter to -crop is of the format x,y,width,height. The (x, y) coordinate (0, 0) is the upper-left corner of the image; x + width must be less than or equal to the image width and y + height must be less than or equal to the image height.

-no-upgrade

By default, showinf will check for a new version of Bio-Formats. This can take several seconds (especially on a slow internet connection); to save time, the update check can be disabled:

showinf -no-upgrade /path/to/file
-novalid

Similarly, if OME-XML is displayed then it will automatically be validated. On slow or missing internet connections, this can take some time, and so can be disabled:

showinf -novalid /path/to/file
-nocore

Most output can be suppressed:

showinf -nocore /path/to/file
-omexml-only

Displays the OME-XML alone:

showinf -omexml-only /path/to/file

This is particularly helpful when there are hundreds or thousands of series.

-debug

Enables debugging output if more information is needed:

showinf -debug /path/to/file
-fast

Displays an image as quickly as possible. This is achieved by converting the raw data into a 8 bit RGB image:

showinf -fast /path/to/file

Note

Due to the data conversion to a RGB image, using this option results in a loss of precision.

-autoscale

Adjusts the display range to the minimum and maximum pixel values:

showinf -autoscale /path/to/file

Note

This option automatically sets the -fast option and suffers from the same limitations.

-cache

Caches the reader under the same directory as the input file after initialization:

showinf -cache /path/to/file
-cache-dir DIR

Specifies the base directory under which the reader should be cached:

showinf -cache-dir /tmp/cachedir /path/to/file
-swap DIMENSIONORDER

Overrides the default input dimension order:

showinf -swap XYZTC /path/to/file
-format FORMAT

Specifies the reader to be used for opening the specified file. The utility will look for a reader named loci.formats.in.<FORMAT>Reader. If the reader does not exist or no -format option is passed, the file will be opened with loci.formats.in.ImageReader:

showinf -format APNG test.png
-fill UNSIGNED_BYTE

Sets the fill value to use for undefined pixels. Valid values are 0-255, with 0 representing a black pixel and 255 representing a white pixel. The value set here will be applied to all bytes in an undefined pixel, e.g. setting to 128 (0x80) on a uint16 image will result in a pixel value of 32896 (0x8080). The default fill value is typically 0, but some readers may have different defaults.

Added in version 6.13.0.

Converting a file to different format

The bfconvert command line tool can be used to convert files between supported formats.

bfconvert with no options displays a summary of available options.

To convert a file to single output file (e.g. TIFF):

bfconvert /path/to/input output.tiff

The output file format is determined by the extension of the output file, e.g. .tiff for TIFF files, .ome.tiff for OME-TIFF, .png for PNG.

-option KEY VALUE

Passes options expressed as key/value pairs:

bfconvert -option key value /path/to/input /path/to/output

e.g. additional writer options, see Additional reader and writer options:

bfconvert -option ometiff.companion converted.companion.ome input.fake converted.ome.tiff

Added in version 5.4.0.

-noflat

Do not flatten resolutions into individual series. This option is mandatory to read images with pyramidal levels using the sub-resolution API and generate an output image with sub-resolutions. As of Bio-Formats 6.0.0, only the OME-TIFF output format properly supports this option:

bfconvert -noflat /path/to/input output-first-series.ome.tiff

Added in version 6.0.0.

-series SERIES

All images in the input file are converted by default. To convert only one series:

bfconvert -series 0 /path/to/input output-first-series.tiff
-timepoint TIMEPOINT

To convert only one timepoint:

bfconvert -timepoint 0 /path/to/input output-first-timepoint.tiff
-channel CHANNEL

To convert only one channel:

bfconvert -channel 0 /path/to/input output-first-channel.tiff
-z Z

To convert only one Z section:

bfconvert -z 0 /path/to/input output-first-z.tiff
-range START END

To convert images between certain indices (inclusive):

bfconvert -range 0 2 /path/to/input output-first-3-images.tiff
-tilex TILEX, -tiley TILEY

All images larger than 4096×4096 will be saved as a set of tiles if the output format supports doing so. The default tile size is determined by the input format, and can be overridden like this:

bfconvert -tilex 512 -tiley 512 /path/to/input output-512x512-tiles.tiff

-tilex is the width in pixels of each tile; -tiley is the height in pixels of each tile. The last row and column of tiles may be slightly smaller if the image width and height are not multiples of the specified tile width and height. Note that specifying -tilex and -tiley will cause tiles to be written even if the image is smaller than 4096×4096.

Also note that the specified tile size will affect performance. If large amounts of data are being processed, it is a good idea to try converting a single tile with a few different tile sizes using the -crop option. This gives an idea of what the most performant size will be.

-crop X,Y,WIDTH,HEIGHT

For very large images, it may also be useful to convert a small tile from the image instead of reading everything into memory. To convert the upper-left-most 512×512 tile from the images:

bfconvert -crop 0,0,512,512 /path/to/file output-512x512-crop.tiff

The parameter to -crop is of the format x,y,width,height. The (x, y) coordinate (0, 0) is the upper-left corner of the image; x + width must be less than or equal to the image width and y + height must be less than or equal to the image height.

Images can also be written to multiple files by specifying a pattern string in the output file. For example, to write one series, timepoint, channel, and Z section per file:

bfconvert /path/to/input output_series_%s_Z%z_C%c_T%t.tiff

%s is the series index, %z is the Z section index, %c is the channel index, and %t is the timepoint index (all indices begin at 0).

For large images in particular, it can also be useful to write each tile to a separate file:

bfconvert -tilex 512 -tiley 512 /path/to/input output_tile_%x_%y_%m.jpg

%x is the row index of the tile, %y is the column index of the tile, and %m is the overall tile index. As above, all indices begin at 0. Note that if %x or %y is included in the file name pattern, then the other must be included too. The only exception is if %m was also included in the pattern.

Note for Windows Users: The command interpreter for batch files needs the % characters to be doubled in order to process the sequencing variables correctly. So in Windows, the above example would read:

bfconvert /path/to/input output_series_%%s_Z%%z_C%%c_T%%t.tif
-compression COMPRESSION

By default, all images will be written uncompressed. Supported compression modes vary based upon the output format, but when multiple modes are available the compression can be changed using the -compression option. For example, to use LZW compression in a TIFF file:

bfconvert -compression LZW /path/to/input output-lzw.tiff
-quality QUALITY

Specify the compression quality to be used. The interpretation of this value depends upon the -compression option used.

For uncompressed output, -quality has no effect.

When used with -compression JPEG, -quality must take a value between 0.25 (25%, extremely lossy) and 1.0 (100%, nearly lossless). The default is 0.75.

When used with -compression JPEG-2000, -quality must take a positive integer value. This is interpreted as an encoding rate in bits per pixel, with higher values representing less lossy compression. The default is 10.

Added in version 7.3.0.

-overwrite

If the specified output file already exists, bfconvert will prompt to overwrite the file. When running bfconvert non-interactively, it may be useful to always allow bfconvert to overwrite the output file:

bfconvert -overwrite /path/to/input /path/to/output
-nooverwrite

To always exit without overwriting:

bfconvert -nooverwrite /path/to/input /path/to/output
-nolookup

To disable the conversion of lookup tables, leaving the output file without any lookup tables:

bfconvert -nolookup /path/to/input /path/to/output

Added in version 5.2.1.

-bigtiff

This option forces the writing of a BigTiff file:

bfconvert -bigtiff /path/to/input output.ome.tiff

Added in version 5.1.2.

The -bigtiff option is not necessary if a BigTiff extension is used for the output file, e.g.:

bfconvert /path/to/input output.ome.btf
-nobigtiff

This option disables the automatic switching to BigTiff based upon the number of pixel bytes (TIFF files larger than 4GB):

bfconvert -nobigtiff /path/to/input output.ome.tiff

Added in version 6.4.0.

Using the -nobigtiff will disable writing BigTiff when the output format is less than 4GB. It will not be able to write standard Tiff files greater than 4GB. An example of when it might be used would be when converting using a compression codec that reduces the size of the output file, e.g.:

bfconvert -nobigtiff -compression LZW /path/to/input output.ome.btf
-padded

This option is used alongside a pattern string when writing an image to multiple files. When set this will enforce zero padding on the filename indexes set in the provided pattern string:

bfconvert /path/to/input output_xy%sz%zc%ct%t.ome.tif -padded

Added in version 5.2.2.

-pyramid-resolutions RESOLUTIONS
-pyramid-scale SCALE

When using -noflat by default, each series of the converted file will contain the same number of resolutions as in the input file. The -pyramid-resolutions option allows to set the number of expected resolutions in the output file for each series. If the target number of resolutions is greater than the actual number of sub-resolutions present in the input file, additional pyramidal levels will be calculated using the downsampling factor specified by the -pyramid-scale option:

bfconvert -noflat -pyramid-resolutions 4 -pyramid-scale 2 /path/to/input out.ome.tiff

Added in version 6.0.0.

-cache

This option will cache the initialized reader under the same directory as the input file after initialization:

bfconvert -cache /path/to/input output.ome.tiff

Added in version 6.2.0.

-cache-dir DIRECTORY

This option is to be used in conjunction with -cache. When used it specifies the directory to store the cached initialized reader. If unspecified, the cached reader will be stored under the same folder as the image file:

bfconvert -cache-dir /path/to/store/cached/reader /path/to/input output.ome.tiff

Added in version 6.2.0.

-no-sas

Do not preserve the OME-XML StructuredAnnotation elements:

bfconvert -no-sas /path/to/input output.ome.tiff

Added in version 6.2.0.

-no-sequential

Do not assume that planes are written in sequential order:

bfconvert -no-sequential /path/to/input output.ome.tiff

Added in version 6.8.0.

-swap DIMENSIONORDER

Overrides the default input dimension order:

bfconvert -swap XYZTC /path/to/input output.ome.tiff

Added in version 6.9.0.

-fill UNSIGNED_BYTE

Sets the fill value to use for undefined pixels. Valid values are 0-255, with 0 representing a black pixel and 255 representing a white pixel. The value set here will be applied to all bytes in an undefined pixel, e.g. setting to 128 (0x80) on a uint16 image will result in a pixel value of 32896 (0x8080). The default fill value is typically 0, but some readers may have different defaults.

Added in version 6.13.0.

-precompressed

Enables transfer of compressed bytes from input dataset directly to output without decompression. Most input and output formats do not support this option, currently this is implemented in the Aperio SVS input and DICOM output. Do not use -crop, -fill, or -autoscale, or pyramid generation options:

bfconvert -precompressed /path/to/input /path/to/output

For an example of this option being used see below using the CMU-1.svs file from OpenSlide:

bfconvert -noflat -precompressed -compression JPEG CMU-1.svs CMU-1.dcm

Added in version 7.1.0.

-extra-metadata METADATA FILE

Enables the writing of additional supplemental metadata from an external file during the conversion process . Most output formats do not support this option, currently this is implemented for outputting the DICOM format. For DICOM the additional metadata file can be in the format of a .json file

bfconvert -extra-metadata /path/to/extra-metadata /path/to/input /path/to/output

For an example of this option being used see below:

$ cat hierarchy-test.json
{
   "BodyPartExamined": {
     "Value": "BRAIN",
     "VR": "CS",
     "Tag": "(0018,0015)"
     "ResolutionStrategy": "IGNORE"
   },
   "ContributingEquipmentSequence": {
     "VR": "SQ",
     "Tag": "(0018,a001)",
     "Sequence": {
       "Manufacturer": {
         "Value": "PixelMed",
         "VR": "LO",
         "Tag": "(0008,0070)"
       },
       "ContributionDateTime": {
         "Value": "20210710234601.105+0000",
         "VR": "DT",
         "Tag": "(0018,a002)"
       }
     }
      "ResolutionStrategy": "REPLACE"
   }
}
$ bfconvert -extra-metadata hierarchy-test.json test.fake hierarchy-test-json.dcm

Added in version 7.1.0.

Validating XML in an OME-TIFF

The XML stored in an OME-TIFF file can be validated using the command line tools.

Both the tiffcomment and xmlvalid commands are used; tiffcomment extracts the XML from the file and xmlvalid validates the XML and prints any errors to the console.

For example:

xmlvalid /path/to/file.ome.tiff

and

xmlvalid /path/to/file.xml

will perform validatation for an ome.xml file and xml file, respectively.

Also:

tiffcomment "/path/to/file.ome.tiff" | xmlvalid

will perform the extraction and validation all at once.

Typical successful output of xmlvalid is:

[~/Work/bftools]$ ./xmlvalid sample.ome
Parsing schema path
http://www.openmicroscopy.org/Schemas/OME/2010-06/ome.xsd
Validating sample.ome
No validation errors found.
[~/Work/bftools]$

If any errors are found they are reported. When correcting errors it is usually best to work from the top of the file as errors higher up can cause extra errors further down. In this example the output shows 3 errors but there are only 2 mistakes in the file:

[~/Work/bftools]$ ./xmlvalid broken.ome
Parsing schema path
http://www.openmicroscopy.org/Schemas/OME/2010-06/ome.xsd
Validating broken.ome
cvc-complex-type.4: Attribute 'SizeY' must appear on element 'Pixels'.
cvc-enumeration-valid: Value 'Non Zero' is not facet-valid with respect
   to enumeration '[EvenOdd, NonZero]'. It must be a value from the enumeration.
cvc-attribute.3: The value 'Non Zero' of attribute 'FillRule' on element
   'ROI:Shape' is not valid with respect to its type, 'null'.
Error validating document: 3 errors found
[~/Work/bftools]$

If the XML is found to have validation errors, the tiffcomment command can be used to overwrite the XML in the OME-TIFF file with corrected XML. The XML can be displayed in an editor window:

tiffcomment -edit /path/to/file.ome.tiff

or the new XML can be read from a file:

tiffcomment -set new-comment.xml /path/to/file.ome.tiff
Editing XML in an OME-TIFF

To edit the XML in an OME-TIFF file you can use tiffcomment, one of the Bio-Formats tools.

Note

The tiffcomment tool requires that the ImageDescription tag is present in the TIFF file and will error otherwise.

To use the built in editor run:

tiffcomment -edit sample.ome.tif

To extract or view the XML run:

tiffcomment sample.ome.tif

To inject replacement XML into a file run:

tiffcomment -set 'newmetadata.xml' sample.ome.tif
List formats by domain

Each supported file format has one or more imaging domains associated with it. To print the list of formats associated with each imaging domain:

domainlist

The command does not accept any arguments. The known image domains are defined by:

List supported file formats

A detailed list of supported formats can be displayed using the formatlist command.

The default behavior is to print a plain-text list of formats:

formatlist
-txt

Prints the list of formats as plain-text:

formatlist -txt
-html

Prints the list of formats as HTML:

formatlist -html
-xml

Prints the list of formats as XML:

formatlist -xml
-help

Displays the usage information:

formatlist -help
Display file in ImageJ

Files can be displayed from the command line in ImageJ. The Bio-Formats importer plugin for ImageJ is used to open the file.

The command takes a single argument:

ijview /file/to/open

If the input file is not specified, ImageJ will show a file chooser window.

The Bio-Formats import options window will then appear, after which the image(s) will be displayed.

If the BF_DEVEL environment variable is set, the ImageJ jar <jars/ij.jar> must be included in the classpath.

Format XML data

The xmlindent command formats and adds indenting to XML so that it is easier to read. Indenting is currently set to 3 spaces.

If an XML file name is not specified, the XML to indent will be read from standard output. Otherwise, one or more file names can be specified:

xmlindent /path/to/xml
xmlindent /path/to/first-xml /path/to/second-xml

The formatted XML from each file will be printed in the order in which the files were specified.

By default, extra whitespace may be added to CDATA elements. To preserve the contents of CDATA elements:

xmlindent -valid /path/to/xml
Create a high-content screen for testing

The mkfake command creates a high-content screen for testing. The image data will be meaningless, but it allows testing of screen, plate, and well metadata without having to find appropriately-sized screens from real acquisitions.

If no arguments are specified, mkfake prints usage information.

To create a single screen with default plate dimensions:

mkfake default-screen.fake

This will create a directory that represents one screen with a single plate containing one well, one field, and one acquisition of the plate (see PlateAcquisition).

-plates PLATES

To change the number of plates in the screen:

mkfake -plates 3 three-plates.fake
-runs RUNS

To change the number of acquisitions for each plate:

mkfake -runs 4 four-plate-acquisitions.fake
-rows ROWS

To change the number of rows of wells in each plate:

mkfake -rows 8 eight-row-plate.fake
-columns COLUMNS

To change the number of columns of wells in each plate:

mkfake -columns 12 twelve-column-plate.fake
-fields FIELDS

To change the number of fields per well:

mkfake -fields 2 two-field-plate.fake

It is often most useful to use the arguments together to create a realistic screen, for example:

mkfake -rows 16 -columns 24 -plates 2 -fields 3 two-384-well-plates.fake
-debug DEBUG

As with other command line tools, debugging output can be enabled if necessary:

mkfake -debug debug-screen.fake
Installation

Download bftools.zip, unzip it into a new folder.

Note

As of Bio-Formats 5.0.0, this zip now contains the bundled jar and you no longer need to download bioformats_package.jar separately.

The zip file contains both Unix scripts and Windows batch files.

Tools available

Currently available tools include:

showinf

Prints information about a given image file to the console, and displays the image itself in the Bio-Formats image viewer (see Displaying images and metadata for more information).

ijview

Displays the given image file in ImageJ using the Bio-Formats Importer plugin. See Display file in ImageJ for details.

bfconvert

Converts an image file from one format to another. Bio-Formats must support writing to the output file (see Converting a file to different format for more information).

formatlist

Displays a list of supported file formats in HTML, plaintext or XML. See List supported file formats for details.

xmlindent

A simple XML prettifier similar to xmllint --format but more robust in that it attempts to produce output regardless of syntax errors in the XML. See Format XML data for details.

xmlvalid

A command-line XML validation tool, useful for checking an OME-XML document for compliance with the OME-XML schema. See Validating XML in an OME-TIFF for details.

tiffcomment

Dumps the comment from the given TIFF file’s first IFD entry; useful for examining the OME-XML block in an OME-TIFF file (also see Editing XML in an OME-TIFF).

domainlist

Displays a list of imaging domains and the supported formats associated with each domain. See List formats by domain for more information.

mkfake

Creates a “fake” high-content screen with configurable dimensions. This is useful for testing how HCS metadata is handled, without requiring real image data from an acquired screen. See Create a high-content screen for testing for more information.

Some of these tools also work in combination, for example Validating XML in an OME-TIFF uses both tiffcomment and xmlvalid.

Running any of these commands without any arguments will print usage information to help you. When run with the -version argument, showinf and bfconvert will display the version of Bio-Formats that is being used (version number, build date, and Git commit reference).

Command-line environment

A set of environment variables can be passed to all command-line utilities:

BF_CP

Extra directories to be added to the autodetected command-line classpath e.g. for external reader JARs. Default: empty.

BF_FLAGS

Additional flags to be sent to the JVM. Default: empty.

BF_MAX_MEM

Maximum heap size to be allocated to the JVM. Default: 512m.

BF_PROFILE

Enable profiling - see Profiling for more information. Default: off.

BF_PROFILE_DEPTH

Maximum profiling depth if profiling is activated. Default: 30.

Using the tools directly from source

Firstly, obtain a copy of the sources and build them (see Obtaining and building Bio-Formats). You can configure the scripts to use your source tree instead of bioformats_package.jar in the same directory by following these steps:

  1. Point your CLASSPATH to the checked-out directory and the JAR files in the jar folder.

    • E.g. on Windows with Java 1.8 or later, if you have checked out the source at C:\code\bio-formats, set your CLASSPATH environment variable to the value C:\code\bio-formats\jar\*;C:\code\bio-formats. You can access the environment variable configuration area by right-clicking on My Computer, choosing Properties, Advanced tab, Environment Variables button.

  2. Compile the source with ant compile.

  3. Set the BF_DEVEL environment variable to any value (the variable just needs to be defined).

Version checker

If you run bftools outside of the OMERO environment, you may encounter an issue with the automatic version checker causing a tool to crash when trying to connect to upgrade.openmicroscopy.org.uk. The error message will look something like this:

Failed to compare version numbers
java.io.IOException: Server returned HTTP response code: 400 for URL:
http://upgrade.openmicroscopy.org.uk?version=4.4.8;os.name=Linux;os.
version=2.6.32-358.6.2.el6.x86_64;os.arch=amd64;java.runtime.version=
1.6.0_24-b24;java.vm.vendor=Sun+Microsystems+Inc.;bioformats.caller=
Bio-Formats+utilities

To avoid this issue, call the tool with the -no-upgrade parameter.

Profiling

For debugging errors or investigating performance issues, it can be useful to use profiling tools while running Bio-Formats. The command-line tools can invoke the HPROF agent library to profile Heap and CPU usage. Setting the BF_PROFILE environment variable allows to turn profiling on, e.g.:

BF_PROFILE=true showinf -nopix -no-upgrade myfile

OMERO

OMERO 5 uses Bio-Formats to read original files from over 140 file formats. Please refer to the OMERO documentation for further information.

Many other software packages can use Bio-Formats to read and write microscopy formats (click on the package for further details):

Image server applications

BISQUE

The BISQUE (Bio-Image Semantic Query User Environment) Database, developed at the Center for Bio-Image Informatics at UCSB, was developed for the exchange and exploration of biological images. The Bisque system supports several areas useful for imaging researchers from image capture to image analysis and querying. The bisque system is centered around a database of images and metadata. Search and comparison of datasets by image data and content is supported. Novel semantic analyses are integrated into the system allowing high level semantic queries and comparison of image content.

Bisque integrates with Bio-Formats by calling the showinf command line tool.

OME Server

The OME server is a set of software that interacts with a database to manage images, image metadata, image analysis and analysis results. The OME system is capable of leveraging Bio-Formats to import files.

Please note - the OME server is no longer maintained and has now been superseded by the OMERO server. Support for the OME server has been entirely removed in the 5.0.0 version of Bio-Formats; the following instructions can still be used with the 4.4.x versions.

Installation

For OME Perl v2.6.1 and later, the command line installer automatically downloads the latest loci_tools.jar and places it in the proper location. This location is configurable, but is /OME/java/loci_tools.jar by default.

For a list of what was recognized for a particular import into the OME server, go to the Image details page in the web interface, and click the “Image import” link in the upper right hand box.

Bio-Formats is capable of parsing original metadata for supported formats, and standardizes what it can into the OME data model. For the rest, it expresses the metadata in OME terms as key/value pairs using an OriginalMetadata custom semantic type. However, this latter method of metadata representation is of limited utility, as it is not a full conversion into the OME data model.

Bio-Formats is enabled in OME v2.6.1 for all formats except:

  • OME-TIFF

  • Metamorph HTD

  • Deltavision DV

  • Metamorph STK

  • Bio-Rad PIC

  • Zeiss LSM

  • TIFF

  • BMP

  • DICOM

  • OME-XML

The above formats have their own Perl importers that override Bio-Formats, meaning that Bio-Formats is not used to process them by default. However, you can override this behavior (except for Metamorph HTD, which Bio-Formats does not support) by editing an OME database configuration value:

% psql ome

To see the current file format reader list:

ome=# select value from configuration where name='import_formats';
 value
------------------------------------------------------------------------------
['OME::ImportEngine::OMETIFFreader','OME::ImportEngine::MetamorphHTDFormat',
'OME::ImportEngine::DVreader','OME::ImportEngine::STKreader',
'OME::ImportEngine::BioradReader','OME::ImportEngine::LSMreader',
'OME::ImportEngine::TIFFreader','OME::ImportEngine::BMPreader',
'OME::ImportEngine::DICOMreader','OME::ImportEngine::XMLreader',
'OME::ImportEngine::BioFormats']
 (1 row)

To remove extraneous readers from the list:

ome=# update configuration set value='[\'OME::ImportEngine::MetamorphHTDFormat\',
\'OME::ImportEngine::XMLreader\',\'OME::ImportEngine::BioFormats\']' where
name='import_formats';
UPDATE 1
ome=# select value from configuration where name='import_formats';
 value
------------------------------------------------------------------------------
['OME::ImportEngine::MetamorphHTDFormat','OME::ImportEngine::XMLreader',
'OME::ImportEngine::BioFormats']
 (1 row)

To reset things back to how they were:

ome=# update configuration set value='[\'OME::ImportEngine::OMETIFFreader\',
\'OME::ImportEngine::MetamorphHTDFormat\',\'OME::ImportEngine::DVreader\',
\'OME::ImportEngine::STKreader\',\'OME::ImportEngine::BioradReader\',
\'OME::ImportEngine::LSMreader\',\'OME::ImportEngine::TIFFreader\',
\'OME::ImportEngine::BMPreader\',\'OME::ImportEngine::DICOMreader\',
\'OME::ImportEngine::XMLreader\',\'OME::ImportEngine::BioFormats\']' where
name='import_formats';

Lastly, please note that Li-Cor L2D files cannot be imported into an OME server. Since the OME perl server has been discontinued, we have no plans to fix this limitation.

Upgrading

OME server is not supported by Bio-Formats versions 5.0.0 and above. To take advantage of more recent improvements to Bio-Formats, you must switch to OMERO server.

Source Code

The source code for the Bio-Formats integration with OME server spans three languages, using piped system calls in both directions to communicate, with imported pixels written to OMEIS pixels files. The relevant source files are:

  • OmeisImporter.java – omebf Java command line tool

  • BioFormats.pm – Perl module for OME Bio-Formats importer

  • omeis.c – OMEIS C functions for Bio-Formats (search for “bioformats” case insensitively to find relevant sections)

Libraries and scripting applications

FARSIGHT

FARSIGHT is a collection of modules for image analysis created by LOCI’s collaborators at the University of Houston. These open source modules are built on the ITK library and thus can take advantage of ITK’s support for Bio-Formats to process otherwise unsupported image formats.

The principal FARSIGHT module that benefits from Bio-Formats is the Nucleus Editor, though in principle any FARSIGHT-based code that reads image formats via the standard ITK mechanism will be able to leverage Bio-Formats.

i3dcore

i3dcore, also known as the CBIA 3D image representation library, is a 3D image processing library developed at the Centre for Biomedical Image Analysis. Together with i3dalgo and i4dcore, i3dcore forms a continuously developed templated cross-platform C++ suite of libraries for multidimensional image processing and analysis.

i3dcore is capable of reading images with Bio-Formats using Java for C++ (java4cpp).

ImgLib

ImgLib2 is a multidimensional image processing library. It provides a general mechanism for writing image analysis algorithms, without writing case logic for bit depth, or worrying about the source of the pixel data (arrays in memory, files on disk, etc.).

The SCIFIO project provides an ImgOpener utility class for reading data into ImgLib2 data structures using Bio-Formats.

ITK

The Insight Toolkit (ITK) is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis. Developed through extreme programming methodologies, ITK employs leading-edge algorithms for registering and segmenting multidimensional data.

ITK provides an ImageIO plug-in structure that works via discovery through a dependency injection scheme. This allows a program built on ITK to load plug-ins for reading and writing different image types without actually linking to the ImageIO libraries required for those types. Such encapsulation automatically grants two major boons: firstly, programs can be easily extended just by virtue of using ITK (developers do not have to specifically accommodate or anticipate what plug-ins may be used). Secondly, the architecture provides a distribution method for open source software, like Bio-Formats, which have licenses that might otherwise exclude them from being used with other software suites.

The SCIFIO ImageIO plugin provides an ITK imageIO base that uses Bio-Formats to read and write supported life sciences file formats. This plugin allows any program built on ITK to read any of the image types supported by Bio-Formats.

Qu for MATLAB

Qu for MATLAB is a MATLAB toolbox for the visualization and analysis of multi-channel 4-dimensional datasets targeted to the field of biomedical imaging, developed by Aaron Ponti.

  • Uses Bio-Formats to read files

  • Open source software available under the Mozilla Public License

Numerical data processing applications

GNU Octave

GNU Octave is a high-level interpreted language, primarily intended for numerical computations. Being an array programming language, it is naturally suited for image processing and handling of N dimensional datasets. Octave is distributed under the terms of the GNU General Public License.

The Octave language is MATLAB compatible so that programs are easily portable. Indeed, the Octave bioformats package is exactly the same as MATLAB’s, the only difference being the installation steps.

Requirements

The bioformats package requires Octave version 4.0.0 or later with support for java:

$ octave
>> OCTAVE_VERSION
ans = 4.0.0
>> usejava ("jvm")
ans =  1
Installation
  1. Download bioformats_package.jar and place it somewhere sensible for your system (in Linux, this will probably be /usr/local/share/java or ~/.local/share/java for a system-wide or user installation respectively).

  2. Add bioformats_package.jar to Octave’s static javaclasspath (see Octave’s documentation).

  3. Download the Octave package.

  4. Start octave and install the package with:

    >> pkg install path-to-bioformats-octave-version.tar.gz
    
Usage

Usage instructions are the same as MATLAB. The only difference is that you need to explicitly load the package. This is done by running at the Octave prompt:

>> pkg load bioformats
Upgrading

To use a newer version of Bio-Formats, repeat the install instructions. Do not follow the MATLAB instructions.

IDL

IDL (Interactive Data Language) is a popular data visualization and analysis platform used for interactive processing of large amounts of data including images.

IDL possesses the ability to interact with Java applications via its IDL-Java bridge. Karsten Rodenacker has written a script that uses Bio-Formats to read in image files to IDL.

Installation

Download the ij_read_bio_formats.pro script from Karsten Rodenacker’s IDL goodies (?) web site. See the comments at the top of the script for installation instructions and caveats.

Upgrading

To use a newer version of Bio-Formats, overwrite the requisite JAR files with the newer version and restart IDL.

KNIME

KNIME (Konstanz Information Miner) is a user-friendly and comprehensive open-source data integration, processing, analysis, and exploration platform. KNIME supports image import using Bio-Formats using the KNIME Image Processing (a.k.a. KNIP) plugin.

MATLAB

MATLAB is a high-level language and interactive environment that facilitates rapid development of algorithms for performing computationally intensive tasks.

Calling Bio-Formats from MATLAB is fairly straightforward, since MATLAB has built-in interoperability with Java. We have created a toolbox for reading and writing image files. Note the minimum recommended MATLAB version is R2017b.

Note

It is possible to run Bio-Formats 6 on earlier MATLAB versions using a JVM version 8 or greater although using a different JVM than the one shipped with MATLAB can affect other functionalities. Please refer to the MATLAB Answers for more information.

Installation

Download the MATLAB toolbox from the Bio-Formats downloads page. Unzip bfmatlab.zip and add the unzipped bfmatlab folder to your MATLAB path.

Usage

Please see Using Bio-Formats in MATLAB for usage instructions. If you intend to extend the existing .m files, please also see the developer page for more information on how to use Bio-Formats in general.

Performance

In our tests (MATLAB R14 vs. java 1.6.0_20), the script executes at approximately half the speed of our showinf command line tool, due to overhead from copying arrays.

Troubleshooting

If you encounter an error trying to open JPEG-2000 data in MATLAB but the file will open e.g. in Fiji using Bio-Formats, it may be due to conflicting versions of JAI ImageIO in different JARs. As discussed on the component page, JAI ImageIO is no longer maintained and you will likely need to remove the conflicting JAR(s) as a workaround.

Upgrading

To use a newer version of Bio-Formats, overwrite the content of the bfmatlab folder with the newer version of the toolbox and restart MATLAB.

Alternative scripts

Several other groups have developed their own MATLAB scripts that use Bio-Formats, including the following:

VisAD

The VisAD visualization toolkit is a Java component library for interactive and collaborative visualization and analysis of numerical data. VisAD uses Bio-Formats to read many image formats, notably TIFF.

Installation

The visad.jar file has Bio-Formats bundled inside, so no further installation is necessary.

Upgrading

It should be possible to use a newer version of Bio-Formats by putting the latest bioformats_package.jar or formats-gpl.jar before visad.jar in the class path. Alternately, you can create a “VisAD Lite” using the make lite command from VisAD source, and use the resultant visad-lite.jar, which is a stripped down version of VisAD without sample applications or Bio-Formats bundled in.

R

OME does not currently provide an R implementation for Bio-Formats. However, there are options provided by the community:

Bioconductor RBioFormats

Bioconductor is a project to develop, support, and disseminate free open source software that facilitates rigorous and reproducible analysis of data from current and emerging biological assays. Most Bioconductor components are distributed as R packages, this includes RBioFormats. RBioFormats is an R package which interfaces the OME Bio-Formats Java library to allow reading of proprietary microscopy image data and metadata.

Installation

To install this package, start R (version “4.3”) and enter:

if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")

# The following initializes usage of Bioc devel
BiocManager::install(version='devel')

BiocManager::install("RBioFormats")
Documentation

To view documentation for the version of this package installed in your system, start R and enter:

browseVignettes("RBioFormats")

See also

RBioFormats

Website for the RBioFormats package

Using Bio-Formats in R

Section of the developer documentation describing the R wrapper for Bio-Formats used by RBioFormats

Visualization and analysis applications

Bitplane Imaris

Imaris is Bitplane’s core scientific software module that delivers all the necessary functionality for data visualization, analysis, segmentation and interpretation of 3D and 4D microscopy datasets. Combining speed, precision and ease-of-use, Imaris provides a complete set of features for working with three- and four-dimensional multi-channel images of any size, from a few megabytes to multiple gigabytes in size.

As of version 7.2, Imaris integrates with Fiji overview, which includes Bio-Formats. See this page for a detailed list of Imaris’ features.

CellProfiler

CellProfiler—developed by the Broad Institute Imaging Platform—is free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure phenotypes from thousands of images automatically. CellProfiler uses Bio-Formats to read images from disk, as well as write movies.

Installation

The CellProfiler distribution comes with Bio-Formats included, so no further installation is necessary.

Upgrading

It should be possible to use a newer version of Bio-Formats by replacing the bundled bioformats_package.jar with a newer version.

  • For example, on Mac OS X, Ctrl+click the CellProfiler icon, choose Show Package Contents, and replace the following file:

    • Contents/Resources/bioformats/jars/bioformats_package.jar

See also

CellProfiler

Website of the CellProfiler software

Using Bio-Formats in Python

Section of the developer documentation describing the Python wrapper for Bio-Formats used by CellProfiler

Comstat2

Comstat2 is a Java-based computer program for the analysis and treatment of biofilm images in 3D. It is the Master’s project of Martin Vorregaard.

Comstat2 uses the Bio-Formats Importer plugin for ImageJ to read files in TIFF and Leica LIF formats.

Endrov

Endrov (EV) is a multi-purpose image analysis program developed by the Thomas Burglin group at Karolinska Institute, Department of Biosciences and Nutrition.

Installation

The EV distribution comes bundled with the core Bio-Formats library (bio-formats.jar), so no further installation is necessary.

Upgrading

It should be possible to use a newer version of Bio-Formats by downloading the latest formats-gpl.jar and putting it into the libs folder of the EV distribution, overwriting the old file.

You could also include some optional libraries, to add support for additional formats, if desired.

FocalPoint

FocalPoint is an image browser, similar to Windows Explorer or other file manager application, specifically designed to work with more complex image types. FocalPoint uses Bio-Formats to generate thumbnails for some formats.

Installation

FocalPoint is bundled with Bio-Formats, so no further installation is necessary.

Upgrading

It should be possible to use a newer version of Bio-Formats by overwriting the old loci_tools.jar within the FocalPoint distribution. For Mac OS X, you will have to control click the FocalPoint program icon, choose “Show Package Contents” and navigate into Contents/Resources/Java to find the loci_tools.jar file.

Graphic Converter

Graphic Converter is a Mac OS application for opening, editing, and organizing photos. Versions 6.4.1 and later use Bio-Formats to open all file formats supported by Bio-Formats.

Icy

Icy is an open-source image analysis and visualization software package that combines a user-friendly graphical interface with the ability to write scripts and plugins that can be uploaded to a centralized website.  It uses Bio-Formats internally to read images and acquisition metadata, so no further installation is necessary.

Iqm

Iqm is an image processing application written in Java. It is mainly constructed around the Java JAI library and furthermore it incorporates the functionality of the popular ImageJ image processing software.

Because iqm integrates with ImageJ, it can take advantage of the Bio-Formats ImageJ plugin to read image data.

Micro-Manager

Micro-Manager is a software framework for implementing advanced and novel imaging procedures, extending functionality, customization and rapid development of specialized imaging applications.

Micro-Manager offers the functionality for saving the acquired images in TIFF/OME-TIFF format. Based on the mode of saving and the configuration settings, the acquired image can be saved with or without a companion file (*metadata.txt):

Saving options in Micro-Manager

Micro-Manager saving option

Micro-Manager saving format

Companion file

Bio-Formats reading

Reader users

Save as separate image files

TIFF

Yes

Full support

MicromanagerReader

Save as image stack file

OME-TIFF

No

Pixel data plus minimal metadata*

OMETiffReader

Save as image stack file

OME-TIFF

Yes**

Full Support

MicromanagerReader

* Not all acquisition metadata is converted to OME-XML.

** A small change in the acquisition side facilitates better handling of the metadata from the Bio-Formats side: Tools ‣ Options… and then select “Create metadata.txt file with Image Stack Files” in the text box.

MIPAV

The MIPAV (Medical Image Processing, Analysis, and Visualization) application—developed at the Center for Information Technology at the National Institutes of Health—enables quantitative analysis and visualization of medical images of numerous modalities such as PET, MRI, CT, or microscopy. You can use Bio-Formats as a plugin for MIPAV to read images in the formats it supports.

Installation

Follow these steps to install the Bio-Formats plugin for MIPAV:

  1. Download bioformats_package.jar and drop it into your MIPAV folder.

  2. Download the plugin source code into your user mipav/plugins folder.

  3. From the command line, compile the plugin with:

    cd mipav/plugins
    javac -cp $MIPAV:$MIPAV/bioformats\_package.jar \\
      PlugInBioFormatsImporter.java
    
  4. where $MIPAV is the location of your MIPAV installation.

  5. Add bioformats_package.jar to MIPAV’s class path:

    • How to do so depends on your platform.

    • E.g., in Mac OS X, edit the mipav.app/Contents/Info.plist file.

  6. Run MIPAV and a new “BioFormatsImporter - read image” menu item will appear in the Plugins > File submenu.

See the readme file for more information.

To upgrade, just overwrite the old bioformats_package.jar with the latest one. You may want to download the latest version of MIPAV first, to take advantage of new features and bug-fixes.

QuPath

QuPath is an open-source application for whole slide image analysis and visualization. QuPath can be configured to use Bio-Formats by installing the QuPath Bio-Formats extension

Vaa3D

Vaa3D, developed by the Peng Lab at the HHMI Janelia Farm Research Campus, is a handy, fast, and versatile 3D/4D/5D Image Visualization & Analysis System for Bioimages & Surface Objects.

Vaa3D can use Bio-Formats via the Bio-Formats C++ bindings to read images.

VisBio

VisBio is a biological visualization tool designed for easy visualization and analysis of multidimensional image data. VisBio uses Bio-Formats to import files as the Bio-Formats library originally grew out of our efforts to continually expand the file format support within VisBio.

Installation

VisBio is bundled with Bio-Formats, so no further installation is necessary.

Upgrading

It should be possible to use a newer version of Bio-Formats by overwriting the old bio-formats.jar and optional libraries within the VisBio distribution. For Mac OS X, you will have to control click the VisBio program icon, choose “Show Package Contents” and navigate into Contents/Resources/Java to find the JAR files.

XuvTools

XuvTools is automated 3D stitching software for biomedical image data.  As of release 1.8.0, XuvTools uses Bio-Formats to read image data.

Developer Documentation

The following sections describe various things that are useful to know when working with Bio-Formats. It is recommended that you obtain the Bio-Formats source by following the directions in the Source code section. Referring to the Javadocs as you read over these pages should help, as the notes will make more sense when you see the API.

For a complete list of supported formats, see the Bio-Formats supported formats table.

For a few working examples of how to use Bio-Formats, see these Github pages and the bio-formats-examples repository.

Introduction to Bio-Formats

Overview for developers

From the rest of the Bio-Formats developer documentation one may piece together a correct and useful understanding of what Bio-Formats does and how it does it. This section gives a high-level tour of these technical details, for those new to working on Bio-Formats itself, making it easier to understand how the information from the other sections fits into the big picture.

Terms and concepts

Bio-Formats can read image data from files for many formats, and can write image data to files for some formats. An image may have many two-dimensional “planes” of pixel intensity values. Each pixel on a plane is identified by its x, y values. Planes within an image may be identified by various dimensions including z (third spatial dimension), c (channel, e.g. wavelength) or t (time). Planes may be divided into tiles, which are rectangular subsections of a plane; this is helpful in handling very large planes. A file (or set of related files) on disk may contain multiple images: each image is identified by a unique series number.

An image is more than a set of planes: it also has metadata. Bio-Formats distinguishes core metadata, such as the x, y, z, c, t dimensions of the image, from format-specific original metadata, e.g. information about the microscope and its settings, which is represented as a dictionary of values indexed by unique keys. Metadata apply to the image data as a whole, or separately to specific series within it.

Bio-Formats is able to translate the above metadata into a further form, OME metadata. The translation may be partial or incomplete, but remains very useful for allowing the metadata of images from different file formats to be used and compared in a common format defined by the OME data model.

Implementation

Bio-Formats is primarily a Java project. It can be used from MATLAB and there is also a separate C++ implementation (OME Files C++). The source code is available for download and sometimes the user community contributes code back into Bio-Formats by opening a pull request on GitHub. Bio-Formats is built from source with Ant or Maven and some of the Bio-Formats source code is generated from other files during the build process. The resulting JARs corresponding to official Bio-Formats releases are available for download.

Readers and writers for different image file formats are implemented in separate Java classes. Readers for related formats may reflect that relationship in the Java class hierarchy. Simple standalone command-line tools are provided with Bio-Formats, but it is more commonly used as a third-party library by other applications. Various examples show how one may use Bio-Formats in different ways in writing a new application that reads or writes image data. A common pattern is to initialize a reader based on the image data’s primary file, then query that reader for the metadata and planes of interest.

The set of readers is easily modified. The readers.txt file lists the readers to try in determining an image file’s format, and there are many useful classes and methods among the Bio-Formats Java code to assist in writing new readers and writers.

Obtaining and building Bio-Formats

Note

Bio-Formats requires Java 8 or above

Source code

The source code for this Bio-Formats release is available from the downloads site. This release and the latest Bio-Formats source code are also available from the Git repository. This may be accessed using the repository path:

git@github.com:openmicroscopy/bioformats.git

More information about Git and client downloads are available from the Git project website. You can also browse the Bio-Formats source on GitHub

Note

Windows users must set git to use core.autocrlf=input to ensure that Bio-Formats uses LF rather than CRLF line endings, otherwise the build will fail (Genshi can’t process code templates with CRLF line endings, leading to broken sources being generated). This can be set globally in the registry when installing msysgit or by editing etc/gitconfig in the git installation directory. Annoyingly, these settings appear to override per-user and per-repository configuration values, requiring these to be set globally.

Lastly, you can browse the Bio-Formats Javadocs online, or generate them yourself using the “docs” Ant target.

Source code structure

The Bio-Formats code is divided into several projects. Core components are located in subfolders of the components folder, with some components further classified into components/forks, depending on the nature of the project. See the Component overview for more information, including associated build targets for each component.

Each project has a corresponding Maven POM file, which can be used to work with the project in your favorite IDE, or from the command line, once you have cloned the source.

Building from source

Instructions for several popular options follow. In all cases, make sure that the prerequisites are installed before you begin.

If you are interested in working on the Bio-Formats source code itself, you can load it into your favorite IDE, or develop with your favorite text editor.

NetBeans

NetBeans comes with Maven support built in. To import the Bio-Formats source, perform the following steps:

  1. Select File ‣ Open Project from the menu - choose the top-level path to bioformats.git and click Open Project

  2. In the ‘Projects’ tab on the left-hand side, expand the ‘Bio-Formats projects’ entry - you should now have a series of folders including ‘Other Sources’, ‘Modules’ and ‘Dependencies.

  3. Expand the ‘Modules’ folder to give a list of components and then double-click the desired project(s) to work with them.

Opening Bio-Formats in Netbeans

Alternately, you can clone the source directly from NetBeans into a project by selecting Team ‣ Git ‣ Clone Other… from the menu.

Eclipse

Eclipse uses the “Maven Integration for Eclipse” (m2e) plugin to work with Maven projects. It is more flexible than Eclipse’s built-in project management because m2e transparently converts between project dependencies and JAR dependencies (stored in the Maven repository in ~/.m2/repository) on the build path, depending on which projects are currently open.

We recommend using Eclipse 4.3 (Kepler) or later, specifically - “Eclipse IDE for Java developers”. It comes with m2e installed (http://eclipse.org/downloads/compare.php?release=kepler).

You can import the Bio-Formats source by choosing File ‣ Import ‣ Existing Maven Projects from the menu and browsing to the top-level folder of your Bio-Formats working copy. Alternatively, run the Eclipse Maven target with mvn eclipse:eclipse to create the Eclipse project files, then use File ‣ Import ‣ Existing Maven Projects.

IntelliJ IDEA

IntelliJ IDEA can build Bio-Formats using either Maven or Ant. Go to File ‣ Open… and browse to the top-level folder of your Bio-Formats working copy. Select Build ‣ Build Project or select the Maven tab on the right of the screen.

Command line

If you prefer developing code with a text editor such as vim or emacs, you can use the Ant or Maven command line tools to compile Bio-Formats. The Bio-Formats source tree provides parallel build systems for both Ant and Maven, so you can use either one to build the code.

For a list of Ant targets, run:

ant -p

In general, ant jars or ant tools is the correct command.

When using Maven, Bio-Formats is configured to run the “install” target by default, so all JARs will be copied into your local Maven repository in ~/.m2/repository. Simply run:

mvn

With either Ant or Maven, you can use similar commands in any subproject folder to build just that component.

Component overview

The Bio-Formats code repository is divided up into separate components.

The Ant targets to build each component from the repository root are noted in the component descriptions below. Unless otherwise noted, each component can also be built with Maven by running mvn in the component’s subdirectory. The Maven module name for each component (as it is shown in most IDEs) is also noted in parenthesis.

Core components

The most commonly used and actively modified components.

Internal testing components

These components are used heavily during continuous integration testing, but are less relevant for active development work.

Forks of existing projects
All components

bio-formats-plugins (Bio-Formats Plugins for ImageJ):

Ant: jar-bio-formats-plugins

Everything pertaining to the Bio-Formats plugins for ImageJ lives in this component. Note that when built, this component produces bio-formats_plugins.jar (instead of bio-formats-plugins.jar) to be in keeping with ImageJ plugin naming conventions.

bio-formats-tools (Bio-Formats command line tools):

Ant: jar-bio-formats-tools

The classes that implement the showinf, bfconvert, and mkfake command line tools are contained in this component. Note that this is built with the jar-bio-formats-tools Ant target, and not the tools target (which is the Ant equivalent of bundles).

bundles (bioformats_package bundle, LOCI Tools bundle):

Ant: tools

This is only needed by the Maven build system, and is used to aggregate all of the individual .jar files into bioformats_package.jar. There should not be any code here, just build system files.

OME JAI (deprecated):

This is a fork of JAI ImageIO. JAI ImageIO is no longer maintained; the most active fork is jai-imageio-core on GitHub. JAI provides support for decoding YCbCr JPEG-2000 data. This is primarily needed for reading images from histology/pathology formats in formats-gpl. There are no dependencies on other components.

The status of this component means that you may encounter errors due to conflicting JARs e.g. between Bio-Formats and other toolboxes within Fiji or MATLAB, especially when trying to open JPEG-2000 data. In this case, you will need to remove the conflicting JAR(s) as a workaround.

forks/turbojpeg (libjpeg-turbo Java bindings):

Ant: jar-turbojpeg

This is a fork of libjpeg-turbo. There are not any real code changes, but having this as a separate component allows us to package the libjpeg-turbo Java API together with all of the required binaries into a single .jar file using native-lib-loader. There are no dependencies on other components.

formats-api (Bio-Formats API):

Ant: jar-formats-api

This defines all of the high level interfaces and abstract classes for reading and writing files. There are no file format readers or writers actually implemented in this component, but it does contain the majority of the API that defines Bio-Formats. formats-bsd and formats-gpl implement this API to provide file format readers and writers. ome-common and ome-xml are both required as part of the interface definitions.

formats-bsd (BSD Bio-Formats readers and writers):

Ant: jar-formats-bsd

This contains readers and writers for formats which have a publicly available specification, e.g. TIFF. Everything in the component is BSD-licensed.

formats-gpl (Bio-Formats library):

Ant: jar-formats-gpl

The majority of the file format readers and some file format writers are contained in this component. Everything in the component is GPL-licensed (in contrast with formats-bsd). Most file formats represented in this component do not have a publicly available specification.

test-suite (Bio-Formats testing framework):

Ant: jar-tests

All tests that operate on files from our data repository (i.e. integration tests) are included in this component. These tests are primarily run by the continuous integration jobs, and verify that there are no regressions in reading images or metadata.

External components

The following have been decoupled from the Bio-Formats code repository and are now available as separate build dependencies:

Decoupled OME data model components:

Bio-Formats examples

Usage examples for Bio-Formats with Maven and Gradle.

Bio-Formats documentation

The Sphinx source repository for this manual.

OME Common (Java / C++):

Provides I/O classes that unify reading from files on disk, streams or files in memory, compressed streams, and non-file URLs. The primary entry points are Location, RandomAccessInputStream (for reading), and RandomAccessOutputStream (for writing).

In addition to I/O, there are several classes to assist in working with XML (XMLTools), date/timestamps (DateTools), logging configuration (DebugTools), and byte arithmetic (DataTools).

OME Codecs:

Provides classes for encoding and decoding compressed data for a variety of compression formats. ome-common is a required dependency for I/O and service loading.

OME MDB Tools (Java port):

This is a fork of the mdbtools-java project. There are numerous bug fixes, as well as changes to reduce the memory required for large files. There are no dependencies on other components.

OME Apache Jakarta POI:

This is a fork of Apache POI, which allows reading of Microsoft OLE document files. We have made substantial changes to support files larger than 2GB and reduce the amount of memory required to open a file. I/O is also handled by classes from ome-common, which allows OLE files to be read from memory.

Metakit Java library:

Java implementation of the Metakit database specification. This uses classes from ome-common and is used by formats-gpl, but is otherwise independent of the main Bio-Formats API.

OME-XML Java library:

This component contains classes that represent the OME-XML schema. Some classes are committed to the Git repository, but the majority are generated at build time by using XSD-FU to parse the OME-XML schema files. Classes from this component are used by Bio-Formats to read and write OME-XML, but they can also be used independently.

Model specification:

All released and in-progress OME-XML schema files are contained in this component. The specification component is also the location of all XSLT stylesheets for converting between OME-XML schema versions, as well as example OME-XML files in each of the released schema versions.

Stubs:

MIPAV stubs.

This component provides empty classes that mirror third-party dependencies which are required at compile time but cannot be included in the build system (usually due to licensing issues). The build succeeds since required class names are present with the correct method signatures; the end user is then expected to replace the stub .jar files at runtime.

JXRlib:

This component contains the Java bindings for jxrlib, an open source implementation of the JPEG-XR image format standard.

Reading files

Basic file reading

Bio-Formats provides several methods for retrieving data from files in an arbitrary (supported) format. These methods fall into three categories: raw pixels, core metadata, and format-specific metadata. All methods described here are present and documented in loci.formats.IFormatReader. In general, it is recommended that you read files using an instance of loci.formats.ImageReader. While it is possible to work with readers for a specific format, ImageReader contains additional logic to automatically detect the format of a file and delegate subsequent calls to the appropriate reader.

Prior to retrieving pixels or metadata, it is necessary to call setId(java.lang.String) on the reader instance, passing in the name of the file to read. Some formats allow multiple series (5D image stacks) per file; in this case you may wish to call setSeries(int) to change which series is being read.

Raw pixels are always retrieved one plane at a time. Planes are returned as raw byte arrays, using one of the openBytes methods.

Core metadata is the general term for anything that might be needed to work with the planes in a file. A list of core metadata fields is given in the table below together with the appropriate accessor method:

Core metadata field

API method

image width

getSizeX()

image height

getSizeY()

number of series per file

getSeriesCount()

total number of images per series

getImageCount()

number of slices in the current series

getSizeZ()

number of timepoints in the current series

getSizeT()

number of actual channels in the current series

getSizeC()

number of channels per image

getRGBChannelCount()

the ordering of the images within the current series

getDimensionOrder()

whether each image is RGB

isRGB()

whether the pixel bytes are in little-endian order

isLittleEndian()

whether the channels in an image are interleaved

isInterleaved()

the type of pixel data in this file

getPixelType()

All file formats are guaranteed to accurately report core metadata.

Bio-Formats also converts and stores additional information which can be stored and retrieved from the OME-XML Metadata. These fields can be accessed in a similar way to the core metadata above. An example of such values would be the physical size of dimensions X, Y and Z. The accessor methods for these properties return a Length object which contains both the value and unit of the dimension. These lengths can also be converted to other units using value(ome.units.unit.Unit) An example of reading and converting these physical sizes values can be found in ReadPhysicalSize.java.

Format-specific metadata refers to any other data specified in the file - this includes acquisition and hardware parameters, among other things. This data is stored internally in a java.util.Hashtable, and can be accessed in one of two ways: individual values can be retrieved by calling getMetadataValue(java.lang.String), which gets the value of the specified key. Note that the keys in this Hashtable are different for each format, hence the name “format-specific metadata”.

See Bio-Formats metadata processing for more information on the metadata capabilities that Bio-Formats provides.

See also

IFormatReader

Source code of the loci.formats.IFormatReader interface

OrthogonalReader.java

Example of reading XZ and YZ image planes from a file

File reading extras

The previous section described how to read pixels as they are stored in the file. However, the native format is not necessarily convenient, so Bio-Formats provides a few extras to make file reading more flexible.

  • The loci.formats.ReaderWrapper API that implements loci.formats.IFormatReader allows to define “wrapper” readers that take a reader in the constructor, and manipulate the results somehow, for convenience. Using them is similar to the java.io InputStream/OutputStream model: just layer whichever functionality you need by nesting the wrappers.

    The table below summarizes a few wrapper readers of interest:

    Wrapper reader

    Functionality

    loci.formats.BufferedImageReader

    Allows pixel data to be returned as BufferedImages instead of raw byte arrays

    loci.formats.FileStitcher

    Uses advanced pattern matching heuristics to group files that belong to the same dataset

    loci.formats.ChannelSeparator

    Makes sure that all planes are grayscale - RGB images are split into 3 separate grayscale images

    loci.formats.ChannelMerger

    Merges grayscale images to RGB if the number of channels is greater than 1

    loci.formats.ChannelFiller

    Converts indexed color images to RGB images

    loci.formats.MinMaxCalculator

    Provides an API for retrieving the minimum and maximum pixel values for each channel

    loci.formats.DimensionSwapper

    Provides an API for changing the dimension order of a file

    loci.formats.Memoizer

    Caches the state of the reader into a memoization file

  • loci.formats.ImageTools and loci.formats.gui.AWTImageTools provide a number of methods for manipulating BufferedImages and primitive type arrays. In particular, there are methods to split and merge channels in a BufferedImage/array, as well as converting to a specific data type (e.g. convert short data to byte data).

Troubleshooting
  • Importing multi-file formats (Leica LEI, PerkinElmer, FV1000 OIF, ICS, and Prairie TIFF, to name a few) can fail if any of the files are renamed. There are “best guess” heuristics in these readers, but they are not guaranteed to work in general. So please do not rename files in these formats.

  • If you are working on a Macintosh, make sure that the data and resource forks of your image files are stored together. Bio-Formats does not handle separated forks (the native QuickTime reader tries, but usually fails).

  • Bio-Formats file readers are not thread-safe. If files are read within a parallelized environment, a new reader must be fully initialized in each parallel session. See Improving reading performance about ways to improve file reading performance in multi-threaded mode.

Writing files

The loci.formats.IFormatWriter API is very similar to the reader API, in that files are written one plane at time (rather than all at once).

The file formats which can be written using Bio-Formats are marked in the supported formats table with a green tick in the ‘export’ column. These include, but are not limited to:

  • TIFF (uncompressed, LZW, JPEG, or JPEG-2000)

  • OME-TIFF (uncompressed, LZW, JPEG, or JPEG-2000)

  • JPEG

  • PNG

  • AVI (uncompressed)

  • QuickTime (uncompressed)

  • Encapsulated PostScript (EPS)

  • OME-XML (not recommended)

All writers allow the output file to be changed before the last plane has been written. This allows you to write to any number of output files using the same writer and output settings (compression, frames per second, etc.), and is especially useful for formats that do not support multiple images per file.

See also

IFormatWriter

Source code of the loci.formats.IFormatWriter interface

loci.formats.tools.ImageConverter

Source code of the loci.formats.tools.ImageConverter class

Further details on exporting raw pixel data to OME-TIFF files

Examples of OME-TIFF writing

Using Bio-Formats as a Java library

Using Bio-Formats as a Java library

Bio-Formats as a Maven, Gradle or Ivy dependency

All released .jar artifacts are published to and can be obtained from the OME Artifactory. The “Client Settings” section of the Artifactory main page provides example code snippets for inclusion into your Gradle, Maven or Ivy project, which will enable the use of this repository.

Changed in version 6.12.0.

As of Bio-Formats 6.12.0 consumers will have to directly declare a dependency for their chosen SLF4J logging framework. See Logging for further details.

Examples of getting started with Bio-Formats using Maven or Gradle are given in the https://github.com/ome/bio-formats-examples repository. OMERO uses Ivy to manage its Java dependencies including Bio-Formats.

Note

In order to retrieve the NetCDF dependency of Bio-Formats, it is necessary to configure the Unidata releases repository in addition to Maven Central and the OME artifactory in your https://github.com/ome/bio-formats-examples/blob/master/pom.xml, https://github.com/ome/bio-formats-examples/blob/master/build.gradle or ivy.xml file.

Bio-Formats as a Java library

Alternatively Bio-Formats can be used by including its component jar files. You can download formats-gpl.jar to use it as a library. Just add formats-gpl.jar to your CLASSPATH or build path. You will also need ome-common.jar for common I/O functions, ome-xml.jar for metadata standardization, and a SLF4J binding for Logging.

Dependencies

The complete list of third-party dependencies for formats-gpl.jar is as follows:

Package

Maven name

License

JHDF5 v19.04.0

cisd:jhdf5:19.04.0

Apache License v2.0

cisd base v18.09.0

cisd:base:18.09.0

Apache License v2.0

commons-io v2.7

commons-io:commons-io:2.7

Apache License v2.0

commons-lang3 v3.10

org.apache.commons:commons-lang3:3.10

Apache License v2.0

XMP Library for Java v6.1.11

com.adobe.xmp:xmpcore:6.1.11

BSD License

JCommander v1.27

com.beust:jcommander:1.27

Apache License v2.0

metadata-extractor v2.18.0

com.drewnoakes:metadata-extractor:2.18.0

Apache License v2.0

aircompressor v0.21

io.airlift:aircompressor:0.21

Apache License v2.0

Kryo v4.0.2

com.esotericsoftware.kryo:kryo:4.0.2

BSD License

reflectasm v1.11.3

com.esotericsoftware:reflectasm:1.11.3

BSD 3-Clause

asm v5.0.4

org.ow2.asm:asm:5.0.4

BSD 3-Clause

MinLog v1.3

com.esotericsoftware.minlog:minlog:1.3

BSD License

Guava v32.0.0

com.google.guava:guava:32.0.0-jre

Apache License v2.0

JGoodies Common v1.7.0

com.jgoodies:jgoodies-common:1.7.0

BSD License

JGoodies Forms v1.7.2

com.jgoodies:jgoodies-forms:1.7.2

BSD License

Commons Lang v2.6

commons-lang:commons-lang:2.6

Apache License v2.0

Commons Logging v1.2

commons-logging:commons-logging:1.2

Apache License v2.0

NetCDF-Java Library v5.3.3

edu.ucar:cdm:5.3.3

MIT-Style License

Joda time v2.2

joda-time:joda-time:2.2

Apache License v2.0

JUnit v4.10

junit:junit:4.10

Common Public License v1.0

BeanShell v2.0b4

org.beanshell:bsh:2.0b4

Sun Public License / LGPL

Hamcrest Core v1.2.1

org.hamcrest:hamcrest-core:1.2.1

BSD 3-Clause

Objenesis v2.5.1

org.objenesis:objenesis:2.5.1

Apache License v2.0

Perf4J v0.9.16

org.perf4j:perf4j:0.9.16

Apache License v2.0

Native Library Loader v2.1.4

org.scijava:native-lib-loader:2.1.4

BSD License

SLF4J API v2.0.9

org.slf4j:slf4j-api:2.0.9

MIT License

TestNG v6.8

org.testng:testng:6.8

Apache License v2.0

SnakeYAML v1.32

org.yaml:snakeyaml:1.32

Apache License v2.0

Xalan Java Serializer v2.7.3

xalan:serializer:2.7.3

Apache License v2.0

Xalan Java v2.7.3

xalan:xalan:2.7.3

Apache License v2.0

Xerces2 Java Parser v2.12.2

xerces:xercesImpl:2.12.2

Apache License v2.0

XML Commons External Components XML APIs v1.4.01

xml-apis:xml-apis:1.4.01

Apache License v2.0

minio v5.0.2

io.minio:minio:5.0.2

AGPL v3

http-client-xml v1.20.0

com.google.http-client:google-http-client-xml:1.20.0

Apache License v2.0

http-client v1.20.0

com.google.http-client:google-http-client:1.20.0

Apache License v2.0

xpp3 v1.1.4c

xpp3:xpp3:1.1.4c

https://github.com/aslom/xpp3/blob/master/LICENSE.txt

okhttp3 v3.7.0

com.squareup.okhttp3:okhttp:3.7.0

Apache License v2.0

okio v1.12.0

com.squareup.okio:okio:1.12.0

Apache License v2.0

jaxb v2.3.0

javax.xml.bind:jaxb-api:2.3.0

json v20230227

org.json:json:20230227

https://github.com/stleary/JSON-java/blob/master/LICENSE

sqlite v3.28.0

org.xerial:sqlite-jdbc:3.28.0

Apache License v2.0

failureaccess v1.0.1

com.google.guava:failureaccess:1.0.1

Apache License v2.0

listenablefuture v9999.0

com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava

Apache License v2.0

jsr305 v3.0.2

com.google.code.findbugs:jsr305:3.0.2

BSD 3-Clause

checker-qual v2.11.1

org.checkerframework:checker-qual:2.11.1

GPL v2

errorprone v2.3.4

com.google.errorprone:error_prone_annotations:2.3.4

Apache License v2.0

j2objc-annotations v1.3

com.google.j2objc:j2objc-annotations:1.3

Apache License v2.0

httpservices v5.3.3

edu.ucar:httpservices:5.3.3

MIT-Style License

httpclient v4.5.9

org.apache.httpcomponents:httpclient:4.5.9

Apache License v2.0

commons-codec v1.11

commons-codec:commons-codec:1.11

Apache License v2.0

httpmime v4.5.9

org.apache.httpcomponents:httpmime:4.5.9

Apache License v2.0

c3p0 v0.9.5.3

com.mchange:c3p0:0.9.5.3

Eclipse Public License v1.0

mchange-commons-java v0.2.15

com.mchange:mchange-commons-java:0.2.15

jackson-core v2.14.1

com.fasterxml.jackson.core:jackson-core:2.14.1

Apache License v2.0

jackson-annotations v2.14.1

com.fasterxml.jackson.core:jackson-annotations:2.14.1

Apache License v2.0

jackson-databind v2.14.1

com.fasterxml.jackson.core:jackson-databind:2.14.1

Apache License v2.0

The below are optional dependencies :

Package

Maven name

License

Logback Classic v1.3.14

ch.qos.logback:logback-classic:1.3.14

Eclipse Public License v1.0

Logback Core v1.3.14

ch.qos.logback:logback-core:1.3.14

Eclipse Public License v1.0

As described in Versioning policy, the minor version number of a Bio-Formats release will always be increased if the version of a non-OME/external dependency is bumped.

Dependency lists for any component can be generated by checking out the code as described in Source code and then running:

cd components/$COMPONENT_NAME
mvn dependency:tree
Examples of usage
File reading and performance:

MultiFileExample - Simple example of how to open multiple files simultaneously.

ParallelRead - Reads all files in given directory in parallel, using a separate thread for each.

ReadWriteInMemory - Tests the Bio-Formats I/O logic to and from byte arrays in memory.

OrthogonalReader - Reads image data in XZ and YZ order.

File writing:

MinimumWriter - A command line utility demonstrating the minimum amount of metadata needed to write a file.

FileExport - Write a file in any supported output format.

TiledExport - Shows how to convert a file one tile at a time, instead of one plane at a time (needed for very large images).

FileExportSPW - Write a file with plate (OME SPW) metadata.

File compression:

makeLZW - Converts the given image file to an LZW-compressed TIFF.

Metadata extract/print:

GetPhysicalMetadata - Uses Bio-Formats to extract some basic standardized (format-independent) metadata.

ReadPhysicalSize - Reads physical size information uses the units API to display in micrometers.

ImageInfo - A more involved command line utility for thoroughly reading an input file, printing some information about it, and displaying the pixels onscreen using the Bio-Formats viewer.

PrintTimestamps - A command line example demonstrating how to extract timestamps from a file.

PrintLensNA - Uses Bio-Formats to extract lens numerical aperture in a format-independent manner from a dataset.

PrintROIs - A simple example of how to retrieve ROI data parsed from a file.

SubResolutionExample - Demonstration of the sub-resolution API.

Metadata add/edit:

EditImageName - Edits the given file’s image name (but does not save back to disk).

EditTiffComment - Allows raw user TIFF comment editing for the given TIFF files.

writeMapAnnotations - Example method to write MapAnnotations to the ome-xml.

CommentSurgery - Edits a TIFF ImageDescription comment, particularly the OME-XML comment found in OME-TIFF files.

Image converters:

ImageConverter - A simple command line tool for converting between formats.

FileConvert - Converts a file in any supported format to any supported output format.

ConvertToOmeTiff - Converts the given files to OME-TIFF format.

WritePreCompressedPlanes - Writes the pixels from a set of JPEG files to a single TIFF. The pixel data is used as-is, so no decompression or re-compression is performed.

GeneratePyramidResolutions - Convert a file containing a single large image to a pyramid OME-TIFF.

TiledReaderWriter - Convert a file to OME-TIFF one tile at a time.

OverlappedTiledWriter - Convert a file to OME-TIFF one tile at a time, when the image size is not a multiple of the tile size.

SimpleTiledWriter - Convert a file to OME-TIFF using automatic tiling.

ImageJ plugins:

Simple_Read - A simple ImageJ plugin demonstrating how to use Bio-Formats to read files into ImageJ (see ImageJ overview).

Read_Image - An ImageJ plugin that uses Bio-Formats to build up an image stack, reading image planes one by one (see ImageJ overview).

Mass_Importer - A simple plugin for ImageJ that demonstrates how to open all image files in a directory using Bio-Formats, grouping files with similar names to avoiding opening the same dataset more than once (see ImageJ overview).

Image processing utilities:

SewTiffs - Stitches the first plane from a collection of TIFFs into a single file.

SumPlanes - Sums together the image planes from the given file,and saves the result to a 16-bit TIFF.

A Note on Java Web Start (bioformats_package.jar vs. formats-gpl.jar)

To use Bio-Formats with your Java Web Start application, we recommend using formats-gpl.jar rather than bioformats_package.jar—the latter is merely a bundle of formats-gpl.jar plus all its optional dependencies.

The bioformats_package.jar bundle is intended as a convenience (e.g. to simplify installation as an ImageJ plugin), but is by no means the only solution for developers. We recommend using formats-gpl.jar as a separate entity depending on your needs as a developer.

The bundle is quite large because we have added support for several formats that need large helper libraries (e.g. Imaris’ HDF-based format). However, these additional libraries are optional; Bio-Formats has been coded using reflection so that it can both compile and run without them.

When deploying a JNLP-based application, using bioformats_package.jar directly is not the best approach, since every time Bio-Formats is updated, the server would need to feed another 15+ MB JAR file to the client. Rather, Web Start is a case where you should keep the JARs separate, since JNLP was designed to make management of JAR dependencies trivial for the end user. By keeping formats-gpl.jar and the optional dependencies separate, only a <1 MB JAR needs to be updated when formats-gpl.jar changes.

As a developer, you have the option of packaging formats-gpl.jar with as many or as few optional libraries as you wish, to cut down on file size as needed. You are free to make whatever kind of “stripped down” version you require. You could even build a custom formats-gpl.jar that excludes certain classes, if you like.

Units of measurement

Since Bio-Formats 5.1 and the adoption of the 2015-01 OME Data Model, the data model and the corresponding Bio-Formats model and metadata APIs have added support for units of measurement. Previously, the units for various properties such as the physical size of an image, stage position, confocal pinhole size, light wavelengths etc. were fixed in the model. This was however somewhat inflexible, and not appropriate for imaging modalities at widely different scales. The solution to this was to add a unit of measurement to each of these properties. The image size, for example, was previously specified to be stored in micrometers but may now be specified in any SI length unit of choice, or one of the supported non-SI length units. This permits the preservation of the unit used by a proprietary file format or used at acquisition time, for example nanometers, millimeters, meters, or inches or thousandths of an inch could be used instead.

At the OME-XML level, the properties continue to use the old attribute names. They are supplemented by an additional attribute with a Unit suffix, for example the PhysicalSizeX attribute and its companion PhysicalSizeXUnit attribute.

At the API level, two classes are used:

Unit<T>

represents a unit system for a given dimension such as length, pressure or time.

Quantity

represents a value and unit in a given unit system; this is subclassed for each of the supported dimensions such as Length, Pressure etc. For example the Length class could represent the value and unit of 5.3 µm and the Pressure class 956 mbar.

All of the model and metadata APIs pass Quantity objects in place of raw numerical values. Updating your code will require replacing the use of raw values with quantities. Where your code needs to deal with the quantity in a specific unit, for example µm, you will need to perform an explicit unit conversion to transform the value to the required unit.

The three situations you will need to deal with are:

  • getting a quantity from a get method in the API

  • converting a quantity to a desired unit

  • setting a quantity with a set method in the API (possibly also requiring the creation of a quantity)

Examples of how to use units and quantities for these purposes are shown in the sections Reading files (ReadPhysicalSize example which uses getPixelsPhysicalSize and also demonstrates unit conversion) and Further details on exporting raw pixel data to OME-TIFF files (setPixelsPhysicalSize).

Exporting files using Bio-Formats

This guide pertains to version 4.2 and later.

Basic conversion

The first thing we need to do is set up a reader:

// create a reader that will automatically handle any supported format
IFormatReader reader = new ImageReader();
// tell the reader where to store the metadata from the dataset
MetadataStore metadata;

try {
  ServiceFactory factory = new ServiceFactory();
  OMEXMLService service = factory.getInstance(OMEXMLService.class);
  metadata = service.createOMEXMLMetadata();
}
catch (DependencyException exc) {
  throw new FormatException("Could not create OME-XML store.", exc);
}
catch (ServiceException exc) {
  throw new FormatException("Could not create OME-XML store.", exc);
}

reader.setMetadataStore(metadata);
// initialize the dataset
reader.setId("/path/to/file");

Now, we set up our writer:

// create a writer that will automatically handle any supported output format
IFormatWriter writer = new ImageWriter();
// give the writer a MetadataRetrieve object, which encapsulates all of the
// dimension information for the dataset (among many other things)
OMEXMLService service = factory.getInstance(OMEXMLService.class);
writer.setMetadataRetrieve(service.asRetrieve(reader.getMetadataStore()));
// initialize the writer
writer.setId("/path/to/output/file");

Note that the extension of the file name passed to ‘writer.setId(…)’ determines the file format of the exported file.

Now that everything is set up, we can start writing planes:

for (int series=0; series<reader.getSeriesCount(); series++) {
  reader.setSeries(series);
  writer.setSeries(series);

  for (int image=0; image<reader.getImageCount(); image++) {
    writer.saveBytes(image, reader.openBytes(image));
  }
}

Finally, make sure to close both the reader and the writer. Failure to do so can cause:

  • file handle leaks

  • memory leaks

  • truncated output files

Fortunately, closing the files is very easy:

reader.close();
writer.close();
Converting to multiple files

The recommended method of converting to multiple files is to use a single IFormatWriter, like so:

// you should have set up a reader as in the first example
ImageWriter writer = new ImageWriter();
OMEXMLService service = factory.getInstance(OMEXMLService.class);
writer.setMetadataRetrieve(service.asRetrieve(reader.getMetadataStore()));
// replace this with your own filename definitions
// in this example, we're going to write half of the planes to one file
// and half of the planes to another file
String[] outputFiles =
  new String[] {"/path/to/file/1.tiff", "/path/to/file/2.tiff"};
writer.setId(outputFiles[0]);

int planesPerFile = reader.getImageCount() / outputFiles.length;
for (int file=0; file<outputFiles.length; file++) {
  writer.changeOutputFile(outputFiles[file]);
  for (int image=0; image<planesPerFile; image++) {
    int index = file * planesPerFile + image;
    writer.saveBytes(image, reader.openBytes(index));
  }
}

reader.close();
writer.close();

The advantage here is that the relationship between the files is preserved when converting to formats that support multi-file datasets internally (namely OME-TIFF). If you are only converting to graphics formats (e.g. JPEG, AVI, MOV), then you could also use a separate IFormatWriter for each file, like this:

OMEXMLService service = factory.getInstance(OMEXMLService.class);
// again, you should have set up a reader already
String[] outputFiles = new String[] {"/path/to/file/1.avi", "/path/to/file/2.avi"};
int planesPerFile = reader.getImageCount() / outputFiles.length;
for (int file=0; file<outputFiles.length; file++) {
  ImageWriter writer = new ImageWriter();
  writer.setMetadataRetrieve(service.asRetrieve(reader.getMetadataStore()));
  writer.setId(outputFiles[file]);
  for (int image=0; image<planesPerFile; image++) {
    int index = file * planesPerFile + image;
    writer.saveBytes(image, reader.openBytes(index));
  }
  writer.close();
}
Known issues

List of Trac tickets

Further details on exporting raw pixel data to OME-TIFF files

This document explains how to export pixel data to OME-TIFF using Bio-Formats version 4.2 and later.

Working example code is provided in FileExport.java - code from that class is referenced here in part. You will need to have bioformats_package.jar in your Java CLASSPATH in order to compile FileExport.java.

The first thing that must happen is we must create the object that stores OME-XML metadata. This is done as follows:

ServiceFactory factory = new ServiceFactory();
OMEXMLService service = factory.getInstance(OMEXMLService.class);
IMetadata omexml = service.createOMEXMLMetadata();

The ‘omexml’ object can now be used in our code to store OME-XML metadata, and by the file format writer to retrieve OME-XML metadata.

Now that we have somewhere to put metadata, we need to populate as much metadata as we can. The minimum amount of metadata required is:

  • endianness of the pixel data

  • the order in which dimensions are stored

  • the bit depth of the pixel data

  • the number of channels

  • the number of timepoints

  • the number of Z sections

  • the width (in pixels) of an image

  • the height (in pixels) of an image

  • the number of samples per channel (3 for RGB images, 1 otherwise)

We populate that metadata as follows:

omexml.setImageID("Image:0", 0);
omexml.setPixelsID("Pixels:0", 0);

// specify that the pixel data is stored in big-endian order
// replace 'TRUE' with 'FALSE' to specify little-endian order
omexml.setPixelsBinDataBigEndian(Boolean.TRUE, 0, 0);

omexml.setPixelsDimensionOrder(DimensionOrder.XYCZT, 0);
omexml.setPixelsType(PixelType.UINT16, 0);
omexml.setPixelsSizeX(new PositiveInteger(width), 0);
omexml.setPixelsSizeY(new PositiveInteger(height), 0);
omexml.setPixelsSizeZ(new PositiveInteger(zSectionCount), 0);
omexml.setPixelsSizeC(new PositiveInteger(channelCount *
samplesPerChannel), 0);
omexml.setPixelsSizeT(new PositiveInteger(timepointCount), 0);

for (int channel=0; channel<channelCount; channel++) {
  omexml.setChannelID("Channel:0:" + channel, 0, channel);
  omexml.setChannelSamplesPerPixel(new PositiveInteger(samplesPerChannel),
    0, channel);
}

Unit<Length> unit = UNITS.MICROMETER;
Length physicalSizeX = new Length(1.0, unit);
Length physicalSizeY = new Length(1.5, unit);
Length physicalSizeZ = new Length(2, unit);
omexml.setPixelsPhysicalSizeX(physicalSizeX, 0);
omexml.setPixelsPhysicalSizeY(physicalSizeY, 0);
omexml.setPixelsPhysicalSizeZ(physicalSizeZ, 0);

There is much more metadata that can be stored; please see the Javadoc for loci.formats.meta.MetadataStore for a complete list.

Now that we have defined all of the metadata, we need to create a file writer:

ImageWriter writer = new ImageWriter();

Now we must associate the ‘omexml’ object with the file writer:

writer.setMetadataRetrieve(omexml);

The writer now knows to retrieve any metadata that it needs from ‘omexml’.

We now tell the writer which file it should write to:

writer.setId("output-file.ome.tiff");

It is critical that the file name given to the writer ends with “.ome.tiff” or “.ome.tif”, as it is the file name extension that determines which format will be written.

Now that everything is set up, we can save the image data. This is done plane by plane, and we assume that the pixel data is stored in a 2D byte array ‘pixelData’:

  int sizeC = omexml.getPixelsSizeC(0).getValue();
  int sizeZ = omexml.getPixelsSizeZ(0).getValue();
  int sizeT = omexml.getPixelsSizeT(0).getValue();
  int samplesPerChannel = omexml.getChannelSamplesPerPixel(0).getValue();
  sizeC /= samplesPerChannel;

  int imageCount = sizeC * sizeZ * sizeT;

  for (int image=0; image<imageCount; image++) {
    writer.saveBytes(image, pixelData[image]);
  }
}

Finally, we must tell the writer that we are finished, so that the output file can be properly closed:

writer.close();

There should now be a complete OME-TIFF file at whichever path was specified above.

Tiled reading and writing in Bio-Formats

Reading tiled images

The reading of tiled images is straightforward and can be done in much the same way as reading a full image. In this case, to read an individual tile, we pass to the reader parameters for the x and y coordinates of the tile to read and the height and width of tile desired.

byte[] tile = reader.openBytes(image, tileX, tileY, tileSizeX, tileSizeY);

For TIFF-based readers, if the image has been written using tiles, then the tile width and height used can be found as below. These values can then be used with the above command to read the correct tiles individually.

IFD tileIFd = reader.getIFDs().get(0);
int tileHeight = tileIFd.getIFDIntValue(IFD.TILE_LENGTH);
int tileWidth = tileIFd.getIFDIntValue(IFD.TILE_WIDTH);
Introduction to tiled writing

Tiled writing is currently supported for TIFF-based formats. To set up an image writer to use tiling the following 2 API functions are provided:

public int setTileSizeX(int tileSize) throws FormatException
public int setTileSizeY(int tileSize) throws FormatException

Each function takes in an integer parameter for the desired tile size. As not all tile sizes are supported, the image writer will round the requested value to the nearest supported tile size. The return value will contain the actual tiling size which will be used by the writer.

To find out the tiling size currently being used at any point there are 2 further API functions to get the current tile size for a writer. If tiling is not being used or is not supported then the full image height and width will be returned.

public int getTileSizeX() throws FormatException
public int getTileSizeY() throws FormatException

The tiling parameters for writers must be set after the image metadata is set. An example of initializing a writer for tiling is shown below.

    // set up the writer and associate it with the output file
    writer = new OMETiffWriter();
    writer.setMetadataRetrieve(omexml);
    writer.setInterleaved(reader.isInterleaved());

    // set the tile size height and width for writing
    this.tileSizeX = writer.setTileSizeX(tileSizeX);
    this.tileSizeY = writer.setTileSizeY(tileSizeY);

    writer.setId(outputFile);
Simple tiled writing

The simplest way to write a tiled image is to set the tiling parameters on your image writer as above and have the writer automatically handle the tiling. Once the tile sizes have been set you may simply read and write your image files as normal.

    // set up the writer and associate it with the output file
    writer = new OMETiffWriter();
    writer.setMetadataRetrieve(omexml);
    writer.setInterleaved(reader.isInterleaved());

    // set the tile size height and width for writing
    this.tileSizeX = writer.setTileSizeX(tileSizeX);
    this.tileSizeY = writer.setTileSizeY(tileSizeY);

    writer.setId(outputFile);
Full working example code is provided in

SimpleTiledWriter.java - code from that class is referenced here in part. You will need to have bioformats_package.jar in your Java CLASSPATH in order to compile SimpleTiledWriter.java.

Reading and writing using tiling

For the most efficient reading and writing of tiles you may instead wish to read in and write out the individual image tiles one at a time.

To do this you can set up the reader and writer as in the previous example above. In this case, when setting the tile height and width used it is important to store the return values which will be the valid tile size used by the writer.

// set the tile height and width and store the actual values used by the writer
int tileSizeX = writer.setTileSizeX(tileSizeX);
int tileSizeY = writer.setTileSizeY(tileSizeY);

This time for each image you must determined the number of tiles using the actual tile height and width being used.

        int width = reader.getSizeX();
        int height = reader.getSizeY();

        // Determined the number of tiles to read and write
        int nXTiles = width / tileSizeX;
        int nYTiles = height / tileSizeY;
        if (nXTiles * tileSizeX != width) nXTiles++;
        if (nYTiles * tileSizeY != height) nYTiles++;

Now each tile can be read and written individually.

        for (int y=0; y<nYTiles; y++) {
          for (int x=0; x<nXTiles; x++) {
            // The x and y coordinates for the current tile
            int tileX = x * tileSizeX;
            int tileY = y * tileSizeY;

            // Read tiles from the input file and write them to the output OME-Tiff
            buf = reader.openBytes(image, tileX, tileY, tileSizeX, tileSizeY);
            writer.saveBytes(image, buf, tileX, tileY, tileSizeX, tileSizeY);
          }
        }
Full working example code is provided in

TiledReaderWriter.java - code from that class is referenced here in part. You will need to have bioformats_package.jar in your Java CLASSPATH in order to compile TiledReaderWriter.java.

Tiles which overlap image size

It may not always be the case that the tile size divides evenly into the image height and width. In these scenarios in which the last column or row of tiles overlaps with the image boundary, a smaller tile is instead read or written for the final row or column. If a full sized tile with padding is written then a loci.formats.FormatException will be thrown for Invalid tile size.

To deal with this we can modify the previous tiled writing example to check if the tile size will overlap the image boundaries. If it will not overlap then the full tile size is used, if it does then the tile size for that tile is modified to reflect the partial tile.

            // If the last tile row or column overlaps the image size then only a partial tile
            // is read or written. The tile size used is adjusted to account for any overlap.
            int effTileSizeX = (tileX + tileSizeX) < width ? tileSizeX : width - tileX;
            int effTileSizeY = (tileY + tileSizeY) < height ? tileSizeY : height - tileY;

            // Read tiles from the input file and write them to the output OME-Tiff
            buf = reader.openBytes(image, tileX, tileY, effTileSizeX, effTileSizeY);
            writer.saveBytes(image, buf, tileX, tileY, effTileSizeX, effTileSizeY);
Full working example code is provided in

OverlappedTiledWriter.java - code from that class is referenced here in part. You will need to have bioformats_package.jar in your Java CLASSPATH in order to compile OverlappedTiledWriter.java.

Working with whole slide images

Bio-Formats supports many whole slide image formats, but effectively working with this type of data requires some extra considerations. Each file contains images representing one or more physical slides, with each slide typically stored at multiple resolutions. The width and height of a full resolution whole slide image often exceed 100,000 pixels, so the uncompressed image size may be several gigabytes. This means that only part of the full resolution image can be accessed at any given time.

JPEG or JPEG-2000 compression is typically used such that the size on disk is often less than 100MB. Most whole slide formats split each image into many small tiles of 1024×1024 pixels or smaller and compress each tile independently, though some (e.g. Hamamatsu ndpi) compress the whole image at once. Many supported whole slide formats are based upon TIFF, with vendor-specific extensions for metadata or tile storage. Notable exceptions include Zeiss CZI and cellSens VSI.

The original full resolution image and its resolutions are collectively referred to as an image pyramid. File formats which support image pyramids are noted by the Pyramid column in the supported formats table.

By default, openBytes will load from the full resolution image in the first pyramid stored in the file. Each resolution of each pyramid is stored as a separate series, and can be accessed by calling setSeries prior to retrieving pixel data.

There are additional API methods that can be used to make pyramids easier to work with. These can be enabled by calling setFlattenedResolutions(false) prior to setId.

After setFlattenedResolutions(false), each series represents an entire image pyramid and not just a single resolution. Calling setSeries(...) then skips over all other resolutions in the same pyramid, to either the next pyramid (if multiple pyramids are stored), or the thumbnail or barcode image (if present). To access the smaller resolutions in the pyramid, use the getResolutionCount() and setResolution(int) methods.

Most formats only store one pyramid per fileset, but some (e.g. cellSens VSI) allow multiple pyramids. Almost all formats allow a thumbnail, slide overview, and/or slide barcode image. Bio-Formats always stores these images as separate series, after all of the pyramids. Be careful to check the pixel type for the extra images, as the type and channel count will often differ from that of the pyramid(s).

For an example of how to use the pyramid resolution API, see https://github.com/ome/bio-formats-examples/blob/master/src/main/java/SubResolutionExample.java.

Bio-Formats also provides some visibility into how the tiles are stored via the getOptimalTileWidth() and getOptimalTileHeight() methods. This is a suggestion of the size of tiles to be passed to openBytes(int, byte[], int, int, int, int), in order to minimize the number of tile decompressions. In most cases, and especially for the largest resolution, the whole image can’t be loaded at once. The amount of memory allocated is not a factor in being able to load the whole image, as no more than 2GB of pixel data can be stored in a single byte array and most full resolution images will exceed this limit.

Pyramids in OME-TIFF

Bio-Formats 6.0.0 and later can read and write image pyramids in the OME-TIFF format. Reading OME-TIFF pyramids uses the same API as described above. Writing OME-TIFF pyramids requires the resolution dimensions to be specified in an IPyramidStore object. GeneratePyramidResolutions shows a simple example of how to do this.

The bfconvert command line tool will also automatically write pyramids if the input file has at least one pyramid, the output format is OME-TIFF, and the bfconvert -noflat option is specified.

Internal OMERO pyramid format

For files that contain very large images and are not in a format that supports pyramids, OMERO will generate its own image pyramid to improve visualization performance. Bio-Formats can read these generated pyramids, but cannot currently write them outside of OMERO. For details of how to read image pyramids with Bio-Formats, see Working with whole slide images

OMERO handles pyramid generation automatically for files that do not already have a stored pyramid, use a supported pixel type, and have images that exceed a specific XY size. The default XY size threshold is 3192×3192, but this can be configured in OMERO if necessary. Common formats for which a pyramid will be generated include Gatan DM3, MRC, and TIFF. Dedicated whole slide imaging formats such as SVS typically contain their own image pyramid, in which case an OMERO pyramid will not be generated.

For further information, see the OMERO pyramid specification.

In-memory reading and writing in Bio-Formats

Bio-Formats readers and writers are traditionally used to handle image files from disk. However it is also possible to achieve reading and writing of files from in-memory sources. This is handled by mapping the in-memory data to a file location using Location.mapFile().

Location.mapFile(fileName, byteArrayHandle);

This file location is not created on disk but rather maps internally to the in-memory data provided.

Reading file from memory

In order for Bio-Formats to read a file from memory it must be available in a byte array. For this example an input file is read from disk into a byte array.

    // read in entire file
    System.out.println("Reading file into memory from disk...");
    File inputFile = new File(path);
    int fileSize = (int) inputFile.length();
    DataInputStream in = new DataInputStream(new FileInputStream(inputFile));
    byte[] inBytes = new byte[fileSize];
    in.readFully(inBytes);
    System.out.println(fileSize + " bytes read.");

This data can now be handled by a Bio-Formats reader. This is achieved by providing a mapping from the in-memory data to a suitable filename which will be used by the reader. The filename used must have the same suffix as the original data type.

    // determine input file suffix
    String fileName = inputFile.getName();
    int dot = fileName.lastIndexOf(".");
    String suffix = dot < 0 ? "" : fileName.substring(dot);

    // map input id string to input byte array
    String inId = "inBytes" + suffix;
    Location.mapFile(inId, new ByteArrayHandle(inBytes));

Once the in-memory data has been mapped to a suitable filename the data can be handled by the reader as normal.

    // read in entire file
    System.out.println("Reading file into memory from disk...");
    File inputFile = new File(path);
    int fileSize = (int) inputFile.length();
    DataInputStream in = new DataInputStream(new FileInputStream(inputFile));
    byte[] inBytes = new byte[fileSize];
    in.readFully(inBytes);
    System.out.println(fileSize + " bytes read.");
Writing to memory

To use a writer to output to memory rather than an output file a similar process is required. First a mapping is created between a suitable output filename and the in-memory data.

    // map output id string to output byte array
    String outId = fileName + ".ome.tif";
    ByteArrayHandle outputFile = new ByteArrayHandle();
    Location.mapFile(outId, outputFile);

The mapped filename can now be passed to initialize the writer as standard.

    // write data to byte array using ImageWriter
    System.out.println();
    System.out.print("Writing planes to destination in memory: ");
    ImageWriter writer = new ImageWriter();
    writer.setMetadataRetrieve(omeMeta);
    writer.setId(outId);

The data can then be written to memory using the same read and write loop which would normally be used to write a file to disk.

    byte[] plane = null;
    for (int i=0; i<imageCount; i++) {
      if (plane == null) {
        // allow reader to allocate a new byte array
        plane = reader.openBytes(i);
      }
      else {
        // reuse previously allocated byte array
        reader.openBytes(i, plane);
      }
      writer.saveBytes(i, plane);
      System.out.print(".");
    }
    reader.close();
    writer.close();
    System.out.println();

    byte[] outBytes = outputFile.getBytes();
    outputFile.close();

If desired the data written to memory can then be flushed to disk and written to an output file location.

    // flush output byte array to disk
    System.out.println();
    System.out.println("Flushing image data to disk...");
    File outFile = new File(fileName + ".ome.tif");
    DataOutputStream out = new DataOutputStream(new FileOutputStream(outFile));
    out.write(outBytes);
    out.close();

See also

ReadWriteInMemory.java - Full source code which is referenced here in part. You will need to have bioformats_package.jar in your Java CLASSPATH in order to compile ReadWriteInMemory.java.

Logging

Logging frameworks

Bio-Formats uses SLF4J as a logging API. SLF4J is a facade and needs to be bound to a logging framework at deployment time. Two underlying logging frameworks are currently supported by Bio-Formats. Bio-Formats does not impose any specific SLF4J binding on downstream consumers as per the recommended SLF4J best practices. Some recommended bindings are as follows:

  • logback is the recommended framework and natively implements the SLF4J API. A logback version of 1.2.x is recommended as Bio-Formats has a hard dependency for slf4j-api 1.7.30. This means that logback versions 1.3.x and higher are not yet supported in Bio-Formats as they rely on slf4j-api 2.x.

  • log4j is the other logging framework supported by Bio-Formats and is primarily used in the MATLAB environment.

Examples of declaring these dependencies using Maven or Gradle are given in the Bio-Formats examples repository.

Initialization

The DebugTools class contains a series of framework-agnostic methods for the initialization and control of the logging system. This class uses reflection to detect the underlying logging framework and delegate the method calls to either Log4jTools or LogbackTools.

The main methods are described below:

  • DebugTools.enableLogging() will initialize the underlying logging framework. This call will result in a no-op if logging has been initialized either via a binding-specific configuration file (see logback configuration) or via a prior call to DebugTools.enableLogging().

  • DebugTools.enableLogging(level) will initialize the logging framework under the same conditions as described above and set the root logger level if the initialization was succesful.

  • DebugTools.setRootLevel(level) will override the level of the root logger independently of how the logging system was initialized.

  • DebugTools.enableIJLogging() (logback-only) will add an ImageJ-specific appender to the root logger.

Changed in version 5.2.0: Prior to Bio-Formats 5.2.0, DebugTools.enableLogging(level) unconditionally set the logging and root logger level. Use DebugTools.setRootLevel(level) to restore this behavior.

Converting files from FV1000 OIB/OIF to OME-TIFF

This document explains how to convert a file from FV1000 OIB/OIF to OME-TIFF using Bio-Formats version 4.2 and later.

Working example code is provided in FileConvert.java - code from that class is referenced here in part. You will need to have bioformats_package.jar in your Java CLASSPATH in order to compile FileConvert.java.

The first thing that must happen is we must create the object that stores OME-XML metadata. This is done as follows:

ServiceFactory factory = new ServiceFactory();
OMEXMLService service = factory.getInstance(OMEXMLService.class);
IMetadata omexml = service.createOMEXMLMetadata();

The ‘omexml’ object can now be used by both a file format reader and a file format writer for storing and retrieving OME-XML metadata.

Now that have somewhere to put metadata, we need to create a file reader and writer:

ImageReader reader = new ImageReader();
ImageWriter writer = new ImageWriter();

Now we must associate the ‘omexml’ object with the file reader and writer:

reader.setMetadataStore(omexml);
writer.setMetadataRetrieve(omexml);

The reader now knows to store all of the metadata that it parses into ‘omexml’, and the writer knows to retrieve any metadata that it needs from ‘omexml’.

We now tell the reader and writer which files will be read from and written to, respectively:

reader.setId("input-file.oib");
writer.setId("output-file.ome.tiff");

It is critical that the file name given to the writer ends with “.ome.tiff” or “.ome.tif”, as it is the file name extension that determines which format will be written.

Now that everything is set up, we can convert the image data. This is done plane by plane:

for (int series=0; series<reader.getSeriesCount(); series++) {
  reader.setSeries(series);
  writer.setSeries(series);

  byte[] plane = new byte[FormatTools.getPlaneSize(reader)];
  for (int image=0; image<reader.getImageCount(); image++) {
    reader.openBytes(image, plane);
    writer.saveBytes(image, plane);
  }
}

The body of the outer ‘for’ loop may also be replaced with the following:

reader.setSeries(series);
writer.setSeries(series);

for (int image=0; image<reader.getImageCount(); image++) {
  byte[] plane = reader.openBytes(image);
  writer.saveBytes(image, plane);
}

But note that this will be a little slower.

Finally, we must tell the reader and writer that we are finished, so that the input and output files can be properly closed:

reader.close();
writer.close();

There should now be a complete OME-TIFF file at whichever path was specified above.

Using Bio-Formats in MATLAB

This section assumes that you have installed the MATLAB toolbox as instructed in the MATLAB user information page. Note the minimum recommended MATLAB version is R2017b.

As described in Using Java Libraries, every installation of MATLAB includes a JVM allowing use of the Java API and third-party Java libraries. All the helper functions included in the MATLAB toolbox make use of the Bio-Formats Java API. Please refer to the Javadocs for more information.

Increasing JVM memory settings

The default JVM settings in MATLAB can result in java.lang.OutOfMemoryError: Java heap space exceptions when opening large image files using Bio-Formats. Information about the Java heap space usage in MATLAB can be retrieved using:

java.lang.Runtime.getRuntime.maxMemory
MATLAB Preferences (R2010a+)

Default JVM settings can be increased by Java Heap Memory Preferences of MATLAB (R2010a onwards) using Preferences ‣ General ‣ Java Heap Memory. We recommend to use 512 MB in general, but you don’t need to decrease the value if the default value is bigger than 512 MB.

_images/matlab_memory_pref512MB.png

However, the maximum value allowed in the Preferences GUI (typically set to 25% of Physical Memory, whihc you can ask by the memory MATLAB command) can still be too small for your purpose. In that case, you can directly edit matlab.prf file in the folder specified by the prefdir MATLAB function (eg. 'C:\Users\xxxxxxx\AppData\Roaming\MathWorks\MATLAB\R2018b'). Find the parameter JavaMemHeapMax in the file and increase the number that follows the capital I (in MB) to increase the maximum Java heap memory size. The change will be reflected by the Preferences as above.

JavaMemHeapMax=I25000
_images/matlab_memory_pref25GB.png

You will see a warning message as above.

java.opts

Alternatively, this can also be done by creating a java.opts file in the startup directory and overriding the default memory settings (see this page for more information). We recommend using -Xmx512m (meaning 512 MB) in your java.opts file. Calling:

bfCheckJavaMemory()

will also throw a warning if the runtime memory is lower than the recommended value.

If errors of type java.lang.OutOfMemoryError: PermGen space are thrown while using Bio-Formats with the Java bundled with MATLAB, you may try to increase the default values of -XX:MaxPermSize and -XX:PermSize via the java.opts file.

Opening an image file

The first thing to do is initialize a file with the bfopen function:

data = bfopen('/path/to/data/file');

This function returns an n-by-4 cell array, where n is the number of series in the dataset. If s is the series index between 1 and n:

  • The data{s, 1} element is an m-by-2 cell array, where m is the number of planes in the s-th series. If t is the plane index between 1 and m:

    • The data{s, 1}{t, 1} element contains the pixel data for the t-th plane in the s-th series.

    • The data{s, 1}{t, 2} element contains the label for the t-th plane in the s-th series.

  • The data{s, 2} element contains original metadata key/value pairs that apply to the s-th series.

  • The data{s, 3} element contains color lookup tables for each plane in the s-th series.

  • The data{s, 4} element contains a standardized OME metadata structure, which is the same regardless of the input file format, and contains common metadata values such as physical pixel sizes - see OME metadata below for examples.

Accessing planes

Here is an example of how to unwrap specific image planes for easy access:

seriesCount = size(data, 1);
series1 = data{1, 1};
series2 = data{2, 1};
series3 = data{3, 1};
metadataList = data{1, 2};
% etc
series1_planeCount = size(series1, 1);
series1_plane1 = series1{1, 1};
series1_label1 = series1{1, 2};
series1_plane2 = series1{2, 1};
series1_label2 = series1{2, 2};
series1_plane3 = series1{3, 1};
series1_label3 = series1{3, 2};
Displaying images

If you want to display one of the images, you can do so as follows:

series1_colorMap1 = data{1, 3}{1, 1};
figure('Name', series1_label1);
if isempty(series1_colorMap1)
  colormap(gray);
else
  colormap(series1_colorMap1);
end
imagesc(series1_plane1);

This will display the first image of the first series with its associated color map (if present). If you would prefer not to apply the color maps associated with each image, simply comment out the calls to colormap.

If you have the image processing toolbox, you could instead use:

imshow(series1_plane1, []);

You can also create an animated movie (assumes 8-bit unsigned data):

cmap = gray(256);
for p = 1 : size(series1, 1)
  M(p) = im2frame(uint8(series1{p, 1}), cmap);
end
if feature('ShowFigureWindows')
  movie(M);
end
Retrieving metadata

There are two kinds of metadata:

  • Original metadata is a set of key/value pairs specific to the input format of the data. It is stored in the data{s, 2} element of the data structure returned by bfopen.

  • OME metadata is a standardized metadata structure, which is the same regardless of input file format. It is stored in the data{s, 4} element of the data structure returned by bfopen, and contains common metadata values such as physical pixel sizes, instrument settings, and much more. See the OME Model and Formats documentation for full details.

Original metadata

To retrieve the metadata value for specific keys:

% Query some metadata fields (keys are format-dependent)
metadata = data{1, 2};
subject = metadata.get('Subject');
title = metadata.get('Title');

To print out all of the metadata key/value pairs for the first series:

metadataKeys = metadata.keySet().iterator();
for i=1:metadata.size()
  key = metadataKeys.nextElement();
  value = metadata.get(key);
  fprintf('%s = %s\n', key, value)
end
OME metadata

Conversion of metadata to the OME standard is one of Bio-Formats’ primary features. The OME metadata is always stored the same way, regardless of input file format.

To access physical voxel and stack sizes of the data:

omeMeta = data{1, 4};
stackSizeX = omeMeta.getPixelsSizeX(0).getValue(); % image width, pixels
stackSizeY = omeMeta.getPixelsSizeY(0).getValue(); % image height, pixels
stackSizeZ = omeMeta.getPixelsSizeZ(0).getValue(); % number of Z slices

voxelSizeXdefaultValue = omeMeta.getPixelsPhysicalSizeX(0).value();           % returns value in default unit
voxelSizeXdefaultUnit = omeMeta.getPixelsPhysicalSizeX(0).unit().getSymbol(); % returns the default unit type
voxelSizeX = omeMeta.getPixelsPhysicalSizeX(0).value(ome.units.UNITS.MICROMETER); % in µm
voxelSizeXdouble = voxelSizeX.doubleValue();                                  % The numeric value represented by this object after conversion to type double
voxelSizeY = omeMeta.getPixelsPhysicalSizeY(0).value(ome.units.UNITS.MICROMETER); % in µm
voxelSizeYdouble = voxelSizeY.doubleValue();                                  % The numeric value represented by this object after conversion to type double
voxelSizeZ = omeMeta.getPixelsPhysicalSizeZ(0).value(ome.units.UNITS.MICROMETER); % in µm
voxelSizeZdouble = voxelSizeZ.doubleValue();                                  % The numeric value represented by this object after conversion to type double

For more information about the methods to retrieve the metadata, see the MetadataRetrieve Javadoc page.

To convert the OME metadata into a string, use the dumpXML() method:

omeXML = char(omeMeta.dumpXML());
Changing the logging level

By default, bfopen uses bfInitLogging to initialize the logging system at the WARN level. To change the root logging level, use the DebugTools methods as described in the Logging section.

% Set the logging level to DEBUG
loci.common.DebugTools.setRootLevel('DEBUG');
Reading from an image file

The main inconvenience of the bfopen.m function is that it loads all the content of an image regardless of its size.

To access the file reader without loading all the data, use the low-level bfGetReader.m function:

reader = bfGetReader('path/to/data/file');

You can then access the OME metadata using the getMetadataStore() method:

omeMeta = reader.getMetadataStore();

Individual planes can be queried using the bfGetPlane.m function:

series1_plane1 = bfGetPlane(reader, 1);

To switch between series in a multi-image file, use the setSeries(int) method. To retrieve a plane given a set of (z, c, t) coordinates, these coordinates must be linearized first using getIndex(int, int, int)

% Read plane from series iSeries at Z, C, T coordinates (iZ, iC, iT)
% All indices are expected to be 1-based
reader.setSeries(iSeries - 1);
iPlane = reader.getIndex(iZ - 1, iC -1, iT - 1) + 1;
I = bfGetPlane(reader, iPlane);
Saving files

The basic code for saving a 5D array into an OME-TIFF file is located in the bfsave.m function.

For instance, the following code will save a single image of 64 pixels by 64 pixels with 8 unsigned bits per pixels:

plane = zeros(64, 64, 'uint8');
bfsave(plane, 'single-plane.ome.tiff');

And the following code snippet will produce an image of 64 pixels by 64 pixels with 2 channels and 2 timepoints:

plane = zeros(64, 64, 1, 2, 2, 'uint8');
bfsave(plane, 'multiple-planes.ome.tiff');

By default, bfsave will create a minimal OME-XML metadata object containing basic information such as the pixel dimensions, the dimension order and the pixel type. To customize the OME metadata, it is possible to create a metadata object from the input array using createMinimalOMEXMLMetadata.m, add custom metadata and pass this object directly to bfsave:

plane = zeros(64, 64, 1, 2, 2, 'uint8');
metadata = createMinimalOMEXMLMetadata(plane);
pixelSize = ome.units.quantity.Length(java.lang.Double(.05), ome.units.UNITS.MICROMETER);
metadata.setPixelsPhysicalSizeX(pixelSize, 0);
metadata.setPixelsPhysicalSizeY(pixelSize, 0);
pixelSizeZ = ome.units.quantity.Length(java.lang.Double(.2), ome.units.UNITS.MICROMETER);
metadata.setPixelsPhysicalSizeZ(pixelSizeZ, 0);
bfsave(plane, 'metadata.ome.tiff', 'metadata', metadata);

The dimension order of the file on disk can be specified in two ways:

  • either by passing an OME-XML metadata option as a key/value pair as shown above

  • or as an optional positional argument of bfsave

If a metadata object is passed to bfsave, its dimension order stored internally will take precedence.

For more information about the methods to store the metadata, see the MetadataStore Javadoc page.

Improving reading performance

Initializing a Bio-Formats reader can consume substantial time and memory. Most of the initialization time is spend in the setId(java.lang.String) call. Various factors can impact the performance of this step including the file size, the amount of metadata in the image and also the file format itself.

One solution to improve reading performance is to use Bio-Formats memoization functionalities with the loci.formats.Memoizer reader wrapper. By essence, the speedup gained from memoization will only happen after the first initialization of the reader for a particular file.

The simplest way to make use the Memoizer functionalities in MATLAB is illustrated by the following example:

% Construct an empty Bio-Formats reader
r = bfGetReader();
% Decorate the reader with the Memoizer wrapper
r = loci.formats.Memoizer(r);
% Initialize the reader with an input file
% If the call is longer than a minimal time, the initialized reader will
% be cached in a file under the same directory as the initial file
% name .large_file.bfmemo
r.setId(pathToFile);

% Perform work using the reader

% Close the reader
r.close()

% If the reader has been cached in the call above, re-initializing the
% reader will use the memo file and complete much faster especially for
% large data
r.setId(pathToFile);

% Perform additional work

% Close the reader
r.close()

If the time required to call setId(java.lang.String) method is larger than DEFAULT_MINIMUM_ELAPSED or the minimum value passed in the constructor, the initialized reader will be cached in a memo file under the same folder as the input file. Any subsequent call to setId() with a reader decorated by the Memoizer on the same input file will load the reader from the memo file instead of performing a full reader initialization.

More constructors are described in the Memoizer javadocs allowing to control the minimal initialization time required before caching the reader and/or to define a root directory under which the reader should be cached.

As Bio-Formats is not thread-safe, reader memoization offers a new solution to increase reading performance when doing parallel work. For instance, the following example shows how to combine memoization and MATLAB parfor to do work on a single file in a parallel loop:

% Construct a Bio-Formats reader decorated with the Memoizer wrapper
r = loci.formats.Memoizer(bfGetReader(), 0);
% Initialize the reader with an input file to cache the reader
r.setId(pathToFile);
% Close reader
r.close()

nWorkers = 4;

% Enter parallel loop
parfor i = 1 : nWorkers
    % Initialize logging at INFO level
    bfInitLogging('INFO');
    % Initialize a new reader per worker as Bio-Formats is not thread safe
    r2 = javaObject('loci.formats.Memoizer', bfGetReader(), 0);
    % Initialization should use the memo file cached before entering the
    % parallel loop
    r2.setId(pathToFile);

    % Perform work

    % Close the reader
    r2.close()
end

Using Bio-Formats in Python

OME does not currently provide a Python implementation for Bio-Formats. However, there are several options you can use to read images from Python via Bio-Formats:

AICSImageIO

The AICSImageIO project includes support for Bio-Formats:

from aicsimageio import AICSImage
cells = AICSImage('/path/to/my/cells.ome.tif')

import napari
napari.view_image(cells.xarray_data)
napari.run()
PyImageJ

The PyImageJ project enables use of ImageJ2, which includes the SCIFIO library, which wraps Bio-Formats. In this way, you can open Bio-Formats-supported formats as NumPy arrays:

import imagej
ij = imagej.init('sc.fiji:fiji')
jcells = ij.io().open('/path/to/my/cells.ome.tif')
cells = ij.py.from_java(jcells)

import napari
napari.view_image(cells)
napari.run()
python-bioformats

The CellProfiler project has implemented a Python wrapper around Bio-Formats used by the CellProfiler software which can be installed using pip:

pip install python-bioformats

See also

https://pypi.org/project/python-bioformats

Source code of the CellProfiler Python wrapper for Bio-Formats

Using Bio-Formats in R

OME does not currently provide an R implementation for Bio-Formats. However, there are options provided by the community:

Bioconductor RBioFormats

The RBioFormats project from Bioconductor provides an R package which interfaces the OME Bio-Formats Java library to allow reading of proprietary microscopy image data and metadata.:

if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")

# The following initializes usage of Bioc devel
BiocManager::install(version='devel')

BiocManager::install("RBioFormats")


# To view documentation for the version of this package installed in your system
browseVignettes("RBioFormats")

For further details and examples of how to use the package, please see the API documentation

Using Bio-Formats in .NET

OME does not currently provide a .NET implementation for Bio-Formats. However, there are options you can use to read images from .NET via Bio-Formats:

Bioformats.NET6

The Bioformats.NET6 project provides Bio-Formats libraries converted to DLL, built with IKVM 8.7.1 Maven SDK for .NET6. To install add the below to your project file. Note that due to formatting the release version has extra whitespace surrounding it that can be removed :

<PropertyGroup>
  <MavenAdditionalRepositories>ome=https://artifacts.openmicroscopy.org/artifactory/maven/;edu.ucar=https://maven.scijava.org/content/repositories/public/;</MavenAdditionalRepositories>
</PropertyGroup>
<ItemGroup>
    <MavenReference Include="bioformats_package">
      <GroupId>ome</GroupId>
      <ArtifactId>bioformats_package</ArtifactId>
      <Version> 7.3.0 </Version>
    </MavenReference>
    <MavenReference Include="cdm-core">
      <GroupId>edu.ucar</GroupId>
      <ArtifactId>cdm-core</ArtifactId>
      <Version>5.3.3</Version>
    </MavenReference>
</ItemGroup>

Interfacing with Bio-Formats from non-Java code

Bio-Formats is written in Java, and is easiest to use with other Java code. However, it is possible to call Bio-Formats from a program written in another language. But how to do so depends on your program’s needs.

Technologically, there are two broad categories of solutions: in-process approaches, and inter-process communication.

For details, see LOCI’s article, Interfacing from non-Java code.

Example in-process solution: Bio-Formats JACE C++ bindings (note that this is a legacy project and no longer actively maintained).

Using Bio-Formats as a native C++ library

Note

See the OME-Files C++ downloads page for more information.

Contributing to Bio-Formats

Code formatting

Note, these guidelines do not cover:

  • third-party code imported into the source tree, which is covered by the guidelines for the upstream projects

  • released schema files which would require re-releasing if changed by reindenting

All languages
  • Use spaces to indent; do not ever use tabs

Java

All Java code is formatted with:

XML

All XML code is formatted with:

  • an indentation size of two spaces

  • attributes on multiple lines aligned vertically after the element name.

Testing code changes

Automated tests

The Bio-Formats testing framework component contains most of the infrastructure to run automated tests against the data repository.

After checking out source code and building all the JAR files (see Obtaining and building Bio-Formats), switch to the test-suite component and run the tests using the ant test-automated target:

$ cd components/test-suite
$ ant -Dtestng.directory=$DATA/metamorph -Dtestng.configDirectory=$CONFIG/metamorph test-automated

where $DATA is the path to the full data repository and $CONFIG is the path to the configuration repository.

Multiple options can be passed to the ant test-automated target by setting the testng.${option} option via the command line. Useful options are described below.

testng.directory

Mandatory option. Specifies the root of the data directory to be tested:

$ ant -Dtestng.directory=$DATA/metamorph -Dtestng.configDirectory=$CONFIG/metamorph test-automated

On Windows, the arguments to the test command must be quoted:

> ant "-Dtestng.directory=$DATA\metamorph" "-Dtestng.configDirectory=$CONFIG\metamorph" test-automated
testng.configDirectory

Mandatory option. Specifies the root of the directory containing the configuration files. This directory must have the same hierarchy as the one specified by testng.directory and contain .bioformats configuration files:

$ ant -Dtestng.directory=/path/to/data -Dtestng.configDirectory=/path/to/config test-automated
testng.configSuffix

Specifies an optional suffix for the configuration files:

$ ant -Dtestng.directory=/path/to/data -Dtestng.configSuffix=win test-automated
testng.memory

Specifies the amount of memory to be allocated to the JVM:

$ ant -Dtestng.directory=$DATA -Dtestng.memory=4g test-automated

Default: 512m.

testng.threadCount

Specifies the number of threads to use for testing:

$ ant -Dtestng.directory=$DATA -Dtestng.threadCount=4 test-automated

Default: 1.

You should now see output similar to this:

Buildfile: build.xml

init-title:
     [echo] ----------=========== bio-formats-testing-framework ===========----------
...
test-automated:
   [testng] 17:05:28,713 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [${logback.configurationFile}]
   [testng] 17:05:28,713 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
   [testng] 17:05:28,713 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
   [testng] 17:05:28,713 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/opt/ome/bioformats/components/test-suite/logback.xml]
   [testng] 17:05:28,835 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
   [testng] 17:05:28,837 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [stdout]
   [testng] 17:05:28,876 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.sift.SiftingAppender]
   [testng] 17:05:28,878 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [SIFT]
   [testng] 17:05:28,891 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [loci.tests.testng] to DEBUG
   [testng] 17:05:28,891 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
   [testng] 17:05:28,891 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [SIFT] to Logger[ROOT]
   [testng] 17:05:28,892 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [stdout] to Logger[loci.tests.testng]
   [testng] 17:05:28,892 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
   [testng] 17:05:28,894 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@706a04ae - Registering current configuration as safe fallback point
   [testng] [2015-08-18 17:05:28,904] [main] testng.directory = /ome/data_repo/test_per_commit/
   [testng] 17:05:28,908 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [loci.tests.testng.TimestampedLogFileAppender]
   [testng] 17:05:28,909 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [logfile-main]
   [testng] 17:05:28,955 |-INFO in loci.tests.testng.TimestampedLogFileAppender[logfile-main] - File property is set to [target/bio-formats-test-main-2015-08-18_17-05-28.log]
   [testng] [2015-08-18 17:05:28,963] [main] testng.multiplier = 1.0
   [testng] [2015-08-18 17:05:28,964] [main] testng.in-memory = false
   [testng] [2015-08-18 17:05:28,964] [main] user.language = en
   [testng] [2015-08-18 17:05:28,964] [main] user.country = US
   [testng] [2015-08-18 17:05:28,964] [main] Maximum heap size = 455 MB
   [testng] Scanning for files...
   [testng] [2015-08-18 17:05:32,258] [main] ----------------------------------------
   [testng] [2015-08-18 17:05:32,258] [main] Total files: 480
   [testng] [2015-08-18 17:05:32,258] [main] Scan time: 3.293 s (6 ms/file)
   [testng] [2015-08-18 17:05:32,258] [main] ----------------------------------------
   [testng] Building list of tests...

and then eventually:

   [testng] ===============================================
   [testng] Bio-Formats software test suite
   [testng] Total tests run: 19110, Failures: 0, Skips: 0
   [testng] ===============================================
   [testng]

BUILD SUCCESSFUL
Total time: 16 minutes 42 seconds

In most cases, test failures should be logged in the main console output as:

[testng] [2015-08-18 17:13:13,625] [pool-1-thread-1]     SizeZ: FAILED (Series 0 (expected 2, actual 1))

To identify the file, look for the initialization line preceding the test failures under the same thread:

[testng] [2015-08-18 17:13:12,376] [pool-1-thread-1] Initializing /ome/data_repo/test_per_commit/ome-tiff/img_bk_20110701.ome.tif:

The console output is also recorded under components/test-suite/target as bio-formats-software-test-main-$DATE.log where “$DATE” is the date on which the tests started in “yyyy-MM-dd_hh-mm-ss” format. The detailed report of each thread is recorded under bio-formats-software-pool-$POOL-thread-$THREAD-main-$DATE.log

Configuration files can be generated for files or directories using the ant gen-config target. This generation target supports the same options as ant test-automated:

$ ant -Dtestng.directory=/path/to/data -Dtestng.configDirectory=/path/to/config -Dtestng.memory=4g -Dtestng.threadCount=6 gen-config
MATLAB tests

Tests for the Bio-Formats MATLAB toolbox are written using the xunit framework and are located under https://github.com/ome/bioformats/tree/develop/components/formats-gpl/test/matlab.

To run these tests, you will need to download or clone matlab-xunit, a xUnit framework with JUnit-compatible XML output. Then add this package together with the Bio-Formats MATLAB to your MATLAB path:

% Add the matlab-xunit toolbox to the MATLAB path
addpath('/path/to/matlab-xunit');
% Add the Bio-Formats MATLAB source to the MATLAB path
% For developers working against the source code
addpath('/path/to/bioformats/components/formats-gpl/matlab');
addpath('/path/to/bioformats/artifacts');
% For developers working against a built artifact, e.g. a release
% addpath('/path/to/bfmatlab');

You can run all the MATLAB tests using runxunit:

cd /path/to/bioformats/components/formats-gpl/test/matlab
runxunit

Individual test classes can be run by passing the name of the class:

cd /path/to/bioformats/components/formats-gpl/test/matlab
runxunit TestBfsave

Individual test methods can be run by passing the name of the class and the name of the method:

cd /path/to/bioformats/components/formats-gpl/test/matlab
runxunit TestBfsave:testLZW

Finally, to output the test results under XML format, you can use the -xmlfile option:

cd /path/to/bioformats/components/formats-gpl/test/matlab
runxunit -xmlfile test-output.xml

Generating test images

Sometimes it is nice to have a file of a specific size or pixel type for testing. Bio-Formats defines an internal format used for generating test images. Test images recognized by Bio-Formats:

  • must have an extension of type .fake

  • must encode the image metadata using key-value pairs separated by = either in the filename or in a companion file

  • may be accompanied by an INI-style companion file. A companion file must use the same basename as the fake file and be suffixed with .ini

Filename format

To generate an image file (that contains a gradient image):

touch "my-special-test-file&pixelType=uint8&sizeX=8192&sizeY=8192.fake"

Whatever is before the first & is the image name; the remaining key-value pairs, each preceded with &, set the pixel type and image dimensions. Just replace the values with whatever you need for testing. See Key-value pairs for the full description of available key/value pairs.

Companion file

You can put metadata values in a separate UTF-8 encoded .fake.ini file with the same basename as the fake file:

touch my-special-test-file.fake
echo "pixelType=uint8" >> my-special-test-file.fake.ini
echo "sizeX=8192" >> my-special-test-file.fake.ini
echo "sizeY=8192" >> my-special-test-file.fake.ini

In fact, just the .fake.ini file alone suffices:

echo "pixelType=uint8" >> my-special-test-file.fake.ini
echo "sizeX=8192" >> my-special-test-file.fake.ini
echo "sizeY=8192" >> my-special-test-file.fake.ini

If you include a “[GlobalMetadata]” section to the ini file, then all the included values will be accessible from the global metadata map:

echo "[GlobalMetadata]" >> my-special-test-file.fake.ini
echo "my.key=some.value" >> my-special-test-file.fake.ini

The .ini file can also contain one section for each series, which allows metadata such as exposure times and positions to be set for each plane:

echo "[series_0]" >> my-special-test-file.fake.ini
echo "ExposureTime_0=10" >> my-special-test-file.fake.ini
echo "ExposureTimeUnit_0=ms" >> my-special-test-file.fake.ini
echo "PositionX_0=5" >> my-special-test-file.fake.ini
echo "PositionY_0=-5" >> my-special-test-file.fake.ini
echo "PositionZ_0=1" >> my-special-test-file.fake.ini
echo "PositionXUnit_0=mm" >> my-special-test-file.fake.ini
echo "PositionYUnit_0=mm" >> my-special-test-file.fake.ini
echo "PositionZUnit_0=mm" >> my-special-test-file.fake.ini

Several keys have support for units and can be expressed as KEY=VALUE UNIT where UNIT is the symbol of the desired unit:

touch "physicalSizesUnits&physicalSizeX=1nm&physicalSizeY=1nm&physicalSizeZ=1.5km.fake"
echo "physicalSizeX=1 nm" >> physicalSizes.fake.ini
echo "physicalSizeY=10 pm" >> physicalSizes.fake.ini
echo "physicalSizeZ=.002 mm" >> physicalSizes.fake.ini
High-content screening

To generate a simple plate file:

touch "simple-plate&plates=1&plateAcqs=1&plateRows=1&plateCols=1&fields=1.fake"
touch "default-plate&plates=1.fake"
touch "default-plate&screens=0&plates=1.fake"

These will each create a single plate without a containing screen, by default in the first two cases. In the third case setting screens to zero is used to document the lack of a screen. As above a .fake.ini file can be used.

To generate a simple screen file:

touch "default-screen&screens=1.fake"

This will create a screen containing a single simple plate.

To generate a valid plate at least one of screens, plates, plateAcqs, plateRows, plateCols and fields must be greater than zero. If this condition is met then any other plate-specific values set to zero will be ignored and the defaults used. So, for example, the file:

one-key-set&screens=0&plates=0&plateRows=0&plateCols=0&plateAcqs=0&fields=1.fake

will create a simple plate with no screen.

Regions

To generate a fake file containing regions of interest:

touch "regions&points=10.fake"
touch "regions&ellipses=20.fake"
touch "regions&rectangles=5&lines=25.fake"

Replace regions in the above examples with the desired image or plate which will contain the regions, e.g.

touch "HCSanalysis&plates=1&plateRows=16&plateCols=24&rectangles=100.fake"

For each shape type, the value will specify the number of regions of interest to create where each region of interest contains a single shape of the input type. By convention, all generated regions of interests are not associated to any given Z, C or T plane.

Sub-resolutions

Added in version 6.0.0.

To generate a fake file containing sub-resolutions:

touch "pyramid1&sizeX=20000&sizeY=10000&resolutions=8.fake"
touch "pyramid2&sizeX=20000&sizeY=10000&resolutions=4&resolutionScale=4.fake"

The resolutions and resolutionScale specify the number of sub-resolutions for each plane and the downsampling factor between consecutive sub-resolutions.

Key-value pairs

There are several other keys that can be added, a complete list of these, with their default values, is shown below.

Key

Value

Default

sizeX

number of pixels wide

512

sizeY

number of pixels tall

512

sizeZ

number of Z sections

1

sizeC

number of channels

1

sizeT

number of timepoints

1

thumbSizeX

number of pixels wide, for the thumbnail

0

thumbSizeY

number of pixels tall, for the thumbnail

0

pixelType

pixel type

uint8

bitsPerPixel

number of valid bits (<= number of bits implied by pixel type)

0

rgb

number of channels that are merged together

1

dimOrder

dimension order (e.g. XYZCT)

XYZCT

orderCertain

whether or not the dimension order is certain

true

little

whether or not the pixel data should be little-endian

true

interleaved

whether or not merged channels are interleaved

false

indexed

whether or not a color lookup table is present

false

falseColor

whether or not the color lookup table is just for making the image look pretty

false

metadataComplete

whether or not the metadata is complete

true

thumbnail

whether or not CoreMetadata.thumbnail is set

false

series

number of series (Images)

1

lutLength

number of entries in the color lookup table

3

scaleFactor

the scaling factor for the pixel values on each plane

1

exposureTime

time of exposure

null

acquisitionDate

timestamp formatted as “yyyy-MM-dd_HH-mm-ss”

null

screens

number of screens

0

plates

number of plates to generate

0 [1]

plateAcqs

number of plate runs

0 [1]

plateRows

number of rows per plate

0 [1]

plateCols

number of columns per plate

0 [1]

fields

number of fields per well

0 [1]

withMicrobeam

whether or not a microbeam should be added to the experiment (HCS only)

false

annLong, annDouble, annMap, annComment, annBool, annTime, annTag, annTerm, annXml

number of annotations of the given type to generate

0

physicalSizeX

real width of the pixels, supports units defaulting to microns

physicalSizeY

real height of the pixels, supports units defaulting to microns

physicalSizeZ

real depth of the pixels, supports units defaulting to microns

ChannelName_x

the channel name for channel x

color

the default color for all channels [3]

null

color_x

the color for channel x, overrides the default color for that channel [3]

ellipses, labels, lines, points, polygons, polylines, rectangles

the number of ROIs containing one shape of the given type to generate

ExposureTime_x

floating point exposure time for plane x [2]

ExposureTimeUnit_x

string defining the units for the corresponding ExposureTime_x [2]

seconds

PositionX_x

floating point X position for plane x [2]

PositionXUnit_x

string defining the units for the corresponding PositionX_x [2]

microns

PositionY_x

floating point Y position for plane x [2]

PositionYUnit_x

string defining the units for the corresponding PositionY_x [2]

microns

PositionZ_x

floating point Z position for plane x [2]

PositionZUnit_x

string defining the units for the corresponding PositionZ_x [2]

microns

resolutions

number of pyramid levels or sub-resolutions for each series

1

resolutionScale

for images with sub-resolutions, scaling factor between consecutive pyramid levels

2

sleepOpenBytes

number of milliseconds to sleep for when openBytes is called

0

sleepInitFile

number of milliseconds to sleep for when initFile is called

0

For full details of these keys, how unset and default values are handled and further examples see loci.formats.in.FakeReader.

You can often work with the .fake file directly, but in some cases support for those files is disabled and so you will need to convert the file to something else. Make sure that you have Bio-Formats built and the JARs in your CLASSPATH (individual JARs or just bioformats_package.jar):

bfconvert test&pixelType=uint8&sizeX=8192&sizeY=8192.fake test.tiff

If you do not have the command line tools installed, substitute loci.formats.tools.ImageConverter for bfconvert.

Writing a new file format reader

This document is a brief guide to writing new Bio-Formats file format readers.

All format readers should extend either loci.formats.FormatReader or an existing reader.

Methods to override
  • isSingleFile(java.lang.String) Whether or not the named file is expected to be the only file in the dataset. This only needs to be overridden for formats whose datasets can contain more than one file.

  • isThisType(loci.common.RandomAccessInputStream) Check the first few bytes of a file to determine if the file can be read by this reader. You can assume that index 0 in the stream corresponds to the index 0 in the file. Return true if the file can be read; false if not (or if there is no way of checking).

  • fileGroupOption(java.lang.String) Returns an indication of whether or not the files in a multi-file dataset can be handled individually. The return value should be one of the following:

    This method only needs to be overridden for formats whose datasets can contain more than one file.

  • getSeriesUsedFiles(boolean) You only need to override this if your format uses multiple files in a single dataset. This method should return a list of all files associated with the given file name and the current series (i.e. every file needed to display the current series). If the noPixels flag is set, then none of the files returned should contain pixel data. For an example of how this works, see loci.formats.in.PerkinElmerReader. It is recommended that the first line of this method be FormatTools.assertId(currentId, true, 1) - this ensures that the file name is non-null.

  • openBytes(int, byte[], int, int, int, int) Returns a byte array containing the pixel data for a specified subimage from the given file. The dimensions of the subimage (upper left X coordinate, upper left Y coordinate, width, and height) are specified in the final four int parameters. This should throw a FormatException if the image number is invalid (less than 0 or >= the number of images). The ordering of the array returned by openBytes should correspond to the values returned by isLittleEndian and isInterleaved. Also, the length of the byte array should be [image width * image height * bytes per pixel]. Extra bytes will generally be truncated. It is recommended that the first line of this method be FormatTools.checkPlaneParameters(this, no, buf.length, x, y, w, h) - this ensures that all of the parameters are valid.

  • initFile(java.lang.String) The majority of the file parsing logic should be placed in this method. The idea is to call this method once (and only once!) when the file is first opened. Generally, you will want to start by calling super.initFile(String). You will also need to set up the stream for reading the file, as well as initializing any dimension information and metadata. Most of this logic is up to you; however, you should populate the core variable (see loci.formats.CoreMetadata).

    Note that each variable is initialized to 0 or null when super.initFile(String) is called. Also, super.initFile(String) constructs a Hashtable called metadata where you should store any relevant metadata.

    The most common way to set up the OME-XML metadata for the reader is to initialize the MetadataStore using the makeFilterMetadata() method and populate the Pixels elements of the metadata store from the core variable using the MetadataTools.populatePixels(MetadataStore, FormatReader) method:

    # Initialize the OME-XML metadata from the core variable
    MetadataStore store = makeFilterMetadata();
    MetadataTools.populatePixels(store, this);
    

    If the reader includes metadata at the plane level, you can initialize the Plane elements under the Pixels using MetadataTools.populatePixels(MetadataStore, FormatReader, doPlane):

    MetadataTools.populatePixels(store, this, true);
    

    Once the metadatastore has been initialized with the core properties, additional metadata can be added to it using the setter methods. Note that for each of the model components, the setObjectID() method should be called before any of the setObjectProperty() methods, e.g.:

    # Add an oil immersion objective with achromat
    String objectiveID = MetadataTools.createLSID("Objective", 0, 0);
    store.setObjectiveID(objectiveID, 0, 0);
    store.setObjectiveImmersion(getImmersion("Oil"), 0, 0);
    
  • close(boolean) Cleans up any resources used by the reader. Global variables should be reset to their initial state, and any open files or delegate readers should be closed.

Note that if the new format is a variant of a format currently supported by Bio-Formats, it is more efficient to make the new reader a subclass of the existing reader (rather than subclassing loci.formats.FormatReader). In this case, it is usually sufficient to override initFile(java.lang.String) and isThisType(byte[]).

Every reader also has an instance of loci.formats.CoreMetadata. All readers should populate the fields in CoreMetadata, which are essential to reading image planes.

If you read from a file using something other than loci.common.RandomAccessInputStream or loci.common.Location, you must use the file name returned by Location.getMappedId(String), not the file name passed to the reader. Thus, a stub for initFile(String) might look like this:

protected void initFile(String id) throws FormatException, IOException {
  super.initFile(id);

  RandomAccessInputStream in = new RandomAccessInputStream(id);
  // alternatively,
  //FileInputStream in = new FileInputStream(Location.getMappedId(id));

  // read basic file structure and metadata from stream
}

For more details, see loci.common.Location.mapId(java.lang.String, java.lang.String) and loci.common.Location.getMappedId(java.lang.String).

Variables to populate

There are a number of global variables defined in loci.formats.FormatReader that should be populated in the constructor of any implemented reader.

These variables are:

  • suffixNecessary Indicates whether or not a file name suffix is required; true by default

  • suffixSufficient Indicates whether or not a specific file name suffix guarantees that this reader can open a particular file; true by default

  • hasCompanionFiles Indicates whether or not there is at least one file in a dataset of this format that contains only metadata (no images); false by default

  • datasetDescription A brief description of the layout of files in datasets of this format; only necessary for multi-file datasets

  • domains An array of imaging domains for which this format is used. Domains are defined in loci.formats.FormatTools.

Other useful things
  • loci.common.RandomAccessInputStream is a hybrid RandomAccessFile/InputStream class that is generally more efficient than either RandomAccessFile or InputStream, and implements the DataInput interface. It is recommended that you use this for reading files.

  • loci.common.Location provides an API similar to java.io.File, and supports File-like operations on URLs. It is highly recommended that you use this instead of File. See the Javadocs for additional information.

  • loci.common.DataTools provides a number of methods for converting bytes to shorts, ints, longs, etc. It also supports reading most primitive types directly from a RandomAccessInputStream (or other DataInput implementation).

  • loci.formats.ImageTools provides several methods for manipulating primitive type arrays that represent images. Consult the source or Javadocs for more information.

  • If your reader relies on third-party code which may not be available to all users, it is strongly suggested that you make a corresponding service class that interfaces with the third-party code. Please see Bio-Formats service and dependency infrastructure for a description of the service infrastructure, as well as the loci.formats.services package.

  • Several common image compression types are supported through subclasses of loci.formats.codec.BaseCodec. These include JPEG, LZW, LZO, Base64, ZIP and RLE (PackBits).

  • If you wish to convert a file’s metadata to OME-XML (strongly encouraged), please see Bio-Formats metadata processing for further information.

  • Once you have written your file format reader, add a line to the readers.txt file with the fully qualified name of the reader, followed by a ‘#’ and the file extensions associated with the file format. Note that loci.formats.ImageReader, the master file format reader, tries to identify which format reader to use according to the order given in readers.txt, so be sure to place your reader in an appropriate position within the list.

  • The easiest way to test your new reader is by calling “java loci.formats.tools.ImageInfo <file name>”. If all goes well, you should see all of the metadata and dimension information, along with a window showing the images in the file. loci.formats.ImageReader can take additional parameters; a brief listing is provided below for reference, but it is recommended that you take a look at the contents of loci.formats.tools.ImageInfo to see exactly what each one does.

Argument

Action

-version

print the library version and exit

file

the image file to read

-nopix

read metadata only, not pixels

-nocore

do not output core metadata

-nometa

do not parse format-specific metadata table

-nofilter

do not filter metadata fields

-thumbs

read thumbnails instead of normal pixels

-minmax

compute min/max statistics

-merge

combine separate channels into RGB image

-nogroup

force multi-file datasets to be read as individual files

-stitch

stitch files with similar names

-separate

split RGB image into separate channels

-expand

expand indexed color to RGB

-omexml

populate OME-XML metadata

-normalize

normalize floating point images*

-fast

paint RGB images as quickly as possible*

-debug

turn on debugging output

-range

specify range of planes to read (inclusive)

-series

specify which image series to read

-swap

override the default input dimension order

-shuffle

override the default output dimension order

-map

specify file on disk to which name should be mapped

-preload

pre-read entire file into a buffer; significantly reduces the time required to read the images, but requires more memory

-crop

crop images before displaying; argument is ‘x,y,w,h’

-autoscale

used in combination with ‘-fast’ to automatically adjust brightness and contrast

-novalid

do not perform validation of OME-XML

-omexml-only

only output the generated OME-XML

-format

read file with a particular reader (e.g., ZeissZVI)

* = may result in loss of precision

  • If you wish to test using TestNG, loci.tests.testng.FormatReaderTest provides several basic tests that work with all Bio-Formats readers. See the FormatReaderTest source code for additional information.

  • For more details, please look at the source code and Javadocs. Studying existing readers is probably the best way to get a feel for the API; we would recommend first looking at loci.formats.in.ImarisReader (this is the most straightforward one). loci.formats.in.LIFReader and InCellReader are also good references that show off some of the nicer features of Bio-Formats.

If you have questions about Bio-Formats, please contact the forums.

Adding format/reader documentation pages

Documentation pages for the supported formats and readers are auto-generated during the build. This page explains how to amend/extend this part of the Bio-Formats documentation.

Formats

The supported formats pages are generated as part of the documentation build using maven. The metadata for each format is contained in format-pages.txt and the build generates a reStructuredText file for each format as well as an index page for all supported formats using Velocity.

The format-pages.txt is an INI file where each section corresponds to a particular format given by the section header. Multiple key/values should be defined for each section:

pagename
  The name of the output reStructuredText file. If unspecified, the section
  header will be used to generate the filename.

extensions
  The list of extensions supported for the format

owner
  The owner of the file format

developer
  The developer of the file format

bsd
  A `yes/no` flag specifying whether the format readers/writers are under
  the BSD license

versions
  A comma-separated list of all versions supported for this format

weHave
  A bullet-point list describing the supporting material we have for this
  format including specification and sample datasets

weWant
  A bullet-point list describing the supporting material we would like to
  have for this format

pixelRating
metadataRating
opennessRating
presenceRating
utilityRating
  See :term:`Ratings legend and definitions`. Available choices are:
  `Poor`, `Fair`, `Good`, `Very Good`, `Outstanding`.
  The `metadataRating` should be set as follows:

    * base `metadataRating` is the smaller of `opennessRating` and `pixelsRating`
    * increment `metadataRating` by 1 if any combination of `Instrument.ID` plus `Image.InstrumentRef`,
      or `Channel.EmissionWavelength`, or `Channel.ExcitationWavelength` are supported
    * increment `metadataRating` by 1 if any SPW metadata is supported or :term:`pyramid` is ``yes``

reader
  A string or a comma-separated list of all readers for this format

mif
  set to ``true`` if the format can store multiple Images (in OME-XML
  terminology) or series (in Bio-Formats API terminology)

pyramid
  set to ``yes`` if the format can store a single image at multiple
  resolutions

notes
  Additional relevant information e.g. that we cannot distribute
  specification documents to third parties

options
  A link to additional reader and writer options documentation where they
  are available for the format
Dataset structure table

The summary table listing the extensions for each reader is generated by the build process reading their extensions and descriptions from all Bio-Formats readers (BSD and GPL). A reStructuredText file with a table summary of all file extensions is created.

Readers

The metadata pages for each reader are generated by the build process parsing their metadata support from all Bio-Formats readers (BSD and GPL). An intermediate meta-support.txt file is created which is then converted into one reStructuredText page for each reader as well as a metadata summary reStructuredText file using Velocity.

Bio-Formats service and dependency infrastructure

Description

The Bio-Formats service infrastructure is an interface driven pattern for dealing with external and internal dependencies. The design goal was mainly to avoid the cumbersome usage of ReflectedUniverse where possible and to clearly define both service dependency and interface between components. This is generally referred to as dependency injection, dependency inversion or component based design.

It was decided, at this point, to forgo the usage of potentially more powerful but also more complicated solutions such as:

The Wikipedia page for dependency injection contains many other implementations in many languages.

An added benefit is the potential code reuse possibilities as a result of decoupling of dependency and usage in Bio-Formats readers. Implementations of the initial Bio-Formats services were completed as part of BioFormatsCleanup and tickets #463 and #464.

Writing a service
  • Interface – The basic form of a service is an interface which inherits from loci.common.services.Service. Here is a very basic example using the (now removed) OMENotesService

    public interface OMENotesService extends Service {
    
      /**
       * Creates a new OME Notes instance.
       * @param filename Path to the file to create a Notes instance for.
       */
      public void newNotes(String filename);
    
    }
    
  • Implementation – This service then has an implementation, which is usually located in the Bio-Formats component or package which imports classes from an external, dynamic or other dependency. Again looking at the OMENotesService:

    public class OMENotesServiceImpl extends AbstractService
      implements OMENotesService {
    
      /**
       * Default constructor.
       */
      public OMENotesServiceImpl() {
        checkClassDependency(Notes.class);
      }
    
      /* (non-Javadoc)
       * @see loci.formats.dependency.OMENotesService#newNotes()
       */
      public void newNotes(String filename) {
        new Notes(null, filename);
      }
    
    }
    
  • Style

    • Extension of AbstractService to enable uniform runtime dependency checking is recommended. Java does not check class dependencies until classes are first instantiated so if you do not do this, you may end up with ClassNotFound or the like exceptions being emitted from your service methods. This is to be strongly discouraged. If a service has unresolvable classes on its CLASSPATH instantiation should fail, not service method invocation.

    • Service methods should not burden the implementer with numerous checked exceptions. Also external dependency exception instances should not be allowed to directly leak from a service interface. Please wrap these using a ServiceException.

    • By convention both the interface and implementation are expected to be in a package named loci.*.services. This is not a hard requirement but should be followed where possible.

  • Registration – A service’s interface and implementation must finally be registered with the loci.common.services.ServiceFactory via the services.properties file. Following the OMENotesService again, here is an example registration:

    ...
    # OME notes service (implementation in legacy ome-notes component)
    loci.common.services.OMENotesService=loci.ome.notes.services.OMENotesServiceImpl
    ...
    
Using a service
OMENotesService service = null;
try {
  ServiceFactory factory = new ServiceFactory();
  service = factory.getInstance(OMENotesService.class);
}
catch (DependencyException de) {
  LOGGER.info("", de);
}
...

Scripts for performing development tasks

The tools directory contains several scripts which are useful for building and performing routine updates to the code base.

bump_maven_version.py

This updates the Maven POM version numbers for all pom.xml files that set groupId to ome. The script takes a single argument, which is the new version. For example, to update the POM versions prior to release:

./tools/bump_maven_version.py 5.1.0

and to switch back to snapshot versions immediately after release:

./tools/bump_maven_version.py 5.1.1-SNAPSHOT
test-build

This is the script used by Travis to test each commit. It compiles and runs tests on each of the components in the Bio-Formats repository according to the arguments specified. Valid arguments are:

  • clean: cleans the Maven build directories

  • maven: builds all Java components using Maven and runs unit tests

  • ant: builds all Java components using Ant and runs unit tests

  • all: equivalent of clean maven ant

See open Trac tickets for Bio-Formats and the various Trello boards for information on work currently planned or in progress.

For more general guidance about how to contribute to OME projects, see the Contributing developers documentation.

Formats

Bio-Formats supports over 140 different file formats. The Dataset Structure Table explains the file extension you should choose to open/import a dataset in any of these formats, while the Supported Formats table lists all of the formats and gives an indication of how well they are supported and whether Bio-Formats can write, as well as read, each format. The Summary of supported metadata fields table shows an overview of the OME data model fields populated for each format.

Further information on each individual format is also provided (click on the entries in the supported formats table).

We are always looking for examples of files to help us provide better support for different formats. If you would like to help, you can upload files to Zenodo and let us know. If you have any questions, or would prefer not to use Zenodo, please contact us via the Image.sc forum. If your format is already supported, please refer to the ‘we would like to have’ section on the individual page for that format, to see if your dataset would be useful to us.

All the example files we have permission to share publicly are freely available from our sample image downloads site.

Dataset Structure Table

This table shows the extension of the file that you should choose if you want to open/import a dataset in a particular format.

Format name

File to choose

Structure of files

AIM

.aim

Single file

ARF

.arf

Single file

Adobe Photoshop

.psd

Single file

Adobe Photoshop TIFF

.tif, .tiff

Single file

Alicona AL3D

.al3d

Single file

Amersham Biosciences GEL

.gel

Single file

Amira

.am, .amiramesh, .grey, .hx, .labels

Single file

Analyze 7.5

.img, .hdr

One .img file and one similarly-named .hdr file

Andor SIF

.sif

Single file

Animated PNG

.png

Single file

Aperio AFI

.afi

One .afi file and several similarly-named .svs files

Aperio SVS

.svs

Single file

Audio Video Interleave

.avi

Single file

BD Pathway

.exp, .tif

Multiple files (.exp, .dye, .ltp, …) plus one or more directories containing .tif and .bmp files

BDV

.xml, .h5

Single file

Bio-Rad GEL

.1sc

Single file

Bio-Rad PIC

.pic, .xml, .raw

One or more .pic files and an optional lse.xml file

Bio-Rad SCN

.scn

Single file

Bitplane Imaris

.ims

Single file

Bitplane Imaris 3 (TIFF)

.ims

Single file

Bitplane Imaris 5.5 (HDF)

.ims

Single file

Bruker

(no extension)

One ‘fid’ and one ‘acqp’ plus several other metadata files and a ‘pdata’ directory

Burleigh

.img

Single file

Canon RAW

.cr2, .crw, .jpg, .thm, .wav

Single file

CellH5 (HDF)

.ch5

Single file

CellSens VSI

.vsi, .ets

One .vsi file and an optional directory with a similar name that contains at least one subdirectory with .ets files

CellVoyager

.tif, .xml

Directory with 2 master files ‘MeasurementResult.xml’ and ‘MeasurementResult.ome.xml’, used to stitch together several TIF files.

CellWorx

.pnl, .htd, .log

One .htd file plus one or more .pnl files and optionally one or more .log files

Cellomics C01

.c01, .dib

One or more .c01 files

Compix Simple-PCI

.cxd

Single file

DICOM

.dic, .dcm, .dicom, .jp2, .j2ki, .j2kr, .raw, .ima

One or more .dcm or .dicom files

DNG

.cr2, .crw, .jpg, .thm, .wav, .tif, .tiff

Single file

Deltavision

.dv, .r3d, .r3d_d3d, .dv.log, .r3d.log

One .dv, .r3d, or .d3d file and up to two optional .log files

ECAT7

.v

Single file

Encapsulated PostScript

.eps, .epsi, .ps

Single file

Evotec Flex

.flex, .mea, .res

One directory containing one or more .flex files, and an optional directory containing an .mea and .res file. The .mea and .res files may also be in the same directory as the .flex file(s).

Extended leica file

.xlef

Single file

FEI TIFF

.tif, .tiff

Single file

FEI/Philips

.img

Single file

Flexible Image Transport System

.fits, .fts

Single file

FlowSight

.cif

Single file

Fuji LAS 3000

.img, .inf

Single file

Gatan DM2

.dm2

Single file

Gatan Digital Micrograph

.dm3, .dm4

Single file

Graphics Interchange Format

.gif

Single file

Hamamatsu Aquacosmos

.naf

Single file

Hamamatsu HIS

.his

Single file

Hamamatsu NDPI

.ndpi

Single file

Hamamatsu NDPIS

.ndpis

One .ndpis file and at least one .ndpi file

Hamamatsu VMS

.vms

One .vms file plus several .jpg files

Hitachi

.txt

One .txt file plus one similarly-named .tif, .bmp, or .jpg file

I2I

.i2i

Single file

IMAGIC

.hed, .img

One .hed file plus one similarly-named .img file

IMOD

.mod

Single file

INR

.inr

Single file

IPLab

.ipl

Single file

IVision

.ipm

Single file

Imacon

.fff

Single file

Image Cytometry Standard

.ics, .ids

One .ics and possibly one .ids with a similar name

Image-Pro Sequence

.seq, .ips

Single file

Image-Pro Workspace

.ipw

Single file

Improvision TIFF

.tif, .tiff

Single file

InCell 1000/2000

.xdce, .xml, .tiff, .tif, .xlog

One .xdce file with at least one .tif/.tiff or .im file

InCell 3000

.frm

Single file

Inveon

.hdr

One .hdr file plus one similarly-named file

Ionpath MIBI

.tif, tiff

Single file

JEOL

.dat, .img, .par

A single .dat file or an .img file with a similarly-named .par file

JPEG

.jpg, .jpeg, .jpe

Single file

JPEG-2000

.jp2, .j2k, .jpf

Single file

JPK Instruments

.jpk

Single file

JPX

.jpx

Single file

KLB

.klb

Single file

Khoros XV

.xv

Single file

Kodak Molecular Imaging

.bip

Single file

LEO

.sxm, .tif, .tiff

Single file

LI-FLIM

.fli

Single file

Laboratory Imaging

.lim

Single file

Lavision Imspector

.msr

Single file

Leica

.lei, .tif, .tiff, .raw

One .lei file with at least one .tif/.tiff file and an optional .txt file

Leica Image File Format

.lif

Single file

Leica Object Format

.lof

Single file

Leica SCN

.scn

Single file

Leica TCS TIFF

.tif, .tiff, .xml

Single file

Li-Cor L2D

.l2d, .scn, .tif

One .l2d file with one or more directories containing .tif/.tiff files

MIAS

.tif, .tiff, .txt

One directory per plate containing one directory per well, each with one or more .tif/.tiff files

MINC MRI

.mnc

Single file

Medical Research Council

.mrc, .st, .ali, .map, .rec, .mrcs

Single file

MetaXpress TIFF

.htd, .tif

One .htd file plus one or more .tif files

Metamorph STK

.stk, .nd, .scan, .tif, .tiff

One or more .stk or .tif/.tiff files plus an optional .nd or .scan file

Metamorph TIFF

.tif, .tiff

One or more .tif/.tiff files

Micro-Manager

.tif, .tiff, .txt, .xml

A file ending in ‘metadata.txt’ plus one or more .tif files

MicroCT

.vff

Directory with XML file and one .tif/.tiff file per plane

Mikroscan TIFF

.tif, .tiff

Single file

Minolta MRW

.mrw

Single file

Molecular Imaging

.stp

Single file

Multiple-image Network Graphics

.mng

Single file

NIfTI

.nii, .img, .hdr, .nii.gz

A single .nii file or a single .nii.gz file or one .img file and a similarly-named .hdr file

NOAA-HRD Gridded Data Format

(no extension)

Single file

NRRD

.nrrd, .nhdr

A single .nrrd file or one .nhdr file and one other file containing the pixels

Nikon Elements TIFF

.tif, .tiff

Single file

Nikon ND2

.nd2, .jp2

Single file

Nikon NEF

.nef, .tif, .tiff

Single file

Nikon TIFF

.tif, .tiff

Single file

OBF

.obf, .msr

OBF file

OME-TIFF

.ome.tiff, .ome.tif, .ome.tf2, .ome.tf8, .ome.btf, .companion.ome

One or more .ome.tiff files

OME-XML

.ome, .ome.xml

Single file

Olympus .omp2info

.omp2info

One .omp2info file and at least one .oir or .vsi file

Olympus APL

.apl, .tnb, .mtb, .tif

One .apl file, one .mtb file, one .tnb file, and a directory containing one or more .tif files

Olympus FV1000

.oib, .oif, .pty, .lut

Single .oib file or one .oif file and a similarly-named directory containing .tif/.tiff files

Olympus Fluoview/ABD TIFF

.tif, .tiff

One or more .tif/.tiff files, and an optional .txt file

Olympus OIR

.oir

Single file

Olympus SIS TIFF

.tif, .tiff

Single file

Olympus ScanR

.dat, .xml, .tif

One .xml file, one ‘data’ directory containing .tif/.tiff files, and optionally two .dat files

Olympus Slidebook

.sld, .spl

Single file

Openlab LIFF

.liff

Single file

Openlab RAW

.raw

Single file

Oxford Instruments

.top

Single file

PCO-RAW

.pcoraw, .rec

A single .pcoraw file with a similarly-named .rec file

PCX

.pcx

Single file

PICT

.pict, .pct

Single file

POV-Ray

.df3

Single file

Perkin Elmer Densitometer

.hdr, .img

One .hdr file and a similarly-named .img file

Perkin-Elmer Nuance IM3

.im3

Single file

PerkinElmer

.ano, .cfg, .csv, .htm, .rec, .tim, .zpo, .tif

One .htm file, several other metadata files (.tim, .ano, .csv, …) and either .tif files or .2, .3, .4, etc. files

PerkinElmer Columbus

.xml

Directory with XML file and one .tif/.tiff file per plane

PerkinElmer Operetta

.tif, .tiff, .xml

Directory with XML file and one .tif/.tiff file per plane

PerkinElmer Vectra/QPTIFF

.tiff, .tif, .qptiff

Single file

PicoQuant Bin

.bin

Single file

Portable Any Map

.pbm, .pgm, .ppm

Single file

Prairie TIFF

.tif, .tiff, .cfg, .env, .xml

One .xml file, one .cfg file, and one or more .tif/.tiff files

Princeton Instruments SPE

.spe

Single file

Pyramid TIFF

.tif, .tiff

Single file

Quesant AFM

.afm

Single file

QuickTime

.mov

Single file

RCPNL

.rcpnl

One .dv, .r3d, or .d3d file and up to two optional .log files

RHK Technologies

.sm2, .sm3

Single file

SBIG

(no extension)

Single file

SM Camera

(no extension)

Single file

SPC FIFO Data

.spc, .set

One .spc file and similarly named .set file

SPCImage Data

.sdt

Single file

SPIDER

.spi

Single file

Seiko

.xqd, .xqf

Single file

SimplePCI TIFF

.tif, .tiff

Single file

Simulated data

.fake

Single file

SlideBook 7 SLD (native)

.sldy

Single file

Slidebook TIFF

.tif, .tiff

Single file

Tagged Image File Format

.tif, .tiff, .tf2, .tf8, .btf

Single file

Tecan Spark Cyto

.db

SQLite database, TIFF files, optional analysis output

Text

.txt, .csv

Single file

TillVision

.vws, .pst, .inf

One .vws file and possibly one similarly-named directory

TopoMetrix

.tfr, .ffr, .zfr, .zfp, .2fl

Single file

Trestle

.tif

One .tif file plus several other similarly-named files (e.g. .FocalPlane-, .sld, .slx, .ROI)

Truevision Targa

.tga

Single file

UBM

.pr3

Single file

Unisoku STM

.hdr, .dat

One .HDR file plus one similarly-named .DAT file

VG SAM

.dti

Single file

Varian FDF

.fdf

Single file

Veeco

.hdf

Single file

Ventana .bif

.bif

Single file

Visitech XYS

.xys, .html

One .html file plus one or more .xys files

Volocity Library

.mvd2, .aisf, .aiix, .dat, .atsf

One .mvd2 file plus a ‘Data’ directory

Volocity Library Clipping

.acff

Single file

WA Technology TOP

.wat

Single file

Windows Bitmap

.bmp

Single file

Yokogawa CV7000

.wpi

Directory with XML files and one .tif/.tiff file per plane

Zeiss AxioVision TIFF

.tif, .xml

Single file

Zeiss CZI

.czi

Single file

Zeiss LMS

.lms

Single file

Zeiss Laser-Scanning Microscopy

.lsm, .mdb

One or more .lsm files; if multiple .lsm files are present, an .mdb file should also be present

Zeiss Vision Image (ZVI)

.zvi

Single file

Zip

.zip

Single file

Flex Support

OMERO.importer supports importing analyzed Flex files from an Opera system.

Basic configuration is done via the importer.ini. Once the user has run the Importer once, this file will be in the following location:

  • C:\Documents and Settings\<username>\omero\importer.ini

The user will need to modify or add the [FlexReaderServerMaps] section of the INI file as follows:

…
[FlexReaderServerMaps]
CIA-1 = \\\\hostname1\\mount;\\\\archivehost1\\mount
CIA-2 = \\\\hostname2\\mount;\\\\archivehost2\\mount

where the key of the INI file line is the value of the “Host” tag in the .mea measurement XML file (here: <Host name="CIA-1">) and the value is a semicolon-separated list of escaped UNC path names to the Opera workstations where the Flex files reside.

Once this resolution has been encoded in the configuration file and you have restarted the importer, you will be able to select the .mea measurement XML file from the Importer user interface as the import target.

Supported Formats

Ratings legend and definitions

Format

Extensions

header-pixels

header-metadata

header-openness

header-presence

header-utility

header-export

header-bsd

header-multipleimages

header-pyramid

3i SlideBook

.sld

4 - Very Good

3 - Good

2 - Fair

4 - Very Good

2 - Fair

No

No

Yes

No

3i SlideBook 7

.sldy

5 - Outstanding

5 - Outstanding

4 - Very Good

4 - Very Good

4 - Very Good

No

Yes

No

No

Andor Bio-Imaging Division (ABD) TIFF

.tif

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

No

AIM

.aim

3 - Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Alicona 3D

.al3d

4 - Very Good

4 - Very Good

4 - Very Good

1 - Poor

3 - Good

No

No

No

No

Amersham Biosciences Gel

.gel

4 - Very Good

3 - Good

3 - Good

2 - Fair

2 - Fair

No

No

No

No

Amira Mesh

.am, .amiramesh, .grey, .hx, .labels

4 - Very Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Amnis FlowSight

.cif

3 - Good

3 - Good

3 - Good

1 - Poor

2 - Fair

No

Yes

Yes

No

Analyze 7.5

.img, .hdr

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

No

No

No

No

Andor SIF

.sif

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Animated PNG

.png

4 - Very Good

4 - Very Good

5 - Outstanding

3 - Good

1 - Poor

Yes

Yes

No

No

Aperio AFI

.afi, .svs

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

3 - Good

No

No

Yes

Yes

Aperio SVS TIFF

.svs

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

3 - Good

No

No

Yes

Yes

Applied Precision CellWorX

.htd, .pnl

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

2 - Fair

No

No

Yes

No

AVI (Audio Video Interleave)

.avi

3 - Good

2 - Fair

2 - Fair

5 - Outstanding

1 - Poor

Yes

Yes

No

No

Axon Raw Format

.arf

4 - Very Good

4 - Very Good

4 - Very Good

1 - Poor

2 - Fair

No

No

No

No

BD Pathway

.exp, .tif

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

No

Becker & Hickl SPC FIFO

.spc

1 - Poor

1 - Poor

3 - Good

1 - Poor

2 - Fair

No

No

Yes

No

Becker & Hickl SPCImage

.sdt

4 - Very Good

3 - Good

3 - Good

1 - Poor

2 - Fair

No

No

Yes

No

Big Data Viewer

.xml, .h5

3 - Good

4 - Very Good

4 - Very Good

3 - Good

3 - Good

No

Yes

Yes

Yes

Bio-Rad Gel

.1sc

3 - Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Bio-Rad PIC

.pic, .raw, .xml

5 - Outstanding

5 - Outstanding

4 - Very Good

4 - Very Good

4 - Very Good

No

No

No

No

Bio-Rad SCN

.scn

4 - Very Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Bitplane Imaris

.ims

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

2 - Fair

No

No

Yes

Yes

Bruker MRI

3 - Good

2 - Fair

2 - Fair

3 - Good

2 - Fair

No

No

Yes

No

Burleigh

.img

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Canon DNG

.cr2, .crw

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

CellH5

.ch5

4 - Very Good

5 - Outstanding

5 - Outstanding

2 - Fair

4 - Very Good

Yes

Yes

Yes

No

Cellomics

.c01, .dib

4 - Very Good

4 - Very Good

2 - Fair

1 - Poor

1 - Poor

No

No

Yes

No

cellSens VSI

.vsi

2 - Fair

4 - Very Good

3 - Good

2 - Fair

2 - Fair

No

No

Yes

Yes

CellVoyager

.xml, .tif

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

No

CV7000

.wpi, .tif

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

2 - Fair

No

No

Yes

No

DeltaVision

.dv, .r3d, .rcpnl

5 - Outstanding

3 - Good

3 - Good

3 - Good

3 - Good

No

No

Yes

No

DICOM

.dcm, .dicom

4 - Very Good

4 - Very Good

5 - Outstanding

5 - Outstanding

4 - Very Good

Yes

Yes

Yes

Yes

ECAT7

.v

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

EPS (Encapsulated PostScript)

.eps, .epsi, .ps

3 - Good

3 - Good

3 - Good

4 - Very Good

1 - Poor

Yes

Yes

No

No

Evotec/PerkinElmer Opera Flex

.flex, .mea, .res

5 - Outstanding

5 - Outstanding

1 - Poor

1 - Poor

1 - Poor

No

No

Yes

No

FEI

.img

2 - Fair

1 - Poor

1 - Poor

2 - Fair

2 - Fair

No

No

No

No

FEI TIFF

.tiff

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

2 - Fair

No

No

No

No

FITS (Flexible Image Transport System)

.fits

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

No

Yes

No

No

Gatan Digital Micrograph

.dm3, .dm4

4 - Very Good

3 - Good

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Gatan Digital Micrograph 2

.dm2

3 - Good

3 - Good

2 - Fair

2 - Fair

3 - Good

No

No

No

No

GE MicroCT

.vff

4 - Very Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

GIF (Graphics Interchange Format)

.gif

4 - Very Good

2 - Fair

2 - Fair

5 - Outstanding

1 - Poor

No

Yes

No

No

Hamamatsu Aquacosmos NAF

.naf

3 - Good

1 - Poor

1 - Poor

2 - Fair

2 - Fair

No

No

Yes

No

Hamamatsu HIS

.his

3 - Good

3 - Good

2 - Fair

2 - Fair

2 - Fair

No

No

Yes

No

Hamamatsu ndpi

.ndpi, .ndpis

4 - Very Good

3 - Good

3 - Good

2 - Fair

2 - Fair

No

No

Yes

Yes

Hamamatsu VMS

.vms

3 - Good

3 - Good

2 - Fair

2 - Fair

2 - Fair

No

No

Yes

No

Hitachi S-4800

.txt, .tif, .bmp, .jpg

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

2 - Fair

No

No

No

No

I2I

.i2i

4 - Very Good

4 - Very Good

4 - Very Good

1 - Poor

2 - Fair

No

No

No

No

ICS (Image Cytometry Standard)

.ics, .ids

5 - Outstanding

5 - Outstanding

5 - Outstanding

4 - Very Good

4 - Very Good

Yes

Yes

No

No

Imacon

.fff

1 - Poor

1 - Poor

2 - Fair

1 - Poor

3 - Good

No

No

Yes

No

ImagePro Sequence

.seq

4 - Very Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

ImagePro Workspace

.ipw

4 - Very Good

1 - Poor

1 - Poor

1 - Poor

1 - Poor

No

No

No

No

IMAGIC

.hed, .img

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

3 - Good

No

No

No

No

IMOD

.mod

3 - Good

3 - Good

5 - Outstanding

2 - Fair

2 - Fair

No

No

No

No

Improvision Openlab LIFF

.liff

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

No

No

Yes

No

Improvision Openlab Raw

.raw

5 - Outstanding

4 - Very Good

4 - Very Good

1 - Poor

2 - Fair

No

No

No

No

Improvision TIFF

.tif

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

3 - Good

No

No

No

No

Imspector OBF

.obf, .msr

4 - Very Good

4 - Very Good

4 - Very Good

1 - Poor

2 - Fair

No

Yes

Yes

No

InCell 1000/2000

.xdce, .tif

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

No

InCell 3000

.frm

3 - Good

2 - Fair

2 - Fair

2 - Fair

1 - Poor

No

No

No

No

INR

.inr

4 - Very Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Inveon

.hdr

4 - Very Good

4 - Very Good

3 - Good

1 - Poor

2 - Fair

No

No

Yes

No

Ionpath MIBI

.tif, .tiff

4 - Very Good

4 - Very Good

4 - Very Good

1 - Poor

2 - Fair

No

No

No

No

IPLab

.ipl

5 - Outstanding

4 - Very Good

4 - Very Good

2 - Fair

2 - Fair

No

No

No

No

IVision

.ipm

4 - Very Good

4 - Very Good

4 - Very Good

1 - Poor

2 - Fair

No

No

No

No

JEOL

.dat, .img, .par

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

JPEG

.jpg

4 - Very Good

4 - Very Good

5 - Outstanding

5 - Outstanding

1 - Poor

Yes

Yes

No

No

JPEG 2000

.jp2, .j2k, .jpf

4 - Very Good

5 - Outstanding

5 - Outstanding

3 - Good

1 - Poor

Yes

Yes

Yes

Yes

JPK

.jpk

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

Yes

No

JPX

.jpx

4 - Very Good

4 - Very Good

5 - Outstanding

3 - Good

2 - Fair

No

No

Yes

No

Keller Lab Block

.klb

3 - Good

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

No

Yes

Yes

Yes

Khoros VIFF (Visualization Image File Format) Bitmap

.xv

3 - Good

1 - Poor

1 - Poor

1 - Poor

1 - Poor

No

No

No

No

Kodak BIP

.bip

4 - Very Good

3 - Good

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Lambert Instruments FLIM

.fli

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

3 - Good

No

No

Yes

No

LaVision Imspector

.msr

2 - Fair

1 - Poor

1 - Poor

1 - Poor

2 - Fair

No

No

Yes

No

Leica LCS LEI

.lei, .tif

5 - Outstanding

5 - Outstanding

4 - Very Good

4 - Very Good

4 - Very Good

No

No

Yes

No

Leica LAS AF LIF (Leica Image File Format)

.lif

5 - Outstanding

5 - Outstanding

4 - Very Good

3 - Good

4 - Very Good

No

No

Yes

No

Leica LOF

.lof

5 - Outstanding

4 - Very Good

4 - Very Good

4 - Very Good

4 - Very Good

No

No

No

No

Leica SCN

.scn

3 - Good

3 - Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

Yes

Leica XLEF

.xlef

5 - Outstanding

4 - Very Good

4 - Very Good

4 - Very Good

4 - Very Good

No

No

Yes

No

LEO

.sxm, .tif, .tiff

3 - Good

3 - Good

3 - Good

2 - Fair

2 - Fair

No

No

No

No

Li-Cor L2D

.l2d, .tif, .scn

4 - Very Good

4 - Very Good

3 - Good

3 - Good

3 - Good

No

No

Yes

No

LIM (Laboratory Imaging/Nikon)

.lim

3 - Good

1 - Poor

1 - Poor

1 - Poor

1 - Poor

No

No

No

No

MetaMorph 7.5 TIFF

.tiff

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

3 - Good

No

No

Yes

No

MetaMorph Stack (STK)

.stk, .nd

4 - Very Good

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

No

No

No

No

MetaXpress

.htd, .tif, .tiff

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

2 - Fair

No

No

Yes

No

MIAS (Maia Scientific)

.tif

4 - Very Good

4 - Very Good

2 - Fair

1 - Poor

1 - Poor

No

No

Yes

No

Micro-Manager

.tif, .txt, .xml

5 - Outstanding

5 - Outstanding

5 - Outstanding

2 - Fair

3 - Good

No

Yes

Yes

No

Mikroscan TIFF

.tif, .tiff

3 - Good

3 - Good

3 - Good

2 - Fair

2 - Fair

No

No

No

Yes

MINC MRI

.mnc

4 - Very Good

3 - Good

3 - Good

3 - Good

2 - Fair

No

No

No

No

Minolta MRW

.mrw

4 - Very Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

MNG (Multiple-image Network Graphics)

.mng

3 - Good

3 - Good

5 - Outstanding

2 - Fair

1 - Poor

No

Yes

Yes

No

Molecular Imaging

.stp

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

MRC (Medical Research Council)

.mrc, .st, .ali, .map, .rec, .mrcs

5 - Outstanding

4 - Very Good

4 - Very Good

3 - Good

3 - Good

No

No

No

No

NEF (Nikon Electronic Format)

.nef, .tif

4 - Very Good

1 - Poor

1 - Poor

1 - Poor

1 - Poor

No

No

No

No

NIfTI

.img, .hdr, .nii, .nii.gz

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

No

No

No

No

Nikon Elements TIFF

.tiff

3 - Good

3 - Good

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Nikon EZ-C1 TIFF

.tiff

4 - Very Good

4 - Very Good

3 - Good

1 - Poor

2 - Fair

No

No

No

No

Nikon NIS-Elements ND2

.nd2

4 - Very Good

3 - Good

2 - Fair

4 - Very Good

4 - Very Good

No

No

Yes

No

NRRD (Nearly Raw Raster Data)

.nrrd, .nhdr, .raw, .txt

4 - Very Good

4 - Very Good

5 - Outstanding

2 - Fair

4 - Very Good

No

Yes

No

No

Olympus CellR/APL

.apl, .mtb, .tnb, .tif, .obsep

4 - Very Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

Yes

No

Olympus FluoView FV1000

.oib, .oif

4 - Very Good

4 - Very Good

3 - Good

3 - Good

4 - Very Good

No

No

Yes

No

Olympus FluoView TIFF

.tif

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

3 - Good

No

No

Yes

No

Olympus OIR

.oir

4 - Very Good

3 - Good

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Olympus OMP2INFO

.omp2info

4 - Very Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Olympus ScanR

.xml, .dat, .tif

4 - Very Good

4 - Very Good

3 - Good

1 - Poor

2 - Fair

No

No

Yes

No

Olympus SIS TIFF

.tiff

3 - Good

3 - Good

3 - Good

2 - Fair

3 - Good

No

No

No

No

OME-TIFF

.ome.tiff, .ome.tif, .ome.tf2, .ome.tf8, .ome.btf

5 - Outstanding

5 - Outstanding

5 - Outstanding

2 - Fair

5 - Outstanding

Yes

Yes

Yes

Yes

OME-XML

.ome, .ome.xml

5 - Outstanding

5 - Outstanding

5 - Outstanding

2 - Fair

5 - Outstanding

Yes

Yes

Yes

No

OMERO Pyramid

5 - Outstanding

5 - Outstanding

5 - Outstanding

2 - Fair

2 - Fair

No

Yes

Yes

Yes

Oxford Instruments

.top

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

PCORAW

.pcoraw, .rec

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

3 - Good

No

No

No

No

PCX (PC Paintbrush)

.pcx

4 - Very Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

Yes

No

No

Perkin Elmer Densitometer

.pds

3 - Good

3 - Good

3 - Good

1 - Poor

2 - Fair

No

No

No

No

PerkinElmer Columbus

.xml, .csv, .tif

3 - Good

3 - Good

2 - Fair

3 - Good

2 - Fair

No

No

Yes

No

PerkinElmer Nuance

.im3

3 - Good

1 - Poor

1 - Poor

1 - Poor

2 - Fair

No

Yes

Yes

No

PerkinElmer Operetta

.tiff, .xml

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

No

PerkinElmer UltraVIEW

.tif, .2, .3, .4, etc.

4 - Very Good

3 - Good

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Portable Any Map

.pbm, .pgm, .ppm

4 - Very Good

4 - Very Good

5 - Outstanding

3 - Good

1 - Poor

No

Yes

No

No

Adobe Photoshop PSD

.psd

3 - Good

3 - Good

3 - Good

3 - Good

2 - Fair

No

No

No

No

Photoshop TIFF

.tif, .tiff

3 - Good

3 - Good

3 - Good

3 - Good

3 - Good

No

No

Yes

No

PicoQuant Bin

.bin

3 - Good

2 - Fair

2 - Fair

2 - Fair

1 - Poor

No

No

No

No

PICT (Macintosh Picture)

.pict

4 - Very Good

2 - Fair

2 - Fair

4 - Very Good

1 - Poor

No

Yes

No

No

PNG (Portable Network Graphics)

.png

4 - Very Good

4 - Very Good

5 - Outstanding

5 - Outstanding

1 - Poor

Yes

Yes

No

No

Prairie Technologies TIFF

.tif, .xml, .cfg

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

No

Princeton Instruments SPE

.spe

3 - Good

3 - Good

4 - Very Good

2 - Fair

3 - Good

No

No

Yes

No

Quesant

.afm

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

QuickTime Movie

.mov

3 - Good

2 - Fair

2 - Fair

5 - Outstanding

1 - Poor

Yes

Yes

No

No

RHK

.sm2, .sm3

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

SBIG

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

2 - Fair

No

No

No

No

Seiko

.xqd, .xqf

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

SimplePCI & HCImage

.cxd

5 - Outstanding

5 - Outstanding

4 - Very Good

1 - Poor

2 - Fair

No

No

No

No

SimplePCI & HCImage TIFF

.tiff

4 - Very Good

4 - Very Good

4 - Very Good

2 - Fair

3 - Good

No

No

No

No

SM Camera

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

SPIDER

.spi, .stk

4 - Very Good

4 - Very Good

5 - Outstanding

3 - Good

3 - Good

No

No

No

No

Targa

.tga

4 - Very Good

4 - Very Good

4 - Very Good

3 - Good

1 - Poor

No

No

No

No

Tecan Spark Cyto Workspace

.db, .tif

4 - Very Good

4 - Very Good

3 - Good

2 - Fair

3 - Good

No

No

Yes

No

Text

.txt

3 - Good

2 - Fair

2 - Fair

2 - Fair

1 - Poor

No

Yes

No

No

TIFF (Tagged Image File Format)

.tiff, .tif, .tf2, .tf8, .btf

4 - Very Good

5 - Outstanding

5 - Outstanding

5 - Outstanding

2 - Fair

Yes

Yes

Yes

Yes

TillPhotonics TillVision

.vws

3 - Good

1 - Poor

1 - Poor

1 - Poor

2 - Fair

No

No

Yes

No

Topometrix

.tfr, .ffr, .zfr, .zfp, .2fl

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Trestle

.tif, .sld, .jpg

3 - Good

3 - Good

3 - Good

2 - Fair

2 - Fair

No

No

Yes

Yes

UBM

.pr3

3 - Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

Unisoku

.dat, .hdr

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Varian FDF

.fdf

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Vectra QPTIFF

.tif, .qptiff

4 - Very Good

5 - Outstanding

5 - Outstanding

2 - Fair

2 - Fair

No

No

No

Yes

Veeco AFM

.hdf

3 - Good

3 - Good

4 - Very Good

2 - Fair

3 - Good

No

No

No

No

Ventana BIF

.bif

3 - Good

3 - Good

2 - Fair

2 - Fair

3 - Good

No

No

No

Yes

VG SAM

.dti

3 - Good

2 - Fair

2 - Fair

1 - Poor

2 - Fair

No

No

No

No

VisiTech XYS

.xys, .html

4 - Very Good

2 - Fair

2 - Fair

1 - Poor

3 - Good

No

No

Yes

No

Volocity

.mvd2

3 - Good

3 - Good

2 - Fair

1 - Poor

2 - Fair

No

No

Yes

No

Volocity Library Clipping

.acff

3 - Good

2 - Fair

2 - Fair

1 - Poor

1 - Poor

No

No

No

No

WA-TOP

.wat

3 - Good

2 - Fair

2 - Fair

2 - Fair

2 - Fair

No

No

No

No

Windows Bitmap

.bmp

4 - Very Good

2 - Fair

2 - Fair

5 - Outstanding

1 - Poor

No

Yes

No

No

Zeiss Axio CSM

.lms

3 - Good

1 - Poor

1 - Poor

1 - Poor

2 - Fair

No

No

No

No

Zeiss AxioVision TIFF

.xml, .tif

4 - Very Good

3 - Good

3 - Good

2 - Fair

2 - Fair

No

No

Yes

No

Zeiss AxioVision ZVI (Zeiss Vision Image)

.zvi

5 - Outstanding

4 - Very Good

4 - Very Good

3 - Good

3 - Good

No

No

No

No

Zeiss CZI

.czi

5 - Outstanding

5 - Outstanding

4 - Very Good

2 - Fair

3 - Good

No

No

Yes

Yes

Zeiss LSM (Laser Scanning Microscope) 510/710

.lsm, .mdb

5 - Outstanding

4 - Very Good

3 - Good

4 - Very Good

3 - Good

No

No

Yes

No

Bio-Formats currently supports 161 formats

Ratings legend and definitions

5 - Outstanding

Outstanding

4 - Very Good

Very good

3 - Good

Good

2 - Fair

Fair

1 - Poor

Poor

Pixels

Our estimation of Bio-Formats’ ability to reliably extract complete and accurate pixel values from files in that format. The better this score, the more confident we are that Bio-Formats will successfully read your file without displaying an error message or displaying an erroneous image.

Metadata

Our certainty in the thoroughness and correctness of Bio-Formats’ metadata extraction and conversion from files of that format into standard OME-XML. The better this score, the more confident we are that all meaningful metadata will be parsed and populated as OME-XML.

Openness

This is not a direct expression of Bio-Formats’ performance, but rather indicates the level of cooperation the format’s controlling interest has demonstrated toward the scientific community with respect to the format. The better this score, the more tools (specification documents, source code, sample files, etc.) have been made available.

Presence

This is also not directly related to Bio-Formats, but instead represents our understanding of the format’s popularity, and is also as a measure of compatibility between applications. The better this score, the more common the format and the more software packages include support for it.

Utility

Our opinion of the format’s suitability for storing metadata-rich microscopy image data. The better this score, the wider the variety of information that can be effectively stored in the format.

Export

This indicates whether Bio-Formats is capable of writing the format (Bio-Formats can read every format on this list).

BSD

This indicates whether format is BSD-licensed. By default, format readers and writers are GPL-licensed.

Multiple Images

This indicates whether the format can store multiple Images (in OME-XML terminology) or series (in Bio-Formats API terminology).

Pyramid

This indicates whether the format can store a single image at multiple resolutions, typically referred to as an image pyramid.

3i SlideBook

Extensions: .sld

Developer: Intelligent Imaging Innovations

Owner: Intelligent Imaging Innovations

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 4.1, 4.2, 5.0, 5.5, 6.0

Reader: SlidebookReader (Source Code, Supported Metadata Fields)

We currently have:

  • Numerous SlideBook datasets

We would like to have:

  • A SlideBook specification document

  • More SlideBook datasets (preferably acquired with the most recent SlideBook software)

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 4 - Very Good

Utility: 2 - Fair

Additional Information

We strongly encourage users to export their .sld files to OME-TIFF using the SlideBook software. Bio-Formats is not likely to support the full range of metadata that is included in .sld files, and so exporting to OME-TIFF from SlideBook is the best way to ensure that all metadata is preserved. Free software from 3i can export the files to OME-TIFF post-acquisition, see https://www.intelligent-imaging.com/slidebook.

3i also develops a native SlideBook reader which works with Bio-Formats. See http://www.openmicroscopy.org/info/slidebook for details.

3i SlideBook 7

Extensions: .sldy

Developer: Intelligent Imaging Innovations

Owner: Intelligent Imaging Innovations

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: SlideBook7Reader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a small number of datasets

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 4 - Very Good

Presence: 4 - Very Good

Utility: 4 - Very Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Andor Bio-Imaging Division (ABD) TIFF

Extensions: .tif

Developer: Andor Bioimaging Department

Owner: Andor Technology

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: FluoviewReader (Source Code, Supported Metadata Fields)

We currently have:

  • an ABD-TIFF specification document (from 2005 November, in PDF)

  • a few ABD-TIFF datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

With a few minor exceptions, the ABD-TIFF format is identical to the Fluoview TIFF format.

AIM

Extensions: .aim

Developer: SCANCO Medical AG

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: AIMReader (Source Code, Supported Metadata Fields)

We currently have:

  • one .aim file

We would like to have:

  • an .aim specification document

  • more .aim files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Alicona 3D

Extensions: .al3d

Owner: Alicona Imaging

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 1.0

Reader: AliconaReader (Source Code, Supported Metadata Fields)

We currently have:

  • an AL3D specification document (v1.0, from 2003, in PDF)

  • a few AL3D datasets

We would like to have:

  • more AL3D datasets (Z series, T series, 16-bit)

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 3 - Good

Additional Information

Known deficiencies:

  • Support for 16-bit AL3D images is present, but has never been tested.

  • Texture data is currently ignored.

Amersham Biosciences Gel

Extensions: .gel

Developer: Molecular Dynamics

Owner: Cytiva

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: GelReader (Source Code, Supported Metadata Fields)

We currently have:

  • a GEL specification document (Revision 2, from 2001 Mar 15, in PDF)

  • a few GEL datasets

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Amira Mesh

Extensions: .am, .amiramesh, .grey, .hx, .labels

Developer: Visage Imaging

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: AmiraReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • more Amira Mesh datasets

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Amnis FlowSight

Extensions: .cif

Owner: Amnis (now owned by Merck)

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: FlowSightReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few sample datasets

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 1 - Poor

Utility: 2 - Fair

Analyze 7.5

Extensions: .img, .hdr

Developer: Mayo Foundation Biomedical Imaging Resource

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: AnalyzeReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 2 - Fair

Andor SIF

Extensions: .sif

Developer: Andor Bioimaging Department

Owner: Andor Technology

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SIFReader (Source Code, Supported Metadata Fields)

We currently have:

  • a small number of Andor SIF datasets

We would like to have:

  • an Andor SIF specification document

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Animated PNG

Extensions: .png

Developer: The Animated PNG Project

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: APNGReader (Source Code, Supported Metadata Fields)

Writer: APNGWriter (Source Code)

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 3 - Good

Utility: 1 - Poor

Aperio AFI

Extensions: .afi, .svs

Owner: Leica Biosystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: AFIReader (Source Code, Supported Metadata Fields)

We currently have:

  • several AFI datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

Aperio SVS TIFF

Extensions: .svs

Owner: Leica Biosystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 8.0, 8.2, 9.0

Reader: SVSReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • many SVS datasets

  • public sample images

  • an SVS specification document

  • the ability to generate additional SVS datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Applied Precision CellWorX

Extensions: .htd, .pnl

Developer: Applied Precision, Inc.

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: CellWorxReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • a CellWorX specification document

  • more CellWorX datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

AVI (Audio Video Interleave)

Extensions: .avi

Developer: Microsoft

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: AVIReader (Source Code, Supported Metadata Fields)

Writer: AVIWriter (Source Code)

Freely Available Software:

We currently have:

  • several AVI datasets

We would like to have:

  • more AVI datasets, including:

    • files with audio tracks and/or multiple video tracks

    • files compressed with a common unsupported codec

    • 2+ GB files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 5 - Outstanding

Utility: 1 - Poor

Additional Information

  • Bio-Formats can save image stacks as AVI (uncompressed).

  • The following codecs are supported for reading:

    • Microsoft Run-Length Encoding (MSRLE)

    • Microsoft Video (MSV1)

    • Raw (uncompressed)

    • JPEG

Axon Raw Format

Extensions: .arf

Owner: INDEC BioSystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ARFReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • more ARF datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 2 - Fair

BD Pathway

Extensions: .exp, .tif

Owner: BD Biosciences

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: BDReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few BD Pathway datasets

We would like to have:

  • more BD Pathway datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

Becker & Hickl SPC FIFO

Extensions: .spc

Owner: Becker-Hickl

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SPCReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • more SPC sample files

Ratings

Pixels: 1 - Poor

Metadata: 1 - Poor

Openness: 3 - Good

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

  • Only files containing frame, line and pixel clock information are currently supported

Becker & Hickl SPCImage

Extensions: .sdt

Owner: Becker-Hickl

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SDTReader (Source Code, Supported Metadata Fields)

We currently have:

  • an SDT specification document (from 2008 April, in PDF)

  • an SDT specification document (from 2006 June, in PDF)

  • Becker & Hickl’s SPCImage software

  • a large number of SDT datasets

  • the ability to produce new datasets

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Big Data Viewer

Extensions: .xml, .h5

Owner: Tobias Pietzsch

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: BDVReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 3 - Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 3 - Good

Bio-Rad Gel

Extensions: .1sc

Owner: Bio-Rad

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: BioRadGelReader (Source Code, Supported Metadata Fields)

We currently have:

  • software that can read Bio-Rad Gel files

  • several Bio-Rad Gel files

  • reverse-engineered Bio-Rad Gel (1sc) file format specification

  • Bio-Rad’s Image Lab 5.2.1 software

We would like to have:

  • more Bio-Rad Gel files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Bio-Rad PIC

Extensions: .pic, .raw, .xml

Developer: Bio-Rad

Owner: ZEISS International

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: BioRadReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a PIC specification document (v4.5, in PDF)

  • an older PIC specification document (v4.2, from 1996 December 16, in DOC)

  • a large number of PIC datasets

  • the ability to produce new datasets

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 4 - Very Good

Presence: 4 - Very Good

Utility: 4 - Very Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Bio-Rad SCN

Extensions: .scn

Developer: Bio-Rad

Owner: Bio-Rad

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: BioRadSCNReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few Bio-Rad .scn files

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Bitplane Imaris

Extensions: .ims

Owner: Oxford Instruments (formerly Bitplane)

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 2.7, 3.0, 5.5

Readers:

Freely Available Software:

We currently have:

  • an Imaris (RAW) specification document (from no later than 1997 November 11, in HTML)

  • an Imaris 5.5 (HDF) specification document

  • Bitplane’s bfFileReaderImaris3N code (from no later than 2005, in C++)

  • several older Imaris (RAW) datasets

  • one Imaris 3 (TIFF) dataset

  • several Imaris 5.5 (HDF) datasets

  • public sample images

We would like to have:

  • an Imaris 3 (TIFF) specification document

  • more Imaris 3 (TIFF) datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

  • There are three distinct Imaris formats:
    1. the old binary format (introduced in Imaris version 2.7)

    2. Imaris 3, a TIFF variant (introduced in Imaris version 3.0)

    3. Imaris 5.5, an HDF variant (introduced in Imaris version 5.5)

Bruker MRI

Developer: Bruker

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: BrukerReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a few Bruker MRI datasets

We would like to have:

  • an official specification document

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 3 - Good

Utility: 2 - Fair

Burleigh

Extensions: .img

Owner: Burleigh Instruments

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: BurleighReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read Burleigh files (from ImageSXM)

  • a few Burleigh files

We would like to have:

  • a Burleigh file format specification

  • more Burleigh files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Canon DNG

Extensions: .cr2, .crw

Developer: Canon

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: DNGReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a few example datasets

We would like to have:

  • an official specification document

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

CellH5

Extensions: .ch5

Developer: CellH5

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: CellH5Reader (Source Code, Supported Metadata Fields)

Writer: CellH5Writer (Source Code)

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 4 - Very Good

Cellomics

Extensions: .c01, .dib

Developer: Thermo Fisher Scientific

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: CellomicsReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • a Cellomics .c01 specification document

  • more Cellomics .c01 datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 1 - Poor

cellSens VSI

Extensions: .vsi

Developer: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: CellSensReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few example datasets

  • a VSI specification document (v1.6, 2012 November 27, in PDF)

  • a VSI specification document (v1.3, 2010 February 5, in PDF)

Ratings

Pixels: 2 - Fair

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

CellVoyager

Extensions: .xml, .tif

Owner: Yokogawa

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: CellVoyagerReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few example datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

CV7000

Extensions: .wpi, .tif

Owner: Yokogawa

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: CV7000Reader (Source Code, Supported Metadata Fields)

We currently have:

  • many example datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Additional options are available for reading or writing this format type, see Additional reader and writer options for information.

DeltaVision

Extensions: .dv, .r3d, .rcpnl

Owner: Cytiva (formerly GE Healthcare, Applied Precision)

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Readers:

Freely Available Software:

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 3 - Good

Openness: 3 - Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

  • The Deltavision format is based on the Medical Research Council (MRC) file format.

  • Commercial applications that support DeltaVision include:

  • RCPNL is a variant of the DeltaVision format and requires a separate reader.

DICOM

Extensions: .dcm, .dicom

Developer: DICOM Standards Committee

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: DicomReader (Source Code, Supported Metadata Fields)

Writer: DicomWriter (Source Code)

Freely Available Software:

Sample Datasets:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 5 - Outstanding

Utility: 4 - Very Good

Additional Information

  • DICOM stands for “Digital Imaging and Communication in Medicine”.

  • Bio-Formats supports uncompressed, baseline JPEG, JPEG-2000 (lossy and lossless), and RLE lossless transfer syntaxes.

  • Support for reading and writing DICOM whole slide images (DICOM WSI format) was implemented through collaboration with NCI Imaging Data Commons and has been funded in whole or in part with Federal funds from the National Cancer Institute, National Institutes of Health, under Task Order No. HHSN26110071 under Contract No. HHSN2612015000031.

If you have a problematic DICOM file which you cannot send us for privacy reasons, please send us the exact error message and be aware that it may take several attempts to fix the problem blind.

See also

DICOM homepage

ECAT7

Extensions: .v

Developer: Siemens

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: Ecat7Reader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • an ECAT7 specification document

  • more ECAT7 files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

EPS (Encapsulated PostScript)

Extensions: .eps, .epsi, .ps

Developer: Adobe

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: EPSReader (Source Code, Supported Metadata Fields)

Writer: EPSWriter (Source Code)

Freely Available Software:

We currently have:

  • a few EPS datasets

  • the ability to produce new datasets

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 4 - Very Good

Utility: 1 - Poor

Additional Information

  • Bio-Formats can save individual planes as EPS.

  • Certain types of compressed EPS files are not supported.

Evotec/PerkinElmer Opera Flex

Extensions: .flex, .mea, .res

Developer: Evotec Technologies, now PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: FlexReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 1 - Poor

FEI

Extensions: .img

Developer: FEI

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: FEIReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few FEI files

We would like to have:

  • a specification document

  • more FEI files

Ratings

Pixels: 2 - Fair

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 2 - Fair

Utility: 2 - Fair

FEI TIFF

Extensions: .tiff

Developer: FEI

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: FEITiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few FEI TIFF datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

FITS (Flexible Image Transport System)

Extensions: .fits

Developer: National Radio Astronomy Observatory

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: FitsReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 2 - Fair

Additional Information

Gatan Digital Micrograph

Extensions: .dm3, .dm4

Owner: Gatan

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 3, 4

Reader: GatanReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

We would like to have:

  • a DM3 specification document

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Applications that support .dm3 files include Datasqueeze.

Note that the Gatan Reader does not currently support stacks.

Gatan Digital Micrograph 2

Extensions: .dm2

Developer: Gatan

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 2

Reader: GatanDM2Reader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read DM2 files (from ImageSXM)

  • a few DM2 files

We would like to have:

  • an official DM2 specification document

  • more DM2 files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 3 - Good

GE MicroCT

Extensions: .vff

Developer: GE Healthcare

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MicroCTReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

GIF (Graphics Interchange Format)

Extensions: .gif

Developer: CompuServe

Owner: Unisys

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: GIFReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 5 - Outstanding

Utility: 1 - Poor

Hamamatsu Aquacosmos NAF

Extensions: .naf

Developer: Hamamatsu

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: NAFReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few NAF files

We would like to have:

  • a specification document

  • more NAF files

Ratings

Pixels: 3 - Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 2 - Fair

Utility: 2 - Fair

Hamamatsu HIS

Extensions: .his

Owner: Hamamatsu

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: HISReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read HIS files (from ImageSXM)

  • several HIS files

We would like to have:

  • an HIS specification

  • more HIS files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Hamamatsu ndpi

Extensions: .ndpi, .ndpis

Developer: Hamamatsu

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Readers:

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

Hamamatsu VMS

Extensions: .vms

Developer: Hamamatsu

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: HamamatsuVMSReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

We would like to have:

  • an official specification document

  • more example datasets

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Hitachi S-4800

Extensions: .txt, .tif, .bmp, .jpg

Developer: Hitachi

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: HitachiReader (Source Code, Supported Metadata Fields)

We currently have:

  • several Hitachi S-4800 datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 2 - Fair

I2I

Extensions: .i2i

Developer: Biomedical Imaging Group, UMass Medical School

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: I2IReader (Source Code, Supported Metadata Fields)

We currently have:

  • several example datasets

  • a specification document

  • an ImageJ plugin that can read I2I data

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 2 - Fair

ICS (Image Cytometry Standard)

Extensions: .ics, .ids

Developer: P. Dean et al.

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions: 1.0, 2.0

Reader: ICSReader (Source Code, Supported Metadata Fields)

Writer: ICSWriter (Source Code)

Freely Available Software:

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 4 - Very Good

Utility: 4 - Very Good

Additional Information

  • ICS version 1.0 datasets have two files - an .ics file that contains all of the metadata in plain-text format, and an .ids file that contains all of the pixel data.

  • ICS version 2.0 datasets are a single .ics file that contains both pixels and metadata.

Commercial applications that can support ICS include:

Imacon

Extensions: .fff

Owner: Hasselblad

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ImaconReader (Source Code, Supported Metadata Fields)

We currently have:

  • one Imacon file

We would like to have:

  • more Imacon files

Ratings

Pixels: 1 - Poor

Metadata: 1 - Poor

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 3 - Good

ImagePro Sequence

Extensions: .seq

Owner: Media Cybernetics

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SEQReader (Source Code, Supported Metadata Fields)

We currently have:

  • the Image-Pro Plus software

  • a few SEQ datasets

  • the ability to produce more datasets

We would like to have:

  • an official SEQ specification document

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

ImagePro Workspace

Extensions: .ipw

Owner: Media Cybernetics

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: IPWReader (Source Code, Supported Metadata Fields)

We currently have:

  • the Image-Pro Plus software

  • a few IPW datasets

  • the ability to produce more datasets

We would like to have:

  • an official IPW specification document

  • more IPW datasets:

    • multiple datasets in one file

    • 2+ GB files

Ratings

Pixels: 4 - Very Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 1 - Poor

Additional Information

Bio-Formats uses a modified version of the Apache Jakarta POI library to read IPW files.

IMAGIC

Extensions: .hed, .img

Developer: Image Science

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ImagicReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • one example dataset

  • official file format documentation

We would like to have:

  • more example datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

IMOD

Extensions: .mod

Developer: Boulder Laboratory for 3-Dimensional Electron Microscopy of Cells

Owner: Boulder Laboratory for 3-Dimensional Electron Microscopy of Cells

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: IMODReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 2 - Fair

Improvision Openlab LIFF

Extensions: .liff

Developer: Improvision, now PerkinElmer

Owner: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 2.0, 5.0

Reader: OpenlabReader (Source Code, Supported Metadata Fields)

We currently have:

  • an Openlab specification document (from 2000 February 8, in DOC)

  • Improvision’s XLIFFFileImporter code for reading Openlab LIFF v5 files (from 2006, in C++)

  • several Openlab datasets

We would like to have:

  • more Openlab datasets (preferably with 32-bit integer data)

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Improvision Openlab Raw

Extensions: .raw

Developer: Improvision, now PerkinElmer

Owner: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: OpenlabRawReader (Source Code, Supported Metadata Fields)

We currently have:

  • an Openlab Raw specification document (from 2004 November 09, in HTML)

  • a few Openlab Raw datasets

Ratings

Pixels: 5 - Outstanding

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 2 - Fair

Improvision TIFF

Extensions: .tif

Developer: Improvision, now PerkinElmer

Owner: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ImprovisionTiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • an Improvision TIFF specification document

  • a few Improvision TIFF datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Imspector OBF

Extensions: .obf, .msr

Developer: Department of NanoBiophotonics, MPI-BPC

Owner: MPI-BPC

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: OBFReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 2 - Fair

InCell 1000/2000

Extensions: .xdce, .tif

Developer: GE Healthcare

Owner: Cytiva

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: InCellReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • an InCell 1000 specification document

  • more InCell 1000 datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

InCell 3000

Extensions: .frm

Developer: GE Healthcare

Owner: Cytiva

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: InCell3000Reader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • an official specification document

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 1 - Poor

INR

Extensions: .inr

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: INRReader (Source Code, Supported Metadata Fields)

We currently have:

  • several sample .inr datasets

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Inveon

Extensions: .hdr

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: InveonReader (Source Code, Supported Metadata Fields)

We currently have:

a few Inveon datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 1 - Poor

Utility: 2 - Fair

Ionpath MIBI

Extensions: .tif, .tiff

Developer: IonPath

Owner: IonPath

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 0.1

Reader: IonpathMIBITiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few sample datasets

  • a specification document

We would like to have:

  • more sample datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

IPLab

Extensions: .ipl

Developer: Scanalytics

Owner: was BD Biosystems, now BioVision Technologies

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: IPLabReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • an IPLab specification document (v3.6.5, from 2004 December 1, in PDF)

  • several IPLab datasets

We would like to have:

  • more IPLab datasets (preferably with 32-bit integer or floating point data)

Ratings

Pixels: 5 - Outstanding

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Commercial applications that support IPLab include:

IVision

Extensions: .ipm

Owner: BioVision Technologies

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: IvisionReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few iVision-Mac datasets

  • a specification document

We would like to have:

  • more iVision-Mac datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

iVision-Mac was formerly called IPLab for Macintosh.

JEOL

Extensions: .dat, .img, .par

Owner: JEOL

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: JEOLReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that reads JEOL files (from ImageSXM)

  • a few JEOL files

We would like to have:

  • an official specification document

  • more JEOL files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

JPEG

Extensions: .jpg

Developer: Independent JPEG Group

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: JPEGReader (Source Code, Supported Metadata Fields)

Writer: JPEGWriter (Source Code)

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 5 - Outstanding

Utility: 1 - Poor

Additional Information

Bio-Formats can save individual planes as JPEG. Bio-Formats uses the Java Image I/O API to read and write JPEG files. JPEG stands for “Joint Photographic Experts Group”.

See also

JPEG homepage

JPEG 2000

Extensions: .jp2, .j2k, .jpf

Developer: Independent JPEG Group

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: JPEG2000Reader (Source Code, Supported Metadata Fields)

Writer: JPEG2000Writer (Source Code)

Freely Available Software:

We currently have:

  • a JPEG 2000 specification document (free draft from 2000, no longer available online)

  • a few .jp2 files

Ratings

Pixels: 4 - Very Good

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 3 - Good

Utility: 1 - Poor

Additional Information

Bio-Formats uses the JAI Image I/O Tools library to read JP2 files. Conflicting versions of this no-longer-maintained library may cause errors, see JAI ImageIO component for details.

JPEG stands for “Joint Photographic Experts Group”.

JPK

Extensions: .jpk

Developer: JPK Instruments

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: JPKReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read JPK files (from ImageSXM)

  • a few JPK files

We would like to have:

  • an official specification document

  • more JPK files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

JPX

Extensions: .jpx

Developer: JPEG Committee

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: JPXReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few .jpx files

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 3 - Good

Utility: 2 - Fair

Keller Lab Block

Extensions: .klb

Developer: Keller Lab (Janelia Research Campus)

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: KLBReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 3 - Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 2 - Fair

Khoros VIFF (Visualization Image File Format) Bitmap

Extensions: .xv

Developer: Khoral

Owner: AccuSoft

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: KhorosReader (Source Code, Supported Metadata Fields)

Sample Datasets:

We currently have:

  • several VIFF datasets

Ratings

Pixels: 3 - Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 1 - Poor

Kodak BIP

Extensions: .bip

Developer: Kodak/Carestream

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: KodakReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few .bip datasets

We would like to have:

  • an official specification document

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Lambert Instruments FLIM

Extensions: .fli

Developer: Lambert Instruments

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 1.0, 2.0

Reader: LiFlimReader (Source Code, Supported Metadata Fields)

We currently have:

  • an LI-FLIM specification document

  • several example LI-FLIM datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

LaVision Imspector

Extensions: .msr

Developer: LaVision BioTec

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 4.0, 4.1

Reader: ImspectorReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few .msr files

Ratings

Pixels: 2 - Fair

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 2 - Fair

Leica LCS LEI

Extensions: .lei, .tif

Developer: Leica Microsystems CMS GmbH

Owner: Leica Microsystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: LeicaReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • an LEI specification document (beta 2.000, from no later than 2004 February 17, in PDF)

  • many LEI datasets

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 4 - Very Good

Presence: 4 - Very Good

Utility: 4 - Very Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

LCS stands for “Leica Confocal Software”. LEI presumably stands for “Leica Experimental Information”.

Commercial applications that support LEI include:

Leica LAS AF LIF (Leica Image File Format)

Extensions: .lif

Developer: Leica Microsystems CMS GmbH

Owner: Leica Microsystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 1.0, 2.0

Reader: LIFReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a LIF/XLLF/XLEF/LOF specification document (version 3.2, from no later than 2016 December 15, in PDF)

  • a LIF specification document (version 2, from no later than 2007 July 26, in PDF)

  • a LIF specification document (version 1, from no later than 2006 April 3, in PDF)

  • numerous LIF datasets

  • public sample images

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 4 - Very Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Additional options are available for reading or writing this format type, see Additional reader and writer options for information.

LAS stands for “Leica Application Suite”. AF stands for “Advanced Fluorescence”.

Commercial applications that support LIF include:

Versions of Bio-Formats prior to 5.3.3 incorrectly calculated the physical pixel width and height. The physical image width and height were divided by the number of pixels, which was inconsistent with the official Leica LIF specification documents. Versions 5.3.3 and later correctly calculate physical pixel sizes by dividing the physical image size by the number of pixels minus one. To revert to the old method of physical pixel size calculation in 5.3.3 and later, set the leicalif.old_physical_size option to true as described in Additional reader and writer options.

Leica LOF

Extensions: .lof

Developer: Leica Microsystems CMS GmbH

Owner: Leica Microsystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: LOFReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 4 - Very Good

Utility: 4 - Very Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Leica SCN

Extensions: .scn

Developer: Leica Microsystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 2012-03-10

Reader: LeicaSCNReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

We would like to have:

  • an official specification document

  • sample datasets that cannot be opened

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

Leica XLEF

Extensions: .xlef

Developer: Leica Microsystems CMS GmbH

Owner: Leica Microsystems

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: XLEFReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 4 - Very Good

Utility: 4 - Very Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

LEO

Extensions: .sxm, .tif, .tiff

Owner: ZEISS International

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: LEOReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • an official specification document

  • more LEO files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

Li-Cor L2D

Extensions: .l2d, .tif, .scn

Owner: LiCor Biosciences

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: L2DReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few L2D datasets

We would like to have:

  • an official specification document

  • more L2D datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

L2D datasets cannot be imported into OME using server-side import. They can, however, be imported from ImageJ, or using the omeul utility.

LIM (Laboratory Imaging/Nikon)

Extensions: .lim

Owner: Laboratory Imaging

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: LIMReader (Source Code, Supported Metadata Fields)

We currently have:

  • several LIM files

  • the ability to produce more LIM files

We would like to have:

  • an official specification document

Ratings

Pixels: 3 - Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 1 - Poor

Additional Information

Bio-Formats only supports uncompressed LIM files.

Commercial applications that support LIM include:

MetaMorph 7.5 TIFF

Extensions: .tiff

Owner: Molecular Devices

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MetamorphTiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few Metamorph 7.5 TIFF datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

MetaMorph Stack (STK)

Extensions: .stk, .nd

Owner: Molecular Devices

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MetamorphReader (Source Code, Supported Metadata Fields)

We currently have:

  • an STK specification document (from 2006 November 21, in DOC)

  • an older STK specification document (from 2005 March 25, in DOC)

  • an ND specification document (from 2002 January 24, in PDF)

  • a large number of datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 4 - Very Good

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Commercial applications that support STK include:

MetaXpress

Extensions: .htd, .tif, .tiff

Owner: Molecular Devices

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: CellWorxReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • a MetaXpress specification document

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

MIAS (Maia Scientific)

Extensions: .tif

Developer: Maia Scientific

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MIASReader (Source Code, Supported Metadata Fields)

We currently have:

  • several MIAS datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 1 - Poor

Micro-Manager

Extensions: .tif, .txt, .xml

Developer: Vale Lab

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions: Up to 1.4.22

Reader: MicromanagerReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 3 - Good

Additional Information

  • Bio-Formats will recognize a *metadata.txt file as part of a Micro-Manager fileset if pointed at it and will load the fileset including the companion TIFF files.

  • If pointed at a companion .ome.tif file, Bio-Formats will recognize an OME-TIFF format instead. This means it may load the fileset if there are multiple .ome.tif but it will not include *metadata.txt in this fileset and therefore the extended Micro-Manager metadata will be skipped.

  • See Micro-Manager for more information.

Mikroscan TIFF

Extensions: .tif, .tiff

Owner: Mikroscan

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MikroscanTiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • some Mikroscan datasets

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

MINC MRI

Extensions: .mnc

Developer: McGill University

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MINCReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a few MINC files

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 3 - Good

Utility: 2 - Fair

Minolta MRW

Extensions: .mrw

Developer: Minolta

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MRWReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • several .mrw files

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

MNG (Multiple-image Network Graphics)

Extensions: .mng

Developer: MNG Development Group

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: MNGReader (Source Code, Supported Metadata Fields)

Freely Available Software:

Sample Datasets:

We currently have:

  • the libmng-testsuites package (from 2003 March 05, in C)

  • a large number of MNG datasets

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 1 - Poor

Additional Information

Molecular Imaging

Extensions: .stp

Owner: Molecular Imaging Corp, San Diego CA (closed)

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MolecularImagingReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that reads Molecular Imaging files (from ImageSXM)

  • a few Molecular Imaging files

We would like to have:

  • an official specification document

  • more Molecular Imaging files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

MRC (Medical Research Council)

Extensions: .mrc, .st, .ali, .map, .rec, .mrcs

Developers:

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: MRCReader (Source Code, Supported Metadata Fields)

Sample Datasets:

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

Commercial applications that support MRC include:

Bio-Formats provides support for the base MRC2000/MRC2014 specifications. Limited support is provided for vendor-specific extended headers, as described in the MRC2014 specification. IMOD extended metadata is perhaps the best-supported variant.

See also

MRC on Wikipedia

NEF (Nikon Electronic Format)

Extensions: .nef, .tif

Developer: Nikon

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: NikonReader (Source Code, Supported Metadata Fields)

Sample Datasets:

We currently have:

  • a NEF specification document (v0.1, from 2003, in PDF)

  • several NEF datasets

Ratings

Pixels: 4 - Very Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 1 - Poor

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

See also

NEF Conversion

NIfTI

Extensions: .img, .hdr, .nii, .nii.gz

Developer: National Institutes of Health

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: NiftiReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 2 - Fair

Nikon Elements TIFF

Extensions: .tiff

Developer: Nikon

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: NikonElementsTiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few Nikon Elements TIFF files

We would like to have:

  • more Nikon Elements TIFF files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Nikon EZ-C1 TIFF

Extensions: .tiff

Developer: Nikon

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: NikonTiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few Nikon EZ-C1 TIFF files

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 1 - Poor

Utility: 2 - Fair

Nikon NIS-Elements ND2

Extensions: .nd2

Developer: Nikon USA

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ND2Reader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

We would like to have:

  • an official specification document

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 4 - Very Good

Utility: 4 - Very Good

Additional Information

Additional options are available for reading or writing this format type, see Additional reader and writer options for information.

There are two distinct versions of ND2: an old version, which uses JPEG-2000 compression, and a new version which is either uncompressed or Zip-compressed. We are not aware of the version number or release date for either format.

Bio-Formats uses the JAI Image I/O Tools library to read ND2 files compressed with JPEG-2000.

NRRD (Nearly Raw Raster Data)

Extensions: .nrrd, .nhdr, .raw, .txt

Developer: Teem developers

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: NRRDReader (Source Code, Supported Metadata Fields)

Freely Available Software:

Sample Datasets:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 4 - Very Good

Olympus CellR/APL

Extensions: .apl, .mtb, .tnb, .tif, .obsep

Owner: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: APLReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few CellR datasets

We would like to have:

  • more Cellr datasets

  • an official specification document

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Olympus FluoView FV1000

Extensions: .oib, .oif

Owner: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 1.0, 2.0

Reader: FV1000Reader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • an OIF specification document (v2.0.0.0, from 2008, in PDF)

  • an FV1000 specification document (v1.0.0.0, from 2004 June 22, in PDF)

  • older FV1000 specification documents (draft, in DOC and XLS)

  • public sample images

  • many FV1000 datasets

We would like to have:

  • more OIB datasets (especially 2+ GB files)

  • more FV1000 version 2 datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 3 - Good

Utility: 4 - Very Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Bio-Formats uses a modified version of the Apache POI library to read OIB files. OIF stands for “Original Imaging Format”. OIB stands for “Olympus Image Binary”. OIF is a multi-file format that includes an .oif file and a directory of .tif, .roi, .pty, .lut, and .bmp files. OIB is a single file format.

Commercial applications that support this format include:

Olympus FluoView TIFF

Extensions: .tif

Owner: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: FluoviewReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a FluoView specification document (from 2002 November 14, in DOC)

  • Olympus’ FluoView Image File Reference Suite (from 2002 March 1, in DOC)

  • several FluoView datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Commercial applications that support this format include:

Olympus OIR

Extensions: .oir

Owner: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: OIRReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Support for this format was added in partnership with OLYMPUS EUROPA SE & Co. KG

Olympus OMP2INFO

Extensions: .omp2info

Owner: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: OlympusTileReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • several OMP2INFO datasets

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Support for this format was added in partnership with OLYMPUS EUROPA SE & Co. KG

Olympus ScanR

Extensions: .xml, .dat, .tif

Developer: Olympus

Owner: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions: Up to 2.5.1

Reader: ScanrReader (Source Code, Supported Metadata Fields)

We currently have:

  • several ScanR datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 1 - Poor

Utility: 2 - Fair

Olympus SIS TIFF

Extensions: .tiff

Developer: Olympus

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SISReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few example SIS TIFF files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

OME-TIFF

Extensions: .ome.tiff, .ome.tif, .ome.tf2, .ome.tf8, .ome.btf

Developer: Open Microscopy Environment

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions: 2003FC, 2007-06, 2008-02, 2008-09, 2009-09, 2010-04, 2010-06, 2011-06, 2012-06, 2013-06, 2015-01, 2016-06

Reader: OMETiffReader (Source Code, Supported Metadata Fields)

Writer: OMETiffWriter (Source Code)

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 5 - Outstanding

Additional Information

Additional options are available for reading or writing this format type, see Additional reader and writer options for information.

Bio-Formats can save image stacks as OME-TIFF.

Commercial applications that support OME-TIFF are listed on our commercial partners page

OME-XML

Extensions: .ome, .ome.xml

Developer: Open Microscopy Environment

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions: 2003FC, 2007-06, 2008-02, 2008-09, 2009-09, 2010-04, 2010-06, 2011-06, 2012-06, 2013-06, 2015-01, 2016-06

Reader: OMEXMLReader (Source Code, Supported Metadata Fields)

Writer: OMEXMLWriter (Source Code)

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 5 - Outstanding

Additional Information

Bio-Formats uses the OME-XML Java library to read OME-XML files.

Commercial applications that support OME-XML include:

OMERO Pyramid

Developer: Open Microscopy Environment

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions: 1.0.0

Reader: TiffReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 2 - Fair

Oxford Instruments

Extensions: .top

Owner: Oxford Instruments

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: OxfordInstrumentsReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read Oxford Instruments files (from ImageSXM)

  • a few Oxford Instruments files

We would like to have:

  • an official specification document

  • more Oxford Instruments files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

PCORAW

Extensions: .pcoraw, .rec

Developer: PCO

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: PCORAWReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few example datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

PCX (PC Paintbrush)

Extensions: .pcx

Developer: ZSoft Corporation

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: PCXReader (Source Code, Supported Metadata Fields)

We currently have:

  • several .pcx files

  • the ability to generate additional .pcx files

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Commercial applications that support PCX include Zeiss LSM Image Browser.

Perkin Elmer Densitometer

Extensions: .pds

Developer: Perkin Elmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: PDSReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few PDS datasets

We would like to have:

  • an official specification document

  • more PDS datasets

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 1 - Poor

Utility: 2 - Fair

PerkinElmer Columbus

Extensions: .xml, .csv, .tif

Owner: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ColumbusReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • an official specification document

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 3 - Good

Utility: 2 - Fair

PerkinElmer Nuance

Extensions: .im3

Developer: PerkinElmer

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: IM3Reader (Source Code, Supported Metadata Fields)

We currently have:

  • a few sample datasets

Ratings

Pixels: 3 - Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 2 - Fair

PerkinElmer Operetta

Extensions: .tiff, .xml

Developer: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: OperettaReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • an official specification document

  • more sample datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

PerkinElmer UltraVIEW

Extensions: .tif, .2, .3, .4, etc.

Owner: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: PerkinElmerReader (Source Code, Supported Metadata Fields)

We currently have:

  • several UltraVIEW datasets

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Other associated extensions include: .tim, .zpo, .csv, .htm, .cfg, .ano, .rec

Commercial applications that support this format include:

Portable Any Map

Extensions: .pbm, .pgm, .ppm

Developer: Netpbm developers

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: PGMReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 3 - Good

Utility: 1 - Poor

Adobe Photoshop PSD

Extensions: .psd

Developer: Adobe

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 1.0

Reader: PSDReader (Source Code, Supported Metadata Fields)

We currently have:

  • a PSD specification document (v3.0.4, 16 July 1995)

  • a few PSD files

We would like to have:

  • more PSD files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 3 - Good

Utility: 2 - Fair

Photoshop TIFF

Extensions: .tif, .tiff

Developer: Adobe

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: PhotoshopTiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • a Photoshop TIFF specification document

  • a few Photoshop TIFF files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 3 - Good

Utility: 3 - Good

PicoQuant Bin

Extensions: .bin

Developer: PicoQuant

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: PQBinReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a few example datasets

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 1 - Poor

PICT (Macintosh Picture)

Extensions: .pict

Developer: Apple Computer

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: PictReader (Source Code, Supported Metadata Fields)

We currently have:

  • many PICT datasets

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 4 - Very Good

Utility: 1 - Poor

PNG (Portable Network Graphics)

Extensions: .png

Developer: PNG Development Group

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: APNGReader (Source Code, Supported Metadata Fields)

Writer: APNGWriter (Source Code)

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 5 - Outstanding

Utility: 1 - Poor

Additional Information

Bio-Formats uses the Java Image I/O API to read and write PNG files.

Prairie Technologies TIFF

Extensions: .tif, .xml, .cfg

Developer: Prairie Technologies

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: PrairieReader (Source Code, Supported Metadata Fields)

We currently have:

  • many Prairie datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

Princeton Instruments SPE

Extensions: .spe

Developer: Princeton Instruments

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 3.0

Reader: SPEReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • more SPE files

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

Quesant

Extensions: .afm

Developer: Quesant Instrument Corporation

Owner: KLA-Tencor Corporation

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: QuesantReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read Quesant files (from ImageSXM)

  • several Quesant files

We would like to have:

  • an official specification document

  • more Quesant files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

QuickTime Movie

Extensions: .mov

Owner: Apple Computer

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: QTReader (Source Code, Supported Metadata Fields)

Writer: QTWriter (Source Code)

Freely Available Software:

We currently have:

We would like to have:

  • more QuickTime datasets, including:

    • files compressed with a common, unsupported codec

    • files with audio tracks and/or multiple video tracks

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 5 - Outstanding

Utility: 1 - Poor

Additional Information

Bio-Formats can save image stacks as QuickTime movies. The following table shows supported codecs:

Codec

Description

Native

raw

Full Frames (Uncompressed)

read & write

iraw

Intel YUV Uncompressed

read only

rle

Animation (run length encoded RGB)

read only

jpeg

Still Image JPEG DIB

read only

rpza

Apple Video 16 bit “road pizza”

read only (partial)

mjpb

Motion JPEG codec

read only

RHK

Extensions: .sm2, .sm3

Owner: RHK Technologies

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: RHKReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read RHK files (from ImageSXM)

  • a few RHK files

We would like to have:

  • an official specification document

  • more RHK files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

SBIG

Owner: Diffraction Limited (formerly Santa Barbara Instrument Group)

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SBIGReader (Source Code, Supported Metadata Fields)

We currently have:

We would like to have:

  • more SBIG files

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 2 - Fair

Seiko

Extensions: .xqd, .xqf

Owner: Seiko

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SeikoReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read Seiko files (from ImageSXM)

  • a few Seiko files

We would like to have:

  • an official specification document

  • more Seiko files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

SimplePCI & HCImage

Extensions: .cxd

Developer: Compix

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: PCIReader (Source Code, Supported Metadata Fields)

We currently have:

  • several SimplePCI files

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 4 - Very Good

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

Bio-Formats uses a modified version of the Apache POI library to read CXD files.

SimplePCI & HCImage TIFF

Extensions: .tiff

Developer: Hamamatsu

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SimplePCITiffReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few SimplePCI TIFF datasets

We would like to have:

  • more SimplePCI TIFF datasets

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

SM Camera

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SMCameraReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read SM-Camera files (from ImageSXM)

  • a few SM-Camera files

We would like to have:

  • an official specification document

  • more SM-Camera files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

SPIDER

Extensions: .spi, .stk

Developer: Wadsworth Center

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: SpiderReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 5 - Outstanding

Presence: 3 - Good

Utility: 3 - Good

Targa

Extensions: .tga

Developer: Truevision

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: TargaReader (Source Code, Supported Metadata Fields)

We currently have:

  • a Targa specification document

  • a few Targa files

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 1 - Poor

Tecan Spark Cyto Workspace

Extensions: .db, .tif

Owner: Tecan Trading

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: TecanReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few Tecan Spark Cyto workspaces

Ratings

Pixels: 4 - Very Good

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 3 - Good

Additional Information

Fiji users will need to enable the “Tissue Analyzer” update site and install “sqlite-jdbc.jar”

Text

Extensions: .txt

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: TextReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 1 - Poor

Additional Information

Reads tabular pixel data produced by a variety of software.

TIFF (Tagged Image File Format)

Extensions: .tiff, .tif, .tf2, .tf8, .btf

Developer: Aldus and Microsoft

Owner: Adobe

Support

BSD-licensed: Yes

Export: Yes

Officially Supported Versions:

Reader: TiffReader (Source Code, Supported Metadata Fields)

Writer: TiffWriter (Source Code)

Sample Datasets:

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 5 - Outstanding

Utility: 2 - Fair

Additional Information

Bio-Formats can also read BigTIFF files (TIFF files larger than 4 GB). Bio-Formats can save image stacks as TIFF or BigTIFF.

TIFF files written by ImageJ are also supported, including ImageJ TIFFs larger than 4GB. ImageJ TIFFs are detected based upon the text in the first IFD’s “ImageDescription” tag; this tag’s value is then used to determine Z, C, and T sizes as well as physical sizes and timestamps. For ImageJ TIFFs larger than 4GB, a single IFD is expected (instead of one IFD per image plane). The “ImageDescription” is used to determine the number of images, the pixel data for which are expected to be stored contiguously at the offset indicated in the sole IFD. This differs from standard TIFF and BigTIFF; if the “ImageDescription” tag is missing or invalid, only the first image will be read.

TillPhotonics TillVision

Extensions: .vws

Developer: TILL Photonics

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: TillVisionReader (Source Code, Supported Metadata Fields)

We currently have:

  • several TillVision datasets

We would like to have:

  • an official specification document

Ratings

Pixels: 3 - Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 2 - Fair

Topometrix

Extensions: .tfr, .ffr, .zfr, .zfp, .2fl

Owner: TopoMetrix (now Veeco)

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: TopometrixReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that reads Topometrix files (from ImageSXM)

  • a few Topometrix files

We would like to have:

  • an official specification document

  • more Topometrix files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Trestle

Extensions: .tif, .sld, .jpg

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: TrestleReader (Source Code, Supported Metadata Fields)

Sample Datasets:

We currently have:

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

UBM

Extensions: .pr3

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: UBMReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read UBM files (from ImageSXM)

  • one UBM file

We would like to have:

  • an official specification document

  • more UBM files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Unisoku

Extensions: .dat, .hdr

Owner: Unisoku

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: UnisokuReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read Unisoku files (from ImageSXM)

  • a few Unisoku files

We would like to have:

  • an official specification document

  • more Unisoku files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Varian FDF

Extensions: .fdf

Developer: Varian, Inc.

Owner: Agilent Technologies

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VarianFDFReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few Varian FDF datasets

We would like to have:

  • an official specification document

  • more Varian FDF datasets

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Vectra QPTIFF

Extensions: .tif, .qptiff

Owner: Akoya Biosciences, formerly owned by PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VectraReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 4 - Very Good

Metadata: 5 - Outstanding

Openness: 5 - Outstanding

Presence: 2 - Fair

Utility: 2 - Fair

Additional Information

Support for this format was added in partnership with PerkinElmer and updated in partnership with Akoya Biosciences

Veeco AFM

Extensions: .hdf

Developer: Veeco

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VeecoReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few sample datasets

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

Ventana BIF

Extensions: .bif

Owner: Roche Digital Diagnostics

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VentanaReader (Source Code, Supported Metadata Fields)

We currently have:

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 3 - Good

VG SAM

Extensions: .dti

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VGSAMReader (Source Code, Supported Metadata Fields)

We currently have:

  • a few VG-SAM files

We would like to have:

  • an official specification document

  • more VG-SAM files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

VisiTech XYS

Extensions: .xys, .html

Developer: VisiTech International

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VisitechReader (Source Code, Supported Metadata Fields)

We currently have:

  • several VisiTech datasets

We would like to have:

  • an official specification document

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 3 - Good

Volocity

Extensions: .mvd2

Developer: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VolocityReader (Source Code, Supported Metadata Fields)

Sample Datasets:

We currently have:

  • many example Volocity datasets

We would like to have:

  • an official specification document

  • any Volocity datasets that do not open correctly

Ratings

Pixels: 3 - Good

Metadata: 3 - Good

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

.mvd2 files are Metakit database files.

Volocity Library Clipping

Extensions: .acff

Developer: PerkinElmer

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: VolocityClippingReader (Source Code, Supported Metadata Fields)

We currently have:

  • several Volocity library clipping datasets

We would like to have:

  • any datasets that do not open correctly

  • an official specification document

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 1 - Poor

Utility: 1 - Poor

Additional Information

RGB .acff files are not yet supported. See #6413.

WA-TOP

Extensions: .wat

Developer: WA Technology

Owner: Oxford Instruments

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: WATOPReader (Source Code, Supported Metadata Fields)

We currently have:

  • Pascal code that can read WA-TOP files (from ImageSXM)

  • a few WA-TOP files

We would like to have:

  • an official specification document

  • more WA-TOP files

Ratings

Pixels: 3 - Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 2 - Fair

Utility: 2 - Fair

Windows Bitmap

Extensions: .bmp

Developer: Microsoft and IBM

Support

BSD-licensed: Yes

Export: No

Officially Supported Versions:

Reader: BMPReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • many BMP datasets

Ratings

Pixels: 4 - Very Good

Metadata: 2 - Fair

Openness: 2 - Fair

Presence: 5 - Outstanding

Utility: 1 - Poor

Additional Information

Compressed BMP files are currently not supported.

Zeiss Axio CSM

Extensions: .lms

Developer: ZEISS International

Owner: ZEISS International

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ZeissLMSReader (Source Code, Supported Metadata Fields)

We currently have:

  • one example dataset

Ratings

Pixels: 3 - Good

Metadata: 1 - Poor

Openness: 1 - Poor

Presence: 1 - Poor

Utility: 2 - Fair

Additional Information

This should not be confused with the more common Zeiss LSM format, which has a similar extension. As far as we know, the Axio CSM 700 system is the only one which saves files in the .lms format.

Zeiss AxioVision TIFF

Extensions: .xml, .tif

Developer: ZEISS International

Owner: ZEISS International

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ZeissTIFFReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • many example datasets

We would like to have:

  • an official specification document

Ratings

Pixels: 4 - Very Good

Metadata: 3 - Good

Openness: 3 - Good

Presence: 2 - Fair

Utility: 2 - Fair

Zeiss AxioVision ZVI (Zeiss Vision Image)

Extensions: .zvi

Developer: Carl Zeiss Microscopy GmbH

Owner: ZEISS International

Support

BSD-licensed: No

Export: No

Officially Supported Versions: 1.0, 2.0

Reader: ZeissZVIReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • a ZVI specification document (v2.0.5, from 2010 August, in PDF)

  • an older ZVI specification document (v2.0.2, from 2006 August 23, in PDF)

  • an older ZVI specification document (v2.0.1, from 2005 April 21, in PDF)

  • an older ZVI specification document (v1.0.26.01.01, from 2001 January 29, in DOC)

  • Zeiss’ ZvImageReader code (v1.0, from 2001 January 25, in C++)

  • many ZVI datasets

Ratings

Pixels: 5 - Outstanding

Metadata: 4 - Very Good

Openness: 4 - Very Good

Presence: 3 - Good

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Bio-Formats uses a modified version of the Apache POI library to read ZVI files. ImageJ/FIJI will use the ZVI reader plugin in preference to Bio-Formats if both are installed. If you have a problem which is solved by opening the file using the Bio-Formats Importer plugin, you can just remove the ZVI_Reader.class from the plugins folder.

Commercial applications that support ZVI include Bitplane Imaris.

As of May 2021, the proprietary ZEISS AxioVision software is classed as End of Support. Zeiss ZEN is the successor programme to AxioVision.

Zeiss CZI

Extensions: .czi

Developer: ZEISS International

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ZeissCZIReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

Ratings

Pixels: 5 - Outstanding

Metadata: 5 - Outstanding

Openness: 4 - Very Good

Presence: 2 - Fair

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Additional options are available for reading or writing this format type, see Additional reader and writer options for information.

JPEG-XR compressed CZI files are supported on the following 64-bit platforms:

Zeiss LSM (Laser Scanning Microscope) 510/710

Extensions: .lsm, .mdb

Owner: ZEISS International

Support

BSD-licensed: No

Export: No

Officially Supported Versions:

Reader: ZeissLSMReader (Source Code, Supported Metadata Fields)

Freely Available Software:

We currently have:

  • LSM specification v3.2, from 2003 March 12, in PDF

  • LSM specification v5.5, from 2009 November 23, in PDF

  • LSM specification v6.0, from 2010 September 28, in PDF

  • many LSM datasets

Ratings

Pixels: 5 - Outstanding

Metadata: 4 - Very Good

Openness: 3 - Good

Presence: 4 - Very Good

Utility: 3 - Good

Additional Information

Please note that while we have specification documents for this format, we are not able to distribute them to third parties.

Bio-Formats uses the MDB Tools Java port

Commercial applications that support this format include:

Summary of supported metadata fields

Format readers

Reader

Supported

Unsupported

Partial

Unknown/Missing

AFIReader

31

0

0

445

AIMReader

22

0

0

454

APLReader

21

0

0

455

APNGReader

19

0

0

457

ARFReader

19

0

0

457

AVIReader

19

0

0

457

AliconaReader

33

0

0

443

AmiraReader

22

0

0

454

AnalyzeReader

24

0

0

452

BDReader

59

0

0

417

BDVReader

37

0

0

439

BIFormatReader

19

0

0

457

BMPReader

21

0

0

455

BaseTiffReader

28

0

0

448

BaseZeissReader

84

0

0

392

BioRadGelReader

21

0

0

455

BioRadReader

40

0

0

436

BioRadSCNReader

29

0

0

447

BrukerReader

23

0

0

453

BurleighReader

22

0

0

454

CV7000Reader

57

0

0

419

CanonRawReader

19

0

0

457

CellH5Reader

41

0

0

435

CellSensReader

48

0

0

428

CellVoyagerReader

39

0

0

437

CellWorxReader

50

0

0

426

CellomicsReader

36

0

0

440

ColumbusReader

43

0

0

433

DNGReader

19

0

0

457

DeltavisionReader

51

0

0

425

DicomReader

27

0

0

449

EPSReader

19

0

0

457

Ecat7Reader

23

0

0

453

FEIReader

19

0

0

457

FEITiffReader

39

0

0

437

FV1000Reader

113

0

0

363

FakeReader

91

0

0

385

FilePatternReader

20

0

0

456

FitsReader

19

0

0

457

FlexReader

71

0

0

405

FlowSightReader

20

0

0

456

FluoviewReader

49

0

0

427

FujiReader

23

0

0

453

GIFReader

19

0

0

457

GatanDM2Reader

30

0

0

446

GatanReader

69

0

0

407

GelReader

21

0

0

455

HISReader

27

0

0

449

HRDGDFReader

21

0

0

455

HamamatsuVMSReader

26

0

0

450

HitachiReader

31

0

0

445

I2IReader

19

0

0

457

ICSReader

72

0

0

404

IM3Reader

19

0

0

457

IMODReader

44

0

0

432

INRReader

22

0

0

454

IPLabReader

31

0

0

445

IPWReader

20

0

0

456

ImaconReader

23

0

0

453

ImageIOReader

19

0

0

457

ImagicReader

22

0

0

454

ImarisHDFReader

24

0

0

452

ImarisReader

32

0

0

444

ImarisTiffReader

23

0

0

453

ImprovisionTiffReader

26

0

0

450

ImspectorReader

19

0

0

457

InCell3000Reader

19

0

0

457

InCellReader

69

0

0

407

InveonReader

30

0

0

446

IonpathMIBITiffReader

22

0

0

454

IvisionReader

34

0

0

442

JEOLReader

19

0

0

457

JPEG2000Reader

19

0

0

457

JPEGReader

19

0

0

457

JPKReader

19

0

0

457

JPXReader

19

0

0

457

KLBReader

22

0

0

454

KhorosReader

19

0

0

457

KodakReader

26

0

0

450

L2DReader

29

0

0

447

LEOReader

27

0

0

449

LIFReader

85

0

0

391

LIMReader

19

0

0

457

LOFReader

19

0

0

457

LeicaReader

56

0

0

420

LeicaSCNReader

33

0

0

443

LiFlimReader

25

0

0

451

MIASReader

67

0

0

409

MINCReader

26

0

0

450

MNGReader

19

0

0

457

MRCReader

22

0

0

454

MRWReader

19

0

0

457

MetamorphReader

59

0

0

417

MetamorphTiffReader

43

0

0

433

MetaxpressTiffReader

19

0

0

457

MicroCTReader

24

0

0

452

MicromanagerReader

42

0

0

434

MikroscanTiffReader

19

0

0

457

MinimalTiffReader

19

0

0

457

MolecularImagingReader

21

0

0

455

NAFReader

19

0

0

457

ND2Reader

52

0

0

424

NDPIReader

32

0

0

444

NDPISReader

22

0

0

454

NRRDReader

22

0

0

454

NiftiReader

24

0

0

452

NikonElementsTiffReader

50

0

0

426

NikonReader

19

0

0

457

NikonTiffReader

47

0

0

429

OBFReader

19

0

0

457

OIRReader

48

0

0

428

OMETiffReader

19

0

0

457

OMEXMLReader

19

0

0

457

OlympusTileReader

19

0

0

457

OpenlabRawReader

19

0

0

457

OpenlabReader

32

0

0

444

OperettaReader

60

0

0

416

OxfordInstrumentsReader

22

0

0

454

PCIReader

29

0

0

447

PCORAWReader

26

0

0

450

PCXReader

19

0

0

457

PDSReader

23

0

0

453

PGMReader

19

0

0

457

PQBinReader

21

0

0

455

PSDReader

19

0

0

457

PerkinElmerReader

30

0

0

446

PhotoshopTiffReader

19

0

0

457

PictReader

19

0

0

457

PovrayReader

19

0

0

457

PrairieReader

46

0

0

430

PyramidTiffReader

19

0

0

457

QTReader

19

0

0

457

QuesantReader

22

0

0

454

RCPNLReader

25

0

0

451

RHKReader

22

0

0

454

SBIGReader

22

0

0

454

SDTReader

19

0

0

457

SEQReader

20

0

0

456

SIFReader

20

0

0

456

SISReader

33

0

0

443

SMCameraReader

19

0

0

457

SPCReader

19

0

0

457

SPEReader

30

0

0

446

SVSReader

33

0

0

443

ScanrReader

43

0

0

433

SeikoReader

22

0

0

454

SimplePCITiffReader

33

0

0

443

SlideBook7Reader

37

0

0

439

SlidebookReader

34

0

0

442

SlidebookTiffReader

30

0

0

446

SpiderReader

21

0

0

455

TCSReader

22

0

0

454

TargaReader

20

0

0

456

TecanReader

36

0

0

440

TextReader

19

0

0

457

TiffDelegateReader

19

0

0

457

TiffJAIReader

19

0

0

457

TiffReader

22

0

0

454

TileJPEGReader

19

0

0

457

TillVisionReader

22

0

0

454

TopometrixReader

22

0

0

454

TrestleReader

27

0

0

449

UBMReader

19

0

0

457

UnisokuReader

22

0

0

454

VGSAMReader

19

0

0

457

VarianFDFReader

25

0

0

451

VectraReader

43

0

0

433

VeecoReader

19

0

0

457

VentanaReader

28

0

0

448

VisitechReader

19

0

0

457

VolocityClippingReader

19

0

0

457

VolocityReader

38

0

0

438

WATOPReader

22

0

0

454

XLEFReader

19

0

0

457

ZeissCZIReader

175

0

0

301

ZeissLMSReader

23

0

0

453

ZeissLSMReader

101

0

0

375

ZeissTIFFReader

19

0

0

457

ZeissZVIReader

19

0

0

457

ZipReader

19

0

0

457

Metadata fields

Field

Supported

Unsupported

Partial

Unknown/Missing

Arc - ID

0

0

0

180

Arc - LotNumber

1

0

0

179

Arc - Manufacturer

1

0

0

179

Arc - Model

1

0

0

179

Arc - Power

1

0

0

179

Arc - SerialNumber

1

0

0

179

Arc - Type

0

0

0

180

BooleanAnnotation - AnnotationRef

0

0

0

180

BooleanAnnotation - Description

0

0

0

180

BooleanAnnotation - ID

1

0

0

179

BooleanAnnotation - Namespace

1

0

0

179

BooleanAnnotation - Value

1

0

0

179

Channel - AcquisitionMode

5

0

0

175

Channel - AnnotationRef

0

0

0

180

Channel - Color

20

0

0

160

Channel - ContrastMethod

1

0

0

179

Channel - EmissionWavelength

24

0

0

156

Channel - ExcitationWavelength

21

0

0

159

Channel - FilterSetRef

1

0

0

179

Channel - Fluor

3

0

0

177

Channel - ID

180

0

0

0

Channel - IlluminationType

3

0

0

177

Channel - LightSourceSettingsAttenuation

1

0

0

179

Channel - LightSourceSettingsID

7

0

0

173

Channel - LightSourceSettingsWavelength

2

0

0

178

Channel - NDFilter

2

0

0

178

Channel - Name

49

0

0

131

Channel - PinholeSize

11

0

0

169

Channel - PockelCellSetting

0

0

0

180

Channel - SamplesPerPixel

180

0

0

0

CommentAnnotation - AnnotationRef

0

0

0

180

CommentAnnotation - Description

0

0

0

180

CommentAnnotation - ID

1

0

0

179

CommentAnnotation - Namespace

1

0

0

179

CommentAnnotation - Value

1

0

0

179

Dataset - AnnotationRef

0

0

0

180

Dataset - Description

0

0

0

180

Dataset - ExperimenterGroupRef

0

0

0

180

Dataset - ExperimenterRef

0

0

0

180

Dataset - ID

0

0

0

180

Dataset - ImageRef

0

0

0

180

Dataset - Name

0

0

0

180

Detector - AmplificationGain

2

0

0

178

Detector - AnnotationRef

0

0

0

180

Detector - Gain

7

0

0

173

Detector - ID

37

0

0

143

Detector - LotNumber

1

0

0

179

Detector - Manufacturer

5

0

0

175

Detector - Model

15

0

0

165

Detector - Offset

7

0

0

173

Detector - SerialNumber

4

0

0

176

Detector - Type

28

0

0

152

Detector - Voltage

3

0

0

177

Detector - Zoom

4

0

0

176

DetectorSettings - Binning

19

0

0

161

DetectorSettings - Gain

21

0

0

159

DetectorSettings - ID

35

0

0

145

DetectorSettings - Offset

9

0

0

171

DetectorSettings - ReadOutRate

5

0

0

175

DetectorSettings - Voltage

6

0

0

174

Dichroic - AnnotationRef

0

0

0

180

Dichroic - ID

6

0

0

174

Dichroic - LotNumber

1

0

0

179

Dichroic - Manufacturer

1

0

0

179

Dichroic - Model

6

0

0

174

Dichroic - SerialNumber

1

0

0

179

DoubleAnnotation - AnnotationRef

0

0

0

180

DoubleAnnotation - Description

0

0

0

180

DoubleAnnotation - ID

1

0

0

179

DoubleAnnotation - Namespace

1

0

0

179

DoubleAnnotation - Value

1

0

0

179

Ellipse - FillColor

0

0

0

180

Ellipse - FillRule

0

0

0

180

Ellipse - FontFamily

0

0

0

180

Ellipse - FontSize

3

0

0

177

Ellipse - FontStyle

0

0

0

180

Ellipse - ID

7

0

0

173

Ellipse - Locked

0

0

0

180

Ellipse - RadiusX

7

0

0

173

Ellipse - RadiusY

7

0

0

173

Ellipse - StrokeColor

1

0

0

179

Ellipse - StrokeDashArray

0

0

0

180

Ellipse - StrokeWidth

2

0

0

178

Ellipse - Text

4

0

0

176

Ellipse - TheC

0

0

0

180

Ellipse - TheT

2

0

0

178

Ellipse - TheZ

2

0

0

178

Ellipse - Transform

2

0

0

178

Ellipse - X

7

0

0

173

Ellipse - Y

7

0

0

173

Experiment - AnnotationRef

0

0

0

180

Experiment - Description

1

0

0

179

Experiment - ExperimenterRef

0

0

0

180

Experiment - ID

5

0

0

175

Experiment - Type

5

0

0

175

Experimenter - AnnotationRef

0

0

0

180

Experimenter - Email

2

0

0

178

Experimenter - FirstName

5

0

0

175

Experimenter - ID

12

0

0

168

Experimenter - Institution

4

0

0

176

Experimenter - LastName

9

0

0

171

Experimenter - MiddleName

1

0

0

179

Experimenter - UserName

4

0

0

176

ExperimenterGroup - AnnotationRef

0

0

0

180

ExperimenterGroup - Description

0

0

0

180

ExperimenterGroup - ExperimenterRef

0

0

0

180

ExperimenterGroup - ID

0

0

0

180

ExperimenterGroup - Leader

0

0

0

180

ExperimenterGroup - Name

0

0

0

180

Filament - ID

0

0

0

180

Filament - LotNumber

1

0

0

179

Filament - Manufacturer

1

0

0

179

Filament - Model

1

0

0

179

Filament - Power

1

0

0

179

Filament - SerialNumber

1

0

0

179

Filament - Type

0

0

0

180

FileAnnotation - AnnotationRef

0

0

0

180

FileAnnotation - Description

0

0

0

180

FileAnnotation - ID

0

0

0

180

FileAnnotation - Namespace

0

0

0

180

Filter - AnnotationRef

0

0

0

180

Filter - FilterWheel

2

0

0

178

Filter - ID

8

0

0

172

Filter - LotNumber

1

0

0

179

Filter - Manufacturer

1

0

0

179

Filter - Model

8

0

0

172

Filter - SerialNumber

1

0

0

179

Filter - Type

2

0

0

178

FilterSet - DichroicRef

2

0

0

178

FilterSet - EmissionFilterRef

2

0

0

178

FilterSet - ExcitationFilterRef

2

0

0

178

FilterSet - ID

2

0

0

178

FilterSet - LotNumber

1

0

0

179

FilterSet - Manufacturer

1

0

0

179

FilterSet - Model

2

0

0

178

FilterSet - SerialNumber

1

0

0

179

Folder - AnnotationRef

0

0

0

180

Folder - Description

0

0

0

180

Folder - FolderRef

0

0

0

180

Folder - ID

0

0

0

180

Folder - ImageRef

0

0

0

180

Folder - Name

0

0

0

180

Folder - ROIRef

0

0

0

180

Image - AcquisitionDate

180

0

0

0

Image - AnnotationRef

1

0

0

179

Image - Description

48

0

0

132

Image - ExperimentRef

2

0

0

178

Image - ExperimenterGroupRef

0

0

0

180

Image - ExperimenterRef

7

0

0

173

Image - ID

180

0

0

0

Image - InstrumentRef

52

0

0

128

Image - MicrobeamManipulationRef

0

0

0

180

Image - Name

180

0

0

0

Image - ROIRef

16

0

0

164

ImagingEnvironment - AirPressure

1

0

0

179

ImagingEnvironment - CO2Percent

1

0

0

179

ImagingEnvironment - Humidity

1

0

0

179

ImagingEnvironment - Temperature

10

0

0

170

Instrument - AnnotationRef

0

0

0

180

Instrument - ID

58

0

0

122

Label - FillColor

0

0

0

180

Label - FillRule

0

0

0

180

Label - FontFamily

0

0

0

180

Label - FontSize

3

0

0

177

Label - FontStyle

0

0

0

180

Label - ID

6

0

0

174

Label - Locked

0

0

0

180

Label - StrokeColor

1

0

0

179

Label - StrokeDashArray

0

0

0

180

Label - StrokeWidth

2

0

0

178

Label - Text

6

0

0

174

Label - TheC

0

0

0

180

Label - TheT

0

0

0

180

Label - TheZ

0

0

0

180

Label - Transform

0

0

0

180

Label - X

6

0

0

174

Label - Y

6

0

0

174

Laser - FrequencyMultiplication

0

0

0

180

Laser - ID

11

0

0

169

Laser - LaserMedium

8

0

0

172

Laser - LotNumber

1

0

0

179

Laser - Manufacturer

2

0

0

178

Laser - Model

5

0

0

175

Laser - PockelCell

0

0

0

180

Laser - Power

4

0

0

176

Laser - Pulse

0

0

0

180

Laser - Pump

0

0

0

180

Laser - RepetitionRate

1

0

0

179

Laser - SerialNumber

1

0

0

179

Laser - Tuneable

0

0

0

180

Laser - Type

8

0

0

172

Laser - Wavelength

9

0

0

171

LightEmittingDiode - ID

0

0

0

180

LightEmittingDiode - LotNumber

1

0

0

179

LightEmittingDiode - Manufacturer

1

0

0

179

LightEmittingDiode - Model

1

0

0

179

LightEmittingDiode - Power

1

0

0

179

LightEmittingDiode - SerialNumber

1

0

0

179

LightPath - AnnotationRef

0

0

0

180

LightPath - DichroicRef

3

0

0

177

LightPath - EmissionFilterRef

5

0

0

175

LightPath - ExcitationFilterRef

1

0

0

179

Line - FillColor

0

0

0

180

Line - FillRule

0

0

0

180

Line - FontFamily

0

0

0

180

Line - FontSize

3

0

0

177

Line - FontStyle

0

0

0

180

Line - ID

7

0

0

173

Line - Locked

0

0

0

180

Line - MarkerEnd

0

0

0

180

Line - MarkerStart

0

0

0

180

Line - StrokeColor

1

0

0

179

Line - StrokeDashArray

0

0

0

180

Line - StrokeWidth

2

0

0

178

Line - Text

3

0

0

177

Line - TheC

0

0

0

180

Line - TheT

1

0

0

179

Line - TheZ

1

0

0

179

Line - Transform

1

0

0

179

Line - X1

7

0

0

173

Line - X2

7

0

0

173

Line - Y1

7

0

0

173

Line - Y2

7

0

0

173

ListAnnotation - AnnotationRef

0

0

0

180

ListAnnotation - Description

0

0

0

180

ListAnnotation - ID

0

0

0

180

ListAnnotation - Namespace

0

0

0

180

LongAnnotation - AnnotationRef

0

0

0

180

LongAnnotation - Description

0

0

0

180

LongAnnotation - ID

1

0

0

179

LongAnnotation - Namespace

1

0

0

179

LongAnnotation - Value

1

0

0

179

Mask - BinData

3

0

0

177

Mask - BinDataBigEndian

1

0

0

179

Mask - BinDataBigLength

0

0

0

180

Mask - BinDataCompression

0

0

0

180

Mask - FillColor

1

0

0

179

Mask - FillRule

0

0

0

180

Mask - FontFamily

0

0

0

180

Mask - FontSize

0

0

0

180

Mask - Height

3

0

0

177

Mask - ID

3

0

0

177

Mask - Locked

0

0

0

180

Mask - StrokeColor

1

0

0

179

Mask - StrokeDashArray

0

0

0

180

Mask - StrokeWidth

0

0

0

180

Mask - Text

0

0

0

180

Mask - TheC

0

0

0

180

Mask - TheT

0

0

0

180

Mask - TheZ

0

0

0

180

Mask - Transform

0

0

0

180

Mask - Width

3

0

0

177

Mask - X

3

0

0

177

Mask - Y

3

0

0

177

MicrobeamManipulation - ExperimenterRef

0

0

0

180

MicrobeamManipulation - ID

0

0

0

180

MicrobeamManipulation - ROIRef

0

0

0

180

MicrobeamManipulation - Type

0

0

0

180

MicrobeamManipulationLightSourceSettings - Attenuation

0

0

0

180

MicrobeamManipulationLightSourceSettings - ID

0

0

0

180

MicrobeamManipulationLightSourceSettings - Wavelength

0

0

0

180

Microscope - LotNumber

1

0

0

179

Microscope - Manufacturer

2

0

0

178

Microscope - Model

13

0

0

167

Microscope - SerialNumber

4

0

0

176

Microscope - Type

3

0

0

177

Objective - AnnotationRef

0

0

0

180

Objective - CalibratedMagnification

8

0

0

172

Objective - Correction

27

0

0

153

Objective - ID

43

0

0

137

Objective - Immersion

29

0

0

151

Objective - Iris

2

0

0

178

Objective - LensNA

24

0

0

156

Objective - LotNumber

1

0

0

179

Objective - Manufacturer

6

0

0

174

Objective - Model

17

0

0

163

Objective - NominalMagnification

35

0

0

145

Objective - SerialNumber

3

0

0

177

Objective - WorkingDistance

12

0

0

168

ObjectiveSettings - CorrectionCollar

1

0

0

179

ObjectiveSettings - ID

38

0

0

142

ObjectiveSettings - Medium

1

0

0

179

ObjectiveSettings - RefractiveIndex

10

0

0

170

Pixels - AnnotationRef

0

0

0

180

Pixels - BigEndian

180

0

0

0

Pixels - DimensionOrder

180

0

0

0

Pixels - ID

180

0

0

0

Pixels - Interleaved

180

0

0

0

Pixels - PhysicalSizeX

96

0

0

84

Pixels - PhysicalSizeY

96

0

0

84

Pixels - PhysicalSizeZ

49

0

0

131

Pixels - SignificantBits

180

0

0

0

Pixels - SizeC

180

0

0

0

Pixels - SizeT

180

0

0

0

Pixels - SizeX

180

0

0

0

Pixels - SizeY

180

0

0

0

Pixels - SizeZ

180

0

0

0

Pixels - TimeIncrement

17

0

0

163

Pixels - Type

180

0

0

0

Plane - AnnotationRef

0

0

0

180

Plane - DeltaT

29

0

0

151

Plane - ExposureTime

38

0

0

142

Plane - HashSHA1

0

0

0

180

Plane - PositionX

40

0

0

140

Plane - PositionY

40

0

0

140

Plane - PositionZ

33

0

0

147

Plane - TheC

180

0

0

0

Plane - TheT

180

0

0

0

Plane - TheZ

180

0

0

0

Plate - AnnotationRef

0

0

0

180

Plate - ColumnNamingConvention

8

0

0

172

Plate - Columns

15

0

0

165

Plate - Description

3

0

0

177

Plate - ExternalIdentifier

4

0

0

176

Plate - ID

15

0

0

165

Plate - Name

13

0

0

167

Plate - RowNamingConvention

8

0

0

172

Plate - Rows

15

0

0

165

Plate - Status

0

0

0

180

Plate - WellOriginX

1

0

0

179

Plate - WellOriginY

1

0

0

179

PlateAcquisition - AnnotationRef

0

0

0

180

PlateAcquisition - Description

0

0

0

180

PlateAcquisition - EndTime

3

0

0

177

PlateAcquisition - ID

11

0

0

169

PlateAcquisition - MaximumFieldCount

10

0

0

170

PlateAcquisition - Name

0

0

0

180

PlateAcquisition - StartTime

5

0

0

175

PlateAcquisition - WellSampleRef

11

0

0

169

Point - FillColor

0

0

0

180

Point - FillRule

0

0

0

180

Point - FontFamily

0

0

0

180

Point - FontSize

1

0

0

179

Point - FontStyle

0

0

0

180

Point - ID

5

0

0

175

Point - Locked

0

0

0

180

Point - StrokeColor

1

0

0

179

Point - StrokeDashArray

1

0

0

179

Point - StrokeWidth

2

0

0

178

Point - Text

1

0

0

179

Point - TheC

0

0

0

180

Point - TheT

1

0

0

179

Point - TheZ

2

0

0

178

Point - Transform

0

0

0

180

Point - X

5

0

0

175

Point - Y

5

0

0

175

Polygon - FillColor

0

0

0

180

Polygon - FillRule

0

0

0

180

Polygon - FontFamily

0

0

0

180

Polygon - FontSize

2

0

0

178

Polygon - FontStyle

0

0

0

180

Polygon - ID

8

0

0

172

Polygon - Locked

0

0

0

180

Polygon - Points

8

0

0

172

Polygon - StrokeColor

1

0

0

179

Polygon - StrokeDashArray

1

0

0

179

Polygon - StrokeWidth

3

0

0

177

Polygon - Text

2

0

0

178

Polygon - TheC

0

0

0

180

Polygon - TheT

1

0

0

179

Polygon - TheZ

2

0

0

178

Polygon - Transform

1

0

0

179

Polyline - FillColor

0

0

0

180

Polyline - FillRule

0

0

0

180

Polyline - FontFamily

0

0

0

180

Polyline - FontSize

2

0

0

178

Polyline - FontStyle

0

0

0

180

Polyline - ID

6

0

0

174

Polyline - Locked

0

0

0

180

Polyline - MarkerEnd

0

0

0

180

Polyline - MarkerStart

0

0

0

180

Polyline - Points

6

0

0

174

Polyline - StrokeColor

1

0

0

179

Polyline - StrokeDashArray

1

0

0

179

Polyline - StrokeWidth

3

0

0

177

Polyline - Text

2

0

0

178

Polyline - TheC

0

0

0

180

Polyline - TheT

1

0

0

179

Polyline - TheZ

2

0

0

178

Polyline - Transform

1

0

0

179

Project - AnnotationRef

0

0

0

180

Project - DatasetRef

0

0

0

180

Project - Description

0

0

0

180

Project - ExperimenterGroupRef

0

0

0

180

Project - ExperimenterRef

0

0

0

180

Project - ID

0

0

0

180

Project - Name

0

0

0

180

ROI - AnnotationRef

0

0

0

180

ROI - Description

1

0

0

179

ROI - ID

16

0

0

164

ROI - Name

5

0

0

175

Reagent - AnnotationRef

0

0

0

180

Reagent - Description

0

0

0

180

Reagent - ID

0

0

0

180

Reagent - Name

0

0

0

180

Reagent - ReagentIdentifier

0

0

0

180

Rectangle - FillColor

0

0

0

180

Rectangle - FillRule

0

0

0

180

Rectangle - FontFamily

0

0

0

180

Rectangle - FontSize

3

0

0

177

Rectangle - FontStyle

0

0

0

180

Rectangle - Height

12

0

0

168

Rectangle - ID

12

0

0

168

Rectangle - Locked

0

0

0

180

Rectangle - StrokeColor

3

0

0

177

Rectangle - StrokeDashArray

0

0

0

180

Rectangle - StrokeWidth

2

0

0

178

Rectangle - Text

5

0

0

175

Rectangle - TheC

2

0

0

178

Rectangle - TheT

3

0

0

177

Rectangle - TheZ

3

0

0

177

Rectangle - Transform

1

0

0

179

Rectangle - Width

12

0

0

168

Rectangle - X

12

0

0

168

Rectangle - Y

12

0

0

168

Screen - AnnotationRef

0

0

0

180

Screen - Description

0

0

0

180

Screen - ID

1

0

0

179

Screen - Name

1

0

0

179

Screen - PlateRef

0

0

0

180

Screen - ProtocolDescription

0

0

0

180

Screen - ProtocolIdentifier

0

0

0

180

Screen - ReagentSetDescription

0

0

0

180

Screen - ReagentSetIdentifier

0

0

0

180

Screen - Type

0

0

0

180

StageLabel - Name

3

0

0

177

StageLabel - X

2

0

0

178

StageLabel - Y

2

0

0

178

StageLabel - Z

3

0

0

177

TagAnnotation - AnnotationRef

0

0

0

180

TagAnnotation - Description

0

0

0

180

TagAnnotation - ID

1

0

0

179

TagAnnotation - Namespace

1

0

0

179

TagAnnotation - Value

1

0

0

179

TermAnnotation - AnnotationRef

0

0

0

180

TermAnnotation - Description

0

0

0

180

TermAnnotation - ID

1

0

0

179

TermAnnotation - Namespace

1

0

0

179

TermAnnotation - Value

1

0

0

179

TiffData - FirstC

0

0

0

180

TiffData - FirstT

0

0

0

180

TiffData - FirstZ

0

0

0

180

TiffData - IFD

0

0

0

180

TiffData - PlaneCount

0

0

0

180

TimestampAnnotation - AnnotationRef

0

0

0

180

TimestampAnnotation - Description

0

0

0

180

TimestampAnnotation - ID

1

0

0

179

TimestampAnnotation - Namespace

1

0

0

179

TimestampAnnotation - Value

1

0

0

179

TransmittanceRange - CutIn

5

0

0

175

TransmittanceRange - CutInTolerance

1

0

0

179

TransmittanceRange - CutOut

5

0

0

175

TransmittanceRange - CutOutTolerance

1

0

0

179

TransmittanceRange - Transmittance

1

0

0

179

UUID - FileName

0

0

0

180

UUID - Value

0

0

0

180

Well - AnnotationRef

0

0

0

180

Well - Color

0

0

0

180

Well - Column

16

0

0

164

Well - ExternalDescription

0

0

0

180

Well - ExternalIdentifier

1

0

0

179

Well - ID

16

0

0

164

Well - ReagentRef

0

0

0

180

Well - Row

16

0

0

164

Well - Type

0

0

0

180

WellSample - AnnotationRef

0

0

0

180

WellSample - ID

16

0

0

164

WellSample - ImageRef

16

0

0

164

WellSample - Index

16

0

0

164

WellSample - PositionX

9

0

0

171

WellSample - PositionY

9

0

0

171

WellSample - Timepoint

0

0

0

180

XMLAnnotation - AnnotationRef

0

0

0

180

XMLAnnotation - ID

2

0

0

178

XMLAnnotation - Namespace

1

0

0

179

XMLAnnotation - Value

2

0

0

178

AFIReader

This page lists supported metadata fields for the Bio-Formats Aperio AFI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 31 of them (6%).

  • Of those, Bio-Formats fully or partially converts 31 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Aperio AFI format reader:

Total supported: 31

Total unknown or missing: 445

AIMReader

This page lists supported metadata fields for the Bio-Formats AIM format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats AIM format reader:

Total supported: 22

Total unknown or missing: 454

APLReader

This page lists supported metadata fields for the Bio-Formats Olympus APL format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus APL format reader:

Total supported: 21

Total unknown or missing: 455

APNGReader

This page lists supported metadata fields for the Bio-Formats Animated PNG format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Animated PNG format reader:

Total supported: 19

Total unknown or missing: 457

ARFReader

This page lists supported metadata fields for the Bio-Formats ARF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats ARF format reader:

Total supported: 19

Total unknown or missing: 457

AVIReader

This page lists supported metadata fields for the Bio-Formats Audio Video Interleave format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Audio Video Interleave format reader:

Total supported: 19

Total unknown or missing: 457

AliconaReader

This page lists supported metadata fields for the Bio-Formats Alicona AL3D format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 33 of them (6%).

  • Of those, Bio-Formats fully or partially converts 33 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Alicona AL3D format reader:

Total supported: 33

Total unknown or missing: 443

AmiraReader

This page lists supported metadata fields for the Bio-Formats Amira format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Amira format reader:

Total supported: 22

Total unknown or missing: 454

AnalyzeReader

This page lists supported metadata fields for the Bio-Formats Analyze 7.5 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 24 of them (5%).

  • Of those, Bio-Formats fully or partially converts 24 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Analyze 7.5 format reader:

Total supported: 24

Total unknown or missing: 452

BDReader

This page lists supported metadata fields for the Bio-Formats BD Pathway format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 59 of them (12%).

  • Of those, Bio-Formats fully or partially converts 59 (100%).

Supported fields
These fields are fully supported by the Bio-Formats BD Pathway format reader:

Total supported: 59

Total unknown or missing: 417

BDVReader

This page lists supported metadata fields for the Bio-Formats BDV format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 37 of them (7%).

  • Of those, Bio-Formats fully or partially converts 37 (100%).

Supported fields
These fields are fully supported by the Bio-Formats BDV format reader:

Total supported: 37

Total unknown or missing: 439

BIFormatReader

This page lists supported metadata fields for the Bio-Formats BIFormatReader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats BIFormatReader:

Total supported: 19

Total unknown or missing: 457

BMPReader

This page lists supported metadata fields for the Bio-Formats Windows Bitmap format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Windows Bitmap format reader:

Total supported: 21

Total unknown or missing: 455

BaseTiffReader

This page lists supported metadata fields for the Bio-Formats BaseTiffReader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 28 of them (5%).

  • Of those, Bio-Formats fully or partially converts 28 (100%).

Supported fields
These fields are fully supported by the Bio-Formats BaseTiffReader:

Total supported: 28

Total unknown or missing: 448

BaseZeissReader

This page lists supported metadata fields for the Bio-Formats BaseZeissReader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 84 of them (17%).

  • Of those, Bio-Formats fully or partially converts 84 (100%).

Supported fields
These fields are fully supported by the Bio-Formats BaseZeissReader:

Total supported: 84

Total unknown or missing: 392

BioRadGelReader

This page lists supported metadata fields for the Bio-Formats Bio-Rad GEL format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Bio-Rad GEL format reader:

Total supported: 21

Total unknown or missing: 455

BioRadReader

This page lists supported metadata fields for the Bio-Formats Bio-Rad PIC format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 40 of them (8%).

  • Of those, Bio-Formats fully or partially converts 40 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Bio-Rad PIC format reader:

Total supported: 40

Total unknown or missing: 436

BioRadSCNReader

This page lists supported metadata fields for the Bio-Formats Bio-Rad SCN format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 29 of them (6%).

  • Of those, Bio-Formats fully or partially converts 29 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Bio-Rad SCN format reader:

Total supported: 29

Total unknown or missing: 447

BrukerReader

This page lists supported metadata fields for the Bio-Formats Bruker format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 23 of them (4%).

  • Of those, Bio-Formats fully or partially converts 23 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Bruker format reader:

Total supported: 23

Total unknown or missing: 453

BurleighReader

This page lists supported metadata fields for the Bio-Formats Burleigh format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Burleigh format reader:

Total supported: 22

Total unknown or missing: 454

CV7000Reader

This page lists supported metadata fields for the Bio-Formats Yokogawa CV7000 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 57 of them (11%).

  • Of those, Bio-Formats fully or partially converts 57 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Yokogawa CV7000 format reader:

Total supported: 57

Total unknown or missing: 419

CanonRawReader

This page lists supported metadata fields for the Bio-Formats Canon RAW format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Canon RAW format reader:

Total supported: 19

Total unknown or missing: 457

CellH5Reader

This page lists supported metadata fields for the Bio-Formats CellH5 (HDF) format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 41 of them (8%).

  • Of those, Bio-Formats fully or partially converts 41 (100%).

Supported fields
These fields are fully supported by the Bio-Formats CellH5 (HDF) format reader:

Total supported: 41

Total unknown or missing: 435

CellSensReader

This page lists supported metadata fields for the Bio-Formats CellSens VSI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 48 of them (10%).

  • Of those, Bio-Formats fully or partially converts 48 (100%).

Supported fields
These fields are fully supported by the Bio-Formats CellSens VSI format reader:

Total supported: 48

Total unknown or missing: 428

CellVoyagerReader

This page lists supported metadata fields for the Bio-Formats CellVoyager format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 39 of them (8%).

  • Of those, Bio-Formats fully or partially converts 39 (100%).

Supported fields
These fields are fully supported by the Bio-Formats CellVoyager format reader:

Total supported: 39

Total unknown or missing: 437

CellWorxReader

This page lists supported metadata fields for the Bio-Formats CellWorx format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 50 of them (10%).

  • Of those, Bio-Formats fully or partially converts 50 (100%).

Supported fields
These fields are fully supported by the Bio-Formats CellWorx format reader:

Total supported: 50

Total unknown or missing: 426

CellomicsReader

This page lists supported metadata fields for the Bio-Formats Cellomics C01 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 36 of them (7%).

  • Of those, Bio-Formats fully or partially converts 36 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Cellomics C01 format reader:

Total supported: 36

Total unknown or missing: 440

ColumbusReader

This page lists supported metadata fields for the Bio-Formats PerkinElmer Columbus format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 43 of them (9%).

  • Of those, Bio-Formats fully or partially converts 43 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PerkinElmer Columbus format reader:

Total supported: 43

Total unknown or missing: 433

DNGReader

This page lists supported metadata fields for the Bio-Formats DNG format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats DNG format reader:

Total supported: 19

Total unknown or missing: 457

DeltavisionReader

This page lists supported metadata fields for the Bio-Formats Deltavision format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 51 of them (10%).

  • Of those, Bio-Formats fully or partially converts 51 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Deltavision format reader:

Total supported: 51

Total unknown or missing: 425

DicomReader

This page lists supported metadata fields for the Bio-Formats DICOM format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 27 of them (5%).

  • Of those, Bio-Formats fully or partially converts 27 (100%).

Supported fields
These fields are fully supported by the Bio-Formats DICOM format reader:

Total supported: 27

Total unknown or missing: 449

EPSReader

This page lists supported metadata fields for the Bio-Formats Encapsulated PostScript format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Encapsulated PostScript format reader:

Total supported: 19

Total unknown or missing: 457

Ecat7Reader

This page lists supported metadata fields for the Bio-Formats ECAT7 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 23 of them (4%).

  • Of those, Bio-Formats fully or partially converts 23 (100%).

Supported fields
These fields are fully supported by the Bio-Formats ECAT7 format reader:

Total supported: 23

Total unknown or missing: 453

FEIReader

This page lists supported metadata fields for the Bio-Formats FEI/Philips format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats FEI/Philips format reader:

Total supported: 19

Total unknown or missing: 457

FEITiffReader

This page lists supported metadata fields for the Bio-Formats FEI TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 39 of them (8%).

  • Of those, Bio-Formats fully or partially converts 39 (100%).

Supported fields
These fields are fully supported by the Bio-Formats FEI TIFF format reader:

Total supported: 39

Total unknown or missing: 437

FV1000Reader

This page lists supported metadata fields for the Bio-Formats Olympus FV1000 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 113 of them (23%).

  • Of those, Bio-Formats fully or partially converts 113 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus FV1000 format reader:

Total supported: 113

Total unknown or missing: 363

FakeReader

This page lists supported metadata fields for the Bio-Formats Simulated data format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 91 of them (19%).

  • Of those, Bio-Formats fully or partially converts 91 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Simulated data format reader:

Total supported: 91

Total unknown or missing: 385

FilePatternReader

This page lists supported metadata fields for the Bio-Formats File pattern format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 20 of them (4%).

  • Of those, Bio-Formats fully or partially converts 20 (100%).

Supported fields
These fields are fully supported by the Bio-Formats File pattern format reader:

Total supported: 20

Total unknown or missing: 456

FitsReader

This page lists supported metadata fields for the Bio-Formats Flexible Image Transport System format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Flexible Image Transport System format reader:

Total supported: 19

Total unknown or missing: 457

FlexReader

This page lists supported metadata fields for the Bio-Formats Evotec Flex format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 71 of them (14%).

  • Of those, Bio-Formats fully or partially converts 71 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Evotec Flex format reader:

Total supported: 71

Total unknown or missing: 405

FlowSightReader

This page lists supported metadata fields for the Bio-Formats FlowSight format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 20 of them (4%).

  • Of those, Bio-Formats fully or partially converts 20 (100%).

Supported fields
These fields are fully supported by the Bio-Formats FlowSight format reader:

Total supported: 20

Total unknown or missing: 456

FluoviewReader

This page lists supported metadata fields for the Bio-Formats Olympus Fluoview/ABD TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 49 of them (10%).

  • Of those, Bio-Formats fully or partially converts 49 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus Fluoview/ABD TIFF format reader:

Total supported: 49

Total unknown or missing: 427

FujiReader

This page lists supported metadata fields for the Bio-Formats Fuji LAS 3000 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 23 of them (4%).

  • Of those, Bio-Formats fully or partially converts 23 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Fuji LAS 3000 format reader:

Total supported: 23

Total unknown or missing: 453

GIFReader

This page lists supported metadata fields for the Bio-Formats Graphics Interchange Format format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Graphics Interchange Format format reader:

Total supported: 19

Total unknown or missing: 457

GatanDM2Reader

This page lists supported metadata fields for the Bio-Formats Gatan DM2 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 30 of them (6%).

  • Of those, Bio-Formats fully or partially converts 30 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Gatan DM2 format reader:

Total supported: 30

Total unknown or missing: 446

GatanReader

This page lists supported metadata fields for the Bio-Formats Gatan Digital Micrograph format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 69 of them (14%).

  • Of those, Bio-Formats fully or partially converts 69 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Gatan Digital Micrograph format reader:

Total supported: 69

Total unknown or missing: 407

GelReader

This page lists supported metadata fields for the Bio-Formats Amersham Biosciences GEL format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Amersham Biosciences GEL format reader:

Total supported: 21

Total unknown or missing: 455

HISReader

This page lists supported metadata fields for the Bio-Formats Hamamatsu HIS format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 27 of them (5%).

  • Of those, Bio-Formats fully or partially converts 27 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Hamamatsu HIS format reader:

Total supported: 27

Total unknown or missing: 449

HRDGDFReader

This page lists supported metadata fields for the Bio-Formats NOAA-HRD Gridded Data Format format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats NOAA-HRD Gridded Data Format format reader:

Total supported: 21

Total unknown or missing: 455

HamamatsuVMSReader

This page lists supported metadata fields for the Bio-Formats Hamamatsu VMS format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 26 of them (5%).

  • Of those, Bio-Formats fully or partially converts 26 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Hamamatsu VMS format reader:

Total supported: 26

Total unknown or missing: 450

HitachiReader

This page lists supported metadata fields for the Bio-Formats Hitachi format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 31 of them (6%).

  • Of those, Bio-Formats fully or partially converts 31 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Hitachi format reader:

Total supported: 31

Total unknown or missing: 445

I2IReader

This page lists supported metadata fields for the Bio-Formats I2I format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats I2I format reader:

Total supported: 19

Total unknown or missing: 457

ICSReader

This page lists supported metadata fields for the Bio-Formats Image Cytometry Standard format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 72 of them (15%).

  • Of those, Bio-Formats fully or partially converts 72 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Image Cytometry Standard format reader:

Total supported: 72

Total unknown or missing: 404

IM3Reader

This page lists supported metadata fields for the Bio-Formats Perkin-Elmer Nuance IM3 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Perkin-Elmer Nuance IM3 format reader:

Total supported: 19

Total unknown or missing: 457

IMODReader

This page lists supported metadata fields for the Bio-Formats IMOD format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 44 of them (9%).

  • Of those, Bio-Formats fully or partially converts 44 (100%).

Supported fields
These fields are fully supported by the Bio-Formats IMOD format reader:

Total supported: 44

Total unknown or missing: 432

INRReader

This page lists supported metadata fields for the Bio-Formats INR format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats INR format reader:

Total supported: 22

Total unknown or missing: 454

IPLabReader

This page lists supported metadata fields for the Bio-Formats IPLab format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 31 of them (6%).

  • Of those, Bio-Formats fully or partially converts 31 (100%).

Supported fields
These fields are fully supported by the Bio-Formats IPLab format reader:

Total supported: 31

Total unknown or missing: 445

IPWReader

This page lists supported metadata fields for the Bio-Formats Image-Pro Workspace format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 20 of them (4%).

  • Of those, Bio-Formats fully or partially converts 20 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Image-Pro Workspace format reader:

Total supported: 20

Total unknown or missing: 456

ImaconReader

This page lists supported metadata fields for the Bio-Formats Imacon format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 23 of them (4%).

  • Of those, Bio-Formats fully or partially converts 23 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Imacon format reader:

Total supported: 23

Total unknown or missing: 453

ImageIOReader

This page lists supported metadata fields for the Bio-Formats ImageIOReader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats ImageIOReader:

Total supported: 19

Total unknown or missing: 457

ImagicReader

This page lists supported metadata fields for the Bio-Formats IMAGIC format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats IMAGIC format reader:

Total supported: 22

Total unknown or missing: 454

ImarisHDFReader

This page lists supported metadata fields for the Bio-Formats Bitplane Imaris 5.5 (HDF) format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 24 of them (5%).

  • Of those, Bio-Formats fully or partially converts 24 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Bitplane Imaris 5.5 (HDF) format reader:

Total supported: 24

Total unknown or missing: 452

ImarisReader

This page lists supported metadata fields for the Bio-Formats Bitplane Imaris format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 32 of them (6%).

  • Of those, Bio-Formats fully or partially converts 32 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Bitplane Imaris format reader:

Total supported: 32

Total unknown or missing: 444

ImarisTiffReader

This page lists supported metadata fields for the Bio-Formats Bitplane Imaris 3 (TIFF) format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 23 of them (4%).

  • Of those, Bio-Formats fully or partially converts 23 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Bitplane Imaris 3 (TIFF) format reader:

Total supported: 23

Total unknown or missing: 453

ImprovisionTiffReader

This page lists supported metadata fields for the Bio-Formats Improvision TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 26 of them (5%).

  • Of those, Bio-Formats fully or partially converts 26 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Improvision TIFF format reader:

Total supported: 26

Total unknown or missing: 450

ImspectorReader

This page lists supported metadata fields for the Bio-Formats Lavision Imspector format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Lavision Imspector format reader:

Total supported: 19

Total unknown or missing: 457

InCell3000Reader

This page lists supported metadata fields for the Bio-Formats InCell 3000 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats InCell 3000 format reader:

Total supported: 19

Total unknown or missing: 457

InCellReader

This page lists supported metadata fields for the Bio-Formats InCell 1000/2000 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 69 of them (14%).

  • Of those, Bio-Formats fully or partially converts 69 (100%).

Supported fields
These fields are fully supported by the Bio-Formats InCell 1000/2000 format reader:

Total supported: 69

Total unknown or missing: 407

InveonReader

This page lists supported metadata fields for the Bio-Formats Inveon format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 30 of them (6%).

  • Of those, Bio-Formats fully or partially converts 30 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Inveon format reader:

Total supported: 30

Total unknown or missing: 446

IonpathMIBITiffReader

This page lists supported metadata fields for the Bio-Formats Ionpath MIBI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Ionpath MIBI format reader:

Total supported: 22

Total unknown or missing: 454

IvisionReader

This page lists supported metadata fields for the Bio-Formats IVision format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 34 of them (7%).

  • Of those, Bio-Formats fully or partially converts 34 (100%).

Supported fields
These fields are fully supported by the Bio-Formats IVision format reader:

Total supported: 34

Total unknown or missing: 442

JEOLReader

This page lists supported metadata fields for the Bio-Formats JEOL format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats JEOL format reader:

Total supported: 19

Total unknown or missing: 457

JPEG2000Reader

This page lists supported metadata fields for the Bio-Formats JPEG-2000 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats JPEG-2000 format reader:

Total supported: 19

Total unknown or missing: 457

JPEGReader

This page lists supported metadata fields for the Bio-Formats JPEG format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats JPEG format reader:

Total supported: 19

Total unknown or missing: 457

JPKReader

This page lists supported metadata fields for the Bio-Formats JPK Instruments format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats JPK Instruments format reader:

Total supported: 19

Total unknown or missing: 457

JPXReader

This page lists supported metadata fields for the Bio-Formats JPX format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats JPX format reader:

Total supported: 19

Total unknown or missing: 457

KLBReader

This page lists supported metadata fields for the Bio-Formats KLB format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats KLB format reader:

Total supported: 22

Total unknown or missing: 454

KhorosReader

This page lists supported metadata fields for the Bio-Formats Khoros XV format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Khoros XV format reader:

Total supported: 19

Total unknown or missing: 457

KodakReader

This page lists supported metadata fields for the Bio-Formats Kodak Molecular Imaging format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 26 of them (5%).

  • Of those, Bio-Formats fully or partially converts 26 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Kodak Molecular Imaging format reader:

Total supported: 26

Total unknown or missing: 450

L2DReader

This page lists supported metadata fields for the Bio-Formats Li-Cor L2D format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 29 of them (6%).

  • Of those, Bio-Formats fully or partially converts 29 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Li-Cor L2D format reader:

Total supported: 29

Total unknown or missing: 447

LEOReader

This page lists supported metadata fields for the Bio-Formats LEO format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 27 of them (5%).

  • Of those, Bio-Formats fully or partially converts 27 (100%).

Supported fields
These fields are fully supported by the Bio-Formats LEO format reader:

Total supported: 27

Total unknown or missing: 449

LIFReader

This page lists supported metadata fields for the Bio-Formats Leica Image File Format format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 85 of them (17%).

  • Of those, Bio-Formats fully or partially converts 85 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Leica Image File Format format reader:

Total supported: 85

Total unknown or missing: 391

LIMReader

This page lists supported metadata fields for the Bio-Formats Laboratory Imaging format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Laboratory Imaging format reader:

Total supported: 19

Total unknown or missing: 457

LOFReader

This page lists supported metadata fields for the Bio-Formats Leica Object Format format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Leica Object Format format reader:

Total supported: 19

Total unknown or missing: 457

LeicaReader

This page lists supported metadata fields for the Bio-Formats Leica format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 56 of them (11%).

  • Of those, Bio-Formats fully or partially converts 56 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Leica format reader:

Total supported: 56

Total unknown or missing: 420

LeicaSCNReader

This page lists supported metadata fields for the Bio-Formats Leica SCN format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 33 of them (6%).

  • Of those, Bio-Formats fully or partially converts 33 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Leica SCN format reader:

Total supported: 33

Total unknown or missing: 443

LiFlimReader

This page lists supported metadata fields for the Bio-Formats LI-FLIM format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 25 of them (5%).

  • Of those, Bio-Formats fully or partially converts 25 (100%).

Supported fields
These fields are fully supported by the Bio-Formats LI-FLIM format reader:

Total supported: 25

Total unknown or missing: 451

MIASReader

This page lists supported metadata fields for the Bio-Formats MIAS format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 67 of them (14%).

  • Of those, Bio-Formats fully or partially converts 67 (100%).

Supported fields
These fields are fully supported by the Bio-Formats MIAS format reader:

Total supported: 67

Total unknown or missing: 409

MINCReader

This page lists supported metadata fields for the Bio-Formats MINC MRI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 26 of them (5%).

  • Of those, Bio-Formats fully or partially converts 26 (100%).

Supported fields
These fields are fully supported by the Bio-Formats MINC MRI format reader:

Total supported: 26

Total unknown or missing: 450

MNGReader

This page lists supported metadata fields for the Bio-Formats Multiple-image Network Graphics format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Multiple-image Network Graphics format reader:

Total supported: 19

Total unknown or missing: 457

MRCReader

This page lists supported metadata fields for the Bio-Formats Medical Research Council format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Medical Research Council format reader:

Total supported: 22

Total unknown or missing: 454

MRWReader

This page lists supported metadata fields for the Bio-Formats Minolta MRW format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Minolta MRW format reader:

Total supported: 19

Total unknown or missing: 457

MetamorphReader

This page lists supported metadata fields for the Bio-Formats Metamorph STK format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 59 of them (12%).

  • Of those, Bio-Formats fully or partially converts 59 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Metamorph STK format reader:

Total supported: 59

Total unknown or missing: 417

MetamorphTiffReader

This page lists supported metadata fields for the Bio-Formats Metamorph TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 43 of them (9%).

  • Of those, Bio-Formats fully or partially converts 43 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Metamorph TIFF format reader:

Total supported: 43

Total unknown or missing: 433

MetaxpressTiffReader

This page lists supported metadata fields for the Bio-Formats MetaXpress TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats MetaXpress TIFF format reader:

Total supported: 19

Total unknown or missing: 457

MicroCTReader

This page lists supported metadata fields for the Bio-Formats MicroCT format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 24 of them (5%).

  • Of those, Bio-Formats fully or partially converts 24 (100%).

Supported fields
These fields are fully supported by the Bio-Formats MicroCT format reader:

Total supported: 24

Total unknown or missing: 452

MicromanagerReader

This page lists supported metadata fields for the Bio-Formats Micro-Manager format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 42 of them (8%).

  • Of those, Bio-Formats fully or partially converts 42 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Micro-Manager format reader:

Total supported: 42

Total unknown or missing: 434

MikroscanTiffReader

This page lists supported metadata fields for the Bio-Formats Mikroscan TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Mikroscan TIFF format reader:

Total supported: 19

Total unknown or missing: 457

MinimalTiffReader

This page lists supported metadata fields for the Bio-Formats Minimal TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Minimal TIFF format reader:

Total supported: 19

Total unknown or missing: 457

MolecularImagingReader

This page lists supported metadata fields for the Bio-Formats Molecular Imaging format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Molecular Imaging format reader:

Total supported: 21

Total unknown or missing: 455

NAFReader

This page lists supported metadata fields for the Bio-Formats Hamamatsu Aquacosmos format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Hamamatsu Aquacosmos format reader:

Total supported: 19

Total unknown or missing: 457

ND2Reader

This page lists supported metadata fields for the Bio-Formats Nikon ND2 format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 52 of them (10%).

  • Of those, Bio-Formats fully or partially converts 52 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Nikon ND2 format reader:

Total supported: 52

Total unknown or missing: 424

NDPIReader

This page lists supported metadata fields for the Bio-Formats Hamamatsu NDPI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 32 of them (6%).

  • Of those, Bio-Formats fully or partially converts 32 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Hamamatsu NDPI format reader:

Total supported: 32

Total unknown or missing: 444

NDPISReader

This page lists supported metadata fields for the Bio-Formats Hamamatsu NDPIS format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Hamamatsu NDPIS format reader:

Total supported: 22

Total unknown or missing: 454

NRRDReader

This page lists supported metadata fields for the Bio-Formats NRRD format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats NRRD format reader:

Total supported: 22

Total unknown or missing: 454

NiftiReader

This page lists supported metadata fields for the Bio-Formats NIfTI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 24 of them (5%).

  • Of those, Bio-Formats fully or partially converts 24 (100%).

Supported fields
These fields are fully supported by the Bio-Formats NIfTI format reader:

Total supported: 24

Total unknown or missing: 452

NikonElementsTiffReader

This page lists supported metadata fields for the Bio-Formats Nikon Elements TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 50 of them (10%).

  • Of those, Bio-Formats fully or partially converts 50 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Nikon Elements TIFF format reader:

Total supported: 50

Total unknown or missing: 426

NikonReader

This page lists supported metadata fields for the Bio-Formats Nikon NEF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Nikon NEF format reader:

Total supported: 19

Total unknown or missing: 457

NikonTiffReader

This page lists supported metadata fields for the Bio-Formats Nikon TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 47 of them (9%).

  • Of those, Bio-Formats fully or partially converts 47 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Nikon TIFF format reader:

Total supported: 47

Total unknown or missing: 429

OBFReader

This page lists supported metadata fields for the Bio-Formats OBF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats OBF format reader:

Total supported: 19

Total unknown or missing: 457

OIRReader

This page lists supported metadata fields for the Bio-Formats Olympus OIR format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 48 of them (10%).

  • Of those, Bio-Formats fully or partially converts 48 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus OIR format reader:

Total supported: 48

Total unknown or missing: 428

OMETiffReader

This page lists supported metadata fields for the Bio-Formats OME-TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats OME-TIFF format reader:

Total supported: 19

Total unknown or missing: 457

OMEXMLReader

This page lists supported metadata fields for the Bio-Formats OME-XML format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats OME-XML format reader:

Total supported: 19

Total unknown or missing: 457

OlympusTileReader

This page lists supported metadata fields for the Bio-Formats Olympus .omp2info format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus .omp2info format reader:

Total supported: 19

Total unknown or missing: 457

OpenlabRawReader

This page lists supported metadata fields for the Bio-Formats Openlab RAW format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Openlab RAW format reader:

Total supported: 19

Total unknown or missing: 457

OpenlabReader

This page lists supported metadata fields for the Bio-Formats Openlab LIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 32 of them (6%).

  • Of those, Bio-Formats fully or partially converts 32 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Openlab LIFF format reader:

Total supported: 32

Total unknown or missing: 444

OperettaReader

This page lists supported metadata fields for the Bio-Formats PerkinElmer Operetta format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 60 of them (12%).

  • Of those, Bio-Formats fully or partially converts 60 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PerkinElmer Operetta format reader:

Total supported: 60

Total unknown or missing: 416

OxfordInstrumentsReader

This page lists supported metadata fields for the Bio-Formats Oxford Instruments format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Oxford Instruments format reader:

Total supported: 22

Total unknown or missing: 454

PCIReader

This page lists supported metadata fields for the Bio-Formats Compix Simple-PCI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 29 of them (6%).

  • Of those, Bio-Formats fully or partially converts 29 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Compix Simple-PCI format reader:

Total supported: 29

Total unknown or missing: 447

PCORAWReader

This page lists supported metadata fields for the Bio-Formats PCO-RAW format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 26 of them (5%).

  • Of those, Bio-Formats fully or partially converts 26 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PCO-RAW format reader:

Total supported: 26

Total unknown or missing: 450

PCXReader

This page lists supported metadata fields for the Bio-Formats PCX format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PCX format reader:

Total supported: 19

Total unknown or missing: 457

PDSReader

This page lists supported metadata fields for the Bio-Formats Perkin Elmer Densitometer format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 23 of them (4%).

  • Of those, Bio-Formats fully or partially converts 23 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Perkin Elmer Densitometer format reader:

Total supported: 23

Total unknown or missing: 453

PGMReader

This page lists supported metadata fields for the Bio-Formats Portable Any Map format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Portable Any Map format reader:

Total supported: 19

Total unknown or missing: 457

PQBinReader

This page lists supported metadata fields for the Bio-Formats PicoQuant Bin format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PicoQuant Bin format reader:

Total supported: 21

Total unknown or missing: 455

PSDReader

This page lists supported metadata fields for the Bio-Formats Adobe Photoshop format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Adobe Photoshop format reader:

Total supported: 19

Total unknown or missing: 457

PerkinElmerReader

This page lists supported metadata fields for the Bio-Formats PerkinElmer format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 30 of them (6%).

  • Of those, Bio-Formats fully or partially converts 30 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PerkinElmer format reader:

Total supported: 30

Total unknown or missing: 446

PhotoshopTiffReader

This page lists supported metadata fields for the Bio-Formats Adobe Photoshop TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Adobe Photoshop TIFF format reader:

Total supported: 19

Total unknown or missing: 457

PictReader

This page lists supported metadata fields for the Bio-Formats PICT format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PICT format reader:

Total supported: 19

Total unknown or missing: 457

PovrayReader

This page lists supported metadata fields for the Bio-Formats POV-Ray format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats POV-Ray format reader:

Total supported: 19

Total unknown or missing: 457

PrairieReader

This page lists supported metadata fields for the Bio-Formats Prairie TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 46 of them (9%).

  • Of those, Bio-Formats fully or partially converts 46 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Prairie TIFF format reader:

Total supported: 46

Total unknown or missing: 430

PyramidTiffReader

This page lists supported metadata fields for the Bio-Formats Pyramid TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Pyramid TIFF format reader:

Total supported: 19

Total unknown or missing: 457

QTReader

This page lists supported metadata fields for the Bio-Formats QuickTime format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats QuickTime format reader:

Total supported: 19

Total unknown or missing: 457

QuesantReader

This page lists supported metadata fields for the Bio-Formats Quesant AFM format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Quesant AFM format reader:

Total supported: 22

Total unknown or missing: 454

RCPNLReader

This page lists supported metadata fields for the Bio-Formats RCPNL format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 25 of them (5%).

  • Of those, Bio-Formats fully or partially converts 25 (100%).

Supported fields
These fields are fully supported by the Bio-Formats RCPNL format reader:

Total supported: 25

Total unknown or missing: 451

RHKReader

This page lists supported metadata fields for the Bio-Formats RHK Technologies format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats RHK Technologies format reader:

Total supported: 22

Total unknown or missing: 454

SBIGReader

This page lists supported metadata fields for the Bio-Formats SBIG format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats SBIG format reader:

Total supported: 22

Total unknown or missing: 454

SDTReader

This page lists supported metadata fields for the Bio-Formats SPCImage Data format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats SPCImage Data format reader:

Total supported: 19

Total unknown or missing: 457

SEQReader

This page lists supported metadata fields for the Bio-Formats Image-Pro Sequence format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 20 of them (4%).

  • Of those, Bio-Formats fully or partially converts 20 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Image-Pro Sequence format reader:

Total supported: 20

Total unknown or missing: 456

SIFReader

This page lists supported metadata fields for the Bio-Formats Andor SIF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 20 of them (4%).

  • Of those, Bio-Formats fully or partially converts 20 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Andor SIF format reader:

Total supported: 20

Total unknown or missing: 456

SISReader

This page lists supported metadata fields for the Bio-Formats Olympus SIS TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 33 of them (6%).

  • Of those, Bio-Formats fully or partially converts 33 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus SIS TIFF format reader:

Total supported: 33

Total unknown or missing: 443

SMCameraReader

This page lists supported metadata fields for the Bio-Formats SM Camera format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats SM Camera format reader:

Total supported: 19

Total unknown or missing: 457

SPCReader

This page lists supported metadata fields for the Bio-Formats SPC FIFO Data format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats SPC FIFO Data format reader:

Total supported: 19

Total unknown or missing: 457

SPEReader

This page lists supported metadata fields for the Bio-Formats Princeton Instruments SPE format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 30 of them (6%).

  • Of those, Bio-Formats fully or partially converts 30 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Princeton Instruments SPE format reader:

Total supported: 30

Total unknown or missing: 446

SVSReader

This page lists supported metadata fields for the Bio-Formats Aperio SVS format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 33 of them (6%).

  • Of those, Bio-Formats fully or partially converts 33 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Aperio SVS format reader:

Total supported: 33

Total unknown or missing: 443

ScanrReader

This page lists supported metadata fields for the Bio-Formats Olympus ScanR format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 43 of them (9%).

  • Of those, Bio-Formats fully or partially converts 43 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus ScanR format reader:

Total supported: 43

Total unknown or missing: 433

SeikoReader

This page lists supported metadata fields for the Bio-Formats Seiko format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Seiko format reader:

Total supported: 22

Total unknown or missing: 454

SimplePCITiffReader

This page lists supported metadata fields for the Bio-Formats SimplePCI TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 33 of them (6%).

  • Of those, Bio-Formats fully or partially converts 33 (100%).

Supported fields
These fields are fully supported by the Bio-Formats SimplePCI TIFF format reader:

Total supported: 33

Total unknown or missing: 443

SlideBook7Reader

This page lists supported metadata fields for the Bio-Formats SlideBook 7 SLD (native) format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 37 of them (7%).

  • Of those, Bio-Formats fully or partially converts 37 (100%).

Supported fields
These fields are fully supported by the Bio-Formats SlideBook 7 SLD (native) format reader:

Total supported: 37

Total unknown or missing: 439

SlidebookReader

This page lists supported metadata fields for the Bio-Formats Olympus Slidebook format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 34 of them (7%).

  • Of those, Bio-Formats fully or partially converts 34 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Olympus Slidebook format reader:

Total supported: 34

Total unknown or missing: 442

SlidebookTiffReader

This page lists supported metadata fields for the Bio-Formats Slidebook TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 30 of them (6%).

  • Of those, Bio-Formats fully or partially converts 30 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Slidebook TIFF format reader:

Total supported: 30

Total unknown or missing: 446

SpiderReader

This page lists supported metadata fields for the Bio-Formats SPIDER format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 21 of them (4%).

  • Of those, Bio-Formats fully or partially converts 21 (100%).

Supported fields
These fields are fully supported by the Bio-Formats SPIDER format reader:

Total supported: 21

Total unknown or missing: 455

TCSReader

This page lists supported metadata fields for the Bio-Formats Leica TCS TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Leica TCS TIFF format reader:

Total supported: 22

Total unknown or missing: 454

TargaReader

This page lists supported metadata fields for the Bio-Formats Truevision Targa format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 20 of them (4%).

  • Of those, Bio-Formats fully or partially converts 20 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Truevision Targa format reader:

Total supported: 20

Total unknown or missing: 456

TecanReader

This page lists supported metadata fields for the Bio-Formats Tecan Spark Cyto format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 36 of them (7%).

  • Of those, Bio-Formats fully or partially converts 36 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Tecan Spark Cyto format reader:

Total supported: 36

Total unknown or missing: 440

TextReader

This page lists supported metadata fields for the Bio-Formats Text format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Text format reader:

Total supported: 19

Total unknown or missing: 457

TiffDelegateReader

This page lists supported metadata fields for the Bio-Formats Tagged Image File Format format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Tagged Image File Format format reader:

Total supported: 19

Total unknown or missing: 457

TiffJAIReader

This page lists supported metadata fields for the Bio-Formats Tagged Image File Format format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Tagged Image File Format format reader:

Total supported: 19

Total unknown or missing: 457

TiffReader

This page lists supported metadata fields for the Bio-Formats Tagged Image File Format format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Tagged Image File Format format reader:

Total supported: 22

Total unknown or missing: 454

TileJPEGReader

This page lists supported metadata fields for the Bio-Formats Tile JPEG format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Tile JPEG format reader:

Total supported: 19

Total unknown or missing: 457

TillVisionReader

This page lists supported metadata fields for the Bio-Formats TillVision format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats TillVision format reader:

Total supported: 22

Total unknown or missing: 454

TopometrixReader

This page lists supported metadata fields for the Bio-Formats TopoMetrix format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats TopoMetrix format reader:

Total supported: 22

Total unknown or missing: 454

TrestleReader

This page lists supported metadata fields for the Bio-Formats Trestle format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 27 of them (5%).

  • Of those, Bio-Formats fully or partially converts 27 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Trestle format reader:

Total supported: 27

Total unknown or missing: 449

UBMReader

This page lists supported metadata fields for the Bio-Formats UBM format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats UBM format reader:

Total supported: 19

Total unknown or missing: 457

UnisokuReader

This page lists supported metadata fields for the Bio-Formats Unisoku STM format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Unisoku STM format reader:

Total supported: 22

Total unknown or missing: 454

VGSAMReader

This page lists supported metadata fields for the Bio-Formats VG SAM format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats VG SAM format reader:

Total supported: 19

Total unknown or missing: 457

VarianFDFReader

This page lists supported metadata fields for the Bio-Formats Varian FDF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 25 of them (5%).

  • Of those, Bio-Formats fully or partially converts 25 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Varian FDF format reader:

Total supported: 25

Total unknown or missing: 451

VectraReader

This page lists supported metadata fields for the Bio-Formats PerkinElmer Vectra/QPTIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 43 of them (9%).

  • Of those, Bio-Formats fully or partially converts 43 (100%).

Supported fields
These fields are fully supported by the Bio-Formats PerkinElmer Vectra/QPTIFF format reader:

Total supported: 43

Total unknown or missing: 433

VeecoReader

This page lists supported metadata fields for the Bio-Formats Veeco format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Veeco format reader:

Total supported: 19

Total unknown or missing: 457

VentanaReader

This page lists supported metadata fields for the Bio-Formats Ventana .bif format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 28 of them (5%).

  • Of those, Bio-Formats fully or partially converts 28 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Ventana .bif format reader:

Total supported: 28

Total unknown or missing: 448

VisitechReader

This page lists supported metadata fields for the Bio-Formats Visitech XYS format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Visitech XYS format reader:

Total supported: 19

Total unknown or missing: 457

VolocityClippingReader

This page lists supported metadata fields for the Bio-Formats Volocity Library Clipping format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Volocity Library Clipping format reader:

Total supported: 19

Total unknown or missing: 457

VolocityReader

This page lists supported metadata fields for the Bio-Formats Volocity Library format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 38 of them (7%).

  • Of those, Bio-Formats fully or partially converts 38 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Volocity Library format reader:

Total supported: 38

Total unknown or missing: 438

WATOPReader

This page lists supported metadata fields for the Bio-Formats WA Technology TOP format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 22 of them (4%).

  • Of those, Bio-Formats fully or partially converts 22 (100%).

Supported fields
These fields are fully supported by the Bio-Formats WA Technology TOP format reader:

Total supported: 22

Total unknown or missing: 454

XLEFReader

This page lists supported metadata fields for the Bio-Formats Extended leica file format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Extended leica file format reader:

Total supported: 19

Total unknown or missing: 457

ZeissCZIReader

This page lists supported metadata fields for the Bio-Formats Zeiss CZI format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 175 of them (36%).

  • Of those, Bio-Formats fully or partially converts 175 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Zeiss CZI format reader:

Total supported: 175

Total unknown or missing: 301

ZeissLMSReader

This page lists supported metadata fields for the Bio-Formats Zeiss LMS format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 23 of them (4%).

  • Of those, Bio-Formats fully or partially converts 23 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Zeiss LMS format reader:

Total supported: 23

Total unknown or missing: 453

ZeissLSMReader

This page lists supported metadata fields for the Bio-Formats Zeiss Laser-Scanning Microscopy format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 101 of them (21%).

  • Of those, Bio-Formats fully or partially converts 101 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Zeiss Laser-Scanning Microscopy format reader:

Total supported: 101

Total unknown or missing: 375

ZeissTIFFReader

This page lists supported metadata fields for the Bio-Formats Zeiss AxioVision TIFF format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Zeiss AxioVision TIFF format reader:

Total supported: 19

Total unknown or missing: 457

ZeissZVIReader

This page lists supported metadata fields for the Bio-Formats Zeiss Vision Image (ZVI) format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Zeiss Vision Image (ZVI) format reader:

Total supported: 19

Total unknown or missing: 457

ZipReader

This page lists supported metadata fields for the Bio-Formats Zip format reader.

These fields are from the OME data model. Bio-Formats standardizes each format’s original metadata to and from the OME data model so that you can work with a particular piece of metadata (e.g. physical width of the image in microns) in a format-independent way.

Of the 476 fields documented in the metadata summary table:
  • The file format itself supports 19 of them (3%).

  • Of those, Bio-Formats fully or partially converts 19 (100%).

Supported fields
These fields are fully supported by the Bio-Formats Zip format reader:

Total supported: 19

Total unknown or missing: 457

Grouping files using a pattern file

Individual files can be grouped together into a single fileset using a pattern file. This works for any single-file format that Bio-Formats supports, as long as all files are in the same format. It is most useful for sets of TIFF, JPEG, PNG, etc. files that do not have any associated metadata.

All files to be grouped together should be in the same folder. The pattern file should be in the same folder as the other files; it can have any name, but must have the .pattern extension. The pattern file is what must be opened or imported, so it may be helpful to give it a descriptive or easily-recognizable name.

The pattern file contains a single line of text that is specially formatted to describe how the files should be grouped. The file can be created in any text editor.

The text in the pattern file can take one of several forms. To illustrate, consider a folder with the following file names:

red.tiff
green.tiff
blue.tiff
test_Z0_C0.png
test_Z1_C0.png
test_Z0_C1.png
test_Z1_C1.png
test_Z0_C2.png
test_Z1_C2.png
test_Z00.tiff
test_Z01.tiff

A pattern file that groups red.tiff, green.tiff, and blue.tiff in that order would look like:

<red,green,blue>.tiff

A pattern that groups test_Z0_C0.png, test_Z1_C0.png, test_Z0_C2.png, and test_Z1_C2.png:

test_Z<0-1>_C<0-2:2>.png

The <> notation in general can accept a single literal value, a comma-separated list of literal values, a range of integer values, or a range of integer values with a step value greater than 1 (the range and step are separated by :). Note that inverting the values in a range (e.g. <2-0>) is not supported and will cause an exception to be thrown.

The characters immediately preceding the < can affect which dimension is assigned to the specified values. The values will be interpreted as:

  • channels, if c, ch, w, or wavelength precede <

  • timepoints, if t, tl, tp, or timepoint precede <

  • Z sections, if z, zs, sec, fp, focal, or focalplane precede <

  • series, if s, sp, or series precede <

Note that the listed dimension specifier characters are case insensitive. A separator character (underscore or space) must precede the dimension specifier if it is not at the beginning of the filename. In the above example, 2 Z sections and 2 out of 3 channels would be detected according to the dimension specifiers.

Leading zeros in the integer values must be specified. To group test_Z00.tiff and test_Z01.tiff:

test_Z<00-01>.tiff

or:

test_Z0<0-1>.tiff

Note that this pattern would not group the files correctly:

test_Z<0-1>.tiff

A pattern file that groups all PNG files beginning with test_ would look like:

test_.*.png

This and most other Java-style regular expressions can be used in place of the <> notation above. See the java.util.regex.Pattern Javadoc for more information on constructing regular expressions.

Additional reader and writer options

Some readers and writers have additional options which can be used to inform how Bio-Formats reads or writes files in that format.

Reader options

Format name

Option

Default

Description

cellSens VSI

cellsens.fail_on_missing_ets

false

Throw an exception if an expected associated .ets file is missing

Gatan Digital Micrograph

gatan.split_montage

true

Split montage image tiles across multiple planes

Leica LAS AF LIF (Leica Image File Format)

leicalif.old_physical_size

false

Ensure physical pixel sizes are compatible with versions <= 5.3.2

Nikon NIS-Elements ND2

nd2.chunkmap

true

Use chunkmap table to read image offsets

Olympus ScanR

scanr.skip_missing_wells

true

Ignore missing wells

OME-TIFF

ometiff.fail_on_missing_tiff

true

Fail if a missing file is detected in a partial dataset

Ventana BIF

ventana.split_tiles

false

Report each tile as a separate series

Zeiss CZI

zeissczi.attachments

true

Include attachment images

Zeiss CZI

zeissczi.autostitch

true

Automatically stitch tiled images

Zeiss CZI

zeissczi.trim_dimensions

false

Trim XY dimensions to match those in ZEN

Zeiss CZI

zeissczi.relative_positions

false

Use pixel position instead of the physical stage position

CV7000

cv7000.duplicate_missing_planes

true

If set any missing planes will be replaced by the first plane in the channel. When set to false a blank plane will be returned.

Aperio SVS TIFF

svs.remove_thumbnail

true

If set the thumbnail image (if present) will not be available, and in particular will not be included in the pyramid. When set to false, the thumbnail image will be available for compatibility with versions <= 7.1.0.

Usage

Reader options can be used via the command line with showinf -option, in ImageJ via the configuration window, or via the API using the DynamicMetadataOptions class.

Writer options

Format name

Option

Default

Description

OME-TIFF

ometiff.companion

None

If set, OME-XML will be written to a companion file with a name determined by the option value

OME-TIFF

ometiff.preserve_creator

false

If set to false, the OME-XML Creator attribute will be updated to include the current Bio-Formats version. This will overwrite any existing Creator in the input metadata. If set to true, the Creator attribute will only be updated if it wasn’t previously set; any existing value will be preserved.

OME-XML

omexml.preserve_creator

false

If set to false, the OME-XML Creator attribute will be updated to include the current Bio-Formats version. This will overwrite any existing Creator in the input metadata. If set to true, the Creator attribute will only be updated if it wasn’t previously set; any existing value will be preserved.

DICOM

dicom.dual_personality

true

If set to true, DICOM files will be written as dual-personality DICOM/TIFF files which include TIFF metadata as described in Clunie DA. Dual-Personality DICOM-TIFF for Whole Slide Images: A Migration Technique for Legacy Software. J Pathol Inform. 2019 Apr 3;10:12. doi: 10.4103/jpi.jpi_93_18. PMID: 31057981; PMCID: PMC6489422.. If set to false, the writing of DICOM files will revert back to the original plain DICOM files

Usage

Writer options can be used via the command line using bfconvert -option, or via the API using the DynamicMetadataOptions class.

Version history

7.3.0 (2024 April)

File format fixes and improvements:

  • CellSens VSI
    • fixed an exception in CellSens 4.1 data by updating the handling of orphaned ets files (thanks to Edward Scanlon)

  • DICOM
    • updated handling of nested sequences that include pixel data

    • removed a duplicate enum check in the DICOM writer

  • OME-XML
    • reading an OME-XML file now populates the original metadata table

  • PerkinElmer Columbus
    • added support for reading data with Z stacks (thanks to Tim Blackmore)

  • Prairie Technologies TIFF
    • improved type checking for Prairie files

  • SimplePCI
    • fixed handling of Z position metadata

Bio-Formats improvements:

  • Bio-Formats is now compatible with Java 21 builds

  • added a new quality option to bfconvert which enables the setting of the compression quality to be used.

  • when using the channel option in bfconvert, the unselected channels are now correctly removed from the OME-XML metadata

  • added coverage of Apple M1 as part of the CI process

  • added coverage of Java 21 builds as part of the CI process

Component updates:

  • ome-jai was upgraded to 0.1.4

  • ome-stubs was upgraded to 6.0.2

  • ome-mdbtools was upgraded to 5.3.3

  • ome-common was upgraded to 6.0.22

  • ome-poi was upgraded to 5.3.9

  • ome-metakit was upgraded to 5.3.7

  • ome-codecs was upgraded to 1.0.3

  • ome-xml was upgraded to 6.3.6

  • specification was upgraded to 6.3.6

Documentation improvements:

  • fixed a number of broken external links

  • documented the new quality option in bfconvert

7.2.0 (2024 February)

File format fixes and improvements:

  • Aperio SVS
    • improved detection of label and macro images

    • thumbnails are now removed by default

    • added a new reader option svs.remove_thumbnail to control the thumbnail behaviour. By default the option is true and thumbnails are removed. Setting the option to false will restore the previous behavior and include thumbnails

  • Imaris HDF
    • channel names are now correctly populated

  • Olympus OIR
    • fixed an issue with channel ordering

    • prevent certain pixel blocks from being incorrectly skipped

  • TIFF
    • dimension order is now marked as certain if metadata is read from ImageJ tag

  • Zeiss CZI
    • improved well column indexing by using alternate sources for well identifiers when available

    • improved image naming, particularly for attachments

    • fixed a bug so that opening CZI compressed with ZSTD now allows access to pyramid levels (thanks to Stephan Wagner-Conrad)

    • fixed an integer arithmetic problem when calculating pyramid scales (thanks to Stephan Wagner-Conrad)

Bio-Formats improvements:

  • JPEG handling no longer fails for non 4:4:4 JPEG (thanks to Can Gokhan Dogan)

  • fixed a bug in the Bio-Formats Plugins configuration window when toggling the Nikon ND2 chunkmap option

  • updated testing to add an additional check for image names when resolutions are not flattened

Documentation improvements:

  • fixed a number of broken external links

7.1.0 (2023 December)

API Additions

  • ICompressedTileReader
    • a new interface allowing for the reading of compressed bytes without decompression. Currently only implemented by the SVSReader

  • ICompressedTileWriter
    • a new interface allowing for the writing of precompressed bytes. Currently only implemented by the DICOM Writer

  • IExtraMetadataWriter
    • a new interface enabling extra supplemental metadata to be set for inclusion in a writer. Currently only implemented by the DICOM Writer

File format fixes and improvements:

  • Aperio SVS
    • added implementation for the reading of compressed data without decompression using the new ICompressedTileReader interface

  • cellSens VSI
    • fixed handling of uncompressed BGR data

  • CV7000
    • action index is now included in the channel name

    • Fluor will now be set on Channel when possible

    • for missing planes the default behavior has switched from returning a blank plane to returning the first plane in the channel

    • added a new reader option cv7000.duplicate_missing_planes to control the behavior for missing planes

  • DICOM
    • added implementation for the writing of precompressed data using the new ICompressedTileWriter interface

    • added implementation for the writing of extra supplemental metadata data using the new IExtraMetadataWriter interface. Extra metadata can be provided in the form of a .json file

    • This functionality was implemented through collaboration between Glencoe Software and NCI Imaging Data Commons, and has been funded in whole or in part with Federal funds from the National Cancer Institute, National Institutes of Health, under Task Order No. HHSN26110071 under Contract No. HHSN2612015000031.

  • Photoshop TIFF
    • fixed plane reading with memoization

Bio-Formats improvements:

  • fixed handling of JPEG Turbo service when the native library cannot be loaded, most notably for Apple Silicon instances. An IOException will now be thrown by readers that require the library but the RunTimeException introduced in 7.0.1 will no longer be thrown when the library is not required

  • prevented unnecessary Lurawave debug error being printed (thanks to Can Gokhan Dogan)

  • updated license headers for all Java sources of the OME-XML library

  • added a new codec option disableChromaSubsampling along with implementation for the JPEG Codec (thanks to Peter Haub)

  • updated github actions checkout version to v4 and build release on ubuntu 22.04

  • json dependency moved from formats-gpl to formats-bsd

  • TiffSaver now generates valid 4-channel RGBA images (thanks to Can Gokhan Dogan)

  • added a new ` precompressed` option to the bfconvert tool, enabling the conversion of precompressed tiles. Currently only supported for converting from SVS to DICOM.

  • added a new ` extra-metadata` option to the bfconvert tool for providing supplemental metadata during conversion. Currently only supported for writing to DICOM

Component updates:

  • slf4j-api was upgraded to 2.0.9

  • logback-classic was upgraded to 1.3.14

  • logback-core was upgraded to 1.3.14

  • xalan was upgraded to 2.7.3

  • com.google.guava was upgraded to 32.0.0-jre

  • json was upgraded to 20230227

  • ome-common was upgraded to 6.0.21

  • ome-model was upgraded to 6.3.4

  • ome-codecs was upgraded to 1.0.1

  • ome-poi was upgraded to 5.3.8

  • ome-metakit was upgraded to 5.3.6

Documentation improvements:

  • fixed a number of broken external links

  • updated the bfconvert instructions to document new options

  • added a new link for the external Bioformats.NET project

7.0.1 (2023 October)

File format fixes and improvements:

  • Amersham Biosciences Gel
    • improved format detection

  • Aperio SVS
    • fixed a NullPointerException when attempting to read the magnification metadata

    • physical sizes and positions are now calculated for full resolution label and macro images

    • fixed a regression from Bio-Formats 6.8.0 which saw label and macro images incorrectly indexed

  • DICOM
    • the DICOM writer will now throw an exception if the provided tiles don’t match the expected tile size

  • Gatan DM3
    • fixed a StringIndexOutOfBoundsException when parsing acquisition mode

  • Hamamatsu NDPI
    • corrected for potential integer overflow in stored restart marker tag

  • IVision
    • improved the version and data type checks in isThisType

  • Leica LIF
    • improved the exception handling if no images are found

  • Olympus OIR
    • fixed issue with XML block reading that resulted in missing pixel blocks

  • OME-TIFF
    • reader will now fail fast and throw a FormatException if an invalid file is found

  • TIFF
    • a FormatException is now thrown for unsupported 64-bit int data

    • for all TIFF based formats the IFD entry offset is now checked before seeking

  • TillVision
    • improved metadata parsing and detection of .pst files

  • Ventana
    • fixed tile arithmetic for smallest resolutions

  • Zeiss CZI
    • unified channel color parsing so that retrieving lookup tables now allows RGB and ARGB colors

Bio-Formats improvements:

  • URLHandle will fall back to resetting stream if resetting to a mark fails

  • an exception will now be thrown if the TurboJPEG library fails to load (thanks to Can Gokhan Dogan)

  • fixed a Bio-Formats plugin bug when attempting to export a file after reducing the range of channels

  • reviewed and updated a number of file headers

  • updated GitHub Actions from checkout v2 to v3

Component updates:

  • ome-common was upgraded to 6.0.20

Documentation improvements:

  • fixed a number of broken external links

  • updated the link to OME Model documentation

  • migrated readthedocs configuration to version 2

7.0.0 (2023 August)

Removal of deprecated components:

  • Legacy ND2 Reader
    • The LegacyND2Reader and underlying components have been removed. This reader depended on an outdated DLL which had not been built in years, was untested and fully superseded by the new NativeND2Reader. The existing NativeND2Reader has been renamed as ND2Reader and now acts as the sole reader for the format. Support for the ND2 format will be unaffected and continue via this newly renamed reader.

  • Legacy QuickTime
    • The LegacyQT Reader, Writer and Tools have been removed. These classes depended on the external QuickTime for Java library which is long obsolete. The existing NativeQTReader has been renamed as QTReader and support for QuickTime is now limited to non legacy readers and writers.

  • LuraWave Codec
    • The LuraWave Codec along with the LuraWaveService and associated components have been removed and are no longer supported. This codec was dependent on a third-party proprietary library with a license code. This may impact LuraWave compressed files for the Opera Flex format.

  • Woolz
    • The Woolz Reader, Writer and Service have been removed and are no longer supported. The reader and writer are untested and rely on an underlying library which has an unclear maintenance status.

File format fixes and improvements:

  • DICOM
    • support has been added for the writing dual-personality of DICOM/TIFF. The DICOM writer will now, by default, include TIFF metadata as described in https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6489422/. These new dual-personality files can be read either by the DICOM reader or can also be recognised as TIFF. A new option named dicom.dual_personality has been added to the DicomWriter. Setting this new option to false will revert writing of DICOM files back to the original plain DICOM files. This functionality was implemented through collaboration with NCI Imaging Data Commons, and has been funded in whole or in part with Federal funds from the National Cancer Institute, National Institutes of Health, under Task Order No. HHSN26110071 under Contract No. HHSN2612015000031.

  • PerkinElmer Opera Flex
    • reader will now ignore files in which the compression cannot be identified

  • PerkinElmer Operetta
    • fixed an exception when reading null planes (thanks to Nicolas Chiaruttini)

Component updates:

  • ome-common was upgraded to 6.0.19

  • ome-stubs was upgraded to 6.0.1

  • ome-codecs was upgraded to 1.0.0

  • native-lib-loader was upgraded to 2.4.0 (thanks to Can Gokhan Dogan)

Documentation improvements:

  • fixed a number of broken links

6.14.0 (2023 July)

Deprecation warnings:

  • Legacy ND2 Reader
    • The LegacyND2Reader and underlying components have been marked as deprecated in preparation for removal in the upcoming 7.0.0 major release of Bio-Formats. This reader depends on an outdated DLL which has not been built in years, is untested and fully superseded by the new NativeND2Reader. From Bio-Formats 7.0.0 onwards the existing NativeND2Reader will be renamed as ND2Reader and act as the sole reader for the format. Support for the ND2 format will be unaffected and continue via this newly renamed reader

  • Legacy QuickTime
    • The LegacyQT Reader, Writer and Tools have been marked as deprecated in preparation for removal in the upcoming 7.0.0 major release of Bio-Formats. These classes depended on the external QuickTime for Java library which is long obsolete. From Bio-Formats 7.0.0 onwards the existing NativeQTReader will be renamed as QTReader and support for QuickTime will be limited to non legacy readers and writers.

  • LuraWave Codec
    • The LuraWave Codec along with the LuraWaveService and associated components have been marked as deprecated in preparation for removal in the upcoming 7.0.0 major release of Bio-Formats. This codec depends on a third-party proprietary library with a license code. Opera Flex is the format that is most likely to be impacted by this change.

  • Woolz
    • The Woolz Reader, Writer and Service have been marked as deprecated in preparation for removal in the upcoming 7.0.0 major release of Bio-Formats. The reader and writer are untested and rely on an underlying library which maintenance status is unclear

File format fixes and improvements:

  • CV7000/CV8000
    • updated CV7000 isThisType test to improve performance by skipping extended type checking

    • reader now handles the use case where wells are recorded, but all files were removed

    • fixed channel indexing in scenarios where more channels are defined than acquired

  • ICS (Image Cytometry Standard)
    • fixed an Illegal group reference exception when constructing slice label

  • KLB (Keller Lab Block)
    • fixed a bug with the reading of image planes in Z stacks

  • MicroManager
    • updated handling of truncated files to prevent possible infinite loop and throw an exception

Bio-Formats improvements:

  • updated handling of exceptions in Bio-Formats plugins to ensure readers are closed

  • updated list of external readers to include new external ZeissQuickStartCZIReader (thanks to Nicolas Chiaruttini)

  • updated top-level Git mailmap to normalize commit author variants

  • added a new bf-unconfigured tool to the Bio-Formats toolbox. The new tool lists classes which are not configured for testing as part of format reader tests

  • replaced use tt tag in java docs with code tag

Documentation improvements:

  • fixed a number of broken links

  • migrated OME-Model documentation to Read the Docs

  • added deprecation warnings to format pages of the affected components

Component updates:

  • ome-common was upgraded to 6.0.17

6.13.0 (2023 April)

File format fixes and improvements:

  • Aperio SVS
    • removed broken special case path when there is only one (pyramidal) image (thanks to Alexandr Virodov)

  • Bio-Rad Gel
    • fixed pixel data offsets for cropped images

  • cellSens VSI
    • improved tile decoding to fail faster on invalid tiles

  • CellWorX/MetaXpress
    • fixed a bug when retrieving channel metadata when the files for the entire first field are missing

  • CV7000
    • extra folders mixed in with the plate data will now be ignored

    • corrected channel indexing if a subset of channels was acquired

  • Lambert Instruments FLIM
    • added support for Fli 2.0 (thanks to Shaquille Louisa - Lambert Instruments)

  • MetaMorph
    • prevented an exception when attempting to read metadata keys that don’t exist

  • MetaMorph TIFF
    • fixed a NullPointerException when there are missing stage positions

  • MRC
    • the IMOD flag is now used to determine int8 or uint8 pixel type

  • NIFTI
    • improved the performance for gzip-compressed files by reducing the number of backwards seeks

  • Nikon ND2
    • fixed an exception when reading blocks greater than 2GB

  • OME-TIFF
    • file paths are now normalized rather than resolving symlinks

  • Perkin Elmer Operetta
    • fixed series validation for single plane images (thanks to Alex Herbert)

  • Zeiss CZI
    • improved the tile stitching when a pyramid does not exist

Bio-Formats improvements:

  • added a new writer option preserve_creator for OME-TIFF and OME-XML writers. When set to true the original OME/Creator attribute will be preserved by the writer. If set to false, the OME Creator attribute will be updated to include the current Bio-Formats version. Attribute is set to false by default.

  • enabled the configuration of the fill value for undefined pixel values through new API additions to IFormatReader. Two new methods (along with default implementations) have been added for setFillColor(Byte color) and Byte getFillColor(), the default value if undefined is 0.

  • added a new -fill option to the command line tools, allowing a byte value to be configured for use with undefined pixels (0-255)

  • enabled the configuration of JPEG quality in the JPEGCodec using the existing quality setting on CodecOptions (thanks to Peter Haub)

  • improved JPEG performance by using in-memory cache in JPEGCodec (thanks to Pete Bankhead)

  • made minor API updates to Memoizer to allow a null reader to be specified in the constructors, in which case a new ImageReader will be wrapped

  • prevented file leaks in FileStitcher by closing readers when setting the class list

  • fixed exceptions in FileStitcher when a no-op file pattern is encountered

  • updated GitHub Actions release process

Documentation improvements:

  • updated the format page for MRC to clarify list of developers and add links to latest specifications

  • added new developer documentation pages for Bioconductor RBioFormats

  • corrected one of the examples in the OME-TIFF specification page (thanks to Tom Boissonnet)

  • updated the list of writer options to add documentation for new preserve_creator options

  • updated the list of command line tools options to add documentation for new fill option

  • version history and bug reporting are now linked from the main documentation page

  • fixed a number of broken links

  • updated the Li-Flim format page to add supported versions

Component updates:

  • ome-common was upgraded to 6.0.16

  • ome-model was upgraded to 6.3.3

  • ome-codecs was upgraded to 0.4.5

  • imagej1 was upgraded to 1.54c

  • json was upgraded to 20230227

  • kryo was upgraded to 5.4.0

  • snakeyaml was upgraded to 2.0

  • joda-time was upgraded to 2.12.2

  • guava was upgraded to 31.1-jre

  • jackson-annotations was upgraded to 12.14.2

  • jackson-databind was upgraded to 12.14.2

6.12.0 (2023 February)

File format fixes and improvements:

  • Lambert Instruments FLIM
    • added support for MSB 12 to 16 bit conversion (thanks to Shaquille Louisa - Lambert Instruments)

  • Olympus cellSens VSI
    • corrected tile handling to respect tile origin metadata

    • pixel data will now only be read from ets files with the prefix frame_ (funded by a partnership between Glencoe Software and Evident Scientific)

  • Perkin Elmer Operetta/Harmony
    • plates containing 32-bit TIFF files will now return blank planes

  • Zeiss CZI
    • fixed pyramid dimension calculation

Bio-Formats improvements:

  • implemented full Java 17 support for Bio-Formats

  • logback dependencies are now optional as per the SLF4J best practices (thanks to Curtis Rueden)
    • downstream consumers must now declare the specific SLF4J binding they wish to use

  • CI build matrix updated to use Java versions 8, 11 and 17

  • ant tasks switched to use Maven Artifact Resolver

  • fixed a bug when decompressing using the Base64Codec

  • added a new ImageJ macro example to Bio-Formats examples

  • FakeReader now ensures correct dimension order for RGB image

  • added new unit tests for FakeReader

  • fixed min/max calculation for RGB data

  • artifacts from the GitHub Actions build are now uploaded and archived for 30 days

  • release artifacts are now generated via GitHub Actions

  • fixed a number of small issues in OME-Model (thanks to Roger Leigh)

Documentation improvements:

  • migrated Bio-Formats documentation to Read the Docs

  • fixed and updated a number of links in documentation

  • updated OME-Model links to comply with Sphinx 5 deprecation warnings

  • updated GitHub Actions set-output to comply with deprecation warnings

  • updated OME-TIFF documentation to add links to new sample dataset BBBC017

Component updates:

  • ome-metakit was upgraded to 5.3.5

  • ome-common was upgraded to 6.0.14

  • ome-codecs was upgraded to 0.4.4

  • ome-model was upgraded to 6.3.2

  • jackson-annotations was upgraded to 12.14.1

  • jackson-databind was upgraded to 12.14.1

  • aircompressor was upgraded to 0.21

6.11.1 (2022 December)

File format fixes and improvements:

  • 3i SlideBook 7
    • refactored code to remove a false positive threat report in Fortinet

  • DICOM
    • fixed handling of some datasets with multiple optical paths

  • Leica SCN
    • fixed colour correction for datasets from SCN 400 models

  • Olympus cellSens VSI
    • corrected the handling of exposure times

  • TIFF
    • handle REFERENCE_BLACK_WHITE tag as an array of floats or ints

  • Vectra QPTIFF
    • biomarker data in channel name will now be preserved

  • Zeiss CZI
    • added support for plates with multiple fields

Bio-Formats improvements:

  • updated the output command for GitHub actions

Documentation improvements:

  • fixed a number of broken links

  • added a link to public sample files for Olympus-FluoView

Component updates:

  • snakeyaml was upgraded to 1.3.2

6.11.0 (2022 October)

File format fixes and improvements:

  • Amira Mesh
    • fixed handling of files with empty key values

  • InCell 1000/2000
    • improved calculation of plane count

  • Nikon NIS-Elements ND2
    • fixed handling of chunk map skipping logic

  • Olympus FluoView FV1000
    • fixed an exception when parsing double values in the metadata

  • OME-TIFF
    • improved initialization performance for files with a large number of planes

    • enabled individual file reading for datasets with one file per series

  • SimplePCI & HCImage
    • fixed physical size calculation to make use of magnification value

  • TIFF
    • implemented Zstandard decompression for Tiff formats (thanks to Willem Pomp)

Bio-Formats improvements:

  • updated pattern file handling to support a single file wrapped in a pattern file

  • Bio-Formats plugin now closes underlying readers after an exception

  • contrast will be retained when using VirtualImagePlus in the Bio-Formats plugin (thanks to Tomas Farago)

  • fixed overwrite checking in bfconvert tool when output path is a pattern

Documentation improvements:

  • fixed a number of broken links

  • updated test image documentation to add note on on setting fake file channel colors

  • added new public sample files for Olympus-FluoView

  • updated OME-TIFF sample files for BBBC017

Component updates:

  • ome-codecs was upgraded to 0.4.1

  • snakeyaml was upgraded to 1.3.1

6.10.1 (2022 August)

File format fixes and improvements:

  • Hamamatsu NDPI
    • fixed handling of non number tags for files greater than 4GB in size

  • OME-TIFF
    • improved performance of initializing a single file OME-TIFF datasets with a larger number of series

  • TIFF (Tagged Image File Format)
    • fixed a ClassCastException when the SubfileType tag has the wrong type

  • Zeiss CZI
    • scene names will now be taken into account when generating image names

Documentation improvements:

  • fixed a number of broken links

Component updates:

  • ome-common was upgraded to 6.0.13

  • ome-poi was upgraded to 5.3.7

  • slf4j was upgraded to 1.7.30

  • metadata-extractor was upgraded to 2.18.0

6.10.0 (2022 May)

New file formats:

  • Slidebook 7
    • added support for reading SlideBook Format 7 from SlideBook 2021 This functionality was implemented and contributed by Intelligent Imaging Innovations

File format fixes and improvements:

  • CellWorX / MetaXpress
    • channel metadata will now be preserved for all channels by reading from each file

  • Cellomics
    • marked the private Pattern field as transient to fix memo file generation with JDK17

  • DeltaVision
    • fixed detection of incorrect XY tile counts

  • Hitachi S-4800
    • enhanced format recognition and identification of datasets

    • corrected the units for physical sizes to nanometers instead of micrometers

  • Nikon NIS-Elements ND2
    • improved metadata parsing, especially for objective data, timestamps, and exposure times

  • PerkinElmer Operetta
    • improved checks for invalid TIFFs and supplemental metadata files

    • updated image names to make well names more readable

  • TIFF (Tagged Image File Format)
    • fixed incorrect SampleValue metadata values

  • Vectra QPTIFF
    • reader has been updated to support schema version 4

    • funded by a partnership between Glencoe Software and Akoya Biosciences.

Bio-Formats improvements:

  • updated automated testing to ensure files are initialized before all tests

Documentation improvements:

  • fixed broken link in MIPAV documentation

  • updated logback component version in developer docs

  • updated link to View5D software

  • added a new format page for Slidebook 7

Component updates:

  • ome-metakit was upgraded to 5.3.4

  • ome-common was upgraded to 6.0.9

  • ome-model was upgraded to 6.3.1

  • ome-poi was upgraded to 5.3.6

  • ome-codecs was upgraded to 0.3.2

  • logback-core was upgraded to 1.2.9

  • logback-classic was upgraded to 1.2.9

  • xercesImpl was upgraded to 2.12.2

  • xml-apis was upgraded to 1.4.01

  • snakeyaml 1.29 was added as a dependency

6.9.1 (2022 April)

File format fixes and improvements:

  • DeltaVision
    • allowed partial planes to be read from truncated files

  • MetaMorph
    • fixed a NumberFormatException when parsing double values in metdata

  • OME-TIFF
    • performance improvements to reduce the number of open file handles during initialization

  • PerkinElmer Operetta
    • performance improvements to speed up the reading of datasets (thanks to Nicolas Chiaruttini)

  • Zeiss CZI
    • switched to a white background for brightfield data to better match Zeiss Zen software

  • Zeiss LSM
    • fixed a bug that resulted in an incorrect pixel type for some floating point data

Bio-Formats improvements:

  • removed the maven deploy step from workflows in forked repositories

  • upgraded cdm dependency from 4.6.13 to cdm-core 5.3.3

  • configurable sleep time in FakeReader moved to the end of initialization

Documentation improvements:

  • DICOM format page updated with improved links for sample datasets, software, and specification

  • updated guidelines for submitting sample datasets

6.9.0 (2022 February)

New file formats:

  • Leica LOF
    • added support for reading Leica LOF files. This functionality was implemented and contributed by Leica Microsystems

  • Leica XLEF
    • added support for reading Leica XLEF files. This functionality was implemented and contributed by Leica Microsystems

File format fixes and improvements:

  • FEI TIFF
    • fixed parsing of physical pixel sizes for Phenom data

  • Imspector OBF
    • improved handling of deflate errors when opening older OBF files (thanks to Nils Gladitz)

  • JPEG
    • performance improvements to reduce memory required to read tiles from large JPEGs

  • Leica LIF
    • improved parsing of channel metadata (thanks to Zach Marin)

  • Nikon NIS-Elements ND2

    -improved parsing of metadata tables with invalid characters

  • OME-TIFF
    • performance improvements of tile read speeds for some pyramid OME-TIFFs

  • PerkinElmer Operetta
    • enabled support for handling sparse planes

Bio-Formats improvements:

  • added new API methods to FormatTools for creating well names

  • added a swap option to bfconvert to override input dimension order (thanks to Roberto Calabrese)

Documentation improvements:

  • new public sample files for Leica XLEF (thanks to Leica Microsystems)

  • added documentation for using the swap option with the command line tools

  • updated the process for contributing sample files via Zenodo

  • updated the link to NDP.view2 software on the Hamamatsu ndpi format page

6.8.1 (2022 January)

File format fixes and improvements:

  • Aperio SVS / Aperio AFI
    • improved handling of macro and label images when no image description is present

  • cellSens VSI
    • added support for physicalSizeZ metadata

  • Gatan Digital Micrograph DM4
    • fixed a FormatException when encountering null values in the metadata

Bio-Formats improvements:

  • fixed a bug in TiffSaver which could result in an invalid TIFF when saving a file with tiling and compression (thanks to Pete Bankhead)

  • made performance improvements to TIFF reading and writing (thanks to Pete Bankhead)

Security improvements:

  • Updated use of the git:// protocol in POM as it has now been deprecated. See the GitHub blog post for further details

  • Removed the loci_tools from Bio-Formats builds due to log4j vulnerability, users should instead use bioformats_package. See the OME security advisory for further details

6.8.0 (2021 December)

New file formats:

  • DICOM
    • added support for reading and writing DICOM whole slide images (DICOM WSI format). This functionality was implemented through collaboration with NCI Imaging Data Commons, and has been funded in whole or in part with Federal funds from the National Cancer Institute, National Institutes of Health, under Task Order No. HHSN26110071 under Contract No. HHSN2612015000031

  • Olympus omp2info
    • Added a new reader for the Olympus tile format provided through a partnership with Glencoe Software and OLYMPUS EUROPA SE & Co. KG

File format fixes and improvements:

  • Amira Mesh
    • added support for Amira 3.0 keys

  • Aperio SVS / Aperio AFI
    • improved handling of macro and label images

  • AVI (Audio Video Interleave)
    • set fps from Pixels Time Increment when writing AVI files

  • Nikon NIS-Elements ND2
    • updated parsing of newer ND2 files to resolve issues with incorrect dimensions(thanks to Ilya Parmon)

  • Olympus OIR
    • fixed a Null Pointer Exception for Laser Data ID

  • OME-TIFF
    • fixed handling of partial datasets

    • added a new reader option ometiff.fail_on_missing_tiff to configure behaviour of partial dataset

  • PerkinElmer Operetta
    • added support for Phenix v6 data

  • TIFF
    • fixed non-sequential offset correction for TIFF files between 2 and 4 GB

  • Zeiss CZI
    • added support for zstd compression. This feature will require FIJI users to additionally download the dependency io.airlift.aircompressor 0.18. (funded by a partnership between Glencoe Software and ZEISS)

Bio-Formats improvements:

  • updated the ordering of reader.txt

  • bfconvert tool updated to use multiple of tile size granularity when writing (thanks to Jeremy Muhlich)

  • added a new no-sequential option to enable writing in non sequential order

Component updates:

  • jhdf5 was upgraded to 19.04.0

  • commons-lang 2.6 was added as a dependency

  • aircompressor 0.18 was added as a dependency

Documentation improvements:

  • updated page for using Bio-Formats in Python to add links for AICSImageIO and PyImageJ (thanks to Curtis Rueden)

6.7.0 (2021 August)

File format fixes and improvements:

  • cellSens VSI
    • corrected offset checking to prevent seeking beyond EOF

  • Deltavision
    • fixed a bug which resulted in an IndexOutOfBoundsException

  • Hamamatsu ndpis
    • added support for channel names from NDP Shading Data

  • Nikon NIS-Elements ND2
    • improved parsing of timestamp values (thanks to Ilya Parmon)

    • improved parsing of channel names and colors

  • Olympus FluoView FV1000
    • fixed a bug with the handling of filter indexes

  • OME-TIFF
    • resolution annotations now removed when resolutions are flattened

    • fixed handling of filesets with BinaryOnly across multiple folders

  • PerkinElmer Operetta
    • channel colors now populated using emission wavelength

  • TIFF
    • added support for Deflate compressed tiles/strips with lsb2msb order

    • prioritised units from TIFF tag over those from ImageJ comment

  • Zeiss CZI
    • plates will now be correctly detected

    • added a new reader option zeissczi.relative_positions which when set to true will change the PositionX and PositionY values stored in OME-XML to the pixel position instead of the absolute physical stage position

    • added a new reader option zeissczi.trim_dimensions which when set to true will use the pixel block metadata to trim XY dimensions to match those reported in ZEN

Bio-Formats improvements:

  • the pattern reader now supports populating channel names from pattern tokens

  • the channel filler will correctly reset bits per pixel if a lookup table is applied

  • existing reader options are now registered in getAvailableOptions command

  • improved performance of OME-XML validation (thanks to Nils Gladitz)

  • added unit tests for the upgrade of custom attributes in OME-XML transforms

Documentation improvements:

  • updated link to a 2005 publication about the OME data model

  • bumped low level components logback-core and logback-classic to 1.2.0

  • updated the licensing for BDV, KLB and CellH5 readers to BSD

  • added documentation for additional reader options

  • fixed a number of broken links

The below have been relicensed under the more permissive BSD-2 clause:

  • Big Data Viewer reader

  • Keller Lab Block reader

  • CellH5 reader

  • JHDF service

  • Bio-Formats GNU Octave package

  • Bio-Formats MATLAB functions

Component updates:

  • ome-model was upgraded to 6.2.3

  • ome-common was upgraded to 6.0.7

  • ome-poi was upgraded to 5.3.4

  • ome-codecs was upgraded to 0.3.1

  • ome-metakit was upgraded to 5.3.3

  • logback was upgraded to 1.2.0

6.6.1 (2021 March)

File format fixes and improvements:

  • CV7000
    • fixed the channel-wise ordering of planes. The implementation changes to channel mapping will require existing memo files to be regenerated for CV7000 datasets

  • Hamamatsu NDPIS
    • transmittance values will now be used to pick valid channels if no wavelength present

  • Leica SCN
    • updated position units from reference frame to nm

    • original metadata now populated correctly for all series

  • MetaMorph Stack
    • support added for parsing NDInfoFile Version to determined correct file suffix

    • improved detection of companion binary files

  • MetaXpress
    • improved detection of thumbnail paths

  • Nikon NIS-Elements ND2
    • made performance improvements to reduce memory usage when reading large datasets

  • Olympus OIR
    • fixed a bug which resulted in blank planes when XML blocks end with CRLF

Documentation improvements:

  • updated bfconvert documentation for using pattern string on Windows (thanks to Nathanael Reveal)

  • added a Fiji usage note to the Tecan Spark Cyto Workspace format page

  • added references to the public Imaris IMS format specification page

Bio-Formats improvements:

  • added support for ChannelName in Fake series tables

6.6.0 (2020 December)

New file formats:

  • Tecan Spark Cyto Workspace
    • Added a new reader for Tecan Spark Cyto workspace files, provided through a collaboration between Tecan Trading and Glencoe Software

File format fixes and improvements:

  • Applied Precision CellWorX / MetaXpress
    • support for CellWorX and MetaXpress has now been split into separate readers

  • BD Pathway
    • plate row and column dimensions now being populated

  • Bitmap
    • fixed offset calculation for files larger than 2 GB

  • Cellomics
    • channel data now being parsed from companion .mdb file

    • corrected Plate/Well/Image mappings for sparse plates

    • plate size now calculated using the maximum row/column index

    • plate row and column dimensions now being populated

  • Gatan Digital Micrograph DM4
    • fixed support for montages with single Z dimensions

  • MetaMorph Stack
    • corrected laser indexes for multi series datasets

  • MIAS (Maia Scientific)
    • plate row and column dimensions now being populated

  • Nikon NIS-Elements ND2
    • fixed a null pointer exception when parsing metadata key value pairs

  • Olympus ScanR
    • added functionality to handle missing wells through a new option scanr.skip_missing_wells. By default the option is set to true and missing wells are skipped

  • Olympus SIS TIFF
    • corrected parsing of pixel size values (thanks to Stephan Wagner-Conrad)

    • removed trailing null byte from imageName and channelName

    • improved formatting of the image reader

  • PerkinElmer Opera Flex
    • plate row and column dimensions now being populated

  • PerkinElmer Operetta
    • updated metadata files logic to skip plate folders

  • PNG (Portable Network Graphics)
    • fixed an issue which resulted in a hanging call to openBytes

  • Zeiss CZI
    • scene number is now correctly padded and indexes begin at 1

  • Zeiss LSM
    • improved handling of cached plane variables

Documentation improvements:

  • added new OME-TIFF plate companion sample files

  • references to image index in the API documentation have been updated to plane index

  • updated various links to follow the LOCI site migration

  • fixed broken Javadoc links

  • removed outdated references to mailing lists

Component updates:

  • ome-model was upgraded to 6.2.2

  • ome-common was upgraded to 6.0.6

  • Memoizer version has been incremented meaning previous memo files are invalidated and will be regenerated

  • kryo dependency updated to 4.0.2

  • Added new sqlite-jdbc version 3.28.0 dependency for the Tecan Spark Cyto Workspace format

Bio-Formats improvements:

  • removed automatic file stitching from format reader tests

  • improved stringency of ChannelName and ImageName testing

  • improved reader detection for image conversion testing

  • reviewed all instances of whitelist/blacklist

  • introduced support for GitHub Actions

  • improved handling of DynamicMetadataOptions on Windows

  • introduced the ability to set metadata options using a .bfoptions file

  • test-suite updated to handle new .bfoptions file

6.5.1 (2020 July)

File format fixes and improvements:

  • Aperio SVS / Aperio AFI
    • fixed a Null Pointer Exception when exposure time is not defined

  • Big Data Viewer
    • corrected series indexes for non flattened multi resolution images

  • Cellomics
    • physical sizes are now set for all series rather than just the first

  • Imspector OBF
    • file format version and stack version are now recorded as part of global metadata

  • MetaMorph
    • improved wavelength parsing using Metamorph XML or original metadata

  • Mikroscan TIFF
    • stricter format recognition now used to prevent erroneous use of the reader

  • Ventana BIF
    • added support for LEFT overlap direction (thanks to Joan Gibert)

  • Zeiss CZI
    • fixed a bug to ensure Channel Illumination Type is not overridden by display settings

Documentation improvements:

  • added link from OME-TIFF page to commercial partners page

  • updated links for Biplane to now use Oxford Instruments

  • fixed a number of broken hyperlinks in documentation

Component updates:

  • jxrlib was upgraded to 0.2.4

Bio-Formats improvements:

  • fixed a bug in bfconvert for multi-series files with varying image sizes

  • removed the logging OMERO IDs passed to FormatReader and ImageReader

6.5.0 (2020 April)

File format fixes and improvements:

  • Big Data Viewer
    • improved performance of tiled reading

  • DeltaVision
    • implemented additional sanity check to header to ensure correct panel count

  • DICOM
    • improved performance of initialization of multi-file datasets. Files spread across multiple directories are now handled by a DICOMDIR file that groups the dataset

  • Imspector OBF
    • added support for OBF Version 6 stacks (thanks to Nils Gladitz)

    • added support for OBF Version 4 stack flush points (thanks to Nils Gladitz)

  • MetaMorph
    • ensured dimension metadata read from tags and/or .nd file rather than allowing the underlying TIFF reader to treat each IFD as a series

  • MetaXpress
    • added support for single site HCS variant

  • Zeiss CZI
    • fixed the position count when only one position is present and the starting index is greater than 0

  • Various Readers
    • reviewed and updated readers to prevent potential cases of integer overflow

OME-Model updates:

  • version of OME-Model has been updated to 6.1.0

  • added support for Python 3.8 and make code-generation Python 3 only (thanks to Roger Leigh)

  • added getters and setters for OME@Creator attribute for ome.xml metadata interfaces and implementations (thanks to Nils Gladitz)

  • removed unmaintained C++ OME-XML implementation (thanks to Roger Leigh)

  • updated code-generation for building on Python 3.6, 3.7 (thanks to Roger Leigh)

  • uncapped the Sphinx version for OME-Model documentation

Documentation improvements:

  • fixed a number of broken links within the documentation

  • added a new format page for MetaXpress

  • added a reference to public OBF sample images in the format page

6.4.0 (2020 March)

File format fixes and improvements:

  • Applied Precision CellWorX
    • added support for multiple Z sections

  • DeltaVision
    • added and updated objective metadata based on values from softWoRx 7.2.0 (thanks to David Pinto)

  • Hamamatsu NDPI
    • added support for JPEG-XR compression

    • added full support for files larger than 4 GB

    • improved support for a number of additional metadata tags

    • the Hamamatsu NDPI reader improvements are provided via work from Glencoe Software Inc.

  • InCell
    • inverted Y coordinate in plane/field positions to correct stitching of tiles

  • PerkinElmer Vectra QPTIFF
    • plane position values will now be populated on OME-XML

  • TIFF
    • values for XPosition and YPosition in original metadata will now be more accurately stored as doubles

    • implemented a fix to prevent integer overflow when reading from a large tile greater than 2 GB

  • Ventana BIF
    • improved handling of physical sizes for pre-stitched TIFFs

  • Zeiss CZI
    • added a fix for uncompressed pixels incorrectly flagged as JPEG-XR

    • fixed a bug so that line-scans are now read correctly (thanks to Stephan Wagner-Conrad)

    • improved parsing of detector metadata

Bio-Formats tools improvements:

  • added a new nobigtiff option to bfconvert to disable automatic switching to BigTiff based upon the number of pixel bytes (TIFF files larger than 4GB). This may be useful when converting using a compression codec so that the output file size is less than 4GB

  • fixed a bug in xmlvalid tool to properly handle lowercasing of file names

  • added new bfGetPlaneAtZCT function to MATLAB toolbox to retrieve a particular plane at a ZCT coordinate (thanks to Mark Kittisopikul)

  • added a new bfTestInRange helper function to MATLAB toolbox with improved performance and error handling (thanks to Mark Kittisopikul)

  • fixed a bug when using bfconvert on multi-series files with only a single timepoint, channel or Z slice selected

Bio-Formats API updates:

  • version of jxrlib has been updated to 0.2.2

  • version of ome-codecs has been updated to 0.3.0 which includes performance upgrades for LZW compression (thanks to Alexander Popiel)

  • moved JPEG-XR codec and service from formats-gpl to formats-bsd component

  • TiffParser and TiffSaver have now been updated to implement Closeable

  • added a documentation note to use one IFD instance per plane with saveBytes in TiffWriter

  • FormatWriter will now create output file’s parent directory if needed

  • FakeReader now allows for DeltaT to be set in INI file

  • FakeReader now handles INI files in plates created by mkfake

  • fixed a number of deprecation warnings in various readers

6.3.1 (2019 December)

File format fixes and improvements:

  • ICS (Image Cytometry Standard)
    • prevented a potential error when writing ICS files with physical units which could not be converted

  • Imspector OBF
    • fixed a bug with incorrect dimensions being parsed for some Imspector OBF files

  • Leica LAS AF LIF (Leica Image File Format)
    • fixed a NullPointerException in some variants of the LIF file format

  • TIFF
    • improved the performance of tiled writing

  • Zeiss CZI
    • fixed issues with tile stitching and position size

Bio-Formats tools improvements:

  • fixed a potential NullPointerException in SpringUtilities for Bio-Formats plugins (thanks to July Chen)

  • updated URL for fetching ImageJ upgrades in ijview

  • fixed the XY coordinates for cropped images in bfconvert

  • fixed a bug when using a cropped multi-series file in bfconvert (thanks to Matthieu Moisse)

  • fixed issues in bfconvert when writing separate tiles with additional options

  • added documentation of tile output patterns to utility help in bfconvert

6.3.0 (2019 October)

File format fixes and improvements:

  • Big Data Viewer
    • added support for parsing of physical sizes

  • DeltaVision
    • added a new RCPNL reader which is a variant and split out of the DeltaVision format

  • Hamamatsu NDPI
    • fixed population of the nominal magnification from the SourceLens TIFF tag

  • ICS (Image Cytometry Standard)
    • fixed a bug when using tiles to read files from SVI-Huygens

  • Imspector OBF
    • fixed an IndexOutOfBoundsException exception when using DummyMetadata (thanks to Nils Gladitz)

  • JPEG 2000
    • added support for sub-resolutions

  • Leica LIF
    • updated to parse attachments to determine if XY positions should be flipped or swapped

  • MetaMorph
    • improved file name construction and plate detection logic

  • Nikon ND2
    • updated to use floating point for 32 bit values

  • OME-TIFF
    • reduced memory usage when reading files and memo file size for cached files

  • PerkinElmer Operetta
    • improved handling of empty fields to prevent series from having X or Y set to 0

API updates:

  • added overwriteIFDValue signature that takes an IFD offset to TiffSaver

  • added a new getRequiredDirectories method to FormatTools

  • new FakeReader keys added for sleepOpenBytes and sleepInitFile

Build updates:

  • updated deployment mechanism for SNAPSHOT and Release to use Travis CI

  • increased the strictness of AcquisitionDate checks in FormatReaderTest

  • improved test coverage of companion file datasets

Component updates:

  • ome-common was upgraded to 6.0.4

  • updated DateTools to attempt to parse invalid dates with Locale.US

  • DateTools documentation updated to clarify expected units for timestamp passed to convertDate

Documentation improvements:

  • added documentation for sleep options when generating test images

  • fixed broken external links in documentation

  • corrected suffixes used for JPEG 2000

6.2.1 (2019 August)

File format fixes and improvements:

  • Applied Precision CellWorX
    • corrected plane positions for series index > 0 rather than reusing positions from the first series

  • DeltaVision
    • added objective info for new Applied Precision 100X/1.4 lensID

    • updated so that date from dv file will override log file date to avoid locale-dependent dates

  • Leica LAS AF LIF (Leica Image File Format)
    • fixed units and indexing for tile-based plane positions

  • TIFF
    • fixed a potential exception in MinimalTiffReader when the TIFF is stored using very large tile/strip dimensions

  • Zeiss CZI
    • fixed a potential index out of bounds exception when populating positions

Bug fixes and improvements:

  • bfconvert has been updated so that when the dimensions of a sub-resolution are smaller than the requested tile size then they default to the size of the sub-resolution

  • fixed a bug in the execution of bfsave in the GNU Octave environment

Codec updates:

  • ome-codecs was upgraded to 0.2.5

  • JPEG codec updated to reduce decompression time for 8-bit RGB images

  • Huffman codec updated to allow the decoding tree to go all the way down to the 16-bit depth required by the standard (thanks to Aaron Avery)

  • Lossless JPEG codec updated to provide better compliance with the LJPEG standard (thanks to Aaron Avery)

Documentation improvements:

6.2.0 (2019 July)

New file formats:

  • Mikroscan TIFF
    • a new reader for Mikroscan TIFF files has been contributed with thanks to Jim Crowe, Mikroscan Technologies, Inc.

  • Ventana BIF
    • added a new reader for Ventana BIF files which has been commissioned via Glencoe Software

File format fixes and improvements:

  • Cellomics
    • fixed indexing for plates with a single well or missing fields

  • DeltaVision
    • added support for the reading of the new panel count field (provided through a collaboration between GE Healthcare and Glencoe Software Inc.)

  • PerkinElmer Operetta
    • images with smaller XY dimensions than all other TIFF files in dataset will now be padded

  • TIFF
    • updated functionality for overwriting IFD values to ensure that previous value is completely overwritten and no orphaned tags are left

  • Zeiss CZI
    • expanded support for auto-stitching of tiles

Bug fixes and improvements:

  • added -cache, -cache-dir and -no-sas options to bfconvert tool

  • deprecated broken TRUNK and DAILY builds from upgrade checker

  • disabled Oracle JDK from Travis CI checks

Documentation improvements:

  • fixed broken link for discontinued Dcraw software

  • updated links for Zeiss formats

6.1.1 (2019 June)

File format fixes and improvements:

  • DeltaVision
    • added new lens definitions associated with rcpnl files

  • Gatan Digital Micrograph (DM3/DM4)
    • now parsing the Montage tag to determine if tiles are present

  • Leica LAS AF LIF (Leica Image File Format)
    • added fix to correctly read scale from polygon regions of interest (thanks to Sean Warren)

  • PerkinElmer Columbus
    • improved handling of truncated TIFF files to return blank planes

  • PerkinElmer Opera Flex
    • plate barcodes are now used to improve grouping and handling of truncated files

  • TIFF (Tagged Image File Format)
    • improved parsing times for images stored as uncompressed contiguous strips

  • Zeiss CZI
    • improved plane position metadata for many CZI datasets

Automated test changes:

  • format reader tests have been updated to handle PerkinElmer Columbus datasets with flex files

Documentation improvements:

  • added help for missing options in bfconvert command line tool

6.1.0 (2019 May)

New file formats:

  • BDV
    • added a new reader for Big Data Viewer files

File format fixes and improvements:

  • Applied Precision CellWorX
    • improved handling of thumbnail files

  • DeltaVision
    • updated handling of rcpnl files to treat each file as a single timepoint

  • FakeReader
    • removed header key from original metadata

  • Hamamatsu VMS
    • removed header key from original metadata

  • Hitachi S-4800
    • removed header key from original metadata

  • ICS (Image Cytometry Standard)
    • fixed an issue reading .ics/.ids files written by SVI Huygens (thanks to Jan Eglinger)

  • Imaris IMS
    • fixed issues with newer files which had been failing due to older netcdf version

  • JPEG
    • improved the reading of EXIF data

  • Lambert Instruments FLIM
    • added support for packed UINT12 datatype (thanks to Johan Herz)

  • LEO
    • fixed a bug with the parsing of physical sizes

    • improved support for additional global metadata fields

  • Olympus OIR
    • fixed a bug which would show empty pixels when more than 1000 timepoints

Automated test changes:

  • added additional tests for HCS/SPW datasets to ensure Plate, PlateAcquisition, Well, WellSample, and WellSample position values are configured where present

  • added a new file-leak-detector test to flag potential memory leaks

Bio-Formats API changes:

  • ImageConverter as used in bfconvert command line tool is now public

  • made ImageReader more defensive against exceptions thrown when determining reader type

  • fixed an issue when performing a non-sequential write for multi-resolution TIFF files

Component changes:

  • ome-common was upgraded to 6.0.3

  • perf4j was upgraded to 0.9.16

  • removed Guava dependency which will be pulled transitively from the upstream ome-common dependency

  • jhdf5 was upgraded to 14.12.6

  • metadata-extractor was upgraded to 2.11.0

  • xercesImpl version 2.8.1 was added as it is no longer a dependency of metadata-extractor

  • netcdf was upgraded to 4.6.13

6.0.1 (2019 March)

File format fixes and improvements:

  • cellSens VSI
    • improved tag parsing resulting in fixes for missing or incorrect metadata

  • Hamamatsu ndpi
    • improved handling of variants where a constituent NDPI has no wavelength

  • LaVision Imspector
    • fixed a potential NullPointerException when ‘xyz-Table Z Resolution’ is false

  • NRRD (Nearly Raw Raster Data)
    • added support for raw GZIP-compressed data files

  • Olympus OIR
    • fix to ensure file path is normalized which fixes detection on Windows

  • TIFF
    • improved handling of direct tile copying to prevent invalid images

    • improved handling of tiles in scenarios of an invalid offset or byte count of 0

Documentation improvements:
  • added documentation for -noflat option to the showinf and bfconvert users pages

  • updated recommended minimal MATLAB version to R2017b

  • documented support for MATLAB versions prior to R2017b

  • links to MicroCT public datasets now point to the public archive rather than directly to the zip file

6.0.0 (2019 February)

Bio-Formats API changes:

  • Java 8 is now the minimum supported version

  • Sub-resolution reading:

    • added MetadataList and CoreMetadataList classes

    • added a new SubResolutionFormatReader abstract class for handling pyramidal format readers

    • updated all pyramid format readers to use SubResolutionFormatReader

    • deprecated getCoreMetadataList, seriesToCoreIndex, coreIndexToSeries, getCoreIndex and setCoreIndex in IFormatWriter

  • Added a new IPyramidHandler interface with the resolution getter methods

  • Sub-resolution writing changes:

    • IFormatWriter now extends IPyramidHandler (breaking)

    • added setResolutions and getResolutions methods to IFormatWriter (breaking)

    • added examples of using the sub-resolution writing API

  • Tiled writing API changes:

    • updated IFormatWriter to use setTileSizeX(0) and setTileSizeY(0) as a way to disable tiling (breaking)

    • updated FormatWriter set 0 as the default values of getTileSizeX() and getTileSizeY (breaking)

  • IFormatWriter.getCompressionTypes now returns the types for the selected writer only

  • Metadata handling:

    • added getter methods to MetadataTools for retrieving OME enumerations by value

    • deprecated OME enumeration getter methods in FormatReader

  • Refactor FilePatternReader logic in a new WrappedReader abstract class

New file formats:

  • KLB

    • added a new reader for Keller Lab Block (KLB) files

  • CV7000

    • added a new reader for Yokogawa CV7000 datasets

  • GE MicroCT

    • added a new reader for GE MicroCT datasets

File format fixes and improvements:

  • Aperio SVS/AFI

    • removed pyramidal resolutions of mismatching pixel types

    • fixed exposure times, improved image naming of AFI datasets

    • displayed original metadata keys for each channel of AFI datasets

    • added support for multiple Z sections

  • DICOM

    • improved file grouping and file-to-series mapping for multi-file datasets

  • Fake

    • added support for multi-resolution test images

    • now populating WellSample positions when present using Plane data

  • Gatan Digital Micrograph

    • adjusted endianness and record byte count for long values

    • allowed ROIs to be stored in DocumentObjectList groups

    • no longer creating an empty ROI when an unsupported shape type is encountered

  • Image Pro

    • added support for Image Pro Plus .ips set

  • GE InCell

    • added support for parsing minimum and maximum pixel values

  • Lambert Instruments FLIM

    • fixed an integer overflow error with large files (thanks to Rolf Harkes)

  • Leica LIF

    • unified metadata parsing to use DataTools.parseDouble

  • Leica SCN

    • improved support for Versa datasets

  • Micro-Manager

    • improved handling of very large *_metadata.txt files

    • prevented NumberFormatException for invalid double values

    • add support for parsing ChannelColor from *_metadata.txt files

  • Metamorph

    • added support for multi-dimensional .scan dataset created from Scan Slide (thanks to Jeremy Muhlich)

  • MRC (Medical Research Council)

    • fixed endian detection for old-style headers

  • Nikon ND2

    • prevented integer overflow when reading chunkmaps from files larger than 2GB

    • fixed handling of duplicate and incomplete exposure time lists

    • fixed chunk map handling when CustomData blocks are between ImageDataSeqs

  • OME-TIFF

    • added support for reading OME-TIFF with pyramidal resolutions stored as SubIFDs

    • added support for writing OME-TIFF with pyramidal resolutions

    • added support for companion OME-TIFF filesets where TIFF does not link back to the metadata file

    • improved handling of missing planes in TiffData

  • PerkinElmer Operetta

    • improved support to handle datasets generated by the Harmony software

  • TIFF

    • split IFDs into separate series if the dimensions or pixel type mismatch

    • restricted use case for legacy TIFF JAI reader

    • fixed a bug with FillOrder which resulted in 0 pixel values

  • Zeiss CZI

    • reduced duplicate original metadata when reading a pyramid file

  • Zeiss TIFF

    • added support for AVI files acquired with Keyence software

  • Zeiss ZVI

    • reuse stream for sequential calls to openBytes on the same plane

  • updated all pyramidal format readers to consume SubResolutionReader

  • updated all readers to consume MetadataTools getter to retrieve enumerations

  • reviewed all readers and plugins to close open instances of RandomAccessInputStream

  • fixed some deprecation warnings in a number of readers

  • for RGB images using ChannelSeparator all channel metadata is now copied instead of just names

ImageJ plugin improvements:

  • updated the updater message in the Fiji plugin (thanks to Jan Eglinger)

  • disabled LUT writing for any plane that has a default grayscale lookup table

  • added macro option to always skip LUT writing

MATLAB toolbox improvements:

  • improved performance of bfGetPlane by removing an unnecessary data copy (thanks to Cris Luengo)

Command-line tools improvements:

  • bfconvert utility

    • added -no-flat option to the command-line tools to convert files with sub-resolutions

    • added -pyramid-scale and -pyramid-resolutions options to generate sub-resolutions during conversion

    • removed Plate elements when -series is passed as an option

    • extended usage to describe available formats, extensions and compressions

  • xmlvalid utility

    • added new validate methods to loci.formats.tools.XMLValidate returning the validation status

    • added a return code to xmlvalid

Component changes:

  • ome-common was upgraded to 6.0.0

  • ome-codecs was upgraded to 0.2.3

  • ome-model was upgraded to 6.0.0

Automated test changes:

  • added testng.allow-missing property allowing to skip unconfigured filesets

  • added testUnflattenedSaneOMEXML to compare series count to OME-XML images count when resolution flattening is disabled

  • added test-equivalent target to compare pixel data between two files

  • added support for storing resolution index and resolution count in the configuration files used for automated testing

  • tests now fail when a configured file throws UnknownFormatException

Documentation improvements:

  • fixed the xmlvalid documentation page (thanks to Kouichi C. Nakamura)

  • improved the memory section of the MATLAB documentation page (thanks to Kouichi C. Nakamura)

  • extended IFormatReader Javadocs to reflect the reader guide

  • added reference to current Adobe TIFF specification

  • switched to image.sc as the reference location for public feedback

5.9.2 (2018 September 03)

File format fixes and improvements:

  • AVI
    • added support for AVI files acquired with Keyence software

  • Gatan
    • fixed a bug when reading a file with an empty tag of type 23

  • Deltavision
    • extended the objective metadata support (thanks to David Pinto)

  • MRC
    • fixed the reading of MRC files generated with FEI EPU software

  • Zeiss LSM
    • improved the channel color detection for SIM data

Component changes:

All OME dependencies were upgraded mostly with build changes and documentation improvements:

  • ome-common was upgraded from 5.3.2 to 5.3.6

  • ome-poi was upgraded from 5.3.1 to 5.3.3

  • ome-mdbtools was upgraded from 5.3.1 to 5.3.3

  • ome-jai was upgraded from 0.1.0 to 0.1.3

  • ome-codecs was upgraded from 0.2.0 to 0.2.2

  • ome-stubs was upgraded from 5.3.0 to 5.3.2

  • ome-model was upgraded from 5.5.4 to 5.6.3

Documentation improvements:

  • added links to public sample files for Imaris IMS, DICOM, Leica-SCN, LEO, MRC, PNG, TIFF and Trestle formats

5.9.1 (2018 August 14)

File format fixes and improvements:

  • Olympus OIR
    • fixed a bug to prevent incorrect files from being read when multiple datasets are in the same location

  • LEO
    • updated parsing of metadata values for image pixel size, working distance, filament, EHT and date (thanks to David Mankus)

  • DeltaVision
    • reader can now detect up to 12 channels

  • Micro-Manager
    • now logs a warning when an image is acquired with an unsupported version

Documentation improvements:

  • added QuPath to the list of visualization and analysis applications

  • updated the link to the i3dcore library

  • updated the link to Slidebook

  • improved MATLAB documentation with information on Java heap memory preferences (thanks to Kouichi C. Nakamura)

  • corrected a number of permanently redirected URLs in the component and format pages

5.9.0 (2018 July 3)

File format fixes and improvements:

  • MetaMorph
    • fixed a NullPointerException when a stage label is not present

    • ensured that reported domain is now consistent with the existence of a Plate in OME-XML

    • fixed Metamorph RGB series channel count (thanks to Jeremy Muhlich)

  • Leica LIF
    • improved handling of dimension order for non-RGB channels

  • Imspector OBF
    • added support for FLIM datasets

  • Inveon
    • updated to attempt to locate renamed data files

  • Volocity
    • expanded image names to include the stack parent names

  • Olympus OIR
    • added a fix for slow tag reading and a potential infinite loop

  • TIFF
    • added support in TiffWriter for the writing of DEFLATE (zlib) compression

    • deprecated getIFDs() in TiffParser and added getMainIFDs() and getSubIFDs()

  • Zeiss CZI
    • fixed an issue with big images when tiling is present but a pyramid is not

  • Nikon NIS-Elements ND2
    • prevented integer overflow exception when reading a tile from a large image

  • Amersham Biosciences Gel
    • prevented overflow issue when reading unsigned integer values

  • Cellomics
    • fixed indexing when the field counts are variable

  • Trestle
    • updated to ensure consistent ordering of used files

Bug fixes and improvements:

  • enabled building and testing with Java 9 and 10

  • added CI testing with Java 10 on AppVeyor and Travis

  • removed Java 7 from Appveyor matrix

  • updated a number of Maven plugins to current versions

  • corrected warnings in Maven configuration in sub-components

  • added a warning to clarify the behavior when passing metadata with dimensionOrder in bfsave as part of the Bio-Formats MATLAB toolbox (thanks to Jonathan Armond)

  • improved robustness in the detection of patterns as part of the file stitching

  • fixed a bug relating to dimension order in the Bio-Formats plugins Exporter

  • fixed download URLs in Bio-Formats command-line tools

  • updated use of static final to match Oracle’s recommendations and convention

  • disabled upgrade checker when running unit tests

  • added support to data repo test suite for unconfigured tests

Documentation improvements:

  • fixed unstable links flagged by automated link checking

  • begun adding testing for breakages to memo files

  • clarified ordering expectation in getUsedFiles Javadocs

  • added documentation for dimensionOrder in bfsave with the MATLAB toolbox

  • fixed broken links in previous release notes

  • expanded documentation for command-line tools to cover undocumented options and environment variables

  • added a new license/copyright section to the About Bio-Formats page

  • updated the public format page for the Vectra QPTIFF format

5.8.2 (2018 April 23)

File format fixes and improvements:

  • JPEG
    • large images with no restart markers now revert to using DefaultJPEGReader for improved decoding

  • Micro-Manager
    • when available PositionName will be parsed and used as the image name

  • Hamamatsu ndpi
    • updated image names to be more meaningful when resolutions are not flattened

  • InCell 2000/6000
    • fixed an IllegalArgumentException and improved well and field indexing

  • AVI
    • fixed a bug with padding for RGB images

  • NIfTI
    • the nDimensions field is now used to read additional dimensions when size is greater than 4

  • PerkinElmer Opera Flex
    • fixed a bug which resulted in an incorrect field count

  • Zeiss CZI
    • improved handling of files with no extension

Bug fixes and improvements:

  • an error message is now logged by ImageReader when finding a reader for an empty file

  • added a new protected helper method to Memoizer to check if a directory is writable

  • improved the rounding of PlanePosition values for data repo configuration testing

  • prevented a null pointer exception when retrieving plane exposure time using Bio-Formats ImageJ macro extensions

  • updated MinMaxCalculator to account for unflattened multi resolution images

Documentation improvements:

5.8.1 (2018 March 22)

File format fixes and improvements:

  • TIFF
    • updated TiffWriter so that planes will no longer be split when using non-standard SamplesPerPixel e.g. images with 2 or 4 samples per pixel. This will ensure the TiffData elements represent the structure specified by the user. If users wish to split planes the ChannelSeparator and bfconvert provide the means to do this explicitly

    • updated TiffWriter to use the correct logic for index checking when writing tiled images

    • fixed a ClassCastException when the NEW_SUBFILE_TYPE tag has a non-standard type or count such that the value is not inlined

    • updated to also check the last IFD for an ImageJ comment in the scenario that the image has been processed by other software

  • NRRD (Nearly Raw Raster Data)
    • added support for space directions and space units fields added in version 4

  • Evotec/PerkinElmer Opera Flex
    • updated to read rather than calculate image offsets when a single tile is used

Bug fixes and improvements:

  • limited the number of exceptions in the Bio-Formats plugins exporter when an unsupported pixel type is found

  • fake test images now allow for per-plane ExposureTime{X,Y,Z} and Position{X,Y,Z} keys in the INI file (for further details see the documentation for Generating test images)

  • file patterns now have expanded support for multi-channel pyramids, allowing for the matching of at least two channels rather than three, and the stitching of files containing a pyramid has also been fixed

Documentation improvements:

  • improved testing of external links

5.8.0 (2018 February 21)

New file formats:

  • Ionpath MIBI
    • added a new reader to support the reading of Ionpath Multiplexed Ion Beam Imaging (MIBI) files (thanks to Rachel Finck)

  • PerkinElmer Vectra QPTIFF
    • added support for PerkinElmer Vectra QPTIFF files (The QPTIFF Bio-Formats reader is provided through a collaboration between PerkinElmer, Inc and Glencoe Software Inc.)

File format fixes and improvements:

  • cellSens VSI
    • added support for lossless JPEG compression

  • Imspector OBF
    • improved the parsing of OBF files with embedded OME-XML metadata (thanks to Bjoern Thiel)

  • Leica LIF
    • companion metadata files are now attached if present

  • Micro-Manager
    • fixed a bug related to the parsing of the metadata closing block

  • NRRD (Nearly Raw Raster Data)
    • added support for GZIP pixel stream contained within a .nrrd file

  • Olympus OIR
    • added support for multi-file datasets

  • OME-TIFF
    • when files are ungrouped the dimensions are corrected by checking the indexes for each associated TiffData

  • PerkinElmer Operetta
    • added support for additional metadata fields such as Instrument, Wavelength and Exposure time

  • TIFF
    • fixed a bug when printing IFD values of type OnDemandLongArray

    • fixed a bug when writing tile sizes for multi-series images

  • Zeiss CZI
    • when Z positions are not enumerated then values are calculated from a Z step

    • metadata for DisplaySetting will now be preserved in the original metadata table

Bug fixes and improvements:

  • removed unused ScreenReader in preparation for migrating it to be an external reader

  • fixed a bug with the generation of thumbnails in Bio-Formats plugins

  • updated the Maven POM to unify component version property names

  • tile size is now reported in the core metadata when using the showinf tool

  • added setFilePatternIds to ImporterOptions for use with Bio-Formats plugins

  • improved the precision of format identification for MRC, I2I, and Zeiss LSM

Documentation improvements:

  • fixed and updated a number of external documentation links

  • added links to public NRRD samples

5.7.3 (2018 January 11)

File format fixes and improvements:

  • TIFF
    • fixed a NullPointerException when reading a TIFF file from the root system directory

    • improved support for large images that are stored as a single uncompressed tile with multiple interleaved channels

  • MRC (Medical Research Council)
    • added support in original metadata for the fields ISPG and Is data cube

  • TillPhotonics TillVision
    • directory listings for .pst files are now sorted

  • MetaMorph
    • directory listings are now sorted during file initialization

  • Amira Mesh
    • now supports Avizo in the file header in addition to the existing support for AmiraMesh

  • Becker & Hickl SPCImage
    • added a fix for IllegalArgumentException when reading files with compressed data

  • Zeiss CZI
    • fixed an IndexOutOfBoundsException when creating ROI objects

Bug fixes and improvements:

  • removed unused target utils-formats-api from ant build

  • automated Memoizer tests updated to use UUID for generating unique memo file directories

  • detect and fix Findbugs’ SBSC_USE_STRINGBUFFER_CONCATENATION using StringBuilder

  • configuration files for the automated test suite now use raw physical size rather than formatted size

  • added first version of Dockerfile for running the automated test suite standalone

Documentation improvements:

  • added a support page to the Bio-Formats project

  • updated reference URLs for the Aperio ImageScope and Micro-Manager

  • documented issues with conflicts in the JAI ImageIO component

  • clarified the default values of HCS keys for fake images in the documentation for Generating test images

  • corrected external links which failed automatic link checking

5.7.2 (2017 November 21)

File format fixes and improvements:

  • Nikon ND2 - fixed a bug which would use the incorrect channel count for small-sized single channel images

  • MetaMorph TIFF
    • changed the reader’s behaviour to populate exposure times for all planes when only a single exposure time is defined

  • DeltaVision
    • improved parsing of the associated log files to add additional key value pairs to global metadata

  • EPS (Encapsulated PostScript)
    • fixed an exception when reading pixel data in cases with embedded TIFF

  • GIF
    • fixed a bug to display the correct data when reading planes out of order

Bug fixes and improvements:

  • fixed failures with Ant build from a clean Maven repository by updating Maven repositories to use HTTPS rather than HTTP

  • now using safe version checking for Bio-Formats plugins to prevent a bug with Java 9

  • updated the JPEG-XR codec to allow either interleaved or non-interleaved data to be returned

Documentation improvements:

  • added clarification regarding Bio-Formats version requirements for using Java 7 or above

  • updated download links to latest Bio-Formats release version

  • updated the link to the most active fork of JAI ImageIO

  • fixed a number of external broken links

  • added a Trello link for contributing external developers

  • added a link to the page Adding format/reader documentation pages to help those contributing to the documentation or supported formats pages

  • the Bio-Rad Gel page has been updated to add a link to biorad1sc_reader, an external python implementation (thanks to Matthew Clapp)

5.7.1 (2017 September 20)

File format fixes and improvements:

  • Nikon NIS-Elements ND2
    • improved parsing of Z position values

  • LaVision Imspector
    • corrected the value of time per FLIM channel

    • fixed a bug which saw the Z and T dimensions swapped

    • fixed a divide by zero exception

    • added a fix for incorrect time-base and number of channels

  • TIFF
    • added support for handling files with a FillOrder of 2 in which the bits in each byte are reversed

    • improved support for multi-channel ImageJ TIFF files greater than 4GB in size

Performance improvements:

  • improved TIFF performance by using non-regexp String replacement (thanks to Thushara Wijeratna)

  • improved TIFF handling of Strings for large metadata (thanks to T. Alexander Popiel)

Documentation improvements:

  • updated documentation to reference support for ImageJ TIFFs

  • added links to format options page to user and developer index pages

5.7.0 (2017 September 4)

File format fixes and improvements:

  • Imaris HDF
    • fixed resolution problems in which dimensions and resolution order were incorrectly calculated (thanks to Eliana Andreica)

  • Nikon NIS-Elements ND2
    • fixed a bug in offset calculation when native chunk map is being used

  • MetaMorph
    • corrected delta T and position Z values for multi-channel images when channels are split across multiple files

  • Amnis FlowSight
    • better handling of exceptions in isThisType method (thanks to Claire McQuin)

  • PicoQuant Bin
    • better handling of exceptions in isThisType method (thanks to Claire McQuin)

Bug fixes and improvements:

  • reviewed and corrected URLs throughout the Bio-Formats source code

  • updated Bio-Formats Macro Extensions list with a missing function

  • added a new option in Bio-Formats plugins to configure the slice label display using patterns

Documentation improvements:

5.6.0 (2017 August 14)

File format fixes and improvements:

  • Zeiss CZI
    • added support for images from Elyra PALM system

    • prevented a potential infinite loop when a scene with a pyramid is missing

  • cellSens VSI
    • a new option has been added to throw an exception rather than logging a warning if .ets file is missing. The option, cellsens.fail_on_missing_ets, can be used via the MetadataOptions API, as a parameter in the command line tools or via the Bio-Formats configuration dialog in ImageJ

  • MetaMorph Stack (STK)
    • fixed an error with HCS style datasets always returning the first plane regardless of the requested index

    • updated to use stage labels starting with Scan to detect when a whole plate is saved in a single .stk file

    • fixed a bug for ArrayIndexOutOfBoundsException when an image contains a single Z plane

  • Gatan Digital Micrograph
    • added support for Z stacks and ROIs

    • fixed several bugs in tag parsing

  • PerkinElmer Operetta
    • ensure TIFF files exist before reading

  • JPEG
    • support added for images with more than Integer.MAX_VALUE pixels

Bug fixes and improvements:

  • JPEGTileDecoder
    • class now implements AutoCloseable to prevent resource leaks

  • Bio-Formats Plugin
    • improved performance when using options to concatenate multiple series together

  • TiffSaver
    • made performance improvements to prevent the writing of a new IFD for each tile, resulting in significant file size reductions for images with a large quantity of tiles

Documentation improvements:

  • updated website and URL links for new OME Website website

  • added missing Andor SIF to supported formats page

  • added a new page Working with whole slide images outlining the API support for pyramids/resolutions

  • fixed broken documentation links for external resources which are no longer available

  • updated the style of Sphinx documentation

Component architecture changes/decoupling:

  • decoupled image encoding and decoding routines to the new ome/ome-codecs GitHub repository and consumed as ‘org.openmicroscopy:ome-codecs’ artifact from Maven Central

  • removed components/forks/jai - decoupled to the new ome/ome-jai GitHub repository and consumed as part of ‘org.openmicroscopy:ome-jai’ artifact from Maven Central

  • replaced components/formats-api/codecs classes with wrappers around ‘org.openmicroscopy:ome-codecs’

  • replaced components/formats-bsd/codecs classes with wrappers around ‘org.openmicroscopy:ome-codecs’

Updated build system:

  • ant now removes the build files of the bundles during ‘clean’ to prevent a mix of dependencies

5.5.3 (2017 July 5)

File format fixes and improvements:

  • Zeiss CZI
    • fix to store Bézier ROIs as polygons, using the control points for the set of Bézier curves to form an approximation of the ROI

    • improved parsing of stage positions in metadata

    • improved parsing of detector gain values

    • removed OME-XML validation errors by fixing potential for duplicate detector IDs

    • removed invalid XML failures for Modulo label elements

    • time increment metadata now populated on Pixels element

    • fix to deal with consecutive empty planes in a series (thanks to Nicholas Trahearn)

  • DICOM
    • no longer allow core metadata to be modified when determining if files belong to a DICOM dataset

  • Nikon NIS-Elements ND2
    • fixed calculation for scanline padding

  • Kodak BIP
    • stricter file type checking enforced by no longer relying only on the file suffix

  • MINC MRI
    • improved parsing of metadata by correcting units for physical sizes, pixel type and capturing XYZ plane positions in OME-XML

  • Bio-Rad Gel
    • fixed the width of pixel data offset field

  • DeltaVision
    • improved accuracy of format detection checking for input streams

  • Andor SIF
    • fixed support for cropped images by parsing bounding box of the stored image

Documentation improvements:

  • Olympus cellSens VSI updated to include list of available specifications

5.5.2 (2017 June 15)

File format fixes and improvements:

  • Olympus FluoView FV1000
    • fix for java.lang.ArrayIndexOutOfBoundsException caused by filter names of “—” (thanks to Stefan Helfrich)

    • refactored channel metadata population and increased usage of DataTools utility functions

  • Zeiss CZI
    • fixed detection of Z line scans that caused incorrect dimensions in certain filesets

    • improved exception handling of truncated/invalid files

  • Veeco AFM
    • fixed reading of tiled images

  • Hamamatsu ndpi
    • prevented potential memory leak by ensuring all TiffParser streams are closed

Bug fixes:

  • OMEXMLServiceImpl
    • improved exception handling to deal with potential java.lang.NullPointerException when unable to locate OME-XML version while attempting to transform to the latest version

Documentation improvements:

  • updated documentation to be compatible with the latest version of Sphinx 1.6

  • fixed the usage/references of the option markup in documentation

  • fixed the table in the Micro-Manager user page

  • updated metadata ratings for supported formats

Updated build system:

  • OME-Model version bump
    • the ome-model component has been updated to 5.5.4 which includes improvements to performance, documentation and the C++ model implementation

5.5.1 (2017 May 25)

File format improvements:

  • CellH5
    • fix for HDF5SymbolTableException when recycling an IFormatReader to reopen another CellH5 file

    • bug fix related to opening of subsets of CellH5 files, namely openBytes(r, no, x, y, w, h) for y>0

  • Zeiss CZI
    • fix pyramid resolution indexing for pyramids of different depths

    • fix for incorrect channel names and colors

  • Zeiss AxioVision ZVI
    • correct parsing of epoch for Zeiss TIFF and Zeiss ZVI

Bug fixes:

  • Command line tools
    • fix for java.lang. NegativeArraySizeException caused by incorrect dimensions when using showinf via command line with options set to autoscale and crop

  • Format tools
    • fix for java.lang. IndexOutOfBoundsException when using getFilename with an image containing multiple samples per pixel channels and a single effective channel

Updated build system:

  • Autogen jobs
    • fix for gen-meta-support to locate available org.openmicroscopy:ome-xml sources from the Maven repository following the decoupling of the model components

  • FileHandleTest
    • exclude JHDF5 native libraries from FileHandleTest to enable CellH5 files to be included in daily tests

Documentation improvements:

  • added a new example file for reading and writing of XZ and YZ orthogonal planes

5.5.0 (2017 May 8)

New file formats:

  • Olympus OIR
    • added support for Olympus .oir data (funded by a partnership between Glencoe Software and OLYMPUS EUROPA SE & Co. KG)

  • PerkinElmer Columbus

File format improvements:

  • Andor Bio-Imaging Division (ABD) TIFF
    • fixed acquisition date format from MM/dd/yyyy to dd/MM/yyyy

  • Nikon NIS-Elements ND2
    • corrected logic used to determined PixelType by parsing uiBpc tags

  • Hamamatsu ndpi
    • improved handling of channels in NDPIS datasets (thanks to Manuel Stritt)

  • Imspector OBF
    • fix for SAXParseException when description field in metadata is empty

Documentation improvements:

  • added links to public sample files for Cellomics

  • added links to public sample files for InCell 3000

5.4.1 (2017 April 13)

File format improvements:

  • MIAS (Maia Scientific)
    • added a fix for a possible exception when image files are not found under channel-specific subdirectories

  • BD Pathway
    • added fix to check if Experiment.exp is a directory or an experiment file

  • Imspector OBF
    • enabled forward compatibility for future versions, as the OBF format is backwards compatible (thanks to Bjoern Thiel)

Documentation improvements:

  • updated external homepage link for FocalPoint

  • removed Imago from list of visualization and analysis applications as it is no longer available from the Mayachitra website

  • added links to public sample files for Hamamatsu NDPI and Hamamatsu VMS

  • listed OpenSlide as available software for supported formats

  • added a new developer page detailing in-memory reading and writing

  • updated the Bio-Formats API versioning policy, which now follows strict semantic versioning

  • a new options page has been added, detailing the usage of configurable format-specific options for readers and writers. Links to the available options are also included under the relevant supported formats

5.4.0 (2017 March 21)

File format improvements:

  • DICOM
    • added support for DICOMDIR files, which allow multiple DICOM files in a single directory to be opened as a single dataset

    • plane position values for values X, Y and Z are now being set in OME-XML

    • correctly read the physical size X and Y values based on the available specification

  • Nikon NIS-Elements ND2
    • performance improvements based on reading chunkmap. Processing of the chunkmap can be disabled via the MetadataOptions API using the boolean option nativend2.chunkmap. For ImageJ users this option can be accessed via a checkbox in the Nikon ND2 section of the Bio-Formats configuration dialog Plugins ‣ Bio-Formats ‣ Bio-Formats Plugins Configuration (thanks to Christian Sachs)

  • OME-TIFF
    • added an option to save an OME-TIFF dataset as a binary TIFF and companion XML. This can be used via the bfconvert command line tool by setting the value of option ometiff.companion to the name of the companion file to use. For example bfconvert -option ometiff.companion outputFile.companion.ome inputFile.tiff outputFile.ome.tiff

  • CellVoyager
    • metadata fixes specifically the naming of plates. Additional refactoring of the reader for general maintainability

  • Gatan Digital Micrograph
    • previously missing Image-Instrument reference has been added to OME-XML

  • TiffSaver
    • ensure open resources are closed under all possible scenarios

  • Zeiss CZI
    • improved performance of large uncompressed images. When tiles from a large uncompressed image with no internal tiling are requested, only the specific tile specified in the call to openBytes is read from disk, instead of the entire image being read and then copied

  • Zeiss AxioVision ZVI (Zeiss Vision Image)
    • ensure that the bitsPerPixel field is always set to match the final pixel type, and populate any channel colors that were parsed in the metadata. The bits per pixel update should only affect uint16 or int16 files where the acquisition bit depth is not a multiple of 8, and the RGB channel count is greater than 1

Updated build system:

  • updated dependency for NetCDF to 4.3.22

  • updated copyright headers from 2016 to 2017 and reviewed and fixed any incorrect header descriptions

  • documentation has been migrated to use .rst file format for Sphinx files

  • reviewed and cleaned up warnings such as unused variables and imports

  • added CellVoyager datasets to automated testing via continuous integration

  • unified the semantics for creating temporary directories within unit tests

Documentation improvements:

  • fixed link for PerkinElmer UltraVIEW system

  • fixed links for NIfTI public specification and data sets

  • available software for Hamamatsu ndpi has been updated from NDP.view to NDP.view2

5.3.4 (2017 February 21)

Bug fixes:

  • ImageJ
    • fix for a NullPointerException when exporting images that were not opened via the Bio-Formats importer, and thus do not have a complete OMEXMLMetadata store

  • Java 1.9
    • fix compile and runtime errors to enable building with Java 1.9

  • ECAT7
    • update to add support for different versions of ECAT7 files (thanks to Torsten Stöter)

Updated build system:

  • updated dependency for ome-model in the POM to version 5.4.0. This allows for improved ROI handling by enabling support for Shape objects with Transform attributes. OME-XML schema version remains unchanged as OME schema 2016-06

Documentation improvements:

  • new public sample files added for ECAT7 (thanks to Torsten Stöter)

  • new public sample files added for Leica LIF (thanks to Michael Goelzer)

  • new specification document (Version 3.2) for Leica LIF

  • updated links to OMERO documentation as a result of decoupling

5.3.3 (2017 February 2)

Bug fixes:

  • ImageJ
    • fix for issue when exporting from an ImagePlus that represents signed data. The pixel type will now remain unchanged as will the pixel values which had previously been scaled incorrectly

  • Command line tools
    • fix for java.lang.IllegalArgumentException when using bfconvert via command line with option set to only convert a single time-point, channel or Z section

  • Tiff writing
    • using TiffWriter to write tiled images now supports the writing of BigTIFF datasets

File format fixes:

  • Applied Precision CellWorX
    • fix to now display the correct plate name and dimensions

  • NIFTI
    • a few fixes for problems with byte alignment when reading non-core metadata from NIFTI headers

  • Leica LIF
    • added support for timestamps of LIF files created with LAS AF 3.1 or newer. In the case of a halted acquisition only non-null timestamps are stored in the OME metadata (thanks to Michael Goelzer)

    • the physical pixel height and width were incorrectly calculated by dividing by the number of pixels. This has now been corrected to match the official Leica LIF specification documents by dividing by the number of pixels minus one (thanks to Michael Goelzer)

    • for backwards compatibility an option to preserve pre-5.3.3 physical sizes has been added. This can be set either via command line tools, through the API with the loci.formats.in.DynamicMetadataOptions class, or in the Bio-Formats plugin configuration in ImageJ

  • Improvision TIFF
    • channel colors are now being read and if present set correctly in image metadata

  • MetaMorph
    • fix for java.lang.OutOfMemoryError exceptions when reading large Metamorph TIFF plates

Updated build system:

  • version history file added to MATLAB bundle as NEWS.rst

  • increased TiffWriter test coverage

  • added test coverage framework for command line tools including new ImageConverterTest

Documentation improvements:

  • improved documentation and new examples for using tiled writing

  • updated developer documentation for use of Bio-Formats as a Maven, Gradle or Ivy dependency

  • documentation for Leica LIF bug fixes and use of backward compatibility options

  • fixes for a number of broken links

5.3.2 (2017 January 9)

Bug fixes:

  • ImageJ
    • fixed race condition when opening multiple series from a dataset, as introduced by thumbnail loading changes in 5.3.0

    • updated thumbnail generation to be faster for datasets containing an image pyramid

  • Metamorph
    • updated to read the refractive index and set RefractiveIndex on ObjectiveSettings in the generated OME-XML (thanks to Marc Bruce)

  • Metamorph TIFF
    • fixed Z and channel dimension counts when each channel has a unique Z position

    • updated to read the emission wavelength and set EmissionWavelength on LightSourceSettings in the generated OME-XML

  • QuickTime
    • fixed incorrect image data when reading of tiles from single channel files

  • file grouping
    • fixed handling of loci.formats.in.MetadataOptions objects by the loci.formats.FileStitcher reader

Documentation improvements:

  • fixed extensions listed for Zeiss TIFF

  • simplified markdown for creating tables

5.3.1 (2016 December 19)

File format fixes:

  • TIFF
    • fixed invalid IFD values when writing TIFF or OME-TIFF files with Bio-Formats 5.3.0. This bug affected the writing of TIFF and OME-TIFF via client code using loci.formats.TiffWriter, converting to a TIFF or OME-TIFF using ‘bfconvert’ command line tool or exporting to TIFF or OME-TIFF using ImageJ/FIJI Bio-Formats exporter.

5.3.0 (2016 December 12)

New features/API:

  • added support for JPEG-XR compressed CZI data (funded by a partnership between Glencoe Software and ZEISS), adding ‘ome:jxrlib’ as a new dependency of Bio-Formats

  • improved tile-based image writing
    • added new methods to the loci.formats.IFormatWriter interface allowing to set and retrieve the tile along the X and Y dimensions

    • added default implementations to the loci.formats.FormatWriter abstract class defaulting to the entire image width/height

    • added functionality to loci.formats.TiffWriter adding support for tiled images writing for TIFF and derived formats like OME-TIFF

    • added developer documentation and samples for tiled reading/writing

  • added a new MetadataOptions implementation supporting arbitrary key/value pairs

  • updated the display command line utility to support passing key/value options using showinf -option

  • added two options to the CZI reader to disable autostitching and exclude pyramid file attachments. Added new checkboxes to the CZI configuration interface of the ImageJ plugin to activate these options

Bug fixes/deprecations:

  • deprecated loci.formats.meta.MetadataConverter in favor of ome.xml.meta.MetadataConverter

  • updated method deprecated in Octave 4.2.0 (thanks to Carnë Draug)

  • OME-XML
    • fixed handling of Mask BinData elements

Component architecture changes/decoupling:

  • removed formats-common component - now decoupled to the new ome/ome-common-java GitHub repository and consumed as ‘org.openmicroscopy:ome-common’ artifact from Maven Central

  • removed ome-poi component - now decoupled to the new ome/ome-poi GitHub repository and consumed as ‘org.openmicroscopy:ome-poi’ artifact from Maven Central

  • removed specification, xsd-fu and ome-xml components - now decoupled to the new ome/ome-model GitHub repository and consumed as ‘org.openmicroscopy:{specification,ome-xml}’ artifacts from Maven Central

  • removed mdbtools component - now decoupled to the new ome/ome-mdbtools GitHub repository and consumed as ‘org.openmicroscopy:ome-mdbtools’ artifact from Maven Central

  • removed stubs components - now decoupled to the new ome/ome-stubs GitHub repository and consumed as ‘org.openmicroscopy:{lwf-stubs,mipav-stubs}’ artifacts from Maven Central

  • removed metakit component - now decoupled to the new ome/ome-metakit GitHub repository and consumed as ‘org.openmicroscopy:metakit’ artifacts from Maven Central

  • updated developer documentation for the decoupled components

Updated build system:

  • dropped embedded JARs and now use the Maven Ant Tasks plugin to unify the dependencies using the POM

  • improved Ant JAR and bundle target

  • dropped deprecated osgi targets, OME Tools bundle and ome-jxr component

  • removed PDF generation from the docs-sphinx target

  • added version number to Javadoc zip bundle name

  • migrated unit tests out of test-suite into formats-bsd

  • fixed test-suite targets, paths and symlink handling

  • fixed test-metadata and migrated it into test-suite

  • fixed mismatch between ND2HandlerTest package and location

  • cleaned up test-build to remove obsolete and decoupled components and folders

  • simplified Travis build

  • POM repositories clean-up to reduce complexity and use Maven Central as the first location to look for dependencies

  • now storing all versions in the top-level POM

  • updated build versioning from Maven by unified versioning strategy, reviewing meta information stored in the manifests of each JAR and introspecting this information in the FormatTools API to retrieve version and revision numbers

  • updated developer documentation on updated build system

5.2.4 (2016 October 18)

Java bug fixes:

  • OME-TIFF
    • fixed regression when populating plane metadata

  • CZI
    • populated series metadata with the scene/position information

5.2.3 (2016 October 5)

Java bug fixes:

  • CZI
    • fixed imageCount for RGB images

  • ICS writing
    • fixed ordering of image dimensions

  • DeltaVision
    • fixed reading of large time dimensions

Command-line tools improvements:

  • bftools.zip now includes the version history as NEWS.rst (thanks to Gerhard Burger)

Code clean-up/improvements:

  • switched to String.indexOf(int) in GPL-licensed reader code so that a simpler library method can be used

  • strings now extended with characters where possible

  • completed deprecation of DataTools.sanitizeDouble()

  • deprecated unused OSGi and ome-tools bundle build targets

OME-XML changes/improvements:

  • bumped schema version number to 2 (schema namespace left unchanged)

  • added acquisition modes BrightField, SweptFieldConfocal and SPIM

  • added parsing for Laser Scan Confocal and Swept Field Confocal

Documentation improvements:

  • documented versioning policy

  • clarified supported versions for Micro-Manager and Olympus ScanR files

5.2.2 (2016 September 13)

Java bug fixes and improvements:

  • fixed a regression in which the DataTools number parsing API would not be thread-safe anymore

  • InCell
    • improved handling of Analyzer 2000 datasets to find TIFF files

  • FV1000
    • fixed preview names ordering

  • OME-TIFF
    • enabled all BigTIFF extensions

  • various code cleanup across the Java code

  • added test coverage for all example codes in the developer documentations

  • added tests covering the semantics of the INI parser

ImageJ bug fixes and improvements:

  • fixed a bug in ImageJ when swapping dimensions of an image with multiple series of different dimensions

  • added an option to the exporter to pad filename indexes with zeros

Command-line tools improvements:

  • allowed the binaries to be symlinked (thanks to Gerhard Burger)

  • added an option to bfconvert to pad filename indexes with zeros

5.2.1 (2016 August 25)

Java bug fixes:

  • Zeiss CZI
    • fixed NumberFormatException when the position object is not null but the values of child are null

  • SimplePCI
    • made IniParser less stringent to allow reading of imperfectly formatted TIFF description headers

  • fixed stitching of file patterns in ImageJ to remove duplication of directory names in the file path

  • added an option to bfconvert to allow creation of OME-TIFF without lookup tables

  • addition of MetadataOnly elements containing no BinData or TiffData now handled via MetadataTools API in ImageInfo

  • example code in developer docs is now tested via a new Maven module

5.2.0 (2016 August 18)

Java format support improvements are listed below.

†Denotes a major breaking change to the reader (typically modification of core metadata). Code changes or re-import may be necessary in ImageJ/FIJI and OMERO.

  • added support (and public sample files) for Becker & Hickl .spc FIFO data

  • added support for Princeton Instruments .spe data

  • bug fixes for many formats including:
    • CellSens VSI†
      • fixes for correctly reading dimensions

    • FlowSight
      • fixes to infer channel count from channel names (thanks to Lee Kamentsky)

    • Hamamatsu VMS†
      • fixed dimensions of full-resolution images

    • ICS writing
      • fixed dimension population for split files

    • Kodak BIP
      • fixed handling of CCD temperature stored in hexadecimal

    • Leica LIF
      • fixed incorrect plane offsets for large multi-tile files

    • LiFlim
      • fixed ExposureTime check and units usage

    • Micro-Manager
      • fixed handling of large datasets saved as image stacks and split over multiple files

      • added user documentation for file saving options

    • MRC and Spider
      • fixed format type checking

    • Nifti
      • fixed planeSize to prevent crashes when loading large files (thanks to Christian Niedworok)

      • added support for gzipped compressed .nii.gz files (thanks to Eric Barnhill)

      • added public samples and updated documented supported file extensions

    • OME-TIFF
      • fixed Plane population errors

      • fixed NullPointerException when closing reader for partial multi-file filesets

      • reduced buffer size for RandomAccessInputStreams to improve performance

      • deprecated getMetadataStoreForConversion and getMetadataStoreForDisplay methods

    • OME-XML
      • fixed metadata store

    • PicoQuant
      • updated reader to always buffer data

    • PNG writing

    • SDT
      • performance improvements for loading of large files

    • Slidebook
    • SVS
      • fixed NumberFormatException

    • Tiff
      • fixed integer overflow to read resolutions correctly

      • fixed handling of tiled images with tile width less than 64

    • Zeiss CZI
      • fixed timestamp indexing when multiple separate channels are present

      • improved slide support - slides are now detected as a complete full-resolution image (instead of each tile being a separate series) and pyramid sub-resolutions and label/overview images are also detected

    • Zeiss LSM
      • fixed Plane population errors

    • Zeiss ZVI†
      • reworked image ordering calculation to allow for tiles

Top-level Bio-Formats API changes:

  • Java 1.7 is now the minimum supported version

  • the native-lib-loader dependency has been bumped to version 2.1.4

  • the xalan dependency has been bumped to version 2.7.2

  • all the ome.jxr classes have been deprecated to make clear that there is no JPEG-XR support implemented in Bio-Formats as yet

  • the DataTools API has been extended to add a number of utility functions to:
    • account for decimal separators in different locales

    • parse a String into Double, Float, Integer etc

    • handle NumberFormatException thrown when parsing Unit tests

  • the Logging API has been updated to respect logging frameworks (log4j/logback) initialized via a binding-specific configuration file and to prevent DebugTools.enableLogging(String) from overriding initialized logger levels (see Logging for more information)

  • helper methods have been added to FormatTools allowing a stage position to be formatted from an input Double and an input unit

  • the Formats API has also been updated to add a new validate property to MetadataOptions and support for MetadataOptions has been moved to FormatHandler level to allow it to be used by both Readers and Writers

  • initial work on Reader discoverability extended the ClassList API to allow the readers.txt configuration file to be annotated using key/value pairs to mark optional Readers and specify additional per-Reader options

Other general improvements include:

  • improved performance of getUsedFiles

  • fixes for FilePatternBlock, AxisGuesser, FilePattern

  • fixes for the detection of CSV pattern blocks by FilePatternBlock

  • bioformats_package.jar now includes bio-formats-tools as a dependency so ImageConverter, ImageFaker and ImageInfo classes are included in the bundle

  • the JACE C++ implementation has been decoupled as it does not function with Java 1.8 (see legacy repo)

  • ImageJ fixes
    • to allow reader delegation when a legacy reader is enabled but not working

    • to allow ROIs to be imported to the ImageJ ROI manager or added to a new overlay

  • MATLAB fixes
    • improved integration with Octave (thanks to Carnë Draug)

    • added logging initialization

  • Command-line tools fixes
    • upgrade check no longer run when passing -version

    • common methods refactoring

    • showinf improvements to preload format

    • tiffcomment now warns that it requires an ImageDescription tag to be present in the TIFF file

  • added many automated tests and improved FakeReader testing framework

  • documentation improvements include:
    • clarifying status of legacy Quicktime and ND2 readers

    • noting that the Gatan reader does not currently support stacks

    • more Java examples added to the developer documentation

    • new units page for developers

The Data Model version 2016-06 has been released to introduce Folders, and to simplify both the graphical aspects of the model and code generation. Full details are available in the OME Model and Formats Documentation. OME-XML changes include:

  • Map is now a complexType rather than an element and MapPairs has been dropped

  • extended enum metadata has been introduced to better support units

  • Shape and LightSource are now complexTypes rather than elements

  • BinData has been added to code generation to handle raw binary data

  • various code generation improvements to:
    • simplify and standardize the generation process

    • remove a number of hard-coded exceptional cases allowing for easier maintenance and growth

    • allow for genuine abstract model types and enable C++ model implementation

  • updated OME-XML and OME-TIFF public sample files

The Bio-Formats C++ native implementation has been decoupled from the Java codebase and will be released as OME-Files C++ from now on, with the exception of OME-XML which is still within Bio-Formats at present (there is a plan to decouple both the Java and the C++ versions of OME-XML in future).

The following components have had their licensing updated to Simplified (2-clause) BSD:

  • XSL transforms

  • specification code

  • xsd-fu Python code

5.1.10 (2016 May 9)

Java bug fixes:

  • fixed warnings being thrown for ImageJ and other non-FIJI users on Windows (these warnings were triggered by the removal of the 3i Slidebook DLLs from the source code repository in Bio-Formats 5.1.9 and should now only be triggered when opening Slidebook files without the update site enabled - http://www.openmicroscopy.org/info/slidebook)

  • a fix in the ImageJ plugin for files grouped using the “Dimensions” option

  • a fix for writing TIFF files in tiles

5.1.9 (2016 April 14)

  • Java bug fixes, including:
    • SDT
      • fixed width padding calculation for single-pixel image

    • Deltavision
      • fixed the parsing of the new date format

      • added support for parsing and storing the working distance in native units

    • Micromanager
      • cleaned up JSON metadata parsing

    • Olympus Fluoview
      • fixed null pointer exceptions while parsing metadata

    • Leica LIF
      • fixed large multi-tiled files from having incorrect plane offsets after the 2GB mark

    • EM formats (MRC and Spider)
      • added native length support for EM readers

    • Gatan
      • fixed erroneous metadata parsing

      • added support for parsing and storing the physical sizes in native units

    • OME-TIFF
      • improved handling of OME-TIFF multi-file fileset’s with partial metadata blocks

    • Nikon ND2
      • fixed the parsing of emission wavelength

    • Olympus CellR (APL)
      • fixed multiple parsing issues with the mtb file

    • SlideBook
    • Zeiss CZI
      • fixed parsing of files with multiple mosaics and positions

  • Documentation updates, including:
    • improved documentation for the export of BigTIFFs in ImageJ

  • C++:
    • no changes.

5.1.8 (2016 February 15)

  • Java bug fixes, including:
    • FEI TIFF
      • fixed stage position parsing and whitespace handling (thanks to Antoine Vandecreme)

    • Pyramid TIFF
      • fixed tile reading when a cache (.bfmemo) file is present

    • MicroManager
      • updated to parse JSON data from tags 50839 and 51123

      • fixed to detect *_metadata.txt files in addition to metadata.txt files

      • fixed to handle datasets with each stack in a single file

    • OME-XML
      • updated to make .ome.xml an official extension

    • OME-TIFF
      • fixed to ignore invalid BinaryOnly elements

    • TIFF
      • fixed caching of BigTIFF files

    • Slidebook
      • fixed handling of montages in Slidebook6Reader (thanks to Richard Myers)

    • Performance improvement for writing files to disk (thanks to Stephane Dallongeville)

    • Build system
      • fixed Maven POMs to reduce calls to artifacts.openmicroscopy.org

      • fixed bioformats_package.jar to include the loci.formats.tools package

  • Documentation updates, including:
    • updated format pages to include links to example data

    • clarified description of Qu for MATLAB (thanks to Carnë Draug)

    • added installation instructions for Octave (thanks to Carnë Draug)

  • C++:
    • Bugfixes to the OME-TIFF writer to correct use of the metadata store with multiple series

    • Ensure file and writer state consistency upon close failure

5.1.7 (2015 December 7)

  • Java bug fixes, including:
    • Prevent physical pixel sizes from being rounded to 0, for all formats

    • Metamorph
      • fixed calculation of Z step size

      • fixed detection of post-processed dual camera acquisitions (thanks to Mark Kittisopikul)

    • OME-XML
      • fixed XML validation when an ‘xmlns’ value is not present (thanks to Bjoern Thiel)

    • MINC
      • fixed endianness of image data

    • Andor/Fluoview TIFF
      • fixed calculation of Z step size

    • MATLAB
      • improved performance by reducing static classpath checks (thanks to Mark Kittisopikul)

    • Gatan
      • fixed physical size parsing in non-English locales

    • Automated testing
      • fixed handling of non-default physical size and plane position units

  • Documentation updates, including:
    • updated MapAnnotation example to show linkage of annotations to images

  • C++:
    • no changes, released to keep version numbers in sync with Bio-Formats Java

5.1.6 (2015 November 16)

  • Java bug fixes, including:
    • Updated to use native units for following formats:
      • IMOD

      • Analyze

      • Unisoku

      • Olympus CellR (APL)

    • Metamorph TIFF
      • fixed handling of multi-line descriptions

      • added support for dual camera acquisitions

    • Zeiss LMS
      • fixed exception in type detection

    • Zeiss CZI
      • fixed detection of line scan Airyscan data

    • Slidebook
      • fixed calculation of physical Z size

    • ImageJ plugins
      • fixed handling of non-default units

      • fixed setting of preferences via macros

    • Automated testing
      • fixed handling of non-default units for physical sizes and timings

  • C++ changes, including:
    • allow relocatable installation on Windows

    • reduce time required for debug builds

  • Documentation updates, including:
    • addition of “Multiple Images” column to the supported formats table

    • addition of a MapAnnotation example

5.1.5 (2015 October 12)

  • Java bug fixes, including:
    • ImageJ plugins
      • fixed use of “Group files…” and “Open files individually” options

      • fixed placement of ROIs

      • fixed size of the “About Plugins > Bio-Formats Plugins” window

    • xsd-fu (code generation)
      • removed OMERO-specific logic

    • Metamorph
      • fixed physical Z size calculation

    • Gatan DM3/DM4
      • fixed physical pixel size parsing

    • BMP
      • added support for RLE compression

    • DICOM
      • updated to respect the WINDOW_CENTER tag

      • fixed image dimensions when multiple sets of width and height values are present

    • Fluoview and Andor TIFF
      • fixed physical Z size calculation

    • Imspector OBF
      • updated to parse OME-XML metadata (thanks to Bjoern Thiel)

  • C++ changes:
    • TIFF strip/tile row and column calulations corrected to compute the correct row and column count

    • Several compiler warnings removed (false positive warnings in third-party headers disabled, and additional warnings fixed)

    • It is now possible to build with Boost 1.59 and compile with a C++14 compiler

  • The source release is now provided in both tar.xz and zip formats

  • Documentation updates, including:
    • substantial updates to the format pages
      • improved linking of reader/writer classes to each format page

      • improved supported metadata pages for each format

      • updated format page formatting for clarity

      • added developer documentation for adding and modifying format pages

5.1.4 (2015 September 7)

  • Bug fixes, including:
    • Command line tools
      • fixed display of usage information

    • Automated testing
      • fixed problems with symlinked data on Windows

      • added unit tests for checking physical pixel size creation

    • Cellomics
      • fixed reading of sparse plates

    • SlideBook
      • fixed a few lingering issues with native library packaging

    • SimplePCI/HCImage TIFF
      • fixed bit depth parsing for files from newer versions of HCImage

    • SimplePCI/HCImage .cxd
      • fixed image dimensions to allow for extra padding bytes

    • Leica LIF
      • improved reading of image descriptions

    • ICS
      • fixed to use correct units for timestamps and physical pixel sizes

    • MicroManager
      • fixed to use correct units for timestamps

    • Gatan .dm3/.dm4
      • fixed problems with reading double-precision metadata values

    • Hamamatsu NDPI
      • fixed reading of mask images

    • Leica .lei
      • fixed reading of bit depth and endianness for datasets that were modified after acquisition

    • FEI TIFF
      • updated to read metadata from files produced by FEI Titan systems

    • QuickTime
      • fixed to handle planes with no stored pixels

    • Leica .scn
      • fixed reading of files that contain fewer images than expected

    • Zeiss .czi
      • fixed channel colors when an alpha value is not recorded

      • fixed handling of pre-stitched image tiles

    • SDT
      • added support for Zip-compressed images

    • Nikon .nd2
      • fixed to read image dimensions from new non-XML metadata

    • OME-XML
      • fixed writing of integer metadata values

  • Native C++ updates:
    • completed support for building on Windows

  • Documentation updates, including:
    • updated instructions for running automated data tests

    • clarified JVM versions currently supported

5.1.3 (2015 July 21)

  • Native C++ updates:
    • Added cmake superbuild to build core dependencies (zlib, bzip2, png, icu, xerces, boost)

    • Progress on support for Windows

  • Bug fixes, including:
    • Fixed segfault in the showinf tool used with the C++ bindings

    • Allow reading from https URLs

    • ImageJ
      • improved performance of displaying ROIs

    • Command line tools
      • fixed bfconvert to correctly create datasets with multiple files

    • Metamorph
      • improved detection of time series

      • fixed .nd datasets with variable Z and T counts in each channel

      • fixed .nd datasets that contain invalid TIFF/STK files

      • fixed dimensions when the number of planes does not match the recorded Z, C, and T sizes

    • SlideBook
      • improved native library detection (thanks to Richard Myers)

    • JPEG
      • fixed decompression of lossless files with multiple channels (thanks to Aaron Avery)

    • Imspector OBF
      • updated to support version 2 files (thanks to Bjoern Thiel)

    • Imspector MSR
      • improved detection of Z stacks

    • PerkinElmer Opera Flex
      • improved handling of multiple acquisitions of the same plate

    • Zeiss CZI
      • fixed error when opening single-file datasets whose names contained “(” and “)”

    • TIFF
      • improved speed of reading files with many tiles

    • AVI
      • updated to read frame index (idx1) tables

    • Nikon ND2
      • fixed channel counts for files with more than 3 channels

    • PNG
      • fixed decoding of interlaced images with a width or height that is not a multiple of 8

    • PSD
      • improved reading of compressed images

  • Documentation improvements, including:
    • updated instructions for writing a new file format reader

    • updated usage information for command line tools

    • new Javadocs for the MetadataStore and MetadataRetrieve interfaces

5.1.2 (2015 May 28)

  • Added OME-TIFF writing support to the native C++ implementation

  • OME-TIFF export: switch to BigTIFF if .ome.tf2, .ome.tf8, or .ome.btf extensions are used

  • Improved MATLAB developer documentation

  • Added SlideBook reader that uses the SDK from 3I (thanks to Richard Myers and 3I - Intelligent Imaging Innovations)

  • Preliminary work to make MATLAB toolbox work with Octave

  • Many bug fixes, including:
    • ImageJ
      • fixed regression in getPlanePosition* macro extension methods

      • fixed display of composite color virtual stacks

    • Nikon ND2
      • improved parsing of plane position and timestamp data

    • TIFF
      • reduced memory required to read color lookup tables

    • Zeiss LSM
      • improved parsing of 16-bit color lookup tables

    • Zeiss CZI
      • fixed ordering of original metadata table

      • fixed reading of large pre-stitched tiled images

    • AIM
      • fixed handling of truncated files

    • Metamorph/MetaXpress TIFF
      • improved UIC1 metadata tag parsing

5.1.1 (2015 April 28)

  • Add TIFF writing support to the native C++ implementation

  • Fixed remaining functional differences between Windows and Mac/Linux

  • Improved performance of ImageJ plugin when working with ROIs

  • TIFF export: switch to BigTIFF if .tf2, .tf8, or .btf extensions are used

  • Many bug fixes, including:
    • fixed upgrade checking to more accurately report when a new version is available

    • Zeiss CZI
      • fixed ordering of multiposition data

      • improved support for RGB and fused images

    • Nikon ND2
      • improved ordering of multiposition data

    • Leica LIF
      • improved metadata validity checks

      • improved excitation wavelength detection

    • Metamorph STK/TIFF
      • record lens numerical aperture

      • fixed millisecond values in timestamps

    • Gatan DM3
      • correctly detect signed pixel data

    • Imaris HDF
      • fix channel count detection

    • ICS export
      • fix writing of files larger than 2GB

5.1.0 (2015 April 2)

  • Improvements to performance with network file systems

  • Improvements to developer documentation

  • Initial version of native C++ implementation

  • Improved support for opening and saving ROI data with ImageJ

  • Added support for CellH5 data (thanks to Christoph Sommer)

  • Added support for Perkin Elmer Nuance data (thanks to Lee Kamentsky)

  • Added support for Amnis FlowSight data (thanks to Lee Kamentsky and Sebastien Simard)

  • Added support for Veeco AFM data

  • Added support for Zeiss .lms data (not to be confused with .lsm)

  • Added support for I2I data

  • Added support for writing Vaa3D data (thanks to Brian Long)

  • Updated to OME schema 2015-01

  • Update RandomAccessInputStream and RandomAccessOutputStream to read and write bits

  • Many bug fixes, including:
    • Leica SCN
      • fix pixel data decompression

      • fix handling of files with multiple channels

      • parse magnification and physical pixel size data

    • Olympus/CellSens .vsi
      • more thorough parsing of metadata

      • improved reading of thumbnails and multi-resolution images

    • NDPI
      • fix reading of files larger than 4GB

      • parse magnification data

    • Zeiss CZI
      • improve parsing of plane position coordinates

    • Inveon
      • fix reading of files larger than 2 GB

    • Nikon ND2
      • many improvements to dimension detection

      • many improvements to metadata parsing accuracy

      • update original metadata table to include PFS data

    • Gatan DM3
      • fix encoding when parsing metadata

      • fix physical pixel size parsing

    • Metamorph
      • fix off-by-one in metadata parsing

      • fix number parsing to be independent of the system locale

    • JPEG
      • parse EXIF data, if present (thanks to Paul Van Schayck)

    • OME-XML/OME-TIFF
      • fix handling of missing image data

    • PrairieView
      • improved support for version 5.2 data (thanks to Curtis Rueden)

    • DICOM
      • fix dimensions for multi-file datasets

      • fix pixel data decoding for files with multiple images

    • PNG
      • reduce memory required to read large images

    • Imspector OBF
      • fix support for version 5 data (thanks to Bjoern Thiel)

    • PCORAW
      • fix reading of files larger than 4 GB

    • AIM
      • fix reading of files larger than 4 GB

    • MRC
      • add support for signed 8-bit data

    • Fix build errors in MIPAV plugin

    • ImageJ
      • fix export from a script/macro

      • fix windowless export

      • allow exporting from any open image window

      • allow the “Group files with similar names” and “Swap dimensions” options to be used from a script/macro

    • bfconvert
      • fix writing each channel, Z section, and/or timepoint to a separate file

      • add options for configuring the tile size to be used when saving images

5.0.8 (2015 February 10)

  • No changes - release to keep version numbers in sync with OMERO

5.0.7 (2015 February 5)

  • Several bug fixes, including:
    • ND filter parsing for DeltaVision

    • Timepoint count and original metadata parsing for Metamorph

    • Build issues when Genshi or Git are missing

    • LZW image decoding

5.0.6 (2014 November 11)

  • Several bug fixes, including:
    • Pixel sign for DICOM images

    • Image dimensions for Zeiss CZI and Nikon ND2

    • Support for Leica LIF files produced by LAS AF 4.0 and later

5.0.5 (2014 September 23)

  • Documentation improvements

  • Support for non-spectral Prairie 5.2 datasets

5.0.4 (2014 September 3)

  • Fix compile and runtime errors under Java 1.8

  • Improvements to Nikon .nd2 metadata parsing

  • Added support for PicoQuant .bin files (thanks to Ian Munro)

5.0.3 (2014 August 7)

  • Many bug fixes for Nikon .nd2 files

  • Several other bug fixes, including:
    • LZW image decoding

    • Stage position parsing for Zeiss CZI

    • Exposure time units for ScanR

    • Physical pixel size units for DICOM

    • NDPI and Zeiss LSM files larger than 4GB

    • Z and T dimensions for InCell 6000 plates

    • Export of RGB images in ImageJ

  • Improved metadata saving in MATLAB functions

5.0.2 (2014 May 28)

  • Many bug fixes for Zeiss .czi files

  • Several other bug fixes, including:
    • Gatan .dm3 units and step count parsing

    • Imspector .msr 5D image support

    • DICOM reading of nested tags

  • Update native-lib-loader version (to 2.0.1)

  • Updates and improvements to user documentation

5.0.1 (2014 Apr 7)

  • Added image pyramid support for CellSens .vsi data

  • Several bug fixes, including:
    • Woolz import into OMERO

    • Cellomics file name parsing (thanks to Lee Kamentsky)

    • Olympus FV1000 timestamp support (thanks to Lewis Kraft and Patrick Riley)

    • (A)PNG large image support

    • Zeiss .czi dimension detection for SPIM datasets

  • Performance improvements for Becker & Hickl .sdt file reading (thanks to Ian Munro)

  • Performance improvements to directory listing over NFS

  • Update slf4j and logback versions (to 1.7.6 and 1.1.1 respectively)

  • Update jgoodies-forms version (to 1.7.2)

5.0.0 (2014 Feb 25)

  • New bundled ‘bioformats_package.jar’ for ImageJ

  • Now uses logback as the slf4j binding by default

  • Updated component names, .jar file names, and Maven artifact names

  • Fixed support for Becker & Hickl .sdt files with multiple blocks

  • Fixed tiling support for TIFF, Hamamatsu .ndpi, JPEG, and Zeiss .czi files

  • Improved continuous integration testing

  • Updated command line documentation

5.0.0-RC1 (2013 Dec 19)

  • Updated Maven build system and launched new Artifactory repository (http://artifacts.openmicroscopy.org)

  • Added support for:
  • Added support for populating and parsing ModuloAlong{Z, C, T} annotations for FLIM/SPIM data

  • Updated netCDF and slf4j version requirements - netCDF 4.3.19 and slf4j 1.7.2 are now required

  • Updated and improved MATLAB users and developers documentation

  • Many bug fixes including for Nikon ND2, Zeiss CZI, and CellWorX formats

5.0.0-beta1 (2013 June 20)

4.4.10 (2014 Jan 15)

  • Bug fixes including CellWorx, Metamorph and Zeiss CZI

  • Updates to MATLAB documentation

4.4.9 (2013 Oct 16)

  • Many bug fixes including improvements to support for ND2 format

  • Java 1.6 is now the minimum supported version; Java 1.5 is no longer supported

4.4.8 (2013 May 2)

  • No changes - release to keep version numbers in sync with OMERO

4.4.7 (2013 April 25)

  • Many bug fixes to improve support for more than 20 formats

  • Improved export to multi-file datasets

  • Now uses slf4j for logging rather than using log4j directly, enabling other logging implementations to be used, for example when Bio-Formats is used as a component in other software using a different logging system.

4.4.6 (2013 February 11)

  • Many bug fixes

  • Further documentation improvements

4.4.5 (2012 November 13)

  • Restructured and improved documentation

  • Many bug fixes, including:
    • File grouping in many multi-file formats

    • Maven build fixes

    • ITK plugin fixes

4.4.4 (2012 September 24)

  • Many bug fixes

4.4.2 (2012 August 22)

  • Security fix for OMERO plugins for ImageJ

4.4.1 (2012 July 20)

  • Fix a bug that prevented BigTIFF files from being read

  • Fix a bug that prevented PerkinElmer .flex files from importing into OMERO

4.4.0 (2012 July 13)

  • Many, many bug fixes

  • Added support for:
    • .nd2 files from Nikon Elements version 4

    • PerkinElmer Operetta data

    • MJPEG-compressed AVIs

    • MicroManager datasets with multiple positions

    • Zeiss CZI data

    • IMOD data

4.3.3 (2011 October 18)

  • Many bug fixes, including:
    • Speed improvements to HCImage/SimplePCI and Zeiss ZVI files

    • Reduce memory required by Leica LIF reader

    • More accurately populate metadata for Prairie TIFF datasets

    • Various fixes to improve the security of the OMERO plugin for ImageJ

    • Better dimension detection for Bruker MRI datasets

    • Better thumbnail generation for histology (SVS, NDPI) datasets

    • Fix stage position parsing for Metamorph TIFF datasets

    • Correctly populate the channel name for PerkinElmer Flex files

4.3.2 (2011 September 15)

  • Many bug fixes, including:
    • Better support for Volocity datasets that contain compressed data

    • More accurate parsing of ICS metadata

    • More accurate parsing of cellSens .vsi files

  • Added support for a few new formats
    • .inr

    • Canon DNG

    • Hitachi S-4800

    • Kodak .bip

    • JPX

    • Volocity Library Clipping (.acff)

    • Bruker MRI

  • Updated Zeiss LSM reader to parse application tags

  • Various performance improvements, particularly for reading/writing TIFFs

  • Updated OMERO ImageJ plugin to work with OMERO 4.3.x

4.3.1 (2011 July 8)

  • Several bug fixes, including:
    • Fixes for multi-position DeltaVision files

    • Fixes for MicroManager 1.4 data

    • Fixes for 12 and 14-bit JPEG-2000 data

    • Various fixes for reading Volocity .mvd2 datasets

  • Added various options to the ‘showinf’ and ‘bfconvert’ command line tools

  • Added better tests for OME-XML backwards compatibility

  • Added the ability to roughly stitch tiles in a multi-position dataset

4.3.0 (2011 June 14)

  • Many bug fixes, including:
    • Many fixes for reading and writing sub-images

    • Fixes for stage position parsing in the Zeiss formats

    • File type detection fixes

  • Updated JPEG-2000 reading and writing support to be more flexible

  • Added support for 9 new formats:
    • InCell 3000

    • Trestle

    • Hamamatsu .ndpi

    • Hamamatsu VMS

    • SPIDER

    • Volocity .mvd2

    • Olympus SIS TIFF

    • IMAGIC

    • cellSens VSI

  • Updated to 2011-06 OME-XML schema

  • Minor speed improvements in many formats

  • Switched version control system from SVN to Git

  • Moved all Trac tickets into the OME Trac: https://trac.openmicroscopy.org

  • Improvements to testing frameworks

  • Added Maven build system as an alternative to the existing Ant build system

  • Added pre-compiled C++ bindings to the download page

4.2.2 (2010 December 6)

  • Several bug fixes, notably:
    • Metadata parsing fixes for Zeiss LSM, Metamorph STK, and FV1000

    • Prevented leaked file handles when exporting to TIFF/OME-TIFF

    • Fixed how BufferedImages are converted to byte arrays

  • Proper support for OME-XML XML annotations

  • Added support for SCANCO Medical .aim files

  • Minor improvements to ImageJ plugins

  • Added support for reading JPEG-compressed AVI files

4.2.1 (2010 November 12)

  • Many, many bug fixes

  • Added support for 7 new formats:
    • CellWorX .pnl

    • ECAT7

    • Varian FDF

    • Perkin Elmer Densitometer

    • FEI TIFF

    • Compix/SimplePCI TIFF

    • Nikon Elements TIFF

  • Updated Zeiss LSM metadata parsing, with generous assistance from Zeiss, FMI, and MPI-CBG

  • Lots of work to ensure that converted OME-XML validates

  • Improved file stitching functionality; non-numerical file patterns and limited regular expression-style patterns are now supported

4.2.0 (2010 July 9)

  • Fixed many, many bugs in all aspects of Bio-Formats

  • Reworked ImageJ plugins to be more user- and developer-friendly

  • Added many new unit tests

  • Added support for approximately 25 new file formats, primarily in the SPM domain

  • Rewrote underlying I/O infrastructure to be thread-safe and based on Java NIO

  • Rewrote OME-XML parsing/generation layer; OME-XML 2010-06 is now supported

  • Improved support for exporting large images

  • Improved support for exporting to multiple files

  • Updated logging infrastructure to use slf4j and log4j

4.1.1 (2009 December 3)

  • Fixed many bugs in popular file format readers

4.1 (2009 October 21):

  • Fixed many bugs in most file format readers

  • Significantly improved confocal and HCS metadata parsing

  • Improved C++ bindings

  • Eliminated references to Java AWT classes in core Bio-Formats packages

  • Added support for reading Flex datasets from multiple servers

  • Improved OME-XML generation; generated OME-XML is now valid

  • Added support for Olympus ScanR data

  • Added OSGi information to JARs

  • Added support for Amira Mesh files

  • Added support for LI-FLIM files

  • Added more informative exceptions

  • Added support for various types of ICS lifetime data

  • Added support for Nikon EZ-C1 TIFFs

  • Added support for Maia Scientific MIAS data

4.0.1 (2009 June 1)

  • Lots of bug fixes in most format readers and writers

  • Added support for Analyze 7.1 files

  • Added support for Nifti files

  • Added support for Cellomics .c01 files

  • Refactored ImageJ plugins

  • Bio-Formats, the common package, and the ImageJ plugins now require Java 1.5

  • Eliminated native library dependency for reading lossless JPEGs

  • Changed license from GPL v3 or later to GPL v2 or later

  • Updated Olympus FV1000, Zeiss LSM, Zeiss ZVI and Nikon ND2 readers to parse ROI data

  • Added option to ImageJ plugin for displaying ROIs parsed from the chosen dataset

  • Fixed BufferedImage construction for signed data and unsigned int data

4.0.0 (2009 March 3)

  • Improved OME data model population for Olympus FV1000, Nikon ND2, Metamorph STK, Leica LEI, Leica LIF, InCell 1000 and MicroManager

  • Added TestNG tests for format writers

  • Added option to ImageJ plugin to specify custom colors when customizing channels

  • Added ability to upgrade the ImageJ plugin from within ImageJ

  • Fixed bugs in Nikon ND2, Leica LIF, BioRad PIC, TIFF, PSD, and OME-TIFF

  • Fixed bugs in Data Browser and Exporter plugins

  • Added support for Axon Raw Format (ARF), courtesy of Johannes Schindelin

  • Added preliminary support for IPLab-Mac file format

2008 December 29

  • Improved metadata support for DeltaVision, Zeiss LSM, MicroManager, and Leica LEI

  • Restructured code base/build system to be component-driven

  • Added support for JPEG and JPEG-2000 codecs within TIFF, OME-TIFF and OME-XML

  • Added support for 16-bit compressed Flex files

  • Added support for writing JPEG-2000 files

  • Added support for Minolta MRW format

  • Added support for the 2008-09 release of OME-XML

  • Removed dependency on JMagick

  • Re-added caching support to data browser plugin

  • Updated loci.formats.Codec API to be more user-friendly

  • Expanded loci.formats.MetadataStore API to better represent the OME-XML model

  • Improved support for Nikon NEF

  • Improved support for TillVision files

  • Improved ImageJ import options dialog

  • Fixed bugs with Zeiss LSM files larger than 4 GB

  • Fixed minor bugs in most readers

  • Fixed bugs with exporting from an Image5D window

  • Fixed several problems with virtual stacks in ImageJ

2008 August 30

  • Fixed bugs in many file format readers

  • Fixed several bugs with swapping dimensions

  • Added support for Olympus CellR/APL files

  • Added support for MINC MRI files

  • Added support for Aperio SVS files compressed with JPEG 2000

  • Added support for writing OME-XML files

  • Added support for writing APNG files

  • Added faster LZW codec

  • Added drag and drop support to ImageJ shortcut window

  • Re-integrated caching into the data browser plugin

2008 July 1

  • Fixed bugs in most file format readers

  • Fixed bugs in OME and OMERO download functionality

  • Fixed bugs in OME server-side import

  • Improved metadata storage/retrieval when uploading to and downloading from the OME Perl server

  • Improved Bio-Formats ImageJ macro extensions

  • Major updates to MetadataStore API

  • Updated OME-XML generation to use 2008-02 schema by default

  • Addressed time and memory performance issues in many readers

  • Changed license from LGPL to GPL

  • Added support for the FEI file format

  • Added support for uncompressed Hamamatsu Aquacosmos NAF files

  • Added support for Animated PNG files

  • Added several new options to Bio-Formats ImageJ plugin

  • Added support for writing ICS files

2008 April 17

  • Fixed bugs in Slidebook, ND2, FV1000 OIB/OIF, Perkin Elmer, TIFF, Prairie, Openlab, Zeiss LSM, MNG, Molecular Dynamics GEL, and OME-TIFF

  • Fixed bugs in OME and OMERO download functionality

  • Fixed bugs in OME server-side import

  • Fixed bugs in Data Browser

  • Added support for downloading from OMERO 2.3 servers

  • Added configuration plugin

  • Updates to MetadataStore API

  • Updates to OME-XML generation - 2007-06 schema used by default

  • Added support for Li-Cor L2D format

  • Major updates to TestNG testing framework

  • Added support for writing multi-series OME-TIFF files

  • Added support for writing BigTIFF files

2008 Feb 12

  • Fixed bugs in QuickTime, SimplePCI and DICOM

  • Fixed a bug in channel splitting logic

2008 Feb 8

  • Many critical bugfixes in format readers and ImageJ plugins

  • Newly reborn Data Browser for 5D image visualization
    • some combinations of import options do not work yet

2008 Feb 1

  • Fixed bugs in Zeiss LSM, Metamorph STK, FV1000 OIB/OIF, Leica LEI, TIFF, Zeiss ZVI, ICS, Prairie, Openlab LIFF, Gatan, DICOM, QuickTime

  • Fixed bug in OME-TIFF writer

  • Major changes to MetadataStore API

  • Added support for JPEG-compressed TIFF files

  • Added basic support for Aperio SVS files
    • JPEG2000 compression is still not supported

  • Improved “crop on import” functionality

  • Improvements to bfconvert and bfview

  • Improved OME-XML population for several formats

  • Added support for JPEG2000-compressed DICOM files

  • EXIF data is now parsed from TIFF files

2007 Dec 28

  • Fixed bugs in Leica LEI, Leica TCS, SDT, Leica LIF, Visitech, DICOM, Imaris 5.5 (HDF), and Slidebook readers

  • Better parsing of comments in TIFF files exported from ImageJ

  • Fixed problem with exporting 48-bit RGB data

  • Added logic to read multi-series datasets spread across multiple files

  • Improved channel merging in ImageJ - requires ImageJ 1.39l

  • Support for hyperstacks and virtual stacks in ImageJ - requires ImageJ 1.39l

  • Added API for reading directly from a byte array or InputStream

  • Metadata key/value pairs are now stored in ImageJ’s “Info” property

  • Improved OMERO download plugin - it is now much faster

  • Added “open all series” option to ImageJ importer

  • ND2 reader based on Nikon’s SDK now uses our own native bindings

  • Fixed metadata saving bug in ImageJ

  • Added sub-channel labels to ImageJ windows

  • Major updates to 4D Data Browser

  • Minor updates to automated testing suite

2007 Dec 1

  • Updated OME plugin for ImageJ to support downloading from OMERO

  • Fixed bug with floating point TIFFs

  • Fixed bugs in Visitech, Zeiss LSM, Imaris 5.5 (HDF)

  • Added alternate ND2 reader that uses Nikon’s native libraries

  • Fixed calibration and series name settings in importer

  • Added basic support for InCell 1000 datasets

2007 Nov 21

  • Fixed bugs in ND2, Leica LIF, DICOM, Zeiss ZVI, Zeiss LSM, FV1000 OIB, FV1000 OIF, BMP, Evotec Flex, BioRad PIC, Slidebook, TIFF

  • Added new ImageJ plugins to slice stacks and do “smart” RGB merging

  • Added “windowless” importer plugin
    • uses import parameters from IJ_Prefs.txt, without prompting the user

  • Improved stack slicing and colorizing logic in importer plugin

  • Added support for DICOM files compressed with lossless JPEG
    • requires native libraries

  • Fixed bugs with signed pixel data

  • Added support for Imaris 5.5 (HDF) files

  • Added 4 channel merging to importer plugin

  • Added API methods for reading subimages

  • Major updates to the 4D Data Browser

2007 Oct 17

  • Critical OME-TIFF bugfixes

  • Fixed bugs in Leica LIF, Zeiss ZVI, TIFF, DICOM, and AVI readers

  • Added support for JPEG-compressed ZVI images

  • Added support for BigTIFF

  • Added importer plugin option to open each plane in a new window

  • Added MS Video 1 codec for AVI

2007 Oct 1

  • Added support for compressed DICOM images

  • Added support for uncompressed LIM files

  • Added support for Adobe Photoshop PSD files

  • Fixed bugs in DICOM, OME-TIFF, Leica LIF, Zeiss ZVI, Visitech, PerkinElmer and Metamorph

  • Improved indexed color support

  • Addressed several efficiency issues

  • Fixed how multiple series are handled in 4D data browser

  • Added option to reorder stacks in importer plugin

  • Added option to turn off autoscaling in importer plugin

  • Additional metadata convenience methods

2007 Sept 11

  • Major improvements to ND2 support; lossless compression now supported

  • Support for indexed color images

  • Added support for Simple-PCI .cxd files

  • Command-line OME-XML validation

  • Bugfixes in most readers, especially Zeiss ZVI, Metamorph, PerkinElmer and Leica LEI

  • Initial version of Bio-Formats macro extensions for ImageJ

2007 Aug 1

  • Added support for latest version of Leica LIF

  • Fixed several issues with Leica LIF, Zeiss ZVI

  • Better metadata mapping for Zeiss ZVI

  • Added OME-TIFF writer

  • Added MetadataRetrieve API for retrieving data from a MetadataStore

  • Miscellaneous bugfixes

2007 July 16

  • Fixed several issues with ImageJ plugins

  • Better support for Improvision and Leica TCS TIFF files

  • Minor improvements to Leica LIF, ICS, QuickTime and Zeiss ZVI readers

  • Added searchable metadata window to ImageJ importer

2007 July 2

  • Fixed issues with ND2, Openlab LIFF and Slidebook

  • Added support for Visitech XYS

  • Added composite stack support to ImageJ importer

2007 June 18

  • Fixed issues with ICS, ND2, MicroManager, Leica LEI, and FV1000 OIF

  • Added support for large (> 2 GB) ND2 files

  • Added support for new version of ND2

  • Minor enhancements to ImageJ importer

  • Implemented more flexible logging

  • Updated automated testing framework to use TestNG

  • Added package for caching images produced by Bio-Formats

2007 June 6

  • Fixed OME upload/download bugs

  • Fixed issues with ND2, EPS, Leica LIF, and OIF

  • Added support for Khoros XV

  • Minor improvements to the importer

2007 May 24

  • Better Slidebook support

  • Added support for Quicktime RPZA

  • Better Leica LIF metadata parsing

  • Added support for BioRad PIC companion files

  • Added support for bzip2-compressed files

  • Improved ImageJ plugins

  • Native support for FITS and PGM

2007 May 2

  • Added support for NRRD

  • Added support for Evotec Flex (requires LuraWave Java SDK with license code)

  • Added support for gzip-compressed files

  • Added support for compressed QuickTime headers

  • Fixed QuickTime Motion JPEG-B support

  • Fixed some memory issues (repeated small array allocations)

  • Fixed issues reading large (> 2 GB) files

  • Removed “ignore color table” logic, and replaced with Leica-specific solution

  • Added status event reporting to readers

  • Added API to toggle metadata collection

  • Support for multiple dimensions rasterized into channels

  • Deprecated reader and writer methods that accept the ‘id’ parameter

  • Deprecated IFormatWriter.save in favor of saveImage and saveBytes

  • Moved dimension swapping and min/max calculation logic to delegates

  • Separate GUI logic into isolated loci.formats.gui package

  • Miscellaneous bugfixes and tweaks in most readers and writers

  • Many other bugfixes and improvements

2007 Mar 16

  • Fixed calibration bugs in importer plugin

  • Enhanced metadata support for additional formats

  • Fixed LSM bug

2007 Mar 7

  • Added support for Micro-Manager file format

  • Fixed several bugs – Leica LIF, Leica LEI, ICS, ND2, and others

  • Enhanced metadata support for several formats

  • Load series preview thumbnails in the background

  • Better implementation of openBytes(String, int, byte[]) for most readers

  • Expanded unit testing framework

2007 Feb 28

  • Better series preview thumbnails

  • Fixed bugs with multi-channel Leica LEI

  • Fixed bugs with “ignore color tables” option in ImageJ plugin

2007 Feb 26

  • Many bugfixes: Leica LEI, ICS, FV1000 OIB, OME-XML and others

  • Better metadata parsing for BioRad PIC files

  • Enhanced API for calculating channel minimum and maximum values

  • Expanded MetadataStore API to include more semantic types

  • Added thumbnails to series chooser in ImageJ plugin

  • Fixed plugins that upload and download from an OME server

2007 Feb 7

  • Added plugin for downloading images from OME server

  • Improved HTTP import functionality

  • Added metadata filtering – unreadable metadata is no longer shown

  • Better metadata table for multi-series datasets

  • Added support for calibration information in Gatan DM3

  • Eliminated need to install JAI Image I/O Tools to read ND2 files

  • Fixed ZVI bugs: metadata truncation, and other problems

  • Fixed bugs in Leica LIF: incorrect calibration, first series labeling

  • Fixed memory bug in Zeiss LSM

  • Many bugfixes: PerkinElmer, DeltaVision, Leica LEI, LSM, ND2, and others

  • IFormatReader.close(boolean) method to close files temporarily

  • Replaced Compression utility class with extensible Compressor interface

  • Improved testing framework to use .bioformats configuration files

2007 Jan 5

  • Added support for Prairie TIFF

  • Fixed bugs in Zeiss LSM, OIB, OIF, and ND2

  • Improved API for writing files

  • Added feature to read files over HTTP

  • Fixed bugs in automated testing framework

  • Miscellaneous bugfixes

2006 Dec 22

  • Expanded ImageJ plugin to optionally use Image5D or View5D

  • Improved support for ND2 and JPEG-2000 files

  • Added automated testing framework

  • Fixed bugs in Zeiss ZVI reader

  • Miscellaneous bugfixes

2006 Nov 30

  • Added support for ND2/JPEG-2000

  • Added support for MRC

  • Added support for MNG

  • Improved support for floating-point images

  • Fixed problem with 2-channel Leica LIF data

  • Minor tweaks and bugfixes in many readers

  • Improved file stitching logic

  • Allow ImageJ plugin to be called from a macro

2006 Nov 2

  • Bugfixes and improvements for Leica LIF, Zeiss LSM, OIF and OIB

  • Colorize channels when they are split into separate windows

  • Fixed a bug with 4-channel datasets

2006 Oct 31

  • Added support for Imaris 5 files

  • Added support for RGB ICS images

2006 Oct 30

  • Added support for tiled TIFFs

  • Fixed bugs in ICS reader

  • Fixed importer plugin deadlock on some systems

2006 Oct 27

  • Multi-series support for Slidebook

  • Added support for Alicona AL3D

  • Fixed plane ordering issue with FV1000 OIB

  • Enhanced dimension detection in FV1000 OIF

  • Added preliminary support for reading NEF images

  • Added option to ignore color tables

  • Fixed ImageJ GUI problems

  • Fixed spatial calibration problem in ImageJ

  • Fixed some lingering bugs in Zeiss ZVI support

  • Fixed bugs in OME-XML reader

  • Tweaked ICS floating-point logic

  • Fixed memory leaks in all readers

  • Better file stitching logic

2006 Oct 6

  • Support for 3i SlideBook format (single series only for now)

  • Support for 16-bit RGB palette TIFF

  • Fixed bug preventing import of certain Metamorph STK files

  • Fixed some bugs in PerkinElmer UltraView support

  • Fixed some bugs in Leica LEI support

  • Fixed a bug in Zeiss ZVI support

  • Fixed bugs in Zeiss LSM support

  • Fixed a bug causing slow identification of Leica datasets

  • Fixed bugs in the channel merging logic

  • Fixed memory leak for OIB format

  • Better scaling of 48-bit RGB data to 24-bit RGB

  • Fixed duplicate channels bug in “open each channel in a separate window”

  • Fixed a bug preventing PICT import into ImageJ

  • Better integration with HandleExtraFileTypes

  • Better virtual stack support in Data Browser plugin

  • Fixed bug in native QuickTime random access

  • Keep aspect ratio for computed thumbnails

  • Much faster file stitching logic

2006 Sep 27

  • PerkinElmer: support for PE UltraView

  • Openlab LIFF: support for Openlab v5

  • Leica LEI: bugfixes, and support for multiple series

  • ZVI, OIB, IPW: more robust handling of these formats (eliminated custom OLE parsing logic in favor of Apache POI)

  • OIB: better metadata parsing (but maybe still not perfect?)

  • LSM: fixed a bug preventing import of certain LSMs

  • Metamorph STK: fixed a bug resulting in duplicate image planes

  • User interface: use of system look & feel for file chooser dialog when available

  • Better notification when JAR libraries are missing

2006 Sep 6

  • Leica LIF: multiple distinct image series within a single file

  • Zeiss ZVI: fixes and improvements contributed by Michel Boudinot

  • Zeiss LSM: fixed bugs preventing the import of certain LSM files

  • TIFF: fixed a bug preventing import of TIFFs created with Bio-Rad software

2006 Mar 31

  • First release

Reporting a bug

Before filing a bug report

If you think you have found a bug in Bio-Formats, the first thing to do is update your version of Bio-Formats to the latest version to check if the problem has already been addressed. The Fiji updater will automatically do this for you, while in ImageJ you can select Plugins ‣ Bio-Formats ‣ Update Bio-Formats Plugins.

You can also download the latest version of Bio-Formats from the OME website.

Common issues to check

  • If you get an error message similar to:

    java.lang.UnsupportedClassVersionError: loci/plugins/LociImporter :
    Unsupported major.minor version 52.0
    
    This plugin requires Java 1.8 or later.
    

    you need to upgrade your system Java version to Java 8 or above, or download a new version of ImageJ/Fiji bundled with Java 8.

  • If your 12, 14 or 16-bit images look all black when you open them, typically the problem is that the pixel values are very, very small relative to the maximum possible pixel value (4095, 16383, and 65535, respectively), so when displayed the pixels are effectively black. In ImageJ/Fiji, this is fixable by checking the “Autoscale” option; with the command line tools, the “-autoscale -fast” options should work.

  • If the file is very, very small (4096 bytes) and any exception is generated when reading the file, then make sure it is not a Mac OS X resource fork. The ‘file’ command should tell you:

    $ file /path/to/suspicious-file
    suspicious-file: AppleDouble encoded Macintosh file
    
  • If you get an OutOfMemory or NegativeArraySize error message when attempting to open an SVS or JPEG-2000 file then the amount of pixel data in a single image plane exceeds the amount of memory allocated to the JVM or 2 GB, respectively. For the former, you can increase the amount of memory allocated; in the latter case, you will need to open the image in sections. If you are using Bio-Formats as a library, this means using the openBytes(int, int, int, int, int) method in loci.formats.IFormatReader. If you are using Bio-Formats within ImageJ, you can use the Crop on import option.

    Note that JPEG-2000 is a very efficient compression algorithm - thus the size of the file on disk will be substantially smaller than the amount of memory required to store the uncompressed pixel data. It is not uncommon for a JPEG-2000 or SVS file to occupy less than 200 MB on disk, and yet have over 2 GB of uncompressed pixel data.

Sending a bug report

If you can still reproduce the bug after updating to the latest version of Bio-Formats, and your issue does not relate to anything listed above or noted on the relevant file format page, please send a bug report to the forums. You can upload sample files to Zenodo, or for files over 50 GB, we can provide you with an FTP server address.

To ensure that any inquiries you make are resolved promptly, please include the following information:

  • Exact error message. Copy and paste any error messages into the text of your email. Alternatively, attach a screenshot of the relevant windows.

  • Version information. Indicate which release of Bio-Formats, which operating system, and which version of Java you are using.

  • Non-working data. If possible, please send a non-working file. This helps us ensure that the problem is fixed for next release and will not reappear in later releases. Note that any data provided is used for internal testing only; we do not make images publicly available unless given explicit permission to do so.

  • Metadata and screenshots. If possible, include any additional information about your data. We are especially interested in the expected dimensions (width, height, number of channels, Z slices, and timepoints). Screenshots of the image being successfully opened in other software are also useful.

  • Format details. If you are requesting support for a new format, we ask that you send as much data as you have regarding this format (sample files, specifications, vendor/manufacturer information, etc.). This helps us to better support the format and ensures future versions of the format are also supported.

Please be patient - it may be a few days until you receive a response, but we reply to every email inquiry we receive.