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