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.3.tar.gz (9.2 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.3-cp313-cp313-win_amd64.whl (13.2 MB view details)

Uploaded CPython 3.13Windows x86-64

nanopyx-2.1.3-cp313-cp313-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

nanopyx-2.1.3-cp312-cp312-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

nanopyx-2.1.3-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.3-cp311-cp311-macosx_14_0_arm64.whl (13.5 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

nanopyx-2.1.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: nanopyx-2.1.3.tar.gz
  • Upload date:
  • Size: 9.2 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.3.tar.gz
Algorithm Hash digest
SHA256 222142d506e227bc5de85c8cc3168c3eed52d748a5e345d66e29e28dbfd63644
MD5 bd97cfbb5a9c8c88b000ea4f5012cb63
BLAKE2b-256 b1e35a225ce5628b71bdbfcd233d4853aa4180108e2e4252b19d3f39125ccbc2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c256a81c060212b7fd9b9021b36c774da86d86d7b057fc1e86f41644bc8e62eb
MD5 134e736ca852762832076def37e45d6e
BLAKE2b-256 3c79334dee049e49bd1e8fea97fcd75c77b827e5ad93ff6041f0ef4936963982

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf1a5037fc903f56e2e254380adb7d4fe664a52af49c99d4e6c37d6fb564145a
MD5 66010963adf325b51818710ac0e4b10e
BLAKE2b-256 0090c56e242dcfddb1e111cf3c89fde3b0de5c691d7ba32aabff871c97e7af83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4e3d1a756db7dcbdcbac20347f12e936d0ffd8a1035b53669710e73f14ac2b41
MD5 3de7f1900e518eb644e4f85b82f715c8
BLAKE2b-256 dd9985333ac25c039990c40e0306f69bea75ed21b7d7289c0663dda16ba64ca5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6750943a20386dd027ef0eac25f362181d43b7a9db58dafcb4cf252d7cf9ec5d
MD5 7ddee450565bee17a9f9f78eaf4416d3
BLAKE2b-256 e549c637657b9f69d6738b49fb29c8ddfe13426ae11a98052980f753cb0e047f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 10c407776e04e2be10248fc8351ae5e7f1e8dfa522f7f779e5f5de7d42cf6d91
MD5 d88d15ae88819aa8163dd56cbed00c2a
BLAKE2b-256 693f183ceef425b8ad979f52ede31833d26d0ccb3a95c0e07f96b02b7fda5913

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5d27dadc63354df689d59f4934450ce4d8060d962f756a8f0fcf6a54a2071e48
MD5 3cb13cc3e6fc5332d8ff00829610e327
BLAKE2b-256 4f34e8064e7146925a226b3679aade6ff251a48a43de6cc4071c37ea72bd772b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bbffceec6d7cff5f1627d4a2a4b64d6767d1455fababd7c8a605ea87c0893a51
MD5 37438dcce6788e895c5bee41009fd143
BLAKE2b-256 3d60dc3b6d7bf31e35f2e1f12045dae6c93f42c58572bf15d42e8e63bd4c4e1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7aee71cd4d0cd41886c5d9bb4e1f4fe4c2a18d0bf9a46e672d7795146cc5edc8
MD5 e72c2b3ab48fe476c47922cfde6eb820
BLAKE2b-256 876f1cfe584c97c716f9a1c5e8c934f2f09ba3c3e1702177a946d6ad13b00d3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b791cc10ad92e5266642ccbda3bcc41741405d614af4af1b2c86b6247f0e4a40
MD5 8f722fde3119a39af358103f81077194
BLAKE2b-256 fe2d9ecedf1a4b040c9f53b002e223c2cc4e8275076b9f094ba8fd3b91e63f31

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e414e1ee4ffe37d7692956717759cb2fc1b779ce0bbf835e5412ac9a13252ec9
MD5 4c2621933492f186a99c03c73f78d02f
BLAKE2b-256 9625df43bb6e55c4373887c07cf7b1f007684ce593beda55ba82983c95769738

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e9b06238b2b640170de3d87602a4a07bf176bbc53163cf0705b36b42c279dde
MD5 76d5290d40a45a0de286c3718d29289d
BLAKE2b-256 2c443ecb9eb926a92cfccc5aa0d321a4a967217790970c5c3972b67f0d1822cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0885efbf1f1484263a4e817588a44b112d62499ea26c59e66c1160a4c898553c
MD5 d952903c8e4ae2defc76b8a1ed5f78ac
BLAKE2b-256 b38de278300bda65b14bb8ef0226fc32d54e4dcad5dc1e272d3b8c1a5951ee9e

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