Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

R interface to Bio-Formats

RBioFormats is an R package which provides an interface to the OME Bio-Formats Java library. It facilitates reading of proprietary image data and metadata in R.


First, make sure you have JDK 1.8 or higher installed. To install RBioFormats use the biocLite installation script in order to resolve the dependency on the Bioconductor package EBImage.

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

Mac OS X

Mac OS comes with a legacy Apple Java 6. In order to use RBioFormats, you will need to update your Java installation to a newer version provided by Oracle.

  1. Install Oracle JDK.

  2. Update R Java configuration by executing from the command line (you might have to run it as a super user by prepending sudo depending on your installation).

R CMD javareconf
  1. Re-install rJava from sources in order to properly link to the non-system Java installation.
install.packages("rJava", type="source")

You can verify your configuration by running the following commands. This should return the Java version string corresponding to the one downloaded and installed in step 1.

.jcall("java/lang/System", "S", "getProperty", "java.runtime.version")
## [1] "1.8.0_112-b16" 


To get started with using RBioFormats have a look at the package vignette.


See my answers on Stack Overflow for solutions to some common and less common questions.


The java.lang.OutOfMemoryError error

If you get the java.lang.OutOfMemoryError: Java heap space error, try increasing the maximum heap size by supplying the -Xmx parameter before the Java Virtual Machine is initialized. For example, use

options( java.parameters = "-Xmx4g" )
library( "RBioFormats" )

to override the default setting and assign 4 gigabytes of heap space to the Java environment.

Information about the current Java heap space limit can be retrieved by checkJavaMemory().

Use with BiocParallel

Each R process needs a separate JVM instance. For this, load the package in the parallelized function, e.g.,

bplapply (files, function(f) {