Git Product home page Git Product logo

mfanalysis's Introduction

Introduction

This package implements wavelet based multifractal analysis of 1D signals.

Implemented features:

  • Computation of (1D) multiresolution quantities: wavelet coefficients, wavelet-leaders and p-leaders
  • Computation of structure functions, cumulants and log-cumulants.
  • Estimation of the multifractal spectrum.

The code in this package is based on the Wavelet p-Leader and Bootstrap based MultiFractal analysis (PLBMF) Matlab toolbox written by Herwig Wendt (https://www.irit.fr/~Herwig.Wendt/software.html) and on the documents provided in his website (his PhD thesis in particular, which can be found at https://www.irit.fr/~Herwig.Wendt/data/ThesisWendt.pdf).

For a brief introduction to multifractal analysis, see the file THEORY.ipynb

Installation

git clone https://github.com/neurospin/mfanalysis.git
cd mfanalysis
python setup.py install

How to use the package

See scripts in /examples, mainly /examples/demo_pleaders.py

The data used for the examples were taken from the example data of the PLBMF Matlab toolbox (https://www.irit.fr/~Herwig.Wendt/software.html, MF_BS_tool_webrelease/demo/WLBMF_example_data).

Testing

The scripts in /test allow us to compare the outputs of this package and the PLBMF Matlab toolbox (https://www.irit.fr/~Herwig.Wendt/software.html).

How to perform a test:

  1. Run define_testing_parameters.py to define a range of parameters to be tested and generate params.json.
  2. Put .mat files in folder /test_data containing signals to be tested (each file must have a 'data' variable representing a 1d signal).
  3. Run /test/testing_python_package/test.py to generate python outputs and run /test/testing_matlab_toolbox/test.m to generate matlab outputs.
  4. Done! Output csv files are stored in /test_outputs. The script compare_outputs.py can be used to compare these output files.

mfanalysis's People

Contributors

omardrwch avatar

Watchers

James Cloos 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.