Skip to main content

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

Project description

NanoPyx

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

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

⚠️ Python 3.10+ Required: NanoPyx v2.0+ supports Python 3.10-3.13 with NumPy 2.x compatibility.


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 using the Liquid Engine at its core. 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 publication.

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: publication

Short Video Tutorials

What is NanoPyx? How to use NanoPyx in Google Colab?
How to use NanoPyx locally? How to implement your own Liquid Engine?
How to Create a Python Package with the Liquid Engine? How to Build your Liquid Engine Class in 1 minute
How to Benchmark your Implementations with the Liquid Engine in 1 minute

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 BMS (18/04/24) Jupyter Notebook Open in Colab
Registration Drift Correction ✅ by BMS (18/04/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

Workshop Notebooks

Event Contents Notebook Colab Link Solutions
I2K 2024 NanoPyx and Liquid Engine basic usage Jupyter Notebook Open In Colab Jupyter Notebook

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.10, 3.11, 3.12, and 3.13 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.

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-2.1.0.tar.gz (9.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nanopyx-2.1.0-cp313-cp313-win_amd64.whl (13.3 MB view details)

Uploaded CPython 3.13Windows x86-64

nanopyx-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl (15.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

nanopyx-2.1.0-cp313-cp313-macosx_14_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

nanopyx-2.1.0-cp312-cp312-win_amd64.whl (13.3 MB view details)

Uploaded CPython 3.12Windows x86-64

nanopyx-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (15.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

nanopyx-2.1.0-cp312-cp312-macosx_14_0_arm64.whl (13.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

nanopyx-2.1.0-cp311-cp311-win_amd64.whl (13.4 MB view details)

Uploaded CPython 3.11Windows x86-64

nanopyx-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

nanopyx-2.1.0-cp311-cp311-macosx_14_0_arm64.whl (13.6 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

nanopyx-2.1.0-cp310-cp310-win_amd64.whl (13.4 MB view details)

Uploaded CPython 3.10Windows x86-64

nanopyx-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

nanopyx-2.1.0-cp310-cp310-macosx_14_0_arm64.whl (13.6 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file nanopyx-2.1.0.tar.gz.

File metadata

  • Download URL: nanopyx-2.1.0.tar.gz
  • Upload date:
  • Size: 9.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nanopyx-2.1.0.tar.gz
Algorithm Hash digest
SHA256 4ecfff7c83849326fb08a07d8b16059a0d68e1b9b65e7a75eb2a4b814ebecb7c
MD5 75b6950b824b04c8b7e755538b93acf8
BLAKE2b-256 2da7dc27091020a9e2a3c87931f17b5742a7568b7ef0b387163b27d86affad3f

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nanopyx-2.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nanopyx-2.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8b5f54e01582be1d7ea10464fd9c537bbe9be53025a54df1d2320d1b3f2b452d
MD5 f0dc3cb1a4c1c4bd4a72575f5248e11d
BLAKE2b-256 c8faa190171e278c42beea2d5f22d19637e95fa52043e16eb8492b02b5342fc6

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9d027a6f7aa7a4718f92ef3c54f8862d8b0a58db56a32b19aa3d327fbb1896a
MD5 304bc056644828a53e7641f91e35e41c
BLAKE2b-256 988cb0bfa7fe62b1b071afdf1f1149d0474f47f80d4708133e62ddd3ef51ea1c

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 747c3ef4041c504ab6e5b527a6f675c1fc32381ace5b7f2200b2caa3346e1f72
MD5 b9ffcec849710845b61aaf3943903906
BLAKE2b-256 99751932747a208c8749a33fd4ddf8c665b3f1c1eefeda694d6dbf3f620300b5

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nanopyx-2.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 13.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nanopyx-2.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ad7e6a824b84d17d074b08a631b61d009f6c11774eda6cd2c7d8515d850a93c8
MD5 9ed911c967f46ded055af1be4fdcb9e8
BLAKE2b-256 53d811b10af2df719bb9f3e813432c2e5a872ce778caef88d81a96ebd8d0f827

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3b98c2aa58834fb124c24833ecd8a93ae9f7d2f190158c76dab5fcdd8edb508a
MD5 6ce2490f4343c42e2366dc4c7e0cf5e7
BLAKE2b-256 692429adca6b2ceb7e5ab9db18ad1817b436def6f5a2b1c2f559a2ec9c512d12

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 114e87522167f71d81a005f84615a614b0dc77623368bfca93eed78d86459633
MD5 8c73a4ccaae0f4c5ab98278d23fc0570
BLAKE2b-256 65fec928074f0604b38f81b3d01a1c449a581e9bee9cb04d10621ba4aff29ada

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: nanopyx-2.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 13.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nanopyx-2.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f2dc566a507f26f4ed8d63ab76e12fd5b94786556cd17ae0aed0524733f1af40
MD5 975e23bb0a0df20909fabbf2d3d0cc6c
BLAKE2b-256 da60e699b2a4ebd5c2c181ae9b9f9e692ad6523ce55c16fdeb2b31bb3d549c5f

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b6ac1d54118163340c73872e978377fb0b747d0ea58a9f7aa3c6a3b4cce8c9a
MD5 93b9b2d974e443d56edb7c9cd53b3f21
BLAKE2b-256 3d38cd23fde7463a141b1c98164b714ef3fd55eb2973f2078d803e5f1636c0a4

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5fc7956240114d90ba91dd9aef8908325d214d85916d1df49a579b161278553e
MD5 6dbb19092b4c36acae7c010ca7f48dc6
BLAKE2b-256 85d36a4100443efa4d66d0fac26ed471efe45d7fa5f26158f9a93ec452934885

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: nanopyx-2.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 13.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nanopyx-2.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ae01c914daa7088c96cdde31983ab4dde31393d0d25c74920bdadf84f5f95eab
MD5 591a6785171e5b22353bdf64dade9c62
BLAKE2b-256 61436de11c1875fbc8069aa387e436d002dae739b01df21c3fa781daade9061c

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e0ad181cf36a933338ceca9dde68e16eaa9a29d314bd552e6a8d28f8375cbea
MD5 d7134696dd7dc49c656a002a28586f9e
BLAKE2b-256 7b0d75898b881a4b11c6c809ebeec650a0386e441cb5dc98a90f305fb90967c3

See more details on using hashes here.

File details

Details for the file nanopyx-2.1.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for nanopyx-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 da86c3a681d48b5b03e6fcc0fdfe1b8f916d5a2126ea780bb9dbd1c4e6cd6534
MD5 a1043b2db7bf6a4dbf06085d33d14caa
BLAKE2b-256 c7617cb9941dc4712e1431d578811f134823d7573b3e919cbf7b9aa59f0bae1e

See more details on using hashes here.

Supported by

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