def control_points_cam(camera): file = cf.control_points_cam if cf.data: control_points_cam_pxl = np.genfromtxt(file, delimiter=',') control_points_cam_pxl = clean_controlpoints_cam( control_points_cam_pxl) return control_points_cam_pxl else: if os.path.isfile(file): control_points_cam_pxl = np.load(file) return control_points_cam_pxl else: control_points_f = np.load('data/calib_holes.npy') system = Geometry.GetGeometry() V = np.zeros([len(control_points_f), 3]) V[:, 2] = 1. control_points_f = np.c_[control_points_f, np.ones(len(control_points_f)) * -200] control_points_cam_mm, V = pyOTR.SimulateOTR( control_points_f.reshape(len(control_points_f), 1, 3), V.reshape(len(control_points_f), 1, 3), system) control_points_cam_pxl = camera.BeamToPixelsCam( control_points_cam_mm) np.save("data/calib_holes_cam.npy", control_points_cam_pxl) return control_points_cam_pxl
Xf = np.concatenate((Xf, x), axis=0) Vf = np.concatenate((Vf, v), axis=0) Xf = np.array(Xf) Vf = np.array(Vf) return Xf, Vf if __name__ == '__main__': cf.GetTime() # Get details about the beam: X = np.load(cf.inputs.format('X')) V = np.load(cf.inputs.format('V')) if cf.chunck > 0: X, V = PrepareData(X, V, chunck=cf.chunck) # Get the optical components to be simulated: system = Geometry.GetGeometry() # Run simulation: X, V = SimulateOTR(X, V, system) if cf.save: np.save(f'{cf.name}_Xfinal', X) np.save(f'{cf.name}_Vfinal', V) cf.GetTime(start=False)