Laboratory infrastructure

Instruments — Aquatics Lab

Pre-existing Aquatics Lab equipment that the SWIM III project routinely uses as supporting infrastructure. For equipment acquired under the project, see Instruments · Swim3.

Laboratory instrumentation

Pre-existing Aquatics Lab equipment that the SWIM III project routinely uses as supporting infrastructure. Publications derived from the project reference this instrumentation when it is the source of the reported measurements.

ASPA SYSTEM · 8 CAMERAS · 25 M · MAIN POOL

ASPA System — Automatic Swimming Performance Analysis

ASPA System: Basler avA1000-100gc industrial cameras (Basler AG, Ahrensburg, Germany); capture workstation Intel Core i7-5930K, 32 GB RAM, Nvidia RTX 4070 GPU, Windows 8.1 Pro; Mitsubishi MELSEC FX3G trigger PLC (Mitsubishi Electric Corporation, Tokyo, Japan). In-house software in Python 3.11 + OpenCV 4.10 + pypylon 2.2.1.

The ASPA System (Automatic Swimming Performance Analysis) is the main acquisition and technical analysis infrastructure installed over the 25 m main pool of the Aquatics Lab. It is the legacy tool inherited from the SWIM I and SWIM II projects, which SWIM III has modernised and keeps in production.

Camera cluster. Eight Basler avA1000-100gc industrial cameras with monochrome / Bayer GB8 colour sensor capture at 740 × 740 px per camera and 83.33 Hz (competition mode) or 50 Hz (training mode). The eight images are stitched into a 2,584 × 1,632 px panorama that covers the entire pool with corrected overhead perspective. Image capture is raw Bayer with no prior BGR conversion, in order to preserve bit-by-bit compatibility with the legacy processing chain.

Synchronised trigger. An industrial Mitsubishi MELSEC FX3G PLC generates the common trigger signal for all cameras, ensuring that the eight frames stitched at each instant correspond strictly to the same physical moment, a critical requirement for the panoramic reconstruction not to introduce temporal distortion in the 5 m splits.

Network connectivity. The topology is point-to-point GigE without a switch, organised over two four-port NICs. NIC 1 (sockets 03–06) serves cameras CAM01–CAM04 in the 192.168.10–40.x range; NIC 2 (sockets 07–10) serves cameras CAM05–CAM08 in the 192.168.50–80.x range. This aggregated architecture provides the per-camera dedicated bandwidth that the 83.33 Hz feed requires and eliminates the collisions that a conventional switch would introduce in a synchronous capture.

WS-Piscina capture workstation. Intel Core i7-5930K processor with six cores and twelve threads, 32 GB of RAM, Nvidia RTX 4070 GPU and Windows 8.1 Pro operating system. The i7-5930K was selected for its compatibility with the legacy SWIM I chain; the RTX 4070 added under SWIM III enables near real-time YOLO inference. Capture writes raw Bayer BMP to disk, with the panorama encoded to H.265 video in a second offline pass, as real-time encoding at 2,584 × 1,632 is not feasible on this processor.

In-house software stack. The stack has been rewritten under SWIM III on Python 3.11 + OpenCV 4.10 + Basler pypylon 2.2.1, replacing the legacy FAICONATACION.exe binary (C# / .NET / OpenCV 2.4.10) inherited without source code. The GUI applications are four: aspa_gui for synchronised eight-camera capture; aspa_8_cam_control_gui for ROI, exposure and gain tuning with .pfs profile writing; aspa_exporter_qt for panorama stitching and H.265 encoding with overlaid lane lines; and aspa_analyzer_qt for analysis (YOLO detection, tracking, 5 m splits, stroke-rate FFT, emersion detection). The whole chain has been validated against the Gold Standard of the 2017 competitions with mean absolute error below 0.15 s.