def default_constant_position_model(dims=3): markov_predict_fn_handle = markov_predict markov_predict_fn_parameters = PARAMETERS() markov_predict_fn_parameters.F = np.eye(dims) markov_predict_fn_parameters.Q = np.eye(dims) markov_predict_fn = fn_params(markov_predict_fn_handle, markov_predict_fn_parameters) obs_fn_handle = None obs_fn_parameters = PARAMETERS() obs_fn_parameters.H = np.eye(dims) obs_fn_parameters.R = np.eye(dims) obs_fn = fn_params(obs_fn_handle, obs_fn_parameters) # Likelihood function - not used here likelihood_fn = fn_params() return (markov_predict_fn, obs_fn, likelihood_fn)
def default_phd_parameters(): state_update_fn = fn_params() # Clutter function clutter_fn_handle = uniform_clutter clutter_fn_parameters = PARAMETERS() clutter_fn_parameters.intensity = 2 clutter_fn_parameters.range = [[-1, 1], [-1, 1]] clutter_fn = fn_params(clutter_fn_handle, clutter_fn_parameters) # Birth function birth_fn_handle = measurement_birth birth_fn_parameters = PARAMETERS() birth_fn_parameters.intensity = 0.01 birth_fn = fn_params(birth_fn_handle, birth_fn_parameters) # Survival/detection probability ps_fn_handle = constant_survival ps_fn_parameters = PARAMETERS() ps_fn_parameters.ps = 1 ps_fn = fn_params(ps_fn_handle, ps_fn_parameters) pd_fn_handle = constant_detection pd_fn_parameters = PARAMETERS() pd_fn_parameters.pd = 0.98 pd_fn = fn_params(pd_fn_handle, pd_fn_parameters) # Use default estimator estimate_fn = fn_params() return (state_update_fn, clutter_fn, birth_fn, ps_fn, pd_fn, estimate_fn)