def setUp(self): np.random.seed(8652761) tmpDir = tempfile.mkdtemp(prefix='pyhrf_tests', dir=pyhrf.cfg['global']['tmp_path']) self.tmp_dir = tmpDir simu = simulate_bold(self.tmp_dir, spatial_size='random_small') self.data_simu = FmriData.from_simulation_dict(simu)
def setUp(self): np.random.seed(8652761) tmpDir = tempfile.mkdtemp(prefix='pyhrf_tests', dir=pyhrf.cfg['global']['tmp_path']) self.tmp_dir = tmpDir self.clean_tmp = True simu = simulate_bold(self.tmp_dir, spatial_size='random_small') self.data_simu = FmriData.from_simulation_dict(simu)
def test_hrf_with_var_sampler_2(self): # estimation of HRF and its variance tested in the following situation: # - simulated gaussian smooth HRF is not normalized pyhrf.verbose.set_verbosity(2) simu = simulate_bold(self.tmp_dir, spatial_size='small', normalize_hrf=False) simu = FmriData.from_simulation_dict(simu) self._test_specific_samplers(['HRFVariance','HRF'], simu_scenario=simu, check_fv='print', nb_its=100, hrf_prior_type='voxelwiseIID')
def test_hrf_with_var_sampler_2(self): # estimation of HRF and its variance tested in the following situation: # - simulated gaussian smooth HRF is not normalized # pyhrf.verbose.set_verbosity(2) pyhrf.logger.setLevel(logging.INFO) simu = simulate_bold(self.tmp_dir, spatial_size='small', normalize_hrf=False) simu = FmriData.from_simulation_dict(simu) self._test_specific_samplers(['HRFVariance', 'HRF'], simu_scenario=simu, check_fv='print', nb_its=100, hrf_prior_type='voxelwiseIID')
def test_hrf_var_sampler(self): # estimation of HRF variance tested in the following situation: # - simulated gaussian smooth HRF is not normalized # -> else the simulated HRF variance is not consistent pyhrf.verbose.set_verbosity(2) simu = simulate_bold(self.tmp_dir, spatial_size='small', normalize_hrf=False) simu = FmriData.from_simulation_dict(simu) self._test_specific_samplers(['HRFVariance'], simu_scenario=simu, check_fv='raise', nb_its=100, hrf_prior_type='singleHRF')
def test_hrf_var_sampler(self): # estimation of HRF variance tested in the following situation: # - simulated gaussian smooth HRF is not normalized # -> else the simulated HRF variance is not consistent # pyhrf.verbose.set_verbosity(2) pyhrf.logger.setLevel(logging.INFO) simu = simulate_bold(self.tmp_dir, spatial_size='small', normalize_hrf=False) simu = FmriData.from_simulation_dict(simu) self._test_specific_samplers(['HRFVariance'], simu_scenario=simu, check_fv='raise', nb_its=100, hrf_prior_type='singleHRF')
def test_full_sampler(self): """ Test JDE on simulation with normal size. Estimation accuracy is tested. """ # pyhrf.verbose.set_verbosity(2) pyhrf.logger.setLevel(logging.INFO) simu = simulate_bold(self.tmp_dir, spatial_size='normal', normalize_hrf=False) simu = FmriData.from_simulation_dict(simu) sampler = BG(self.sampler_params_for_full_test) analyser = JDEMCMCAnalyser(sampler=sampler, osfMax=4, dtMin=.4, dt=.5, driftParam=4, driftType='polynomial', outputPrefix='jde_mcmc_', randomSeed=None) treatment = FMRITreatment(fmri_data=simu, analyser=analyser, output_dir=self.tmp_dir) treatment.run() print 'output_dir:', self.tmp_dir
def setUp(self): np.random.seed(8652761) tmpDir = tempfile.mkdtemp(prefix='pyhrf_tests', dir=pyhrf.cfg['global']['tmp_path']) self.tmp_dir = tmpDir self.clean_tmp = True bf = 'subj0_bold_session0.nii.gz' self.boldFiles = [pyhrf.get_data_file_name(bf)] pf = 'subj0_parcellation.nii.gz' self.parcelFile = pyhrf.get_data_file_name(pf) self.tr = 2.4 self.dt = .6 self.onsets = pyhrf.paradigm.onsets_loc_av self.durations = None self.nbIt = 3 self.pfMethod = 'es' simu = simulate_bold(self.tmp_dir, spatial_size='random_small') self.data_simu = FmriData.from_simulation_dict(simu) self.sampler_params_for_single_test = { 'nb_iterations': 100, 'smpl_hist_pace': 1, 'obs_hist_pace': 1, # level of spatial correlation = beta 'beta': BS({ 'do_sampling': False, 'use_true_value': False, 'val_ini': np.array([0.6]), }), # HRF 'hrf': HS({ 'do_sampling': False, 'use_true_value': True, 'prior_type': 'singleHRF', }), # HRF variance 'hrf_var': HVS({ 'use_true_value': True, 'do_sampling': False, }), # neural response levels (stimulus-induced effects) 'nrl': NS({ 'use_true_nrls': True, 'use_true_labels': True, 'do_sampling': False, 'do_label_sampling': False, }), 'mixt_params': BGMS({ 'do_sampling': False, 'use_true_value': True, }), 'noise_var': NoiseVarianceSampler({ 'do_sampling': False, 'use_true_value': True, }), 'check_final_value_close_to_true': 'raise', # print or raise } self.sampler_params_for_full_test = { 'nb_iterations': 500, 'smpl_hist_pace': 1, 'obs_hist_pace': 1, # level of spatial correlation = beta 'beta': BS({ 'do_sampling': True, 'use_true_value': False, 'val_ini': np.array([0.6]), }), # HRF 'hrf': HS({ 'do_sampling': True, 'use_true_value': False, 'normalise': 1., }), # HRF variance 'hrf_var': HVS({ 'use_true_value': False, 'do_sampling': True, }), # neural response levels (stimulus-induced effects) 'nrl': NS({ 'use_true_nrls': False, 'use_true_labels': False, 'do_sampling': True, 'do_label_sampling': True, }), 'mixt_params': BGMS({ 'do_sampling': True, 'use_true_value': False, }), 'noise_var': NoiseVarianceSampler({ 'do_sampling': True, 'use_true_value': False, }), 'check_final_value_close_to_true': 'print', # print or raise }
def setUp(self): np.random.seed(8652761) tmpDir = tempfile.mkdtemp(prefix='pyhrf_tests', dir=pyhrf.cfg['global']['tmp_path']) self.tmp_dir = tmpDir self.clean_tmp = True bf = 'subj0_bold_session0.nii.gz' self.boldFiles = [pyhrf.get_data_file_name(bf)] pf = 'subj0_parcellation.nii.gz' self.parcelFile = pyhrf.get_data_file_name(pf) self.tr = 2.4 self.dt = .6 self.onsets = pyhrf.onsets_loc_av self.durations = None self.nbIt = 3 self.pfMethod = 'es' simu = simulate_bold(self.tmp_dir, spatial_size='random_small') self.data_simu = FmriData.from_simulation_dict(simu) self.sampler_params_for_single_test = { BG.P_NB_ITERATIONS: 100, BG.P_SMPL_HIST_PACE: 1, BG.P_OBS_HIST_PACE: 1, # level of spatial correlation = beta BG.P_BETA: BS({ BS.P_SAMPLE_FLAG: False, BS.P_USE_TRUE_VALUE: False, BS.P_VAL_INI: np.array([0.6]), }), # HRF BG.P_HRF: HRFARSampler({ HS.P_SAMPLE_FLAG: False, HS.P_USE_TRUE_VALUE: True, HS.P_PRIOR_TYPE: 'singleHRF', }), # HRF variance BG.P_RH: HVS({ HVS.P_USE_TRUE_VALUE: True, HVS.P_SAMPLE_FLAG: False, }), # neural response levels (stimulus-induced effects) BG.P_NRLS: NRLARSampler({ NS.P_USE_TRUE_NRLS: True, NS.P_USE_TRUE_LABELS: True, NS.P_SAMPLE_FLAG: False, NS.P_SAMPLE_LABELS: False, }), BG.P_MIXT_PARAM: BGMS({ BGMS.P_SAMPLE_FLAG: False, BGMS.P_USE_TRUE_VALUE: True, }), BG.P_NOISE_VAR: NoiseVarianceARSampler({ NoiseVarianceARSampler.P_SAMPLE_FLAG: False, NoiseVarianceARSampler.P_USE_TRUE_VALUE: True, }), BG.P_NOISE_ARP: NoiseARParamsSampler({ NoiseARParamsSampler.P_SAMPLE_FLAG: False, NoiseARParamsSampler.P_USE_TRUE_VALUE: True, }), BG.P_CHECK_FINAL_VALUE: 'raise', # print or raise } self.sampler_params_for_full_test = { BG.P_NB_ITERATIONS: 500, BG.P_SMPL_HIST_PACE: 1, BG.P_OBS_HIST_PACE: 1, # level of spatial correlation = beta BG.P_BETA: BS({ BS.P_SAMPLE_FLAG: True, BS.P_USE_TRUE_VALUE: False, BS.P_VAL_INI: np.array([0.6]), }), # HRF BG.P_HRF: HRFARSampler({ HS.P_SAMPLE_FLAG: True, HS.P_USE_TRUE_VALUE: False, HS.P_NORMALISE: 1., }), # HRF variance BG.P_RH: HVS({ HVS.P_USE_TRUE_VALUE: False, HVS.P_SAMPLE_FLAG: True, }), # neural response levels (stimulus-induced effects) BG.P_NRLS: NRLARSampler({ NS.P_USE_TRUE_NRLS: False, NS.P_USE_TRUE_LABELS: False, NS.P_SAMPLE_FLAG: True, NS.P_SAMPLE_LABELS: True, }), BG.P_MIXT_PARAM: BGMS({ BGMS.P_SAMPLE_FLAG: True, BGMS.P_USE_TRUE_VALUE: False, }), BG.P_NOISE_VAR: NoiseVarianceARSampler({ NoiseVarianceARSampler.P_SAMPLE_FLAG: True, NoiseVarianceARSampler.P_USE_TRUE_VALUE: False, }), BG.P_NOISE_ARP: NoiseARParamsSampler({ NoiseARParamsSampler.P_SAMPLE_FLAG: True, NoiseARParamsSampler.P_USE_TRUE_VALUE: False, }), BG.P_CHECK_FINAL_VALUE: 'print', # print or raise }