BIP Biological Image Processing
BIP (Biological Image Processing) is developed by the Modeling and Digital Imaging team of the Institute Jean-Pierre Bourgin for Plant Sciences, INRAE Versailles, France.
BIP is a command-line tool for processing and analyzing (biological) images. Its distinctive feature is to be natively oriented for processing batch images using automated pipelines.
BIP integrates many standard algorithms as well as specific algorithms we have developed in our research projects. Many functionalities are quite generic image processing operators, while others address specific needs typically encountered in bioimage analysis. We initially developed BIP for our own needs and now make it available to a wider audience in the hope it will be useful to others.
A short introduction to BIP and its main features is available in this PDF presentation, which was given at EMBL during the EMBO Practical Course on Advanced Methods in Bioimage Analysis, 14-19 September 2025, Heidelberg, Germany.
| > Available on Linux, MacOS (coming soon), and Windows |
| > Supports all image types: 2D/3D, grayscale/RGB/multi-channels, time-lapse, scalar/vector |
| > Supports all data types: 8, 16, 32 signed and unsigned integers; 32 and 64 floats |
| > Simple design, easy to use; requires basic knowledge in image processing and analysis |
| > Natively batch-oriented and seamless pipeline processing |
BIP is free software distributed under the GNU General Public License as published by the Free Software Foundation.
The publication of BIP is on-going. BIP is developed based on the Free-D software libraries. Meanwhile, any publication of results generated using BIP must include the following reference:
Biot E, Crowell E, Burguet J, Höfte H, Vernhettes S, Andrey P (2016). Strategy and software for the statistical spatial analysis of 3D intracellular distribution. Plant Journal, 87, 230-242.
| Version | Ubuntu24.04 | Ubuntu22.04 | Windows | MacOSX |
|---|---|---|---|---|
| 2025.09.05 | Download (U 24.04) |
Download (U 22.04) |
Download | TBD |
| 2024.10.28 | NA | Download (U 22.04) |
Download | NA |
| 2024.03.19 | NA | Download (U 22.04) |
Download | NA |
Installation instructions can be found in the manual (see below).
The detailed manual is available here: BIP manual (PDF).
The BIP Gitlab page will be soon available on the INRAE forge. Stay tuned!
This section presents only a brief introduction to BIP usage. Please consult the user manual for detailed information and instructions.
In a terminal, simply type:
bip
This will display a summary of bip usage and the current list of available operators with their options.
In its most basic usage, bip can be used to apply a given operator to a single image. For example:
bip gaussian-filter 1.0 image.tif
This will create a new image file in the current directory. By default, the name of the output file is built by concatenating the input image filename with the name of the operator (image-gaussian-filter.tif in this example).
Most operators available in BIP can be applied at once on several images:
bip gaussian-filter 1.0 image1.tif image2.tif image3.tif
Here users will in general heavily rely on shell wildcards. For example, the following command will take as input all the images with "dapi" in their filenames in the "input" directory and will store their Gaussian filtered version in the current directory:
bip gaussian-filter 1.0 ../input/*dapi*.tif
BIP pipelines have two purposes. First, they simplify and accelerate the design and the application of image processing sequences composed of several steps. Second, they also facilitate tracing the operations that have been applied to images.
Consider the following 3-step sequence: Gaussian filtering -> Otsu's thresholding -> object labelling. Without pipelines, the corresponding sequence of commands to enter in the terminal is:
bip gaussian-filter 1.0 image.tif
bip otsu-thresholding image-gaussian-filter.tif
bip labelling image-gaussian-filter-otsu-thresholding.tif
[note: the global option "-b" can be used to avoid increasingly-complex-file-names!]
To run the same sequence using a pipeline, we first create a file (say, process.bip) describing the series of operations. The syntax is exactly the same in pipeline files as in command-line calls:
# contents of process.bip
gaussian-filter 1.0
otsu-thresholding
labelling
The pipeline can then be run by invoking the pipeline operator:
bip pipeline process.bip image.tif
When running a pipeline, the name of the output file is built by concatenating the input image filename with the basename of the pipeline file (image-process.tif in the example).
Pipelines can be applied in batch as any other operator:
bip pipeline process.bip ../input/*.tif
Lastly, pipelines can also be specified directly on the command line, without having to create a pipeline file. This is done using the -e option of the pipeline operator, and specifying a text string with the list of operators separated by the pipe ('|') character:
bip pipeline -e "gaussian-filter 1.0 | otsu-thresholding | labelling" *.tif
Philippe ANDREY (philippe andrey AT inrae fr). Eric BIOT (eric biot AT inrae fr).