Code Monkey home page Code Monkey logo

llckbdm's Introduction

Conda Version PyPI Build Status Build Status codecov

Line List Clustering Krylov Basis Diagonalization Method

This library implements a noise-robust version of Krylov Basis Diagonalization Method (KBDM) [1, 2] for solving the Harmonic Inversion Problem (HIP) by exploiting the method instability in the presence of noise and making use clustering techniques.

An ensemble of solutions for the same input signal is generated by varying the number of input points to be considered or adding a very small quantity of noise (pseudo-noise). Estimations of each component are grouped by non-supervised machine learning algorithms in this ensemble and average values of each cluster are used as final estimations.

The idea of using average values in the parameter domain was firstly shown in [3] and a first naive implementation of LLC-KBDM was proposed in [4].

Instalation

conda-forge (recommended)

conda install -c conda-forge llckbdm

PyPI

pip install llckbdm

[1] Mandelshtam, V. a., & Taylor, H. S. (1997). Harmonic inversion of time signals and its applications. The Journal of Chemical Physics, 107(17), 6756. https://doi.org/10.1063/1.475324

[2] Mandelshtam, V. A. (2001). FDM: The filter diagonalization method for data processing in NMR experiments. Progress in Nuclear Magnetic Resonance Spectroscopy, 38(2), 159–196. https://doi.org/10.1016/S0079-6565(00)00032-7

[3] Silva, D. M. D. D., Lima, T. S., Tannús, A., Magon, C. J., & Paiva, F. F. (2015). MRS data quantification through the KBDM: reducing the effect of noise by using multiple signal truncations. Proceedings of the ISMRM 23rd Annual Meeting & Exhibition, 1967–1967. Toronto.

[4] da Silva, D. M. D. D., Vaz, Y., & Paiva, F. F. (2015). MRS data deconvolution through KBDM with multiple signal truncation and clustering: Circumventing noise effects. In IFMBE Proceedings (Vol. 51, pp. 1022–1025). https://doi.org/10.1007/978-3-319-19387-8_249

llckbdm's People

Contributors

danilomendesdias avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

llckbdm's Issues

Finish code documentation for kbdm and siggen modules

Finish documentation of already written functions.

We are not concerned in deploy external documentation, but just to add internal docstrings in the code.

Two modules need to be documented:

  • core/kbdm.py (solved by #7)
  • core/sig_gen.py

Increase coverage

Increase coverage of kbdm and sig_gen modules.

Two modules need to be tested:

  • core/kbdm.py (solved by #7)
  • core/sig_gen.py

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.