Git Product home page Git Product logo

curvelops's Introduction

Documentation Slack Status

curvelops

Python wrapper for CurveLab's 2D and 3D curvelet transforms. It uses the PyLops design framework to provide the forward and inverse curvelet transforms as matrix-free linear operations. If you are still confused, check out some examples below or the PyLops website!

Installation

Installing curvelops requires the following external components:

Both of these packages must be installed manually. See more information in the Documentation. After these are installed, you may install curvelops with:

export FFTW=/path/to/fftw-2.1.5
export FDCT=/path/to/CurveLab-2.1.3
python3 -m pip install git+https://github.com/PyLops/[email protected]

as long as you are using a pip>=10.0. To check, run python3 -m pip --version.

Getting Started

For a 2D transform, you can get started with:

import numpy as np
import curvelops as cl

x = np.random.randn(100, 50)
FDCT = cl.FDCT2D(dims=x.shape)
c = FDCT @ x
xinv = FDCT.H @ c
np.testing.assert_allclose(x, xinv)

An excellent place to see how to use the library is the Gallery. You can also find more examples in the notebooks/ folder.

Demo Reconstruction

Useful links

Note

This package contains no CurveLab code apart from function calls. It is provided to simplify the use of CurveLab in a Python environment. Please ensure you own a CurveLab license as per required by the authors. See the CurveLab website for more information. All CurveLab rights are reserved to Emmanuel Candes, Laurent Demanet, David Donoho and Lexing Ying.

curvelops's People

Contributors

cako avatar mrava87 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

curvelops's Issues

Create gallery of examples

Description

Currently all examples are in the form of Jupyter notebooks. Ideally these examples would be in the form of a sphinx gallery, or some other form of display that integrates with the documentation

What done means

Port all examples to a format which is integrated with the documentation

ModuleNotFoundError: No module named 'curvelops.plots'

Hello,

Thank you for making the Curvelops available for everyone. Great piece of code.
I think there is a bug in the Desmystifying_Curvelets.ipynb notebook.
When try to run the from curvelops.plot import cureshow I get the error in the
subject.

Problems with installation

Hi everyone!
I'm having some problems installing curvelops. I'm following the installation guide but get this error during the execution of python3 -m pip install git+https://github.com/PyLops/[email protected]:

>       error: command '/usr/bin/g++' failed with exit code 1
>       [end of output]
>   
>   note: This error originates from a subprocess, and is likely not a problem with pip.
>   ERROR: Failed building wheel for curvelops
> Failed to build curvelops
> ERROR: Could not build wheels for curvelops, which is required to install pyproject.toml-based projects

All the variables are set correctly, as specified in the guide.
I'm using python 3.8 on Ubuntu 22.04.1 LTS and working on a Conda environment.

Can anyone help me on this?

CurveLab down?

Hello,

I would be glad to use your code, but even after get a registration approval to get CurveLab-2.1.3.tar.gz
the link http://curvelet.org/download-secure.php?file=CurveLab-2.1.3.tar.gz is not working. At least I do not get
anything on any browser as well as wget or curl on linux.

As I have never used CurveLab before, I am asking you if on your side you get access to the current CurveLab-2.1.3.tar.gz?
I do not ask for the tarball, it just to see if I'm doing something wrong on my side ?

Thanks for your help.
Jean-Eric

Host documentation

Description

Currently, the documentation must be built locally by the developer. This is not the ideal solution; the documentation should be easily accessible via website.

What done means

A hosted webpage containing the documentation.

Problem with libfftw.so.2

It seems I had installed correctly all the dependencies.
Running setup.py install for curvelops ... done
Successfully installed curvelops-0.1 numpy-1.19.5 pylops-1.13.0 scipy-1.5.4

but.. when I open the python3 and try to import the library I have the next problem with libfftw.so.2

import curvelops.fdct2d_wrapper as ct
Traceback (most recent call last):
File "", line 1, in
File "/home/paul/.local/lib/python3.6/site-packages/curvelops/init.py", line 1, in
from .curvelops import *
File "/home/paul/.local/lib/python3.6/site-packages/curvelops/curvelops.py", line 13, in
from .fdct2d_wrapper import *
ImportError: libfftw.so.2: cannot open shared object file: No such file or directory
import curvelops as cl
Traceback (most recent call last):
File "", line 1, in
File "/home/paul/.local/lib/python3.6/site-packages/curvelops/init.py", line 1, in
from .curvelops import *
File "/home/paul/.local/lib/python3.6/site-packages/curvelops/curvelops.py", line 13, in
from .fdct2d_wrapper import *
ImportError: libfftw.so.2: cannot open shared object file: No such file or directory

can you help me please ?

Pylops version

I was trying to install Curvelops with python3.7 (as we observed in the past we couldn't get python3.8 to work) and now since we don't pin a pylops version in setup.py it tries to install pylops 1.18.3 which has dropped python 3.7 and crashes... the error is unclear so I didn't even think about this for a second, then I realized it may be the issue and installed pylops 1.15.0 by hand.

Shall we pin the version of pylops or maybe add a warning in the README?

Memory Leak!

When I used the curvelops in a loop, I found the memory used by the program was increasing rapidly. I try to delete python object and gc.collect(), but useless. Therefore, has it bugs about memory leak? @cako

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.