def test_Level1Design_inputs(): input_map = dict( bases=dict(field="bases", mandatory=True), factor_info=dict(field="fact"), global_intensity_normalization=dict(field="global"), ignore_exception=dict(nohash=True, usedefault=True), interscan_interval=dict(field="timing.RT", mandatory=True), mask_image=dict(field="mask"), mask_threshold=dict(usedefault=True), matlab_cmd=dict(), mfile=dict(usedefault=True), microtime_onset=dict(field="timing.fmri_t0"), microtime_resolution=dict(field="timing.fmri_t"), model_serial_correlations=dict(field="cvi"), paths=dict(), session_info=dict(field="sess", mandatory=True), spm_mat_dir=dict(field="dir"), timing_units=dict(field="timing.units", mandatory=True), use_mcr=dict(), use_v8struct=dict(min_ver="8", usedefault=True), volterra_expansion_order=dict(field="volt"), ) inputs = Level1Design.input_spec() for key, metadata in input_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(inputs.traits()[key], metakey), value
def test_Level1Design_outputs(): output_map = dict(spm_mat_file=dict()) outputs = Level1Design.output_spec() for key, metadata in output_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(outputs.traits()[key], metakey), value
def test_Level1Design_outputs(): output_map = dict(spm_mat_file=dict(), ) outputs = Level1Design.output_spec() for key, metadata in output_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(outputs.traits()[key], metakey), value
def test_Level1Design_inputs(): input_map = dict( bases=dict( field='bases', mandatory=True, ), factor_info=dict(field='fact', ), global_intensity_normalization=dict(field='global', ), ignore_exception=dict( nohash=True, usedefault=True, ), interscan_interval=dict( field='timing.RT', mandatory=True, ), mask_image=dict(field='mask', ), mask_threshold=dict(usedefault=True, ), matlab_cmd=dict(), mfile=dict(usedefault=True, ), microtime_onset=dict(field='timing.fmri_t0', ), microtime_resolution=dict(field='timing.fmri_t', ), model_serial_correlations=dict(field='cvi', ), paths=dict(), session_info=dict( field='sess', mandatory=True, ), spm_mat_dir=dict(field='dir', ), timing_units=dict( field='timing.units', mandatory=True, ), use_mcr=dict(), use_v8struct=dict( min_ver='8', usedefault=True, ), volterra_expansion_order=dict(field='volt', ), ) inputs = Level1Design.input_spec() for key, metadata in input_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(inputs.traits()[key], metakey), value
l1model = Node(SpecifySPMModel(), name="l1model") # input: concatenate runs to a single session (boolean, default: False): l1model.inputs.concatenate_runs = False # input: units of event onsets and durations (secs or scans): l1model.inputs.input_units = 'secs' # input: units of design event onsets and durations (secs or scans): l1model.inputs.output_units = 'secs' # input: time of repetition (a float): l1model.inputs.time_repetition = time_repetition # high-pass filter cutoff in secs (a float, default = 128 secs): l1model.inputs.high_pass_filter_cutoff = 128 # ====================================================================== # DEFINE NODE: LEVEL 1 DESIGN (GENERATE AN SPM DESIGN MATRIX) # ====================================================================== # function: generate an SPM design matrix l1design = Node(Level1Design(), name="l1design") # input: (a dictionary with keys which are 'hrf' or 'fourier' or # 'fourier_han' or 'gamma' or 'fir' and with values which are any value) l1design.inputs.bases = {'hrf': {'derivs': [0, 0]}} # input: units for specification of onsets ('secs' or 'scans'): l1design.inputs.timing_units = 'secs' # input: interscan interval / repetition time in secs (a float): l1design.inputs.interscan_interval = time_repetition # input: Model serial correlations AR(1), FAST or none: l1design.inputs.model_serial_correlations = 'AR(1)' # input: number of time-bins per scan in secs (an integer): l1design.inputs.microtime_resolution = 16 # input: the onset/time-bin in seconds for alignment (a float): l1design.inputs.microtime_onset = 1 # set expected thread and memory usage for the node: l1design.interface.num_threads = 1
# input: units of design event onsets and durations (secs or scans): # l1model.inputs.output_units = 'secs' # input: time of repetition (a float): # l1model.inputs.time_repetition = TR # high-pass filter cutoff in secs (a float, default = 128 secs): # l1model.inputs.high_pass_filter_cutoff = 128 # ====================================================================== # DEFINE NODE: LEVEL 1 DESIGN (GENERATE AN SPM DESIGN MATRIX) # ====================================================================== # function: generate an SPM design matrix # Level1Design - Generates an SPM design matrix level1design = Node(Level1Design(bases={'hrf': { 'derivs': [0, 0] }}, timing_units='secs', interscan_interval=TR, model_serial_correlations='AR(1)'), name="level1design") l1design = Node(Level1Design(), name="l1design") # input: (a dictionary with keys which are 'hrf' or 'fourier' or # 'fourier_han' or 'gamma' or 'fir' and with values which are any value) l1design.inputs.bases = {'hrf': {'derivs': [0, 0]}} # input: units for specification of onsets ('secs' or 'scans'): l1design.inputs.timing_units = 'secs' # input: interscan interval / repetition time in secs (a float): l1design.inputs.interscan_interval = TR # input: Model serial correlations AR(1), FAST or none: l1design.inputs.model_serial_correlations = 'AR(1)' # input: number of time-bins per scan in secs (an integer):