Due to ongoing innovation in physics instrumentation, modern semiconductor detectors like Timepix3  and Timepix4  impose increasingly large demands on bandwidth and computational capabilities of data acquisition (DAQ) software. This motivates optimizations that achieve parity with intractable input data rates by various means: for instance, by offloading expensive calculations from software to dedicated hardware accelerators, by rejecting undesirable events using fast low-fidelity online analysis or machine learning models, or by implementing divide-and-conquer algorithms that scale well horizontally over many CPU cores.
This contribution presents Track Lab, a multi-platform DAQ software for physics detectors designed with versatility and high-performance applications in mind. Since its initial application with Timepix3 and the Katherine readout , Track Lab has been generalized to work with a diverse set of research instruments. The latest version is compatible with 3 Timepix3 readouts and 2 photomultiplier readouts, with ongoing plans to bring support for Timepix2  and Timepix4  devices later in 2023. In addition to detector equipment, Track Lab can orchestrate X-ray tubes, robotic arms and motorized stages to automate repetitive tasks like scans or calibrations.
One of Track Lab’s fundamental features is its capability to perform online analysis by composing complex data pipelines from simple building blocks, such as filters, transformations or aggregations. Inspired by large-scale systems like MapReduce and Hadoop , Track Lab allows for an arbitrary number of processing elements to be visually linked together in the user interface to form a tree-like graph topology (shown in Figure 1), which is usually terminated in persistent storage or real-time 1D or 2D plots that conveniently generate immediate feedback for the user (shown in Figure 2). For extensibility, the logic of these elements is implemented in plug-in modules that are included with the software. While the latest program version ships 14 such modules, their programming interface is publicly documented, so as to allow custom plug-ins to be developed easily.
Track Lab utilizes many conventional strategies to resolve a commonly encountered trade-off between high performance and extensibility. Firstly, thanks to multi-threaded implementation of all data processing elements, stages of data processing can operate simultaneously in parallel, enabling them to fully utilize advantages of many-core CPU architectures. Secondly, data flow is handled by ZeroMQ , an industry-standard message-passing middleware, which significantly reduces the memory footprint of the program by transparently multiplexing data between a single sender and multiple receivers in branching points of the data pipeline. Broad adoption of ZeroMQ also permits nearly effortless interoperability with data sources and sinks provided by external programs, as well as a possible extension point for data transmission over the network. Finally, the capacity for high data throughput is achieved by utilizing asynchronous memory-mapped file access, and wide-bandwidth system buses.
While Track Lab’s development is continuously ongoing, its stable versions have been thus far successfully deployed in calibration measurements, Mini.PAN  test beam campaigns at PS and SPS, medical research and nuclear safety applications , cosmic ray monitoring, and at the ATLAS-TPX3  and MoEDAL-TPX3  detector networks at LHC. Thanks to such a wide range of applications, its compatibility has been verified for all three major operating systems: Linux, Windows and macOS. The binaries of the software as well as its programming interface can be freely used by the public, and its sources are available to Medipix3 collaboration members upon request.
 T Poikela et al., JINST 9 (2014), C05013
 X Llopart et al., JINST 17 (2022), C01044
 P Burian et al., JINST 12 (2017), C11001
 WS Wong et al., J. Rad. Meas. 131 (2020), 106230
 X Llopart et al., JINST 17 (2022), C01044
 J Dean et al., Commun. ACM 51 (2008), 107-113
 ZeroMQ, https://zeromq.org/
 G Ambrosi et al., IEEE NSS/MIC (2019), 1-8
 B Biskup et al., EPJ Web Conf. 253 (2021), 07010
 B Bergmann et al., NIM A 978 (2020), 164401
 P Mánek et al., JINST 17 (2022), C01062
The authors acknowledge funding from the Czech Science Foundation (GACR) under grant number 23-04869M. We thank Lukáš Meduna for valuable contributions to Track Lab in initial stages of development, as well as extensive on-premises testing.