Installation - jeanollion/bacmman GitHub Wiki
Here is a screencast showing the installation process
- Download and install FIJI 64-bit.
- Select the menu command Help > Update… and perform any updates by clicking on Apply changes, if any update was proposed: restart Fiji and go back to Help > Update…
- Click Advanced Mode then click Manage update sites.
- Select
BACMMAN
andImageScience
, then click Apply Changes. - Restart FIJI.
- Optional : to use modules that rely on deep learning, install deep learning update site (see below)
- From the plugin menu run the BACMMAN>BACteria in Mother Machine ANalyzer command.
Requires Git and Maven 3 and Java 8 or further. Run the following bash commands (replace <VERSION>
by the actual version):
- to clone (download) the source code, execute:
git clone https://github.com/jeanollion/bacmman.git
- move to the directory:
cd bacmman
- Modify optional module configuration:
- In the pom.xml of
bacmman
directory, remove the line<module>bacmman-blissed</module>
. In pom.xlm of bacmman_ij_ sub-directory remove the dependency to bacmman-blissed. (bacmman-blissed is a module that is not distributed yet). - In the pom.xml of
bacmman-objectbox
sub-directory set theobjectbox.platform
property (either linux, windows or macos) - If you will tensorflow for deep learning modules: modify the pom.xml file of the
bacmman-tf2
sub-directory and set your OS in thejavacpp.platform
property and whether you use GPU or not in thejavacpp.platform.extension
property. Note that GPU is not supported for MacOS
- to download dependencies and compile, execute:
mvn clean dependency:copy-dependencies package -Dmaven.test.skip=true
- move to the directory:
cd bacmman-ij1_/target
- to run bacmman from the terminal, execute:
- for unix OS:
java -cp dependency/*:bacmman-ij1_-<VERSION>.jar bacmman.binding.IJ1
- or for windows:
java -cp .\dependency\*;.\bacmman-ij1_-<VERSION>.jar bacmman.binding.IJ1
- for unix OS:
Since version 3.3.0 Bacmman can fetch source images directly from a Omero server.
To use this feature, install the update site OMERO 5.5-5.6
By default BACMMAN uses Tensorflow 2x. You need to choose and either GPU or CPU version (choose CPU if you are not sure whether your machine has a GPU). Note that GPU versions are not available for MACOSX
Only for Linux, Windows, and MacOS X with Intel CPU. Recent Apple computers (M1/M2/M3) are not supported yet.
Since version 3.1.0, bacmman includes binding for tensorflow 2.x.
After having installed BACMMAN, restart FIJI and activate the update site: BACMMAN-DL
. To do so:
- Select the menu command Help > Update… and perform any updates by clicking on Apply changes, if any update was proposed: restart Fiji and go back to Help > Update…
- Click Advanced Mode then click Manage update sites.
- If
BACMMAN-DL-GPU
is selected, deselect it. - Select
BACMMAN-DL
, then click Apply Changes. - Restart FIJI.
- In the pom.xml file of the bacmman module, set the
tensorflow.version
property to 2 - Run the maven command:
mvn clean dependency:copy-dependencies package
Only for Linux and Windows Since version 3.1.0, bacmman includes binding with tensorflow 2.x.
- Install Cuda 11.0, 11.1 or 11.2.
- Install cudnn 8.x.
- Note that the GPU driver do not need to be v460, it can be a recent one (the CUDA Version displayed with nvidia-smi do not need to be the same as installed previously)
- Since installation of this version of CUDA can be cubersome we provide detailed instructions here
- Choose one of the two following method to install the related bacmman dependencies:
- Install from FIJI: after having installed bacmman, restart FIJI and activate the update site:
BACMMAN-DL-GPU
. To do so:- Select the menu command Help > Update… and perform any updates by clicking on Apply changes, if any update was proposed: restart Fiji and go back to Help > Update…
- Click Advanced Mode then click Manage update sites.
- If
BACMMAN-DL
is selected, deselect it. - Select
BACMMAN-DL-GPU
, then click Apply Changes. - Restart FIJI.
- Install from command line:
- In the pom.xml file of the bacmman-tf2 module set the
javacpp.platform.extension
property to-gpu
- Run the maven command:
mvn clean dependency:copy-dependencies package
- In the pom.xml file of the bacmman-tf2 module set the
- Install from FIJI: after having installed bacmman, restart FIJI and activate the update site:
Since version 3.6.0 bacmman can train neural networks on GPUs through Docker, which is one of the easiest way to train and use neural network on Nvidia GPUs. This requires a Nvidia GPU, Linux or Windows 11 (Windows 10 requires a few more steps not detailed here). Below are details the steps to install Docker as well as a GPU passthrough (windows and linux only). Since version 3.8.4, there is a Data Analysis panel that uses Docker to start a notebook server (Nvidia drivers are not required for this application).
- if not already done and if docker is to be used for neural network training or prediction, install Nvidia drivers. Running the command
nvidia-smi
allows to check that driver are properly installed. - install WSL2: run
wsl --install
in a power shell with administrator rights and restart the computer. more information - install Docker Desktop
- when starting Docker, if an error related to virtualization, make sure virtualization is enabled in the BIOS
- in docker settings, make sure WSL2-based engine is used.
- if WSL-related errors appear while training a neural network: disable
Windows hypervisor platform
in the settings section calledTurn Windows features on or off
- Install Docker Engine
- Install Nvidia container toolkit
- If the message
error: Access denied
change the access rights:sudo chmod 666 /var/run/docker.sock
- Install Docker Desktop for your CPU architecture : Apple Silicon (M1, M2, M3..) or Intel.