Skip to content

Python scripts for plotting and performing machine learning on neuromorphic data

License

Notifications You must be signed in to change notification settings

Mibblez/Neuromorphic-Data-Processing

Repository files navigation

Neuromorphic Data Processing

Tests

Python scripts for plotting and performing machine learning on neuromorphic data.

AEDAT files must first be acquired from a DVS and converted to CSV with one of two conversion programs: AEDAT File Reader or AEDAT File Reader Rs. The former is a GUI based UWP program and the latter is a headless Rust version.

Setup

It is recommended to create a fresh virtual environment for this project.

python -m venv ./venv

Once the virtual environment is active, install the packages inside of requirements.txt and the plotting_utils local module.

pip install -r requirements.txt
pip install -e .

Optionally, if you wish to run tests or perform other development related tasks, install the packages inside of requirements_dev.txt.

pip install -r requirements_dev.txt

Plotting

Some example plots are shown below. Additional examples can be found in the example_plots directory.

3D Plot Dots Plot

Machine Learning

Machine learning is performed with Keras. Neural networks exist for three different types of neuromorphic data: constant frequency, motion patterns, and mixed frequency and motion data. These neural networks take input in the form of "event count" CSVs generated from one of the two AEDAT file readers. The structure of the "waveform and frequency" neural network is shown below alongside a result graph from the displayMLData script.

Waveform and Frequency NN Structure Results

License

This project is licensed under the GPLv3 License - see the LICENSE file for details

About

Python scripts for plotting and performing machine learning on neuromorphic data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages