Skip to main content

Nanoscopy Python library (NanoPyx, the successor to NanoJ) - focused on light microscopy and super-resolution imaging

Project description

logo

Actively being developed with stable releases

PyPI Python Version Downloads Docs License Tests Contributors GitHub stars GitHub forks DOI

Nanoscopy Python library (NanoPyx, the successor to NanoJ) - focused on light microscopy and super-resolution imaging


What is the NanoPyx 🔬 Library?

NanoPyx is a library specialized in the analysis of light microscopy and super-resolution data. It is a successor to NanoJ, which is a Java library for the analysis of super-resolution microscopy data.

NanoPyx focuses on performance, by heavily exploiting cython aided multiprocessing and simplicity. It implements methods for the bioimage analysis field, with a special emphasis on those developed by the Henriques Laboratory. It will be distributed as a Python Library and also as Codeless Jupyter Notebooks, that can be run locally or on Google Colab, and as a napari plugin.

You can read more about NanoPyx in our preprint.

Currently it implements the following approaches:

  • A reimplementation of the NanoJ image registration, SRRF and Super Resolution metrics
  • eSRRF
  • Non-local means denoising
  • More to come soon™

if you found this work useful, please cite: preprint and DOI

Short Video Tutorials

What is NanoPyx? How to use NanoPyx in Google Colab?

More specific tutorials here!

Codeless jupyter notebooks available:

Category Method Last test Notebook Colab Link
Denoising Non-local Means ✅ by ADB (25/01/24) Jupyter Notebook Open in Colab
Registration Channel Registration ✅ by ADB (25/01/24) Jupyter Notebook Open in Colab
Registration Drift Correction ✅ by ADB (25/01/24) Jupyter Notebook Open in Colab
Quality Control Image fidelity and resolution metrics ✅ by ADB (25/01/24) Jupyter Notebook Open in Colab
Super-resolution SRRF ✅ by ADB (25/01/24) Jupyter Notebook Open in Colab
Super-resolution eSRRF ✅ by BMS (25/01/24) Jupyter Notebook Open in Colab
Tutorial Notebook with Example Dataset ✅ by ADB (25/01/24) Jupyter Notebook Open In Colab

napari plugin

NanoPyx is also available as a napari plugin, which can be installed via pip:

pip install napari-nanopyx

Installation

NanoPyx is compatible and tested with Python 3.9, 3.10, 3.11 in MacOS, Windows and Linux. Installation time depends on your hardware and internet connection, but should take around 5 minutes.

You can install NanoPyx via pip:

pip install nanopyx

If you want to install with support for Jupyter notebooks:

pip install nanopyx[jupyter]

or if you want to install with all optional dependencies:

pip install nanopyx[all]

if you want access to the cupy implementation of 2D convolution you need to install the package version corresponding to your local CUDA installation. Please check the official documentation of cupy for further details. As an example if you wanted to install cupy for CUDA v12.X

pip install cupy-cuda12x

To install latest development version:

pip install git+https://github.com/HenriquesLab/NanoPyx.git

Notes for Mac users

If you wish to compile the NanoPyx library from source, you will need to install the following dependencies:

  • Homebrew from https://brew.sh/
  • gcc, llvm and libomp from Homebrew through the command:
brew install gcc llvm libomp

Run in jupyterlab within a docker container

docker run --name nanopyx1 -p 8888:8888 henriqueslab/nanopyx:latest

Usage

Depending on your preferences and coding proficiency you might be using NanoPyx differently.

  • If you are using Jupyter Notebooks or Google Colab notebooks check out our video tutorial here and here
  • If you are using our napari plugin check out the official napari tutorial and stay tuned for more!
  • If you prefer to use the Python library and take full advantage of the Liquid Engine flexibility check out our wiki, our cookiecutter and our video tutorials here and here.
  • Liquid engine template files for a simple example:
    • Simple Liquid Engine templates here and here
    • Fully fledged Liquid Engine templates here and here

Wiki

If you want more in depth instructions on how to use nanopyx and its Liquid Engine please refer to our wiki. In the wiki you can find step by step tutorials describing how each methods works and how to implement your own Liquid Engine methods.

Contributing

Contributions are very welcome. Please read our Contribution Guidelines to know how to proceed.

License

Distributed under the terms of the CC-By v4.0 license, "NanoPyx" is free and open source software

Issues

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

Development at a glance

Repography logo / Structure

Structure

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanopyx-0.4.0.tar.gz (7.8 MB view hashes)

Uploaded Source

Built Distributions

nanopyx-0.4.0-cp311-cp311-win_amd64.whl (11.7 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

nanopyx-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

nanopyx-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (12.0 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

nanopyx-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl (12.7 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

nanopyx-0.4.0-cp310-cp310-win_amd64.whl (11.7 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

nanopyx-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

nanopyx-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (12.0 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

nanopyx-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl (12.7 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

nanopyx-0.4.0-cp39-cp39-win_amd64.whl (11.7 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

nanopyx-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

nanopyx-0.4.0-cp39-cp39-macosx_11_0_arm64.whl (12.0 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

nanopyx-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl (12.7 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page