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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

File metadata

  • Download URL: nanopyx-2.0.3.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.0.3.tar.gz
Algorithm Hash digest
SHA256 ba57a25bebcae6f09320737ec0bb8094d772d5e21b254f38fc3baa5d7dbd508e
MD5 0cbe5358eb64a393842fc78402dd3364
BLAKE2b-256 fed1eb64f40b87896fa3529c4edadd0478bc6eb046695997b4090acc5966cfec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.0.3-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.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d22749cbae8132d48453053f0970e847c8395fe002231714bd5cd6c72c1fe6f6
MD5 f2629afa6672346754b0ab2b03512cdd
BLAKE2b-256 031a4ad33289c01640e3c16a869732cc963968c86e166f975d23f6ebf8789a46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5280ba94699e638853b12fb886fea4b303cdedf12110db24e9defeb4f2a864c2
MD5 c6a850007bdc9e87ded6efd79dc656fe
BLAKE2b-256 9ab9c7150de319479bf5d05f7a53b28a5daf136713b8a61125d282382837b8a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bde19cbd6a43f28d232e05deefbedf369da0bc40ed64bacb009d6033c1a67555
MD5 3581532ead48ab9a09fff38c0dd771c4
BLAKE2b-256 394acbcddb3338332e95d47aa08f78707d2c8e2682b19e1ea435c782473a6f96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.0.3-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.0.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0ad077b0cfd013d47446dfc555a357609a068970d8831b104d1e087507ffdd36
MD5 ebb1a89b56f8731c07c4fda2a3ba0d7b
BLAKE2b-256 5105fd5a593ea1c7e2c0e0855b81f73461642806bc5a5c17c0ca733652da6b1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1dde19b6fa065f62d3fb3a6bb5259a46bf58c8c8d1c2129bceff4c20cf4b0280
MD5 09a62b4f7969b337b3ac15669044bd9c
BLAKE2b-256 0d78b345d615e20f752a1b8b40db77454a155acec7d0cbbaff2bef98afc1307c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 862759ae0edf1e461ab6f7c8ddce84381f961abfc2a707ad67ad4394564b60cf
MD5 3b1ca045f6d3df8c60c686b00a87c243
BLAKE2b-256 1333ba75b90b7a34f9d6335335bbf9d20675550e88635821c0fdd52e44c034f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.0.3-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.0.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 96b17d63310c44cd0ebf9aa419d38df7578968f3ad886aeaf5a722518d4fb10b
MD5 0450d69f2ab32264b451259f45cfd569
BLAKE2b-256 910ac03fa6750ac8eb508a85f65ea0fccacd9bf3e2a36579ad1e94fd4ef1e0e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d08b64c26e367afc8a70caf878dc7b514d7ec2edcaf94817e57fdeeee6b4950b
MD5 6f32776ba4dd400747cda22d97c98fcc
BLAKE2b-256 35f50d94e93e36de2e39fe97a0e4de6a885dcf86844cf49b707bfcf68da98a7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 45e255aa475d3460bbe7350416a5f7826b396b713cb98f03288bb946de33dcf7
MD5 5b752010f61e5c17da703451cb3db5d6
BLAKE2b-256 6bbf4e67c2021b46298cf33439ea11de3ef552dbd62c37458a20e7f4a34992ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.0.3-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.0.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 624dbed4296c0f273167a046d4bb22717aba4f90da5fc6ad4a4d79e737eb52b1
MD5 b9370b0701fb9c1016f9b547db7183a6
BLAKE2b-256 6da63fd2d0af547fcdbef49bb1d9d4a3a8863fb413cc0c23eabd1628f7ba0c99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 70785a665b82d4b17a85fa42d34e33b5cc6c93061ed7dc25e3ea54247dcb3e5f
MD5 8f1ca9b668f3c332790cf4e8726b4912
BLAKE2b-256 5ff12de17e51ea7d8208b885e183fbd38968a1084981bd2591893d6289be99d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.0.3-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f60184cd3c97b228b964b638c1876dbb97922879af1f2b64b677a13f1db1725a
MD5 18b290276a1cacadff39412f3e928631
BLAKE2b-256 53cdb1cdff34176c4a41b9274f3baecb48eace67ce045a866d1829482638f853

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