/denoise

A script which denoises data without using fitting functions.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Functional tests Static code analysis

Description

denoise is a script (written in Python 3) which denoises data without using fitting functions. It implements the algorithm described here.

License

All code from this project is licensed under the GPLv3. See the LICENSE file for more information.

Required modules

The following modules are used:

  • matplotlib
  • numpy

You can install them with the following command:

pip3 install matplotlib numpy

Usage instructions

As an example, running

./denoise -i noisy_data.txt -o denoised_data.txt -u 20.0

will take the data sequence on noisy_data.txt (one value per line), denoise it and write the denoised sequence on denoised_data.txt. Above, -u 20.0 specifies the denoising coefficient μ: μ = 0.0 means no denoising at all, while larger values of μ enforce more denoising and therefore generate smoother output sequences.

You can view a plot of both the original and denoised sequences by adding -p to the command above.

For testing purposes, sample data with noise is provided on the noisy_data subdirectory. Try running:

./denoise -i noisy_data/sine.txt -p -u 10.0

and set the denoising coefficient to different values to get a feeling for how the denoising algorithm works.

Contributors & contact information

Diego Assencio / diego@assencio.com