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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.2.tar.gz
Algorithm Hash digest
SHA256 a71366ccff0c00dcdeb96892f9993eab477676018d412e01da9a2c61db47338a
MD5 3e2cbc31b7b6b6f827319760e86e0adc
BLAKE2b-256 7d837e55cc98acc174e9c916d9560b9eeda64678077a6fbabf02252773dc3cb1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ca0b24fe31c2cc3970a207d6586cf7ea1aec562ec91f58c4023646d524d761f9
MD5 f6aeab8e207f45ce93e4dcf369f65643
BLAKE2b-256 1cf60e84647320698c3ee5ca07da57b933b2850a12ab252c228fb6a191fdd734

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f8d41be0dc85fe1f024b380037dbe4e30c398813ace0b514790a17a5f83725d
MD5 96a79a060ed3f33d565e947e6cbbeee3
BLAKE2b-256 346058dcd08f799fbfe47564eb843c679a93953617ed669ce7695049053f2e6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bbeeb280895e4bc1cfc874560571162bd80bbe78054b6deae3fb6f6e98139603
MD5 7e8d4318a46563ab26575d2aa9240fca
BLAKE2b-256 6558edd7c0e4c0301aa9679313e30308cf3341739386241a2b80c557735aa493

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 22e869a3bff4efd2936a8142dcbcc4c1708c91e993f035b7952abfe679423ef7
MD5 3781fa98dbe2bef1dd7b2c76dfdefda4
BLAKE2b-256 91e08a80c495696dd666aa3b2ec4a0879015317bb3c221638a4b71ae995d63fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f8dfedee03a3c6d6709125f45e2b3d061cb1aace03150125bc6784d21f232a8
MD5 a5a16120ce19eb845e9b9a084cb228d8
BLAKE2b-256 faf5a7fbe7350bd11ee583e2297c1fb7f5874eac2456d08943117a71cffcc20d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 da459dd265d3a9845354d4e78a63873a778957bcc52055b0e1fe074c853b15ec
MD5 4a401aa66f8dea0af2d826a88c110085
BLAKE2b-256 1cc888d4ed3ebf170e94ea0f19722ecc5ce8187d2bbd202b0143bd767be46e5d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a039c81fd3c861f2d023e00152bb6d9385c7ad72d0e02da810a27ca33136b338
MD5 f2351df25cb28941535752475bc79bd3
BLAKE2b-256 d22d33448fe140c7e242cc60d1d7e5a9ddcfc0f69763d9bdd6183bf2c7f1efcd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e1c8c2f018d7ef982bd06677ade26168ed0478edd162c143f9ba8d044855e1cf
MD5 c4e00635d2bb3fd59552cd91297dbf55
BLAKE2b-256 7b10c3b227473c36b0c983f57f0146282369283f4134b76a98517d6182bd3478

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 aa7621fd8b5438862eb5acc2942b3688f4fd2e8105ef55d70708c16a3c60b06a
MD5 8574ebdc14e7e906be4db4bc7b35e826
BLAKE2b-256 8b4113abed0749939250380f228ef4e93045096bb586fcc9a238224b268bf2cb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for nanopyx-2.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 16469a5db6a3c3a137c926164ef03909a0f3cebb094f631cf0eec9109286b303
MD5 1f9693e1c518c78bc8728b4553c9d28c
BLAKE2b-256 ecf52af30a7497953f230bec48a4217d834e3cab9477bdea9917b504397c15aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a3d81d72f2d308e2e539c3491f23ef70b938de7153b43af660f6334c631ae92
MD5 515ae45e2fc40eae87d52a18e04e6b0a
BLAKE2b-256 c71cd9990462ad8dfd38e0157e7a41a16e8521d72cd031c6cc466b61e975fff9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nanopyx-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 43300eadaa54863e82871be48e82e1a64b21d9e42c7b63651c29cd7736129697
MD5 8d184efcdd7290587372bec3b48291bb
BLAKE2b-256 8e9e6cda285fe019081380b138ec60ad72c6da365727b396327a7a84d4b81183

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