Giter Site home page Giter Site logo

t20100 / pypwt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pierrepaleo/pypwt

0.0 1.0 0.0 1.39 MB

A Python-CUDA implementation of the Wavelet Transform

License: Other

Shell 0.01% C++ 42.52% Python 18.02% C 5.61% Cuda 28.23% Makefile 0.55% Cython 5.05%

pypwt's Introduction

pycudwt

pycudwt is a python module for parallel Discrete Wavelet Transform. This is a wrapper of PDWT.

Note: this project was formerly named pypwt. It has been renamed pycudwt to have a spot on pypi.

Installation

Requirements

You need cython and nvcc (the Nvidia CUDA compiler, available in the NVIDIA CUDA Toolkit).

For the tests, you need pywavelets. python-pywt is packaged for Debian-like distributions, more recent changes are available on the new repository.

Stable version (from pypi)

pip install pycudwt

From conda recipe

Conda build for a specific cudatoolkit version that matches one in your conda environment, e.g.:

export CUDA_VERSION="10.1.243"
conda build conda-recipe/

Development version (from github)

git clone https://github.com/pierrepaleo/pypwt
cd pypwt
pip install .

You can specify the compute capability when building the library:

PYCUDWT_CC=86 pip install .

Testing

If pywt is available, you can check if pycudwt gives consistent results :

cd test
python test_all.py

the results are stored in results.log.

Getting started

Computing a Wavelet Transform wity pycudwt is simple. In ipython:

from pycudwt import Wavelets
from scipy.misc import lena
l = lena()
W = Wavelets(l, "db2", 3)
W
------------- Wavelet transform infos ------------
Wavelet name : db2
Number of levels : 3
Stationary WT : no
Cycle spinning : no
Separable transform : yes
Estimated memory footprint : 5.2 MB
Running on device : GeForce GTX TITAN X
--------------------------------------------------
W.forward()
W.soft_threshold(10)
W.inverse()
imshow(W.image)

pypwt's People

Contributors

pierrepaleo avatar dkazanc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.