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 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.
Docker containers with all necessary components are available (see Docker Containers section).
Documentation
Documentation is available on Read the Docs.
Universal Container Components
All containers contain the follow components:
- Python 3.8
- numpy (1.19.1)
- imagecodecs (2020.5.30, built with
--lite
option) - tifffile (2020.7.4)
- bfio (version 2.0.6)
Containers ending with -java
also contain:
- openjdk-8
- python-javabridge (version 4.0.0)
- python-bioformats (version 4.0.0)
- loci-tools.jar (Version 6.1.0)
Docker 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.6
The alpine container for bfio
is currently unavailable.
Additional Python container tags:
2.0.6-alpine
, 2.0.6-python
,2.0.6-alpine-python
Containers with Java: 2.0.6-java
, 2.0.6-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.6-slim-buster
Additional Python container tags: 2.0.6-slim-buster-python
Containers with Java: 2.0.6-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.6-tensorflow
Additional Python container tags: 2.0.6-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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.