Bst_headtracking update

This post will be updated with more details later, but for now please note that the real-time code is being improved, which slightly changes how the Brainstorm real-time head tracking should be started.

The main change is that the real-time buffer is now started and run on the acquisition system (Quickly). So the order of steps is now:

  1. Start the real-time head tracking program (helmet icon) on Quickly.
  2. Start Acq (the CTF MEG acquisition program).
  3. At any other later moment, you may start bst_headtracking on the stimulus computer, with the IP of Quickly like this:
    bst_headtracking(0, '10.0.0.2')
    (The first argument is as before, to indicates if using “alignment”, i.e. a second fixed helmet is displayed.)

This means we don’t have to restart acquisition to start (or restart) head tracking. Also, Matlab no longer freezes or crashes when closing head tracking. If head tracking gives an error in Matlab, which currently may happen when starting a new run on Acq, you can simply close the Brainstorm head tracking figure and run bst_headtracking again immediately.

I’ll try to improve the code some more to avoid these errors when starting a new run, but still I find it much nicer to use like this compared to before.

1 Like

To close head tracking on Quickly, use ctrl+c before closing the terminal window.

If another user didn’t shut it down properly, it might not work. There’s a message when starting it: “tcpserver bind: Address already in use”, and in Matlab on the stim computer you’ll get a buffer error. To fix this, I added permission so everybody can run this command to kill all head tracking processes:

sudo killall ctf2ft_v3