napari-svetlana

napari-svetlana

A classification plugin for the ROIs of a segmentation mask.

License PyPI Python Version tests codecov napari hub Documentation

The aim of this plugin is to classify the output of a segmentation algorithm. The inputs are :

  • A folder of raw images
  • Their segmentation masks where each ROI has its own label.

Svetlana can process 2D, 3D and multichannel image. If you want to use it to work on cell images, we strongly recommend the use of Cellpose for the segmentation part, as it provides excellent quality results and a standard output format accepted by Svetlana (labels masks).

If you use this plugin please cite the paper:

Cazorla, C., Weiss, P., & Morin, R. (2023). Svetlana: a Supervised Segmentation Classifier for Napari.

@unpublished{weiss:hal-03927879,
  TITLE = {{Svetlana: a Supervised Segmentation Classifier for Napari}},
  AUTHOR = {Weiss, Pierre and Cazorla, Cl{\'e}ment and Morin, Renaud},
  URL = {https://hal.inria.fr/hal-03927879},
  NOTE = {working paper or preprint},
  YEAR = {2023},
  MONTH = Jan,
  PDF = {https://hal.inria.fr/hal-03927879/file/main_nature.pdf},
  HAL_ID = {hal-03927879},
  HAL_VERSION = {v1},
}


This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.

Installation

First install Napari in a Python 3.9 Conda environment following these instructions :

conda create -n svetlana_env python=3.9
conda activate svetlana_env
conda install pip
python -m pip install "napari[all]"==0.4.17

Then, you can install napari_svetlana via pip, or directly from the Napari plugin manager (see Napari documentation):

pip install napari_svetlana

WARNING:

If you have a Cuda compatible GPU on your computer, some computations may be accelerated using Cupy. Unfortunately, Cupy needs Cudatoolkit to be installed. This library can only be installed via Conda while the plugin is a pip plugin, so it must be installed manually for the moment:

conda install cudatoolkit=10.2 

Also note that the library (Cucim) that we use to improve these performances, computing morphological operations on GPU is unfortunately only available for Linux systems. Hence, if you are a Windows user, this installation is not necessary.

Tutorial

Many advanced features are available in Svetlana, such as data augmentation or contextual information reduction, to optimize the performance of your classifier. Thus, we strongly encourage you to check our Youtube tutorial and our documentation. A button called TRY ON DEMO IMAGE is available in the annotation plugin and enables you to apply the YouTube tutorial to the same test images to learn how to use the plugin. Feel free to try it to test all the features that Svetlana offers.

Similar Napari plugins

Joel Luethi developed a similar method for objects classification called napari feature classifier. Also, apoc by Robert Haase is available in Napari for pixels and objects classification.

Contributing

Contributions are very welcome.

License

Distributed under the terms of the BSD-3 license, "napari_svetlana" is free and open source software

Acknowledgements

The method was developed by Clément Cazorla, Renaud Morin and Pierre Weiss. And the plugin was written by Clément Cazorla. The project is co-funded by Imactiv-3D and CNRS.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Version:

  • 0.3.2

Last updated:

  • 14 November 2023

First released:

  • 22 November 2022

License:

Supported data:

  • Information not submitted

Open extension:

Save extension:

  • Information not submitted

Save layers:

GitHub activity:

  • Stars: 0
  • Forks: 0
  • Issues + PRs: 0

Python versions supported:

Operating system:

Requirements:

  • napari-plugin-engine >=0.1.4
  • numpy
  • albumentations ==1.0.3
  • joblib ==1.2.0
  • light-the-torch
  • matplotlib
  • opencv-python ==4.8.1.78
  • PyQt5
  • cupy-cuda102 ==10.6.0
  • xlsxwriter
  • pandas
  • npe2
  • pooch
  • cucim ==22.6.0 ; platform_system == "Linux"

Sign up to receive updates