Converting BIDS timing file to AFNI amplitude modulated timing file using timing_tool.py

AFNI version info (afni -ver): 23.3.09

We're trying to create amplitude modulated timing files using the timing_tool.py. We're starting with a BIDS formatted events.tsv file. Here's an example of the what the first few lines look like:

onset	duration	trial_type	arrow_acc	arrow_rt	recog_rating	recog_acc	recog_rt	context_acc	context_rt
0.0	8.0	fixation	n/a	n/a	n/a	n/a	n/a	n/a	n/a
8.045	20.0	arrow	1.0	1.081	n/a	n/a	n/a	n/a	n/a
28.01	3.0	cue_low_reward	n/a	n/a	n/a	n/a	n/a	n/a	n/a
31.089	15.0	low_reward	n/a	n/a	4.0	1.0	3.035	0.667	5.075

We want to get to something like this;

31.089*1.0 107.081*0.33 183.087*0.67
69.068*0.33 145.078*1.0 221.079*0.67

This timing file shows onset times for a blocked condition weighted by subject's accuracy during that block. The first three columns of the BIDS file are onset, duration, and trial_type, and we're getting the amplitude modulator from the column recog_acc.

The command that we've tried is:

timing_tool.py -tsv_labels onset duration trial_type recog_acc -multi_timing_ncol_tsv BIDS_timing_file_events.tsv write_multi_timing output_file_name

The error we're getting from this command is:

bad line Ncol tsv file BIDS_timing_file_events.tsv 
8.045	20.0	arrow	1.0	1.081	n/a	n/a	n/a	n/a	n/a
dur_txt = '20.0'

Thanks for any help you can offer!

1 Like

Hi @cciampa,

timing_tool.py was not set up to handle the mixed n/a cases with amplitude modulators, but I have made some updates for that. If you are building locally, you should be able to try it now. Otherwise, we are hoping to run a build tonight.

Thanks for bringing this up,

  • rick