1616from builtins import range , str , bytes , int
1717
1818from copy import deepcopy
19+ import csv
1920import os
2021
2122from nibabel import load
@@ -145,7 +146,7 @@ def scale_timings(timelist, input_units, output_units, time_repetition):
145146 return timelist
146147
147148def bids_gen_info (bids_event_files ,
148- condition_column = 'trial_type ' ,
149+ condition_column = '' ,
149150 amplitude_column = None ,
150151 time_repetition = False ,
151152 ):
@@ -175,7 +176,11 @@ def bids_gen_info(bids_event_files,
175176 with open (bids_event_file ) as f :
176177 f_events = csv .DictReader (f , skipinitialspace = True , delimiter = '\t ' )
177178 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 ]))
179+ if not condition_column :
180+ condition_column = '_trial_type'
181+ for i in events :
182+ i .update ({condition_column :'ev0' })
183+ conditions = sorted (set ([i [condition_column ] for i in events ]))
179184 runinfo = Bunch (conditions = [], onsets = [], durations = [], amplitudes = [])
180185 for condition in conditions :
181186 selected_events = [i for i in events if i [condition_column ]== condition ]
@@ -185,10 +190,7 @@ def bids_gen_info(bids_event_files,
185190 decimals = math .ceil (- math .log10 (time_repetition ))
186191 onsets = [np .round (i , decimals ) for i in onsets ]
187192 durations = [np .round (i ,decimals ) for i in durations ]
188- if condition :
189- runinfo .conditions .append (condition )
190- else :
191- runinfo .conditions .append ('e0' )
193+ runinfo .conditions .append (condition )
192194 runinfo .onsets .append (onsets )
193195 runinfo .durations .append (durations )
194196 try :
@@ -199,7 +201,6 @@ def bids_gen_info(bids_event_files,
199201 info .append (runinfo )
200202 return info
201203
202-
203204def gen_info (run_event_files ):
204205 """Generate subject_info structure from a list of event files
205206 """
0 commit comments