GPU-accelerated image processing in python using OpenCL
Project description
pyclesperanto
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pyclesperanto-0.6.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0744b62e7abf6d22e0f084dab3b42f93c014c9100b4039b68a1b85cd7bcb06c6 |
|
MD5 | a720a0339bf03ebd26a9b896d5457a65 |
|
BLAKE2b-256 | b2b748571c2168ce0b76ab6a7aae5ebdaa630a244272dc9d828d111da90c2dfa |
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 |
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 |
Hashes for pyclesperanto-0.6.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b2f321e978ba95eaf397a211da762bd0be660b2f3df119f7f5ff4d2988b80c0 |
|
MD5 | d8708e68098a5125be038d33be3d8d33 |
|
BLAKE2b-256 | a15f59d41ddbf70682b50b1b240cb1187d87eaaec309d16ca8fa2bc92221cca1 |
Hashes for pyclesperanto-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 518eb9bb67b6bb66e49852307232d4e5ffec74fd153161ba1ede912ed155fa66 |
|
MD5 | 7c2c59ebe00e79c349fb6c68166792db |
|
BLAKE2b-256 | b443b0379649dd3cca68c1933aed726aefb6469084f936ba15bf74ab5ea52b9f |
Hashes for pyclesperanto-0.6.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78477ceb9e0230e63d80ab2a660c6996f896048a76dbc06a421a8b3c64935de3 |
|
MD5 | 0b9f7f88762081c2c587b2b04a9a0bfd |
|
BLAKE2b-256 | 7201b9553c21f141a7bd710cf33b108faeba6ab74021de12924f841902d1dd24 |
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 |
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 |
Hashes for pyclesperanto-0.6.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a16a289c56cd45e7d132581415d17d88e13d260a9bbcb122506e950dff205d3 |
|
MD5 | 90f1c18c1495687841744667000aaba1 |
|
BLAKE2b-256 | ecb19fe8dfebd7d962d8378da8ba45d8b4528ca93a87bf717d0746d87420b474 |
Hashes for pyclesperanto-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6033293540d9240f1141be5419cb55ca2c5ab09e24de9544d7f33fc0e5a9b295 |
|
MD5 | 01bde01233fc2e138223e52878701110 |
|
BLAKE2b-256 | 51334fd347156ad652c5450cfc077c3e2a80dd29c176e0c23099a89d3dc6d549 |
Hashes for pyclesperanto-0.6.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c925f66a07a9a8a1d2edd7d86485bd2d36bf9ac2d46c070bcb187376267bbb8f |
|
MD5 | da7ee9f43bf00339d76e434003efbf6f |
|
BLAKE2b-256 | 47e6627dc2479cbfba2ce6b03b6b4492fd2a9c9c892b67b40b35d3167b634a80 |
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 |
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 |
Hashes for pyclesperanto-0.6.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae61485924a30575ec1e482449107a3322b0356b34dfaab843e214a691c850a2 |
|
MD5 | 942f9d59b68ab57b572e78e48c861662 |
|
BLAKE2b-256 | a867ca64fe269c0f6be6820b522168cb990ec23478f8d29683f63c8cbdbd0386 |
Hashes for pyclesperanto-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 333e79d17c224d4d44caecf5fe2d43c8683088c2c24e42f7b5faa46adcc0ddd0 |
|
MD5 | 2fbe0d187d9fd7f562837d158d9bc588 |
|
BLAKE2b-256 | 32021699ef132583f2663b8e9a8556933894c69b6b17cf263fc854aae912d019 |
Hashes for pyclesperanto-0.6.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cec1aa00dc4797fe190321d1e5f835e3183ee2ce215e5a3000436c627adbfe2 |
|
MD5 | 080bb048fabd0b626c620c5004fb4c82 |
|
BLAKE2b-256 | ca38b779d6cbc8f57168a651368e513c0631df7fad57239982c1a314a22265d9 |
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 |
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 |
Hashes for pyclesperanto-0.6.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8881a9e841ffb2177221f900c7837fb79ac5e8fc7e00a29a168b07c93ae2bca |
|
MD5 | 2c2bf400c7f9cc482a046062170f6c57 |
|
BLAKE2b-256 | 5fef9a730e5e3f1fc71f1ef08bbb190ef6fef18b23f392feebb6650d17fb41b9 |