16
16
from builtins import range , str , bytes , int
17
17
18
18
from copy import deepcopy
19
- import os , math , csv
19
+ import csv , math , os
20
20
21
21
from nibabel import load
22
22
import numpy as np
@@ -145,7 +145,7 @@ def scale_timings(timelist, input_units, output_units, time_repetition):
145
145
return timelist
146
146
147
147
def bids_gen_info (bids_event_files ,
148
- condition_column = 'trial_type ' ,
148
+ condition_column = '' ,
149
149
amplitude_column = None ,
150
150
time_repetition = False ,
151
151
):
@@ -173,9 +173,13 @@ def bids_gen_info(bids_event_files,
173
173
info = []
174
174
for bids_event_file in bids_event_files :
175
175
with open (bids_event_file ) as f :
176
- f_events = csv .DictReader (f , skipinitialspace = True , delimiter = '\t ' )
176
+ f_events = csv .DictReader (f , skipinitialspace = True , delimiter = str ( '\t ' ) )
177
177
events = [{k : v for k , v in row .items ()} for row in f_events ]
178
- conditions = list (set ([i [condition_column ] for i in events ]))
178
+ if not condition_column :
179
+ condition_column = '_trial_type'
180
+ for i in events :
181
+ i .update ({condition_column : 'ev0' })
182
+ conditions = sorted (set ([i [condition_column ] for i in events ]))
179
183
runinfo = Bunch (conditions = [], onsets = [], durations = [], amplitudes = [])
180
184
for condition in conditions :
181
185
selected_events = [i for i in events if i [condition_column ]== condition ]
@@ -185,10 +189,7 @@ def bids_gen_info(bids_event_files,
185
189
decimals = math .ceil (- math .log10 (time_repetition ))
186
190
onsets = [np .round (i , decimals ) for i in onsets ]
187
191
durations = [np .round (i ,decimals ) for i in durations ]
188
- if condition :
189
- runinfo .conditions .append (condition )
190
- else :
191
- runinfo .conditions .append ('e0' )
192
+ runinfo .conditions .append (condition )
192
193
runinfo .onsets .append (onsets )
193
194
runinfo .durations .append (durations )
194
195
try :
0 commit comments