GPU-accelerated image processing using cupy and CUDA

Overview

napari-cupy-image-processing

License PyPI Python Version tests codecov

GPU-accelerated image processing using cupy and CUDA

img.png


This napari plugin was generated with Cookiecutter using with @napari's cookiecutter-napari-plugin template.

Installation

Follow the instructions for installing cupy on your computer first. Afterwards, you can install napari-cupy-image-processing via pip:

pip install napari-cupy-image-processing

A more detailed example for installation (change 10.2 to your CUDA version):

conda create --name cupy_p38 python=3.8
conda activate cupy_p38
conda install -c conda-forge cupy cudatoolkit=10.2
conda install napari
pip install napari-cupy-image-processing

Known issues

When executing the first operation right after CUDA installation, napari may freeze and crash. Wait a minute and try again.

Contributing

Contributions are very welcome. Adding cupy ndimage functions is quite easy as you can see in the implementation of the current operations. If you need another function in napari, just send a PR. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the MIT license, "napari-cupy-image-processing" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

You might also like...
A small Python module for BMP image processing.

micropython-microbmp A small Python module for BMP image processing. It supports BMP image of 1/2/4/8/24-bit colour depth. Loading supports compressio

Image Processing HighPass Filter With Python
Image Processing HighPass Filter With Python

Image_Processing_HighPassFilter High Pass Filter take the high frequency and ignore the low frequency High Pass Filter can be use to sharpening an ima

Using P5.js, Processing and Python to create generative art
Using P5.js, Processing and Python to create generative art

Experiments in Generative Art Using Python, Processing, and P5.js Quick Links Daily Sketches March 2021. | Gallery | Repo | Done using P5.js Genuary 2

Simple Python package to convert an image into a quantized image using a customizable palette
Simple Python package to convert an image into a quantized image using a customizable palette

Simple Python package to convert an image into a quantized image using a customizable palette. Resulting image can be displayed by ePaper displays such as Waveshare displays.

Seaborn-image is a Python image visualization library based on matplotlib and provides a high-level API to draw attractive and informative images quickly and effectively.
Seaborn-image is a Python image visualization library based on matplotlib and provides a high-level API to draw attractive and informative images quickly and effectively.

seaborn-image: image data visualization Description Seaborn-image is a Python image visualization library based on matplotlib and provides a high-leve

kikuchipy is an open-source Python library for processing and analysis of electron backscatter diffraction (EBSD) patterns
kikuchipy is an open-source Python library for processing and analysis of electron backscatter diffraction (EBSD) patterns

kikuchipy is an open-source Python library for processing and analysis of electron backscatter diffraction (EBSD) patterns. The library builds on the

An executor that performs standard pre-processing and normalization on images.

An executor that performs standard pre-processing and normalization on images.

Pixel Brush Processing Unit
Pixel Brush Processing Unit

Pixel Brush Processing Unit The Pixel Brush Processing Unit (PBPU for short) is a simple 4-Bit CPU I designed in Logisim while I was still in school a

Easily turn large sets of image urls to an image dataset. Can download, resize and package 100M urls in 20h on one machine.
Easily turn large sets of image urls to an image dataset. Can download, resize and package 100M urls in 20h on one machine.

img2dataset Easily turn large sets of image urls to an image dataset. Can download, resize and package 100M urls in 20h on one machine. Also supports

Releases(0.3.1)
  • 0.3.1(Aug 27, 2022)

  • 0.3.0(Jul 10, 2022)

    New features

    • Added docstrings to enable searching in them via the napari-assistant

    Backwards compatibility breaking changes:

    • The unused viewer parameter of all functions was removed.

    Deprecated methods:

    • The measurement() function has been deprecated because it was too slow and it will be removed with the next major release. Consider using napari-skimage-regionprops or napari-simpleitk-image-processing instead.
    Source code(tar.gz)
    Source code(zip)
  • 0.2.3(May 8, 2022)

    Deprecated functions

    • napari_cupy_image_processing.measurement() has been deprecated. Use napari_simpleitk_image_processing.label_statistics() instead.
    Source code(tar.gz)
    Source code(zip)
  • 0.2.2(Mar 20, 2022)

  • 0.2.1(Mar 20, 2022)

  • 0.2.0(Mar 8, 2022)

    Bugfix:

    • measurements() was not easily callable from the API (Thanks to Edwin Hernandez G for reporting!)

    Backwards compatibility breaking changes:

    • measurements() now takes images (numpy arrays) as parameters, and no longer napari layers.
    Source code(tar.gz)
    Source code(zip)
  • 0.1.9(Jan 1, 2022)

  • 0.1.8(Dec 12, 2021)

  • 0.1.7(Dec 4, 2021)

    Backwards compatibible changes

    • Changed menu entries to cover finer differentiation between various filtering and segmentation techniquese
    Source code(tar.gz)
    Source code(zip)
  • 0.1.6(Nov 28, 2021)

  • 0.1.5(Nov 12, 2021)

  • 0.1.4(Nov 9, 2021)

  • 0.1.2(Oct 28, 2021)

  • 0.1.1(Oct 22, 2021)

  • 0.1.0(Oct 22, 2021)

    New functions

    • gaussian_filter
    • gaussian_laplace
    • median_filter
    • percentile_filter
    • white_tophat
    • morphological_gradient
    • morphological_laplace
    • wiener
    • threshold_otsu
    • binary_fill_holes
    • label
    Source code(tar.gz)
    Source code(zip)
Owner
Robert Haase
Computational Microscopist, BioImage Analyst, Code Jockey
Robert Haase
python binding for libvips using cffi

README PyPI package: https://pypi.python.org/pypi/pyvips conda package: https://anaconda.org/conda-forge/pyvips We have formatted docs online here: ht

libvips 467 Dec 30, 2022
Music Thumbnail Maker

Music Thumbnail Installing pip install TMFrame

krypton 4 Jan 28, 2022
Sample data for the napari image viewer.

napari-demo-data Sample data for the napari image viewer. This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugi

Genevieve Buckley 1 Nov 08, 2021
An API that renders HTML/CSS content to PNG using Chromium

html_png An API that renders HTML/CSS content to PNG using Chromium Disclaimer I am not responsible if you happen to make your own instance of this AP

10 Aug 08, 2022
Demo of using Auto Encoder for Image Denoising

Demo of using Auto Encoder for Image Denoising

2 Aug 04, 2022
A small Python module for BMP image processing.

micropython-microbmp A small Python module for BMP image processing. It supports BMP image of 1/2/4/8/24-bit colour depth. Loading supports compressio

Quan Lin 4 Nov 02, 2022
ProsePainter combines direct digital painting with real-time guided machine-learning based image optimization.

ProsePainter Create images by painting with words. ProsePainter combines direct digital painting with real-time guided machine-learning based image op

Morphogen 276 Dec 17, 2022
Seeks to remove text from an image in a convincing way.

Text-Removal This is a Computer Vision project that seeks to successfully remove text from an image by covering the text areas in a convincing way. He

6 Nov 22, 2022
Python-based tools for document analysis and OCR

ocropy OCRopus is a collection of document analysis programs, not a turn-key OCR system. In order to apply it to your documents, you may need to do so

OCRopus 3.2k Jan 04, 2023
Kainat 13 Mar 07, 2022
sK1 2.0 cross-platform vector graphics editor

sK1 2.0 sK1 2.0 is a cross-platform open source vector graphics editor similar to CorelDRAW, Adobe Illustrator, or Freehand. sK1 is oriented for prepr

sK1 Project 238 Dec 04, 2022
A proof-of-concept implementation of a parallel-decodable PNG format

mtpng A parallelized PNG encoder in Rust by Brion Vibber [email protected] Backgrou

Brion Vibber 193 Dec 16, 2022
The ctypes-based simple ImageMagick binding for Python

Wand Wand is a ctypes-based simple ImageMagick binding for Python, supporting 2.7, 3.3+, and PyPy. All functionalities of MagickWand API are implement

Eric McConville 1.2k Dec 30, 2022
Next-generation of the non-destructive, node-based 2D image graphics editor

Non-destructive, node-based 2D image graphics editor written in Python, focused on simplicity, speed, elegance, and usability

Gimel Studio 238 Dec 30, 2022
Convert bitmap images to seeds for Tiny-83 NFT project.

What is this? This tool allows you to convert any 14p high and 22p wide Bitmap (.bmp) to the seed needed for the Tiny-83 NFT project. Project Twitter:

shib_maximalist 1 Oct 31, 2021
Simple utility to tinker with OPlus images

OPlus image utilities Prerequisites Linux running kernel 5.4 or up (check with uname -r) Image rebuilding Used to rebuild read-only erofs images into

Wiley Lau 15 Dec 28, 2022
Blue noise image stippling in Processing (requires GPU)

Blue noise image stippling in Processing (requires GPU)

Mike Wong 141 Oct 09, 2022
An agnostic Canvas API for the browser-less and insane

Apollo An agnostic Canvas API for the browser-less and mildly insane. Project Apollo is a Pythonic re-imagining of HTML Canvas element implementati

1 Jan 13, 2022