Skip to main content

NU-Net: a self-supervised smart filter for enhancing blobs in bioimages

While supervised deep neural networks have become the dominant method for image analysis tasks in bioimages, truly versatile methods are not available yet because of the diversity of modalities and conditions and the cost of retraining. In practice, day-to-day biological image analysis still largely relies on ad hoc workflows often using classical linear filters. We propose NU-Net, a convolutional neural network filter selectively enhancing cells and nuclei, as a drop-in replacement of chains of classical linear filters in bioimage analysis pipelines. Using a style transfer architecture, a novel perceptual loss implicitly learns a soft separation of background and foreground. We used self-supervised training using 25 datasets covering diverse modalities of nuclear and cellular images. We show its ability to selectively improve contrast, remove background and enhance objects across a wide range of datasets and workflow while keeping image content. The pre-trained models are light and practical, and published as free and open-source software for the community. NU-Net is also available as a plugin for Napari.

Installation

Use PyPI (Python Package Index)

pip install nunet

or clone this repo and install it locally

git clone https://github.com/LaboratoryOpticsBiosciences/nunet.git
cd nunet
pip install -e .

Usage

The repo provides two scripts: one to test and the other to train a NU-Net.

For common steps to test and train NU-Nets,

  1. Go to release page https://github.com/LaboratoryOpticsBiosciences/nunet/releases

  2. Download an archive called nunet_models.tar and unzip it in the root directory of the repo. It should unzip config/ folder and models_filter_slider/ folder.

To test pre-trained NU-Nets,

  • Execute ./scripts/test_nunet.py following its instruction on the top of the script.

Get help message by invoking the script python scripts/test_nunet.py --help.

To train the pre-trained NU-Nets

  • Execute ./scripts/train_nunet.py folowing its instruction.

Note that the provided NU-Net models on the releases page are not reproducible until we later release private datasets, namely ones prefixed with LOB_. Find more details in the paper.

Citation

This work was accepted by BIC (Bio-Image Computing) workshop at ICCV2023. The paper will become available soon.

Metadata

Release files for nunet 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nunet 0.1.2
File Size Uploaded Provenance
nunet-0.1.2.tar.gz 21.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for nunet 0.1.2
File Interpreter ABI Platform
nunet-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 24.2 kB

Release files / nunet-0.1.2.tar.gz

Download URL nunet-0.1.2.tar.gz
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4dd87f4a9c62dfd584180e1bacef8a5fd3ba09c033eadd47107be2c58c5e3a9d
BLAKE2b-256 checksum
How to use checksums
d1231296990e0fddc3419f8a147b206649d8703248d1fb56965d8743502679c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / nunet-0.1.2-py3-none-any.whl

Download URL nunet-0.1.2-py3-none-any.whl
Size 2.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7bdc477382edfffbac2ac588ce855bd6b9874e5ab196a1bcd965b64c8b2b08c6
BLAKE2b-256 checksum
How to use checksums
64da6be71877650c50c27f5d3809ae1c51a819967b9d9ae9ea5b9f8470444658
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Security for nunet 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page