Skip to main content

GPU-accelerated image processing in python using OpenCL

Project description

pyclesperanto

Build License Website Python Version Development Status GitHub stars GitHub forks

pyclesperanto is a python package for clEsperanto - a multi-language framework for GPU-accelerated image processing. clEsperanto uses OpenCL kernels from CLIJ. This package relies on the CLIc back-end for processing.

Usage

Note: This project is under heavy development. Functions and parameters are subject to change.

from skimage.io import imread
from pyclesperanto import cle

image = imread("https://imagej.nih.gov/ij/images/blobs.gif")

# push and create buffer
gpu_output = cle.create(image.shape)
gpu_input = cle.push(image)

# apply kernel
cle.add_image_and_scalar(input_image=gpu_input, output_image=gpu_output, scalar=100)

# visualize result
cle.imshow(gpu_output)

# get result as numpy array
result = cle.pull(gpu_output)

Example gallery

Segment + analyze blobs

Cell segmentation + Voronoi labeling

3D image filtering

Find local maxima

3D Tribolium nuclei segmentation

Explore application programming interface (API)

More usage and example can be found as notebooks in the user documentation folder

Installation

Download the repository and update the associated submodules:

git clone https://github.com/clEsperanto/pyclesperanto.git
cd pyclesperanto && git submodule update --init --recursive

Here, we assume that your system has an OpenCL valid device and that all its drivers are correctly installed. Using anaconda (or miniconda), create a virtual environment and activate it:

conda create --name pycle python=3.9
conda activate pycle

Finally, install pyclesperanto and all its dependencies by running the command:

pip install -e .

For MacOS users, Please install the following package:

conda install -c conda-forge -y ocl_icd_wrapper_apple

For Linux users, Please install the following package:

conda install -c conda-forge -y ocl-icd-system

Contributing

Contributions are very welcome. Before spending effort on coding and filing a pull-request, please get in touch, file an issue, and let's discuss your potential contribution.

License

Distributed under the terms of the BSD-3 license, "py-clesperanto" 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

pyclesperanto-0.6.1.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyclesperanto-0.6.1-cp310-cp310-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pyclesperanto-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyclesperanto-0.6.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pyclesperanto-0.6.1-cp310-cp310-macosx_11_0_arm64.whl (685.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyclesperanto-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl (670.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pyclesperanto-0.6.1-cp39-cp39-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.9Windows x86-64

pyclesperanto-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyclesperanto-0.6.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

pyclesperanto-0.6.1-cp39-cp39-macosx_11_0_arm64.whl (685.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyclesperanto-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl (670.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pyclesperanto-0.6.1-cp38-cp38-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.8Windows x86-64

pyclesperanto-0.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pyclesperanto-0.6.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

pyclesperanto-0.6.1-cp38-cp38-macosx_11_0_arm64.whl (685.8 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

pyclesperanto-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl (670.1 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pyclesperanto-0.6.1-cp37-cp37m-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

pyclesperanto-0.6.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pyclesperanto-0.6.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

pyclesperanto-0.6.1-cp37-cp37m-macosx_10_9_x86_64.whl (668.0 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file pyclesperanto-0.6.1.tar.gz.

File metadata

  • Download URL: pyclesperanto-0.6.1.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pyclesperanto-0.6.1.tar.gz
Algorithm Hash digest
SHA256 9bcdbec9b727e72beb863e4a5c2ecbddcd53c4089c6c86e8221681912bfd9a62
MD5 a4729eca9b7b265fc54cb6e5e72829b6
BLAKE2b-256 47857a1e7bde7e6a81031ad7f9073975a7ca240269f192a8908670dce21dadd3

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0744b62e7abf6d22e0f084dab3b42f93c014c9100b4039b68a1b85cd7bcb06c6
MD5 a720a0339bf03ebd26a9b896d5457a65
BLAKE2b-256 b2b748571c2168ce0b76ab6a7aae5ebdaa630a244272dc9d828d111da90c2dfa

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e3786a4aa9fda8f816e9cce0fbfb32988d535fde18b6398757e6cd07e694e6f
MD5 4282fef440f8d19222d5dfbcf74fe66e
BLAKE2b-256 684d1bd8a49cd58ac53d0ffbd1ec6cb8e1555067d9abb16eecd06e81750c7ef8

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9bf54ab8dd1d4a25312b71b9944aed004ef22bc6009286789eab074a574b43ca
MD5 b9e28d4c6634db15d49f1c09144362e2
BLAKE2b-256 eb4ae474f18dc524617d34f20f709bcb21999df9f2e9ca8fd83cf40093519d97

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b2f321e978ba95eaf397a211da762bd0be660b2f3df119f7f5ff4d2988b80c0
MD5 d8708e68098a5125be038d33be3d8d33
BLAKE2b-256 a15f59d41ddbf70682b50b1b240cb1187d87eaaec309d16ca8fa2bc92221cca1

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 518eb9bb67b6bb66e49852307232d4e5ffec74fd153161ba1ede912ed155fa66
MD5 7c2c59ebe00e79c349fb6c68166792db
BLAKE2b-256 b443b0379649dd3cca68c1933aed726aefb6469084f936ba15bf74ab5ea52b9f

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 78477ceb9e0230e63d80ab2a660c6996f896048a76dbc06a421a8b3c64935de3
MD5 0b9f7f88762081c2c587b2b04a9a0bfd
BLAKE2b-256 7201b9553c21f141a7bd710cf33b108faeba6ab74021de12924f841902d1dd24

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c415a264c64c4608f4589e430773c5f77d1b9532568f7763fa16756b5f489f3
MD5 2713df762d13b2f474426e84d3eef955
BLAKE2b-256 fe7cc31578314980f3595bf89b6b17aa95c2bd8726d98b68d6e42fdb2ef82dce

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3190f90e85ee97efbd6daa0287237a1dbeeb20761cc1c2cd91c25bfe153752c5
MD5 687a733597c5b94b7b73694cf89de584
BLAKE2b-256 0372398bca66daed0f2d0c44469d3d0edbb1d0ffd5a8375fbf31cd1d5977fbb6

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a16a289c56cd45e7d132581415d17d88e13d260a9bbcb122506e950dff205d3
MD5 90f1c18c1495687841744667000aaba1
BLAKE2b-256 ecb19fe8dfebd7d962d8378da8ba45d8b4528ca93a87bf717d0746d87420b474

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6033293540d9240f1141be5419cb55ca2c5ab09e24de9544d7f33fc0e5a9b295
MD5 01bde01233fc2e138223e52878701110
BLAKE2b-256 51334fd347156ad652c5450cfc077c3e2a80dd29c176e0c23099a89d3dc6d549

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c925f66a07a9a8a1d2edd7d86485bd2d36bf9ac2d46c070bcb187376267bbb8f
MD5 da7ee9f43bf00339d76e434003efbf6f
BLAKE2b-256 47e6627dc2479cbfba2ce6b03b6b4492fd2a9c9c892b67b40b35d3167b634a80

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0fad645a7a200ce755fcbe60360c644a15070328d5b136513ebdbf1af956f027
MD5 94c4923f906f4c7bbc39ef9ccd123a96
BLAKE2b-256 a913f5f5ea53ac7189f8c7aa54cc13bfc723282ed7d8b09342a1be08a9152dee

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7a335e260b427d4ec8c04954a4cc70e65836bf641b461b1b3ec1c6c7d9cc96eb
MD5 2252e9b6d9218bc5314cd959e33251c4
BLAKE2b-256 be0d1df7ea761653fc3b73c5ff1397c8104607273e3a4a632715a910c88e667d

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae61485924a30575ec1e482449107a3322b0356b34dfaab843e214a691c850a2
MD5 942f9d59b68ab57b572e78e48c861662
BLAKE2b-256 a867ca64fe269c0f6be6820b522168cb990ec23478f8d29683f63c8cbdbd0386

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 333e79d17c224d4d44caecf5fe2d43c8683088c2c24e42f7b5faa46adcc0ddd0
MD5 2fbe0d187d9fd7f562837d158d9bc588
BLAKE2b-256 32021699ef132583f2663b8e9a8556933894c69b6b17cf263fc854aae912d019

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9cec1aa00dc4797fe190321d1e5f835e3183ee2ce215e5a3000436c627adbfe2
MD5 080bb048fabd0b626c620c5004fb4c82
BLAKE2b-256 ca38b779d6cbc8f57168a651368e513c0631df7fad57239982c1a314a22265d9

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae850101ce0bd6a0203279ae636ae5f908e1c84442a8895a2816faa6fb5fe478
MD5 f840ffb5f89face125eb10c0228a3ed1
BLAKE2b-256 b200c9ce81decf31be03e2d278d0f3ee71a324d17df6c9c599c99afdefb9463d

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 85c784a24fa55c29f27162dc2fd9590f7cae15e233a42a23ae3ee10096ca7dc8
MD5 cfa986639abaf0a0f3d9926336c0de55
BLAKE2b-256 1cd9caf1e6139fbc76e7dcce93ec43f4b57aa6d2c7ba14374c0e7a299b01651a

See more details on using hashes here.

File details

Details for the file pyclesperanto-0.6.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyclesperanto-0.6.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c8881a9e841ffb2177221f900c7837fb79ac5e8fc7e00a29a168b07c93ae2bca
MD5 2c2bf400c7f9cc482a046062170f6c57
BLAKE2b-256 5fef9a730e5e3f1fc71f1ef08bbb190ef6fef18b23f392feebb6650d17fb41b9

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