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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

nanopyx-2.1.4-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.4-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.4.tar.gz.

File metadata

  • Download URL: nanopyx-2.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 96e47cf61c3da4431dc4e92e996f853505fa58ed0bfc64eb6408e1e642e53030
MD5 f28c2e0ce95ed49e3779ea2ebe79042b
BLAKE2b-256 1ed8e81c28bccc36f7767f2b3f9c6804a39a5b85bbd4376f9cbf8402d2c58610

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.4-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.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 412072f4403450f0b7b3d0f17aba68392a9a5994b139f5cb73c20ddb99643d43
MD5 d06d9a6b6aa5b335e150772d5f40b57b
BLAKE2b-256 16d8d77f62c56423e38dcccb7336e512cd442ba9a6f69d5d4926dbcd4bb0db19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 57e1ac82f9abfd99c5e18ed088a8522568892d59a7a8239c26a043ac23c84c15
MD5 f9f17d2e9bd0d84db121294539ac2b3d
BLAKE2b-256 ebf5cfccad3fb12ca47c924e9f79e3982301ae0a7bff6b5a142c756890293939

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6d22e0dd2315792257f3fcd0ebab1d4f84c6ae45bf2646baf378497a9011b68f
MD5 c4fb1fb4f6b80d36322670af4835bbd5
BLAKE2b-256 700cb6916ac0a867454a0006656a1a95e5736eab075f8195343fa34e1cf4e247

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.4-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.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 506eb15408143b8d854ff06fb634021331b77d38d9ba9961b164ee70d5b3066b
MD5 020ffc031eb95dfb6fffcf2fecbc2fe5
BLAKE2b-256 778e98ca71656d206c19bcb972ac8b933af5815d649518861f348c907027896b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 62b514fb1bbfbce9a638998c763ce38d4f3df9cf1316e469271f7eae3a51af74
MD5 a47f4933d02293ea3c377a3c4641b885
BLAKE2b-256 1cd40bd51416fa8212d19d79d697a9e86d68f5980ff412dacfedc4e2ef71f68a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6d4740a333866e79156f0cfb29675826aebb5b5c1086674312c2a7fc1d96c61b
MD5 b753aa488973978cf9e8201e00d317a4
BLAKE2b-256 d40c13223301e5e4b72b633abc596edc6b50ecf2d4023c7eb81ad5918f75225f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.4-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.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 aa67004862a912e125f0a90ac64a318c6191d3a2e93317e0ccf487e679ffc3b8
MD5 0d4e602048fb880f8ced2e565295c01a
BLAKE2b-256 936be96e71cc7d6a60762ba5bd1e96c6a8b716bb22a665fb5a83dbe64d624979

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 470b9be3207e9edc66ae4ee673764537c0e6bacf9056bf595a231d96c6403c1e
MD5 af7040610ea117334945c8f4cdbcdf90
BLAKE2b-256 80937a11ff063b80f991b4db1ff153f114dbdbce21858d645a9d5174b9f00f7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 91628ccc994739ff15a2c9b419a16519b2e0ff6d12d8e90d935749f565e15368
MD5 96894d40ca3c495c053716c14811873c
BLAKE2b-256 5e566b053b9fd9da1df16e87648f622a7f0235bf3fbeb4b89b41c329dde9bdca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nanopyx-2.1.4-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.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e110d1fb1265e425b431a40d6bb7157c36468c248b4164eba1be43d936353301
MD5 8608ee78e6df0e56c1ae0f88d5099416
BLAKE2b-256 a553719fb4145f51db0340de26f51641dcb39d5f1f09439f26b551ea815a60ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 483a36d9604123077b3dcacbd3721ecb9d4877c185cf54bcb0ff9509ba4f43d0
MD5 d0e038d373f31e84f5e5c22b9a7f4490
BLAKE2b-256 b80ebe0a9813f4a49160813fe3ef722d76603e0e1b7e181c591c7bf5f396c019

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.4-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 20721d49aaa15bc700a0ecfcf4d8562e47bded7d233e90e985fdf6c52570f6a6
MD5 27abf6b67f7f5b10f52ed0ac12a3303b
BLAKE2b-256 ed510514fc25c5bd780f8354b858dbea9240d1850012d4b4f168299470cb3259

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