Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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')
Exemplo n.º 5
0
    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')
Exemplo n.º 7
0
    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 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
Exemplo n.º 9
0
    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
        }
Exemplo n.º 10
0
        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
            }