NLMSvariants/src/cpp_implementation
gurkenhabicht 70cb5e399b removed free(localWeights), changed help function from -x to -g true for graphing 2018-05-24 14:15:36 +02:00
..
NLMSvariants.cpp removed free(localWeights), changed help function from -x to -g true for graphing 2018-05-24 14:15:36 +02:00
README.md graphing is opt in now. 2018-05-24 11:02:00 +02:00
graphResults_template.html complete update 2018-05-19 19:04:50 +02:00
nlms_types.h updated 2018-05-22 17:03:42 +02:00

README.md

Installation

This is a carbon copy of the ANSI C version. Sole purpose of its existence is to be compiled under Visual Studio. If you do not use VS, pick the ANSI C version ../src/ansi_c__implementation.

Features

This little piece of code compares 3 different implementations of a least mean square filter.

  • local mean
  • direct predecessor
  • differential predecessor

PPM files can be used for input at this iteration. Output will be generated as .txt files with predicted value generated by the filter and its error value as well as given actual value from the PPM file. Furthermore there is an output as an svg graph to compare the implementatiosn on a visual level. These graphical results are build from graphResults_template.html which creates the actual output to graphResults.html. Open this file to see the results. You can hide graphs by clicking on its name for better visibility.

Use $ <binary> -h for help.

Usage

There are a bunch of options you can predefine but do not have to. The only parameter needed is -i which is the inputfile.

Parameter Description StdVal
-i The inputfile, has to be PPM. none
-n Amount of input data used. 500
-w Size of M (window). 5
-c Choose RGB color channel, green has least noise. green
-l Learnrate of machine learning. 0.4
-g true include graph building. Choose for amount of input data lower than 1200. none
-s Seed randomizing weights. Choose for repoducability. time(NULL)