pyhrf.jde.asl_physio module

class pyhrf.jde.asl_physio.ASLPhysioSampler(nb_iterations=3000, obs_hist_pace=-1.0, glob_obs_hist_pace=-1, smpl_hist_pace=-1.0, burnin=0.3, callback=<pyhrf.jde.samplerbase.GSDefaultCallbackHandler object>, bold_response_levels=<pyhrf.jde.asl_physio.BOLDResponseLevelSampler object>, perf_response_levels=<pyhrf.jde.asl_physio.PerfResponseLevelSampler object>, labels=<pyhrf.jde.asl_physio.LabelSampler object>, noise_var=<pyhrf.jde.asl_physio.NoiseVarianceSampler object>, brf=<pyhrf.jde.asl_physio.PhysioBOLDResponseSampler object>, brf_var=<pyhrf.jde.asl_physio.PhysioBOLDResponseVarianceSampler object>, prf=<pyhrf.jde.asl_physio.PhysioPerfResponseSampler object>, prf_var=<pyhrf.jde.asl_physio.PhysioPerfResponseVarianceSampler object>, bold_mixt_params=<pyhrf.jde.asl_physio.BOLDMixtureSampler object>, perf_mixt_params=<pyhrf.jde.asl_physio.PerfMixtureSampler object>, drift=<pyhrf.jde.asl_physio.DriftCoeffSampler object>, drift_var=<pyhrf.jde.asl_physio.DriftVarianceSampler object>, perf_baseline=<pyhrf.jde.asl_physio.PerfBaselineSampler object>, perf_baseline_var=<pyhrf.jde.asl_physio.PerfBaselineVarianceSampler object>, check_final_value=None, output_fit=False)

Bases: pyhrf.xmlio.Initable, pyhrf.jde.samplerbase.GibbsSampler

computeFit()
default_nb_its = 3000
finalizeSampling()
getGlobalOutputs()
inputClass

alias of WN_BiG_ASLSamplerInput

parametersToShow = ['nb_its', 'response_levels', 'hrf', 'hrf_var']
class pyhrf.jde.asl_physio.BOLDMixtureSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.asl_physio.MixtureParamsSampler, pyhrf.xmlio.Initable

get_true_values_from_simulation_cdefs(cdefs)
class pyhrf.jde.asl_physio.BOLDResponseLevelSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.asl_physio.ResponseLevelSampler, pyhrf.xmlio.Initable

computeVarYTildeOpt(update_perf=False)

if update_perf is True then also update sumcXg and prl.ytilde update_perf should only be used at init of variable values.

getOutputs()
samplingWarmUp(v)
class pyhrf.jde.asl_physio.DriftCoeffSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable, pyhrf.xmlio.Initable

checkAndSetInitValue(variables)
compute_y_tilde()
getOutputs()
linkToData(dataInput)
sampleNextInternal(variables)
samplingWarmUp(v)
updateNorm()
class pyhrf.jde.asl_physio.DriftVarianceSampler(val_ini=array([ 1.]), do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable, pyhrf.xmlio.Initable

checkAndSetInitValue(variables)
linkToData(dataInput)
sampleNextInternal(variables)
class pyhrf.jde.asl_physio.LabelSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable, pyhrf.xmlio.Initable

CLASSES = array([0, 1])
CLASS_NAMES = ['inactiv', 'activ']
L_CA = 1
L_CI = 0
checkAndSetInitValue(variables)
compute_ext_field()
countLabels()
linkToData(dataInput)
sampleNextInternal(v)
samplingWarmUp(v)
class pyhrf.jde.asl_physio.MixtureParamsSampler(name, response_level_name, val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable

I_MEAN_CA = 0
I_VAR_CA = 1
I_VAR_CI = 2
L_CA = 1
L_CI = 0
NB_PARAMS = 3
PARAMS_NAMES = ['Mean_Activ', 'Var_Activ', 'Var_Inactiv']
checkAndSetInitValue(variables)
computeWithJeffreyPriors(j, cardCIj, cardCAj)
get_current_means()
get_current_vars()
get_true_values_from_simulation_dict()
linkToData(dataInput)
sampleNextInternal(variables)
class pyhrf.jde.asl_physio.NoiseVarianceSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable, pyhrf.xmlio.Initable

checkAndSetInitValue(variables)
compute_y_tilde()
linkToData(dataInput)
sampleNextInternal(variables)
class pyhrf.jde.asl_physio.PerfBaselineSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable, pyhrf.xmlio.Initable

checkAndSetInitValue(variables)
compute_residuals()
compute_wa(a=None)
linkToData(dataInput)
sampleNextInternal(v)
class pyhrf.jde.asl_physio.PerfBaselineVarianceSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable, pyhrf.xmlio.Initable

checkAndSetInitValue(variables)
linkToData(dataInput)
sampleNextInternal(v)
class pyhrf.jde.asl_physio.PerfMixtureSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.asl_physio.MixtureParamsSampler, pyhrf.xmlio.Initable

checkAndSetInitValue(variables)
get_true_values_from_simulation_cdefs(cdefs)
class pyhrf.jde.asl_physio.PerfResponseLevelSampler(val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.asl_physio.ResponseLevelSampler, pyhrf.xmlio.Initable

checkAndSetInitValue(variables)
computeVarYTildeOpt()
class pyhrf.jde.asl_physio.PhysioBOLDResponseSampler(smooth_order=2, zero_constraint=True, duration=25.0, normalise=0.0, val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.asl_physio.ResponseSampler, pyhrf.xmlio.Initable

computeYTilde()

y - sum cWXg - Pl - wa

get_mat_X()
get_mat_XtX()
get_stackX()
sampleNextInternal(variables)

Sample BRF

changes to mean: changes to var:

samplingWarmUp(v)
class pyhrf.jde.asl_physio.PhysioBOLDResponseVarianceSampler(val_ini=array([ 0.001]), do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.asl_physio.ResponseVarianceSampler, pyhrf.xmlio.Initable

class pyhrf.jde.asl_physio.PhysioPerfResponseSampler(smooth_order=2, zero_constraint=True, duration=25.0, normalise=0.0, val_ini=None, do_sampling=True, use_true_value=False, diff_res=True, prior_type='physio_stochastic_regularized')

Bases: pyhrf.jde.asl_physio.ResponseSampler, pyhrf.xmlio.Initable

computeYTilde()

y - sum aXh - Pl - wa

get_mat_X()
get_mat_XtX()
get_stackX()
sampleNextInternal(variables)

Sample PRF with physio prior

changes to mean: add a factor of Omega h Sigma_g^-1 v_g^-1

samplingWarmUp(variables)
class pyhrf.jde.asl_physio.PhysioPerfResponseVarianceSampler(val_ini=array([ 0.001]), do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.asl_physio.ResponseVarianceSampler, pyhrf.xmlio.Initable

class pyhrf.jde.asl_physio.ResponseLevelSampler(name, response_name, mixture_name, val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable

checkAndSetInitValue(variables)
computeRR()
computeVarYTildeOpt()
linkToData(dataInput)
sampleNextInternal(variables)
samplingWarmUp(variables)
setFinalValue()
class pyhrf.jde.asl_physio.ResponseSampler(name, response_level_name, variance_name, smooth_order=2, zero_constraint=False, duration=25.0, normalise=0.0, val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable

Generic parent class to perfusion response & BOLD response samplers

calcXResp(resp, stackX=None)
checkAndSetInitValue(variables)
computeYTilde()
getOutputs()
get_mat_X()
get_mat_XtX()
get_rlrl()
get_stackX()
get_ybar()
linkToData(dataInput)
sampleNextInternal(variables)
setFinalValue()
updateNorm()
updateXResp()
class pyhrf.jde.asl_physio.ResponseVarianceSampler(name, response_name, val_ini=None, do_sampling=True, use_true_value=False)

Bases: pyhrf.jde.samplerbase.GibbsSamplerVariable

checkAndSetInitValue(v)
linkToData(dataInput)
sampleNextInternal(v)

Sample variance of BRF or PRF

TODO: change code below –> no changes necessary so far

class pyhrf.jde.asl_physio.WN_BiG_ASLSamplerInput(data, dt, typeLFD, paramLFD, hrfZc, hrfDuration)

Bases: pyhrf.jde.models.WN_BiG_Drift_BOLDSamplerInput

cleanPrecalculations()
makePrecalculations()
pyhrf.jde.asl_physio.b()
pyhrf.jde.asl_physio.compute_StS_StY(rls, v_b, mx, mxtx, ybar, rlrl, yaj, ajak_vb)

yaj and ajak_vb are only used to store intermediate quantities, they’re not inputs.

pyhrf.jde.asl_physio.compute_StS_StY_deterministic(brls, prls, v_b, mx, mxtx, mwx, mxtwx, mwxtwx, ybar, rlrl_bold, rlrl_perf, brlprl, omega, yj, ajak_vb)

yj, ajak_vb and cjck_vb are only used to store intermediate quantities, they’re not inputs.

pyhrf.jde.asl_physio.compute_bRpR(brl, prl, nbConditions, nbVoxels)