def test_iterative_scheme(): result_a = scheme.iterative_scheme(solve_regression, calibration, act, g, kernel, field_list, sigma0, sigma1, points_a, nb_iteration) result_b = scheme.iterative_scheme(solve_regression, calibration, act, g, kernel, field_list, sigma0, sigma1, points_b, nb_iteration)
def calibration_equation(original, noisy): result = cali.calibrate_equation_1D_translation(original, noisy, space, kernel) return result sigma0 = 1 sigma1 = 500 dim = 1 nb_iteration = 30 points = np.array(points_list).T # first raw estimation result = scheme.iterative_scheme(solve_regression, calibration_equation, action, g, kernel, data_list_noisy, sigma0, sigma1, points, nb_iteration) #pts_space=space.points().T #data_displaced = [] #for i in range(nb_data): # # Apply inverse : specific here ! # pts_displaced = g.apply(result_init[1][i], pts_space) # data_displaced.append(space.tangent_bundle.element([data_list[i][u].interpolation(pts_displaced) for u in range(dim)])) # #for i in range(nb_data): # data_displaced[i].show() # #%% Compare ground truth and result result_unstruc = get_unstructured_op(result[0]) original_unstructured = get_unstructured_op_generate(original)
pairing = struct.scalar_product_unstructured sigma0 = 1 sigma1 = 10 nb_iteration = 10 field_list = copy.deepcopy(vectorfield_list_center) ##%% def calibration(original, noisy, group, action, product, pairing): """ Main calibration function. """ discrepancy = make_discrepancy_from(noisy, product, pairing) velocity = compute_velocity(original, group, action, discrepancy) return velocity result = scheme.iterative_scheme(solve_regression, calibration, action, g, kernel, vectorfield_list_center, sigma0, sigma1, points, nb_iteration) #%% get_unstructured_op = struct.get_from_structured_to_unstructured(space, kernel) vect_field_ref = get_unstructured_op(result[0]) np.savetxt('/home/bgris/DeformationModulesODL/deform/vect_field_rotation_SheppLogan_scheme_sigma_0_3__nbtrans_72',vect_field_ref)