Software

NeuroAnalyzer is written in pure Julia wherever possible.

It is developed and tested on Linux, with additional test runs on ARM64 (Raspberry Pi), macOS (x86 and M1/M2/M3), and Windows 10/11. Other Julia-compatible systems such as FreeBSD should work but are untested - feedback from users on those platforms is very welcome.

Linux (e.g. Debian) is recommended for the best performance.

Julia version: the current stable release of Julia is required. NeuroAnalyzer is only tested against it, so older versions are not supported. Download it here.

Dependencies: all Julia packages are installed automatically. Some tasks optionally rely on external system binaries:

  • HDF5 export - requires system HDF5 tools. On Debian/Ubuntu:
sudo apt-get install hdf5-tools
  • Plotting on Linux - may require several graphics libraries. On Debian/Ubuntu:
sudo apt-get install libxt6 libxrender1 libxext6 libgl1-mesa-glx libqt5widgets5

Hardware

For typical processing workloads, the following hardware is recommended:

  • CPU: A quad-core processor at minimum; multi-core is strongly recommended as NeuroAnalyzer uses multi-threading throughout. AMD CPUs offer the best price-to-performance ratio - good options include the Threadripper Pro 5995WX, Threadripper 5975WX, Ryzen 9 5950X, Ryzen 9 5900X, and Ryzen 5 5600X.
  • RAM: 8 GB minimum; 16 GB or more for larger datasets.
  • Storage: SSD for active datasets, HDD for backups. Required capacity depends on the size of your recordings.

For large-scale pipelines, running NeuroAnalyzer across a computing cluster is worth considering - Julia has excellent native support for distributed and parallel processing.

Raspberry Pi users: the default swap size of 100 MB is insufficient. To increase it:

  1. Edit /etc/dphys-swapfile and set CONF_SWAPSIZE to the desired size in MB, e.g. CONF_SWAPSIZE=1024
  2. Restart the swap service: /etc/init.d/dphys-swapfile restart