Giter VIP home page Giter VIP logo

matthieumeo / pycsou-gsp Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 2.0 768 KB

Pycsou extension module for linear inverse problems involving signals defined on non Euclidean domains represented as graphs.

Home Page: https://matthieumeo.github.io/pycsou-gsp/html/index

License: MIT License

Python 100.00%
graph-signal-processing pycsou python3 graph-convolution graph-differential-operators tessellation-graphs cvxhull-graphs healpix spherical-geometry graph-laplacian

pycsou-gsp's Introduction

image

image

Pycsou-gsp is the graph signal processing extension of the Python 3 package Pycsou for solving linear inverse problems. The extension offers implementations of graph convolution and differential operators, compatible with Pycsou's interface for linear operators. Such tools can be useful when solving linear inverse problems involving signals defined on non Euclidean discrete manifolds.

Graphs in Pycsou-gsp are instances from the class pygsp.graphs.Graph from the pygsp library for graph signal processing with Python.

Content

The package, named pycgsp, is organised as follows:

  1. The subpackage pycgsp.linop implements the following common graph linear operators:
    • Graph convolution operators: GraphConvolution
    • Graph differential operators: GraphLaplacian, GraphGradient, GeneralisedGraphLaplacian.
  2. The subpackage pycgsp.graph provides routines for generating graphs from discrete tessellations of continuous manifolds such as the sphere.

Installation

Pycsou-gsp requires Python 3.6 or greater. It is developed and tested on x86_64 systems running MacOS and Linux.

Dependencies

Before installing Pycsou-gsp, make sure that the base package Pycsou is correctly installed on your machine. Installation instructions for Pycsou are available at that link.

The package extra dependencies are listed in the files requirements.txt and requirements-conda.txt. It is recommended to install those extra dependencies using Miniconda or Anaconda. This is not just a pure stylistic choice but comes with some hidden advantages, such as the linking to Intel MKL library (a highly optimized BLAS library created by Intel).

>> conda install --channel=conda-forge --file=requirements-conda.txt

Quick Install

Pycsou-gsp is also available on Pypi. You can hence install it very simply via the command:

>> pip install pycsou-gsp

If you have previously activated your conda environment pip will install Pycsou in said environment. Otherwise it will install it in your base environment together with the various dependencies obtained from the file requirements.txt.

Developer Install

It is also possible to install Pycsou-gsp from the source for developers:

>> git clone https://github.com/matthieumeo/pycsou-gsp
>> cd <repository_dir>/
>> pip install -e .

The package documentation can be generated with:

>> conda install sphinx=='2.1.*'            \
                 sphinx_rtd_theme=='0.4.*'
>> python3 setup.py build_sphinx

You can verify that the installation was successful by running the package doctests:

>> python3 test.py

Cite

For citing this package, please see: http://doi.org/10.5281/zenodo.4486431

pycsou-gsp's People

Contributors

matthieumeo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

okumuskaan

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.