Limitations - achilleas-k/BrianDROID GitHub Wiki

This page lists the most important features from Brian2 which are not (yet) supported by BrianDROID as well as issues with the app or its implementation. Most of these features require that they first be implemented in the android_standalone submodule in Brian2 before any support is added on the Android side.

This may be regarded as a to-do list for near-future development.

Features from Brian2:

  • State monitors: Although spike monitors are supported, there is not yet support for recording state variables.
  • State initialisers: Currently all state variables are initialised to 0 (or false for booleans).
  • Synapses: No synaptic connections are currently supported. This is a high priority feature!
  • Spike monitors for subsets: Spike monitors are supported but always record the entire network (low priority).

BrianDROID issues:

  • Using device hardware: The most important issue, given that the purpose of BrianDROID is to use real-time sensor information in neural networks. There is currently no support for reading sensor data and using it in a simulation.
  • Screen rotation: Screen rotations cause the status text to clear while the simulation continues to run in the background.
  • Simulation duration: Currently fixed to 1 second. This can be changed in the Simulation.java file before compiling the APK. Future versions should allow for defining the simulation duration from the Brian2 script or from within the app itself.
  • Threshold and Reset state updates in parallel: Threshold and reset state updating currently happens sequentially within a network. These should be run in parallel using renderscript forEach, as is done with the main state variable updating.