Developer Documentation

Welcome to the developer documentation for Neuralyzer. This is a C++ project for data analysis and visualization focused on the multi-modal data found in Systems Neuroscience. While higher level languages like MATLAB or Python are more common in our field, C++ was selected for this package to hide the programming aspects from the average user so that it “just works”. However, if you are here, you most likely want to try to modify Neuralyzer in some way. If you are new to C++, I have collected resouces that helped me to learn in the Intro to C++ section.

The Build Instructions section has a guide with getting an operational, developmental version of Neuralyzer on your own machine.

Once you have a working version of Neuralyzer, I recommend checking out the design guidelines and code quality section. It contains the design specifications and rules for writing C++ code for this project. It also contains descriptions of some of the tooling that can do most of this for you.

For starting projects, I recommend looking into four separate initiatives to ensure Neuralyzer remains performant and robust. These are good starting points to learn more about how Neuralyzer works under the hood:

Neuralyzer has many moving parts. There are multiple libraries that encapsulate different features that are maintained as part of this project. It is worth being familiar with some of these:

Data is loaded and managed by the DataManager class. The DataManager also currently contains some modular components like

Finally, UI elements