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.0.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.0.0-cp313-cp313-win_amd64.whl (13.2 MB view details)

Uploaded CPython 3.13Windows x86-64

nanopyx-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

nanopyx-2.0.0-cp312-cp312-win_amd64.whl (13.2 MB view details)

Uploaded CPython 3.12Windows x86-64

nanopyx-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

nanopyx-2.0.0-cp312-cp312-macosx_14_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

nanopyx-2.0.0-cp311-cp311-win_amd64.whl (13.3 MB view details)

Uploaded CPython 3.11Windows x86-64

nanopyx-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

nanopyx-2.0.0-cp311-cp311-macosx_14_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

nanopyx-2.0.0-cp310-cp310-win_amd64.whl (13.3 MB view details)

Uploaded CPython 3.10Windows x86-64

nanopyx-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

nanopyx-2.0.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.0.0.tar.gz.

File metadata

  • Download URL: nanopyx-2.0.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.7

File hashes

Hashes for nanopyx-2.0.0.tar.gz
Algorithm Hash digest
SHA256 bdf103da4fdb4baf2becb82b0beae871b3bc7ee5baeb9824f7ff31f9ca8e8bec
MD5 b55bcc0288c76215acd311ee74d84bb2
BLAKE2b-256 e01db55849784f53e3867e1c2bb05945b493c6db1f824c9da98c2d253680b047

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 091915c3631ee1ea3d6753affd35ee4d0dd4d0ab6096e36bcb79809d2f88df0e
MD5 30e8ecc937a2dda9846a56a951e1cd1c
BLAKE2b-256 7ff1a99eb03fc84071010e32953ca815fbbb9ad09ae4a46e20444f6fa4cc5b86

See more details on using hashes here.

File details

Details for the file nanopyx-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a57b0208fa4175cb5317bcb436aaf2a2c4a1f9fb443ed40a33eef62f08c2c655
MD5 1f1c4b4e3a878117a9a5a1c1defa619c
BLAKE2b-256 0c8a55c5c8d005a629bd861b21389d70e804e2b55c48cb0782aaaf3a841e1f05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0aa0becc32c457c5681eb5479588b7e35c31996108bde2a00b1b47f26f3ad48d
MD5 12ca423c21bc00f68c4fc20e2550bc3e
BLAKE2b-256 79f2b47c9e8a2d98ef8d1931110c998f72aa511b70911b15ecc91d19dac52a1d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 18e3f56f9203653a63e13e890c9da900eb7964feca85af09b356bb3553e590b0
MD5 ac92a15bc0e9674f7072fe35a0c84cb3
BLAKE2b-256 2c7e794c7f9b8371b90079c2b4349cf91c0348926b5b8768e00d6620d2a64941

See more details on using hashes here.

File details

Details for the file nanopyx-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29ff2220ef82c1df55d7d127c32511eb98b54037bbf024044628b6d0e17186f7
MD5 c087891bf0db6fc21d70bb6dea91b89a
BLAKE2b-256 b6e2c3202384bc1bfcd780fd97db52b847bc7207c731329352598d6f68734ffb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 38a32191825bc258e4e3e1f213af7334b4ab9ed3541c3e95120eafc8d5cb0d80
MD5 e8bb631d4dce5e5bb3c049f696227870
BLAKE2b-256 9fd1c3fdd1a812a220440aeddcd2648245a0bc6feccc78328fef2552cd4ea171

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9a1fa9a5d5be6e72a465edd7bfe05933f54e35b70ed52188e70b034e97709606
MD5 855afdf948110c0eb7916f397a4700b3
BLAKE2b-256 535e559338f65ea44a47122833ef6057aab9218f18a777d09991df8b1f7c24ea

See more details on using hashes here.

File details

Details for the file nanopyx-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 febb5b6700e40ab07077a04855f29bb3db168d23fa9a63a52c09930b9091feed
MD5 ff4380710416c18f7e70222449a1fb18
BLAKE2b-256 3352c32f5a355b65df08b999e611db6a6554245e6e0ea4a3faee6b270d513ac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 861396e32c7a9b454f4477cc8338e657ad24bc97f619ad8b65d7f86c4b7b259c
MD5 5d5858849fc0d1dcebefb8c11f7ec2ea
BLAKE2b-256 469d6c437c5c85bde26b8da54216e8703570f940bcd1222e15f1d0326cefdffc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d0b194c0069b193bda99f8d83ea0e6adf24d7dbda2792f31efc91bc5383bffa2
MD5 5e6fc169f4f31199deb587d23ee46571
BLAKE2b-256 c68a249279eae4344220539ca60512a2a1455955e913224ec04aac000f5cf9e8

See more details on using hashes here.

File details

Details for the file nanopyx-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21792fc5e272b428677cfb4da08ad335df16fb65a20e0cea6459bcb295214252
MD5 25b0d41e2876a70bc4e000ff70fcacf2
BLAKE2b-256 6038d3b424cb2a5e5446d35ad5cc3a22824eef12a5a07133dd6e29f09455ff18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5bee78514be57efc5d3410487e838b79dda9ab274e74dc3491af3903e596def3
MD5 226c4aba5544f535a80bc53985d73244
BLAKE2b-256 ddbfb0b9c7126d3a8e2b59615b7299f0ffdb76591461de4cc6f81977d5a68d48

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