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.1.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.1-cp313-cp313-win_amd64.whl (13.3 MB view details)

Uploaded CPython 3.13Windows x86-64

nanopyx-2.1.1-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.1-cp313-cp313-macosx_14_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

nanopyx-2.1.1-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.1-cp312-cp312-macosx_14_0_arm64.whl (13.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

nanopyx-2.1.1-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.1-cp311-cp311-macosx_14_0_arm64.whl (13.6 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

nanopyx-2.1.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: nanopyx-2.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 b6bc08c218ca028b16cb2ba08dc8b4ba53aa299a5583301808d4491de8860bdb
MD5 fe76716cb5719fbeff1b23f6f95b3eb5
BLAKE2b-256 c45b69f1429fb6b53d72d51f980385119c3ff3648c0ed309a19a902f83971dd2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e7b5f9911ebbc16e1cb577010c7fa16635a842bf9e65bcc9034aad7d36d94899
MD5 8ec176aa98e7f5cd757d2dcaeb3937f9
BLAKE2b-256 c0032d571f46cda3cce77c38c3fc659e9aeacecc5074d7b246b3e1718c29d7dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5546756c20f6b92df21b49e022b47944ff0fb1289dad0fbed26d6df3a9d3faa7
MD5 156f651966e4cfaeb45a1102d3e2416e
BLAKE2b-256 987258e712aee8f2959977238582df07aae3a2b1ba84a2bddc07cf39b954b66d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7eb9233e7469027eec8cf2254fc21cf1a52107c48dd675203822a99e7272cc02
MD5 cf322655abae7980ffd0a80119501669
BLAKE2b-256 8a0b2f13e872f084b96bb26847e3d71d15157eec7462f99dd5a60f2d08b40ccd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1cdd0ae12a3a2f6b43a43db55380f11d790a239600a24db1002cf2636b0f4b0d
MD5 0eb751028d29b552e67f9193c0be35c2
BLAKE2b-256 741d762fc2a76a0223d82f3dcb768353008f625369ad2007cd436cf76d9346d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d3d99f0bc9ddcff461f57c9345cdf27f956e2b127031b47e430ee944ca24cb07
MD5 55ea7846a0621b4ba508752f6345a696
BLAKE2b-256 afe75645b03490beac30de847e6e8f6d23ea53b82448a6ed516324f6de62e38e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 60bed3179554b0e7805eabd0ef9d8b1a24fefe6c61379d1466563bbb1de6ce65
MD5 7aa4750c942a15f57e58bf587868395d
BLAKE2b-256 58af2d3e38fc7b7c9a8744d2fbfe40238ae0a3bd5d93e0163ecbfba45b8f5c43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 93c37647c148f0a29482eb5993ee434e2550b4e4e456e90d062147c7d80c6e3b
MD5 8d22416c5dd158731bebbd980bda1bfb
BLAKE2b-256 da1d2f55ddd79c408490e4750ecaa8b552c60c4819f6f6f855027e09d4a8b32b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 415548763c642b86bbc6c24eef3f6b4ab76aa0886205c8c42f0386b26a8ba1fd
MD5 c04c9e1095103144878639ed6e542a88
BLAKE2b-256 c6d1d3f3de9a7c1dc7ba8d4d6f766f5fccb1173ba6a02cd2074a059c4a4578f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 fba7dbf9390c09b5ab4cf2b346b6cab271a9f27ab7c1359340a6ecaf4f0d7f6e
MD5 9080b09c4aa97f128f1ed25d7e78eabc
BLAKE2b-256 b2f1d1bfc1f63b0853c41c0bc6b5e6d5f39d7b8cf68fced1e4170a6ba54dea26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4515ee570a561d5598e69286f0b2745901067e62a5effc27e99fe43cfb0abaad
MD5 0a34614b0460978f857ba7a02fa5a32d
BLAKE2b-256 d685ce8e6e0eac92db856bf5233bff5056b0585beb9449a9ba8195fcd29ce7cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d95ec3ee6df5ac755d5d529bad3b802f7cb987574eb0a027e68a14aeb9db207a
MD5 072a9ea7c09c73fad0802b30443c41b2
BLAKE2b-256 096c370eb1b526bbe59fca5d1eb9fd762973f3081fa69ee59f04b57ba004cdc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9329559babfafef4dabff84593621f0574b40c73d18732a7147b16030ebda041
MD5 715a1357dd8e658469fe53a8f9986204
BLAKE2b-256 fa374b8e4d029a47082e5dbeac3eb9ae8008582a26ebc939689d527fbcfa631d

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