STRÏMM (Synchronised Trace Recording In ImageJ and MicroManager, pronounced like "stream") is a software application designed to perform asynchronous and synchronous acquisition of data from multimodal data sources into one program. These data sources can be cameras or any "trace" generating device e.g. an electrode.
Under the hood STRÏMM is a Kotlin application (100% interoperable with Java) with the open source softwares of ImageJ 2.0 and MicroManager 2.0 being utilised within STRÏMM. Data flow and acquisition is underpinned by an actor-based framework called Akka. This framework is responsible for handling all incoming data and running experiments. It does this through an actor based concept where actors are assigned roles and given messages to carry out specific tasks. It is lightweight, and has many features built in like thread safety and scalability.
Currently requires the following tools to be installed as a prerequisite to being used:
- Java (JDK v20 or later)
- NIDAQ MX
- Microsoft Visual C++ redistibutables (Versions 2015 to latest version)
Note that the dependencies on NIDAQ MX and VC++ redistributables are often for specific files. We aim soon to include those within the STRÏMM build so that there is no requirement to install extra software.
STRÏMM is a collaborative project between individuals at the University of St Andrews, University of Sheffield, and Cairn Research Ltd
Jacob Francis (joint lead Developer)
Terry Wright (joint lead Developer)
Elliot Steele (Developer)
Jeremy Graham
Stefan Pulver