Installation - jeanollion/bacmman GitHub Wiki

Install From FIJI

Here is a screencast showing the installation process

  1. Download and install FIJI 64-bit.
  2. 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…
  3. Click Advanced Mode then click Manage update sites.
  4. Select BACMMAN and ImageScience, then click Apply Changes.
  5. Restart FIJI.
  6. Optional : to use modules that rely on deep learning, install deep learning update site (see below)
  7. From the plugin menu run the BACMMAN>BACteria in Mother Machine ANalyzer command.

Install from command line

Requires Git and Maven 3 and Java 8 or further. Run the following bash commands (replace <VERSION> by the actual version):

  1. to clone (download) the source code, execute: git clone https://github.com/jeanollion/bacmman.git
  2. move to the directory: cd bacmman
  3. 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 the objectbox.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 the javacpp.platform property and whether you use GPU or not in the javacpp.platform.extension property. Note that GPU is not supported for MacOS
  1. to download dependencies and compile, execute: mvn clean dependency:copy-dependencies package -Dmaven.test.skip=true
  2. move to the directory: cd bacmman-ij1_/target
  3. 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

Omero Binding

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

Deep Learning

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

Tensorflow 2.x (CPU)

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.

Install from FIJI:

After having installed BACMMAN, restart FIJI and activate the update site: BACMMAN-DL. To do so:

  1. 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…
  2. Click Advanced Mode then click Manage update sites.
  3. If BACMMAN-DL-GPU is selected, deselect it.
  4. Select BACMMAN-DL, then click Apply Changes.
  5. Restart FIJI.

Install from command line:

  • 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

Tensorflow 2.x (GPU)

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:
      1. 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…
      2. Click Advanced Mode then click Manage update sites.
      3. If BACMMAN-DL is selected, deselect it.
      4. Select BACMMAN-DL-GPU, then click Apply Changes.
      5. 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

Docker

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).

Windows 11

  • 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 called Turn Windows features on or off

Linux

Mac

⚠️ **GitHub.com Fallback** ⚠️