Denoising is prototyped and tested in jAER's NoiseTesterFilter.
A denoising filter subclasses AbstractNoiseFilter. By adding your filter to the list of filters in NoiseTesterFilter, it can be selected.
NoiseTesterFilter lets you choose the noise source (synthetic or real recorded noise), and how to display the testing results.
See jaerproject.org for jAER fork and run instructions.
To benchmark any of the algorithms you ca select it in NoiseTesterFitler
NoiseTesterFilter works with our external python scripts in our code folder in capture_roc_values subfolder to collect and plot the ROC TPR and FPR data.
readuspmsg.py controls jAER to sweep the filter parameters. Filters implement a RemoteControlled interface to receive the messages.
extractCSV2Npy.py extracts and calculates the average TPR/FPR and other metrics from the specific fractions of the stored csv files derived from parameter sweeping, and stored them into npy files for later plot usage.
readAndPlotROCAll.py plots the ROC curve from the collected data.
Add MLPNoiseFilter to list of jAER filters.
Download one of the trained models; we recommend one of the models that uses age and polarity input channels, in particular 2xMSEO1H20_linear_7.pb (a+p x 20 x 1 unit).
Expose Controls for MLPNoiseFilter by hitting the Controls button on it.
Hit the LoadNetwork button to select the .pb network file that you downloaded.
Now you can control the time window and threshold for MLPF so see the denoising effect.
MLPF is also one of the denoising filters you can compare in NoiseTesterFilter.
If you have python and matplotlib on your PATH, you can plot classification histograms directly from MLPNoiseFilter
You can also visualize the TI patch inputs to MLPNoiseFilter. Use the checkboxes to show only signal or noise classification results.