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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

nanopyx-2.0.2-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.2.tar.gz.

File metadata

  • Download URL: nanopyx-2.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 a6dc4eebe92d69737a538c4e4be9e52f61d73db77197f2cad17a648bdd3bad91
MD5 e7428a671ad6c2d902226102c20a38e4
BLAKE2b-256 38158a8393f279ee93e27e9881b7afb952f5a6be8200fd9db1fc57b15ac880dd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 17c050877c7c5cc73ea6f7702533c5bd30e94a417160026656a90f3943018b2f
MD5 3633372c3d80ba40073773cc0a63984e
BLAKE2b-256 410168e1d3da41d5e0239369578e91cbc2a0b47b7f2d122c16f4fff15ef25ff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b12aeaf2069762fbab8173157a9a7f78609cc39dad833eb97530323190a1deca
MD5 56ae68a6ac591cf52dff2b0e1900bb8b
BLAKE2b-256 b97c5daaadaddd2a35d90169cb63e0e6ac2dcb0be4447b1ed594f74492e20620

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d5102df2feba2e8281dce2c0616a8a1529aa60b3adafc8640b37372eb280784e
MD5 1b98b2448911067cdb43784efc26da3f
BLAKE2b-256 379c4abd44b7d8908c597e300255fce03a907bdd865fe999420586a7095c4fbe

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9d755dd2e82a0d75b982529c6a4a30b91c96ba5ba75fec37d5aab5ee7ceafb0c
MD5 9b82247bfb3230f32c7e1cd83517be1e
BLAKE2b-256 981f69650d0e988c292b0e1b7108c0c364ed52b57c7713a66e454fbfd86d3630

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d16bc56fbff13eb0ebc1c93d3c18b08b8b94566da8dd8f6841fab8a5af46bd93
MD5 a6493a3a5c7601916064a8f44d55617f
BLAKE2b-256 c5e1efbaf6e101395be8a4f172ce7f57ddc8b710b5c90e4c812341f92101c56a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 41fe59ad1637d7a19743982ea2205e0792db9c3795b40e42d84222ab3c97fa17
MD5 388c25fc7b107c4ee599f8e195926acb
BLAKE2b-256 63f5ca470a23d6de896d610f02fd9f9e8a74c836aa93d4d795e7b683d9a90213

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d6e8d33cbb896a644a3cd27faaf51ad441adff91de0d596069e9ff779514d8ec
MD5 a439398db46ea02005501723ce61ab1b
BLAKE2b-256 f33f14826f470a10b624e3f5dad28990f0cfb453996010621c30a47026208534

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de37e067aafb4c1569a8048d46fbc2464365da90f33cf3f27bf537ecfb920a6b
MD5 8c453b61e2cfeccd159770105475d9cf
BLAKE2b-256 23b6dae72931931b876c8582747243bd334c114ebc050e82cf90652335976d76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5d1d9fcbf8ffe58517df5c4542c9f1f8776a7056617046ada3a24cd8580ca470
MD5 588345c557e56de3c1e5fb5cca4993a8
BLAKE2b-256 381fed569b8e69400b6c586b5fd7a93101f434aaf3270d931fcd19fccdac782e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c89e4840edbd840f7539f6e4689076f2930f2cf8f7ffd2630c691646b95fe70f
MD5 546cff2d4d5254ac32a1fd92ef8f3ebf
BLAKE2b-256 54ca37e8f5bcfa037875f7cf2c1859b3374c0429b1dd4455bc7ac76a86d98145

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72f01c589a901384d31ceb956a187deeb6f653cc97fab5bc1845c9bbdc48f9c9
MD5 506e74fbc3ee6d69ad0628c65c9dd22f
BLAKE2b-256 9f30181f04da23d090e843ac5e1c74b51d6ef0c1a80269a04a7c9a200f35cf36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2c92d4b5f674f8110f6a88f80893933f0b39f16066f8f0eafc6d565604cac4a1
MD5 26f5fd4036ac66586fcec1e72a8a64f7
BLAKE2b-256 356bd8658d4248f10cc16993f05d9985d09eb98f418f786ed0e1789bf4b9e671

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