User Tools

Site Tools

The most recent version of this page is a draft.DiffThis version (2022/07/25 11:19) was approved by twagner.The Previously approved version (2022/07/25 10:41) is available.Diff

This is an old revision of the document!

Just Another Noise 2 Noise Implementation (JANNI)

JANNI implements a neural network denoising tool described in NVIDIA's noise2noise paper: Noise2Noise: Learning Image Restoration without Clean Data - arXiv

It can be trained on your data without the need of ground truth images. It supports MRC and TIFF format.

JANNI can be used a command line tool but also provides an simple interface to integrate into other programs (see developer information).

This is an example where we applied JANNI:


The denoised micrographs are likely bad to use for further processing besides picking.



Version: 0.3

Uploaded: 22. July 2022


JANNI General Model

Version: 20190703 (Trained on 1xFalcon 2, 3x Falcon 3, 7xK2 datasets from Arctica / Krios)

Uploaded: 03. July 2019


Known Issues

- Issue 0 (Version 0.0.1): On some machines (maybe related to ubuntu 16.04) JANNI complains that imagecodecs module (module for tiff files) cannot be found. However, imagecodecs-lite is installed and the error also occurs if you try to denoise MRC. pip uninstall imagecodecs-lite helps.


The following instructions assume that pip and anaconda or miniconda are available.

1. In case you have a old JANNI environment installed, you might want to remove the old one with:

conda env remove --name janni

2. After that, create a new virtual environment:

conda create -n janni -c conda-forge -c anaconda pyqt=5 python=3.7 cudatoolkit=10.0.130 cudnn=7.6.5 numpy==1.18.5 libtiff wxPython=4.1.1 adwaita-icon-theme

3. Activate the environment:

source activate janni

Now can install JANNI either for GPUs or for CPUs:

4a. For GPU: Install JANNI form PyPi for a GPU machine:

pip install janni[gpu]

4b. For CPU: Install JANNI form PyPi for a CPU machine:

pip install janni[cpu]

Getting started

How to cite

You can cite JANNI using the Zenodo DOI:



JANNI 0.3.1:

  • Fix dependency issue with protobuf (Thanks to Tapu Shaikh)

JANNI 0.3:

  • Update dependencies and fix setup.

JANNI 0.2.2:

  • Fix an issue that JANNI can't denoise a single image (it only worked for folders) (Thanks to Sony Malhotra)

JANNI 0.2.1:

  • Because of an libary update, JANNI was not working anymore (No supported model) (Thanks to

Sony Malhotra) .


  • Added support for binning. In case you recorded your movies in super resolution mode, but later want to apply JANNI to binned images, you need to bin your images during training. This now happens when 'bin.txt' file is available in the directory that contains the super resolution movies. The file 'bin.txt' simply contains the binning factor (like 2 for 2x binning).
  • JANNI now allows to choose between two loss functions: mean squared error (mse) or mean absolute error (mae). The latter is the new default.

JANNI 0.1.2

  • Fix installation procedure.

JANNI 0.1.0

  • Add GUI
  • API changes for crYOLO 1.5

JANNI 0.0.5

  • Downgrade tensorflow and numpy again as it leads to long initialization times for some users.

JANNI 0.0.4

  • Improved selection of validation data
  • Add more data augmentation
  • Updated libraries (To Tensorflow 1.12.3 and numpy 1.15.4) to make it compatible with crYOLO
/web/sphire/www/sphire/wiki/data/pages/janni.txt ยท Last modified: 2022/07/25 11:19 by twagner