Skip to main content

Simple reading and writing classes for tiled tiffs using Bioformats.

Project description

BioFormats Input/Output utility (bfio)

This tool is a simplified but powerful interface to the Bioformats java library. It makes use of Cell Profilers python-bioformats package to access the Bioformats library. One of the issues with using the python-bioformats package is reading and writing large image planes (>2GB). The challenge lies in the way Bioformats reads and writes large image planes, using an int value to index the file. To do get around this, files can be read or written in chunks and the classes provided in bfio handle this automatically. The BioWriter class in this package only writes files in the .ome.tif format, and automatically sets the tile sizes to 1024.

This tool is currently not on any public pip repositories, but can be installed by cloning this repository and installing with pip.

Documentation

Documentation is available on Read the Docs.

Universal Container Components

All containers contain the follow components:

  1. Python 3.8
  2. numpy (1.19.1)
  3. imagecodecs (2020.5.30, built with --lite option)
  4. tifffile (2020.7.4)
  5. bfio (version 2.0.0)

Containers ending with -java also contain:

  1. openjdk-8
  2. python-javabridge (version 4.0.0)
  3. python-bioformats (version 4.0.0)
  4. loci-tools.jar (Version 6.1.0)

Containers

All containers can use the Python backend, but only the containers with Java may use the Java backend.

labshare/polus-bfio-util:2.0.0a3

Additional Python container tags: 2.0.0a3-alpine, 2.0.0a3-python, 2.0.0a3-alpine-python

Containers with Java: 2.0.0a3-java, 2.0.0a3-alpine-java

This container is built on Alpine Linux. This is the smallest bfio container, but also the most difficult to install additional requirements on. The Python containers (98MB) are much smaller than the Java containers (383MB).

labshare/polus-bfio-util:2.0.0a3-slim-buster

Additional Python container tags: 2.0.0a3-slim-buster-python

Containers with Java: 2.0.0a3-slim-buster-java

This container is built on a stripped down version of Debian Buster. This container is larger than the alpine version, but easier to install new Python packages on since manylinux wheels can be installed on it. However, if a package requires compilation, a compiler will need to be installed.

labshare/polus-bfio-util:2.0.0a3-tensorflow

Additional Python container tags: 2.0.0a3-tensorflow-python

Containers with Java: No Java containers

This container is built on Debian Buster and includes Tensorflow 2.1.0 and all necessary GPU drivers to run Tensorflow on an NVIDIA graphics card.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

bfio-2.0.0a4-py2.py3-none-any.whl (35.7 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page