Stefano Gaburro, Mike Girand, Mariko Austin (DSI)
Robert Hoogmans, Ruud Tegelenbosch (Noldus)
Researchers have expressed an interest in being able to synchronize physiologic data or derived data with behavioral data. Data Sciences International (the leader in telemetric physiological data acquisition) and Noldus (the leader in analysis of animal behavior) have joined together to provide a tightly synchronized process for capturing synchronized physiological and behavioral data.
Synchronizing physiologic and behavior data has been tried before. The publication; “An integrated system for video and telemetric recording: measuring behavioural and physiological parameters” is an example. However, these solutions have various draw backs, such as:
- The described solution in the link is very cumbersome to setup. Solutions like this also only allow the import of raw waveform data into the Noldus behavioral platform Observer, not the derived data, like Heart Rate or mean blood pressure, which would be more meaningful for the investigator when assessing behavior.
Ponemah may be used to collect synchronized video data with the physiologic data with a synchronization specification of 1 second over 24 hours. However, the delivered video data are typically from IP cameras, which natively employ algorithms to compress the generated video files, resulting in a variable frame rate. Noldus video software Ethovision requires a constant frame rate for accurate handling of time within the program, rendering this solution a non-starter.
The proposed solution is to use the Windows Meinberg Network Time Protocol Service or NTP to synchronize all computer clocks that share the same network. NTP is also used by all MX2s on the network to synchronize the time reported for the physiologic data. This approach allows video acquired on PCs other than the telemetry acquisition PC, or across multiple PCs, the ability to maintain tight synchronization. The use of the NTP service provides synchronization for the following applications:
- Acquiring more than 8 videos (e.g. 16 animals to be monitored)
- Acquiring with cameras that are suited to behavior (e.g. Basler Gigabit Camera)
- Synchronize other PCs requiring tight synchronization (below 1 sec)
To test the proposed solution, the following three tests were conducted; two in silico (one with a telemetry signal simulator at Noldus in Wageningen and without anything) and one with animal.
All PC’s were on the same dedicated network. The Mainberg NTP Service was installed on all of the PCs that needed to be synchronized. Mainberg NTP Service checks the clock time of the PC to be synchronized with (e.g. Ponemah) and keep the Windows clocks of the different PCs synchronized.
A detailed method is described in the document attached.
Test #1 at Noldus Wageningen
- DSI: Telemetry Signal Simulator, 1x RPC-1, MX2, APR-1, E2S, 1 PC with Ponemah 5.20-SP9 installed
- Noldus: 4x PC with Noldus Media Recorder 4.0 equipped with 4x camera each for in total 16x cameras (Basler GigE Camera).
First, the Noldus Media Recorder 4.0 software was installed on 4 separate PCs. Ponemah 5.20-SP9 was installed on a fifth PC and configured for use with a telemetry signal simulator set up as a CTA-F40 transmitter. Ponemah and the Media Recorder were then sequentially started and allowed to run for .
After the computers were restarted, it was noted that the synchronization between PC’s improved over time. The difference in the clock was decreasing.
One Basler camera connected to Media Recorder 4.0 was pointed towards a digital clock in the Ponemah PC. What was visually calculated was then the displayed time in the Ponemah PC (in a digital clock application showing also msec) vs. the time the frame has been grabbed at a given time by the camera connected to the Media Recorder(e.g. time 11.47 am). That was repeated at every hour.
The visual offset expressed per time point as:
Time of Ponemah PC (in the digital clock app) – Time displayed in the Media Recorder.
Results are displayed below in table and graphs:
The difference with the video file reported time (On system Media Recorder columns) and the time on the clock on windows (named On system Ponemah columns) is mainly due the inaccuracy of the Windows clock (in the Ponemah PC) not showing the correct msec level.
This can be put into the following graph:
Note: This may not be an accurate way to calculate the system time offset, but it does give a proof of concept.
During the test, the NTP clients (i.e. PCs) recorded their offset into their respective log files. The system running with the Basler cameras had the following logs: (Note logs are done day by day.)
Note: The 24-hour test measurement started at 11:46.
It should be noted that the offset (Y axis) decreased quickly to within the 0.01 seconds and continued to decrease to the milliseconds range. Since the level of synchronization gets greater the longer the computer is connected, when the Ponemah PC and Media Recorder PCs are left on, the day 2 the level of synchronization as displayed by the NTP Time Server monitor is more accurate.
Test #2 at Boehringer Ingelheim (Sync of two PC)
A PC with Ponemah 5.20, SP11 installed, 4 MX2s, 8x RPC-2, 2 Noldus Media Recorder PCs with Basler Gigabit cameras (4 each).
All PCs were on the same dedicated network. NTP Meinberg Server was install the on the Noldus PC and check over a 24hrs duration. The Ponemah and Media Recorder software were not started. Only the clock drift without having the PCs perform any behavioral/physiological analysis was checked.
The two PCs from Noldus reported a high level of synchronization of the system over a 24 hour period as displayed by the red line in the graph below.