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