示例#1
0
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
示例#2
0
文件: pyOTR.py 项目: otr-yorku/pyOTR
                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)