Esempio n. 1
0
def paramsFactory(filename, n_img, n_pts=4):
    if filename == "ptv.par":
        return parameters.PtvParams()
    if filename == "cal_ori.par":
        return parameters.CalOriParams(n_img)
    if filename == "sequence.par":
        return parameters.SequenceParams(n_img)
    if filename == "criteria.par":
        return parameters.CriteriaParams()
    if filename == "targ_rec.par":
        return parameters.TargRecParams(n_img)
    if filename == "man_ori.par":
        return parameters.ManOriParams(n_img, n_pts)
    if filename == "detect_plate.par":
        return parameters.DetectPlateParams()
    if filename == "orient.par":
        return parameters.OrientParams()
    if filename == "track.par":
        return parameters.TrackingParams()
    if filename == "pft_version.par":
        return parameters.PftVersionParams()
    if filename == "examine.par":
        return parameters.ExamineParams()
    if filename == "dumbbell.par":
        return parameters.DumbbellParams()
    if filename == "shaking.par":
        return parameters.ShakingParams()

    return None
Esempio n. 2
0
 def backup_ori_files(self):
     """ backup ORI/ADDPAR files to the backup_cal directory """
     calOriParams = par.CalOriParams(self.n_cams, path=self.par_path)
     calOriParams.read()
     for f in calOriParams.img_ori[:self.n_cams]:
         shutil.copyfile(f, f + '.bck')
         g = f.replace('ori', 'addpar')
         shutil.copyfile(g, g + '.bck')
Esempio n. 3
0
 def protect_ori_files(self):
     # backup ORI/ADDPAR files to the backup_cal directory
     calOriParams = par.CalOriParams(len(self.camera), path=self.par_path)
     calOriParams.read()
     for f in calOriParams.img_ori:
         d = file(f, 'r').read().split()
         if not np.all(np.isfinite(np.asarray(d).astype('f'))):
             print "protected ORI file %s " % f
             shutil.copyfile(f + '.bck', f)
Esempio n. 4
0
    def restore_ori_files(self):
        # backup ORI/ADDPAR files to the backup_cal directory
        calOriParams = par.CalOriParams(self.n_cams, path=self.par_path)
        calOriParams.read()

        for f in calOriParams.img_ori[:self.n_cams]:
            print('restored %s ' % f)
            shutil.copyfile(f + '.bck', f)
            g = f.replace('ori', 'addpar')
            shutil.copyfile(g + '.bck', g)
Esempio n. 5
0
    def closed(self,info,is_ok):
        calibParams = info.object
        par_path = calibParams.par_path
        Handler.closed(self,info,is_ok)
        if is_ok:
            img_cal_name = [calibParams.cam_1, calibParams.cam_2,calibParams.cam_3,calibParams.cam_4]
            img_ori =[calibParams.ori_cam_1,calibParams.ori_cam_2,calibParams.ori_cam_3,calibParams.ori_cam_4]
            nr1 = [calibParams.img_1_p1,calibParams.img_1_p2,calibParams.img_1_p3,calibParams.img_1_p4]
            nr2 = [calibParams.img_2_p1,calibParams.img_2_p2,calibParams.img_2_p3,calibParams.img_2_p4]
            nr3 = [calibParams.img_3_p1,calibParams.img_3_p2,calibParams.img_3_p3,calibParams.img_3_p4]
            nr4 = [calibParams.img_4_p1,calibParams.img_4_p2,calibParams.img_4_p3,calibParams.img_4_p4]
            
            nr = [nr1, nr2, nr3, nr4]
    

            if(calibParams.chfield == "Frame"):
                chfield = 0
            elif (calibParams.chfield == "Field odd"):
                chfield = 1
            else :
                chfield = 2
            par.PtvParams(calibParams.n_img, calibParams.img_name,\
                                 calibParams.img_cal, calibParams.hp_flag,\
                                 calibParams.allCam_flag, calibParams.tiff_head, calibParams.h_image_size, \
                                 calibParams.v_image_size,calibParams.h_pixel_size, calibParams.v_pixel_size, chfield,\
                                 calibParams.mmp_n1, calibParams.mmp_n2, \
                                 calibParams.mmp_n3, calibParams.mmp_d, path = par_path).write()

            par.CalOriParams(calibParams.n_img,calibParams.fixp_name,\
                                     img_cal_name,img_ori,calibParams.tiff_head,\
                                     calibParams.pair_head, chfield, path = par_path).write()

            par.DetectPlateParams(calibParams.grey_value_treshold_1, \
                                          calibParams.grey_value_treshold_2, \
                                          calibParams.grey_value_treshold_3, \
                                          calibParams.grey_value_treshold_4, \
                                          calibParams.tolerable_discontinuity, \
                                          calibParams.min_npix, calibParams.max_npix, \
                                          calibParams.min_npix_x, calibParams.max_npix_x, \
                                          calibParams.min_npix_y, calibParams.max_npix_y, \
                                          calibParams.sum_of_grey, \
                                          calibParams.size_of_crosses, path = par_path).write()

            par.ManOriParams(calibParams.n_img, 4, nr, path = par_path).write()
            par.ExamineParams(calibParams.Examine_Flag,calibParams.Combine_Flag, path = par_path).write()
            par.OrientParams(calibParams.point_number_of_orientation, calibParams.principle_distance,\
                                     calibParams.xp, calibParams.yp, calibParams.k1, calibParams.k2,\
                                     calibParams.k3, calibParams.p1, calibParams.p2,\
                                     calibParams.scx, calibParams.she,calibParams.interf, path = par_path).write()
            par.ShakingParams(calibParams.shaking_first_frame, calibParams.shaking_last_frame, \
                                    calibParams.shaking_max_num_points, calibParams.shaking_max_num_frames, path = par_path).write()
            
            par.DumbbellParams(calibParams.dumbbell_eps,calibParams.dumbbell_scale,\
                                    calibParams.dumbbell_gradient_descent,calibParams.dumbbell_penalty_weight,\
                                    calibParams.dumbbell_step,calibParams.dumbbell_niter, path = par_path).write()
Esempio n. 6
0
 def protect_ori_files(self):
     # backup ORI/ADDPAR files to the backup_cal directory
     calOriParams = par.CalOriParams(self.n_cams, path=self.par_path)
     calOriParams.read()
     for f in calOriParams.img_ori[:self.n_cams]:
         with open(f, 'r') as d:
             d.read().split()
             if not np.all(np.isfinite(np.asarray(d).astype(
                     'f'))):  # if there NaN for instance
                 print("protected ORI file %s " % f)
                 shutil.copyfile(f + '.bck', f)
Esempio n. 7
0
    def _button_showimg_fired(self):

        print("Load Image fired \n")

        # Initialize what is needed, copy necessary things

        print("\n Copying man_ori.dat \n")
        if os.path.isfile(os.path.join(self.par_path, 'man_ori.dat')):
            shutil.copyfile(os.path.join(self.par_path, 'man_ori.dat'),
                            os.path.join(self.working_folder, 'man_ori.dat'))

        # copy parameters from active to default folder parameters/
        par.copy_params_dir(self.active_path, self.par_path)

        # read from parameters
        self.cpar, self.spar, self.vpar, self.track_par, self.tpar, \
        self.cals = ptv.py_start_proc_c(self.n_cams)

        self.tpar.read('parameters/detect_plate.par')

        print(self.tpar.get_grey_thresholds())

        self.calParams = par.CalOriParams(self.n_cams, self.par_path)
        self.calParams.read()

        # read calibration images
        self.cal_images = []
        for i in range(len(self.camera)):
            imname = self.calParams.img_cal_name[i]
            # for imname in self.calParams.img_cal_name:
            # self.cal_images.append(imread(imname))
            im = imread(imname)
            if im.ndim > 2:
                im = rgb2gray(im)

            self.cal_images.append(img_as_ubyte(im))

        self.reset_show_images()

        # Loading manual parameters here
        man_ori_path = os.path.join(self.par_path, 'man_ori.par')

        f = open(man_ori_path, 'r')
        if f is None:
            print('\n Error loading man_ori.par')
        else:
            for i in range(len(self.camera)):
                for j in range(4):
                    self.camera[i].man_ori[j] = int(f.readline().strip())
        f.close()

        self.pass_init = True
        self.status_text = "Initialization finished."
Esempio n. 8
0
    def __init__(self, path):
        # load ptv_par
        ptvParams = par.PtvParams(path=path)
        ptvParams.read()
        self.n_img = ptvParams.n_img

        # load cal_ori
        calOriParams = par.CalOriParams(self.n_img, path=path)
        calOriParams.read()

        for i in range(self.n_img):
            self.oriEditors.append(oriEditor(get_path(
                calOriParams.img_ori[i])))
    def closed(self, info, is_ok):
        mainParams = info.object
        par_path = mainParams.par_path
        Handler.closed(self, info, is_ok)
        if is_ok:
            img_name = [mainParams.Name_1_Image, mainParams.Name_2_Image,\
               mainParams.Name_3_Image, mainParams.Name_4_Image]
            img_cal_name = [mainParams.Cali_1_Image, mainParams.Cali_2_Image,\
                mainParams.Cali_3_Image,mainParams.Cali_4_Image]

            gvthres = [mainParams.Gray_Tresh_1,mainParams.Gray_Tresh_2,\
                 mainParams.Gray_Tresh_3,mainParams.Gray_Tresh_4]
            base_name = [mainParams.Basename_1_Seq, mainParams.Basename_2_Seq,\
                mainParams.Basename_3_Seq, mainParams.Basename_4_Seq]
            X_lay = [mainParams.Xmin, mainParams.Xmax]
            Zmin_lay = [mainParams.Zmin1, mainParams.Zmin2]
            Zmax_lay = [mainParams.Zmax1, mainParams.Zmax2]

            #write ptv_par
            par.PtvParams(mainParams.Num_Cam, img_name, img_cal_name,\
                  mainParams.HighPass, mainParams.Accept_OnlyAllCameras,\
                  mainParams.tiff_flag, mainParams.imx, mainParams.imy,\
                  mainParams.pix_x, mainParams.pix_y, mainParams.chfield,\
                  mainParams.Refr_Air, mainParams.Refr_Glass, \
                  mainParams.Refr_Water, mainParams.Thick_Glass, path = par_path).write()
            #write calibration parameters
            par.CalOriParams(mainParams.Num_Cam,mainParams.fixp_name,\
                   mainParams.img_cal_name,mainParams.img_ori,mainParams.tiff_flag,\
                   mainParams.pair_Flag,mainParams.chfield, path = par_path).write()

            #write targ_rec_par
            par.TargRecParams(mainParams.Num_Cam, gvthres, mainParams.Tol_Disc,\
                    mainParams.Min_Npix ,mainParams.Max_Npix,\
                    mainParams.Min_Npix_x, mainParams.Max_Npix_x,\
                    mainParams.Min_Npix_y, mainParams.Max_Npix_y,\
                    mainParams.Sum_Grey, mainParams.Size_Cross, path = par_path).write()
            #write pft_version_par
            par.PftVersionParams(mainParams.Existing_Target,
                                 path=par_path).write()
            #write sequence_par
            par.SequenceParams(mainParams.Num_Cam, base_name,\
                     mainParams.Seq_First, mainParams.Seq_Last, path = par_path).write()
            #write criteria_par
            par.CriteriaParams(X_lay,Zmin_lay,Zmax_lay,mainParams.Min_Corr_nx,\
                    mainParams.Min_Corr_ny,mainParams.Min_Corr_npix ,\
                    mainParams.Sum_gv,mainParams.Min_Weight_corr ,\
                    mainParams.Tol_Band, path = par_path).write()
Esempio n. 10
0
    def load_init(self):
        calOriParams = par.CalOriParams(len(self.camera), path=self.par_path)
        calOriParams.read()
        (fixp_name, img_cal_name, img_ori, tiff_flag, pair_flag, chfield) = \
            (calOriParams.fixp_name, calOriParams.img_cal_name, calOriParams.img_ori,
             calOriParams.tiff_flag, calOriParams.pair_flag, calOriParams.chfield)
        self.ori_img_name = img_cal_name
        for i in range(len(self.camera)):
            print("reading " + self.ori_img_name[i])
            try:
                img1 = imread(self.ori_img_name[i]).astype(np.ubyte)
            except:
                print("Error reading image " + self.ori_img_name[i])
                break
            self.ori_img.append(img1)
            if self.camera[i]._plot is not None:
                self.camera[i]._plot.delplot(
                    *self.camera[i]._plot.plots.keys()[0:])
            self.camera[i]._plot_data.set_data('imagedata',
                                               self.ori_img[i].astype(np.byte))
            self.camera[i]._img_plot = self.camera[i]._plot.img_plot(
                'imagedata', colormap=gray)[0]

            self.camera[i]._x = []
            self.camera[i]._y = []
            self.camera[i]._plot.overlays = []
            self.camera[i]._img_plot.tools = []
            self.camera[i].attach_tools()
            self.camera[i]._plot.request_redraw()

            self.ptv.py_set_img(self.ori_img[i], i)

        f.close()
        # Loading manual parameters here
        # TODO: rewrite using Parameters subclass
        man_ori_path = os.path.join(os.getcwd(), 'parameters', 'man_ori.par')
        f = open(man_ori_path, 'r')
        if f == None:
            printf('\nError loading man_ori.par')
        else:
            for i in range(len(self.camera)):
                for j in range(4):
                    self.camera[i].man_ori[j] = int(f.readline().strip())
Esempio n. 11
0
    def load_init_v1(self):
        calOriParams = par.CalOriParams(len(self.camera), path=self.par_path)
        calOriParams.read()
        (fixp_name, img_cal_name, img_ori, tiff_flag, pair_flag, chfield) = \
            (calOriParams.fixp_name, calOriParams.img_cal_name, calOriParams.img_ori,
             calOriParams.tiff_flag, calOriParams.pair_flag, calOriParams.chfield)
        self.ori_img_name = img_cal_name

        ptvParams = par.PtvParams(path=self.par_path)
        ptvParams.read()
        (n_img, img_name, img_cal, hp_flag, allCam_flag, tiff_flag, imx, imy, pix_x, pix_y, chfield, mmp_n1, mmp_n2, mmp_n3, mmp_d) = \
            (ptvParams.n_img, ptvParams.img_name, ptvParams.img_cal, ptvParams.hp_flag, ptvParams.allCam_flag, ptvParams.tiff_flag,
             ptvParams.imx, ptvParams.imy, ptvParams.pix_x, ptvParams.pix_y, ptvParams.chfield, ptvParams.mmp_n1, ptvParams.mmp_n2, ptvParams.mmp_n3, ptvParams.mmp_d)
        self.h_pixel = imx
        self.v_pixel = imy

        self.ori_img = []
        print("len(self.camera)")
        print(len(self.camera))
        for i in range(len(self.camera)):
            print("reading " + self.ori_img_name[i])
            try:
                img1 = imread(self.ori_img_name[i], flatten=1).astype(np.ubyte)
                print img1.shape
            except:
                print("Error reading image " + self.ori_img_name[i])
                break
            self.ori_img.append(img1)
            self.ptv.py_set_img(self.ori_img[i], i)

        self.reset_show_images()
        # Loading manual parameters here

        # TODO: rewrite using Parameters subclass
        man_ori_path = os.path.join(os.getcwd(), 'parameters', 'man_ori.par')
        f = open(man_ori_path, 'r')
        if f is None:
            print('\n Error loading man_ori.par')
        else:
            for i in range(len(self.camera)):
                for j in range(4):
                    self.camera[i].man_ori[j] = int(f.readline().strip())
        f.close()
Esempio n. 12
0
    def _reload(self):
        # print("reloading")
        # self.__init__(self)
        # load ptv_par
        ptvParams = par.PtvParams(path=self.par_path)
        ptvParams.read()

        # read picture size parameters
        self.h_image_size = ptvParams.imx
        self.v_image_size = ptvParams.imy
        self.h_pixel_size = ptvParams.pix_x
        self.v_pixel_size = ptvParams.pix_y
        self.img_cal = ptvParams.img_cal
        if ptvParams.allCam_flag:
            self.pair_enable_flag = False
        else:
            self.pair_enable_flag = True

        # unesed parameters

        self.n_img = ptvParams.n_img
        self.img_name = ptvParams.img_name
        self.hp_flag = np.bool(ptvParams.hp_flag)
        self.allCam_flag = np.bool(ptvParams.allCam_flag)
        self.mmp_n1 = ptvParams.mmp_n1
        self.mmp_n2 = ptvParams.mmp_n2
        self.mmp_n3 = ptvParams.mmp_n3
        self.mmp_d = ptvParams.mmp_d

        # read_calibration parameters
        calOriParams = par.CalOriParams(self.n_img, path=self.par_path)
        calOriParams.read()
        (fixp_name, img_cal_name, img_ori, tiff_flag, pair_flag, chfield) = \
            (calOriParams.fixp_name, calOriParams.img_cal_name, calOriParams.img_ori,
             calOriParams.tiff_flag, calOriParams.pair_flag, calOriParams.chfield)

        for i in range(self.n_img):
            exec("self.cam_{0} = calOriParams.img_cal_name[{1}]".format(
                i + 1, i))
            exec("self.ori_cam_{0} = calOriParams.img_ori[{1}]".format(
                i + 1, i))

        self.tiff_head = np.bool(tiff_flag)
        self.pair_head = np.bool(pair_flag)
        self.fixp_name = fixp_name
        if chfield == 0:
            self.chfield = "Frame"
        elif chfield == 1:
            self.chfield = "Field odd"
        else:
            self.chfield = "Field even"

        # read detect plate parameters
        detectPlateParams = par.DetectPlateParams(path=self.par_path)
        detectPlateParams.read()

        (gv_th1, gv_th2, gv_th3, gv_th4, tolerable_discontinuity, min_npix, max_npix, min_npix_x,
            max_npix_x, min_npix_y, max_npix_y, sum_of_grey, size_of_crosses) = \
            (detectPlateParams.gvth_1, detectPlateParams.gvth_2, detectPlateParams.gvth_3, detectPlateParams.gvth_4,
             detectPlateParams.tol_dis, detectPlateParams.min_npix, detectPlateParams.max_npix, detectPlateParams.min_npix_x,
             detectPlateParams.max_npix_x, detectPlateParams.min_npix_y, detectPlateParams.max_npix_y, detectPlateParams.sum_grey,
             detectPlateParams.size_cross)

        for i in range(self.n_img):
            exec('self.grey_value_treshold_{0} = gv_th{0}'.format(i + 1))

        self.tolerable_discontinuity = tolerable_discontinuity
        self.min_npix = min_npix
        self.min_npix_x = min_npix_x
        self.min_npix_y = min_npix_y
        self.max_npix = max_npix
        self.max_npix_x = max_npix_x
        self.max_npix_y = max_npix_y
        self.sum_of_grey = sum_of_grey
        self.size_of_crosses = size_of_crosses

        # read manual orientaion parameters
        manOriParams = par.ManOriParams(self.n_img, [], path=self.par_path)
        manOriParams.read()

        for i in range(self.n_img):
            for j in range(4):  # 4 points per image
                exec(f"self.img_{i+1}_p{j+1} = manOriParams.nr[{i*4+j}]")

        # examine arameters
        examineParams = par.ExamineParams(path=self.par_path)
        examineParams.read()
        (self.Examine_Flag, self.Combine_Flag) = (examineParams.Examine_Flag,
                                                  examineParams.Combine_Flag)

        # orientation parameters
        orientParams = par.OrientParams(path=self.par_path)
        orientParams.read()
        (po_num_of_ori, cc, xh, yh, k1, k2, k3, p1, p2, scale, shear, interf) = \
            (orientParams.pnfo, orientParams.cc, orientParams.xh, orientParams.yh, orientParams.k1, orientParams.k2, orientParams.k3,
             orientParams.p1, orientParams.p2, orientParams.scale, orientParams.shear, orientParams.interf)

        self.point_number_of_orientation = po_num_of_ori
        self.cc = np.bool(cc)
        self.xh = np.bool(xh)
        self.yh = np.bool(yh)
        self.k1 = np.bool(k1)
        self.k2 = np.bool(k2)
        self.k3 = np.bool(k3)
        self.p1 = np.bool(p1)
        self.p2 = np.bool(p2)
        self.scale = np.bool(scale)
        self.shear = np.bool(shear)
        self.interf = np.bool(interf)

        dumbbellParams = par.DumbbellParams(path=self.par_path)
        dumbbellParams.read()
        (self.dumbbell_eps, self.dumbbell_scale, self.dumbbell_gradient_descent,
            self.dumbbell_penalty_weight, self.dumbbell_step, self.dumbbell_niter) = \
            (dumbbellParams.dumbbell_eps, dumbbellParams.dumbbell_scale,
             dumbbellParams.dumbbell_gradient_descent, dumbbellParams.dumbbell_penalty_weight,
             dumbbellParams.dumbbell_step, dumbbellParams.dumbbell_niter)

        shakingParams = par.ShakingParams(path=self.par_path)
        shakingParams.read()
        (self.shaking_first_frame, self.shaking_last_frame,
         self.shaking_max_num_points,
         self.shaking_max_num_frames) = (shakingParams.shaking_first_frame,
                                         shakingParams.shaking_last_frame,
                                         shakingParams.shaking_max_num_points,
                                         shakingParams.shaking_max_num_frames)
Esempio n. 13
0
    def _reload(self):
        # load ptv_par
        ptvParams = par.PtvParams(path=self.par_path)
        ptvParams.read()

        for i in range(ptvParams.n_img):
            exec('self.Name_%d_Image = ptvParams.img_name[%d]' % (i + 1, i))
            exec('self.Cali_%d_Image = ptvParams.img_cal[%d]' % (i + 1, i))

        self.Refr_Air = ptvParams.mmp_n1
        self.Refr_Glass = ptvParams.mmp_n2
        self.Refr_Water = ptvParams.mmp_n3
        self.Thick_Glass = ptvParams.mmp_d
        self.Accept_OnlyAllCameras = np.bool(ptvParams.allCam_flag)
        self.Num_Cam = ptvParams.n_img
        self.HighPass = np.bool(ptvParams.hp_flag)
        # load unused
        self.tiff_flag = np.bool(ptvParams.tiff_flag)
        self.imx = ptvParams.imx
        self.imy = ptvParams.imy
        self.pix_x = ptvParams.pix_x
        self.pix_y = ptvParams.pix_y
        self.chfield = ptvParams.chfield

        # read_calibration parameters
        calOriParams = par.CalOriParams(ptvParams.n_img, path=self.par_path)
        calOriParams.read()

        self.pair_Flag = np.bool(calOriParams.pair_flag)
        self.img_cal_name = calOriParams.img_cal_name
        self.img_ori = calOriParams.img_ori
        self.fixp_name = calOriParams.fixp_name

        # load read_targ_rec
        targRecParams = par.TargRecParams(ptvParams.n_img, path=self.par_path)
        targRecParams.read()

        for i in range(ptvParams.n_img):
            exec("self.Gray_Tresh_{0} = targRecParams.gvthres[{1}]".format(
                i + 1, i))

        self.Min_Npix = targRecParams.nnmin
        self.Max_Npix = targRecParams.nnmax
        self.Min_Npix_x = targRecParams.nxmin
        self.Max_Npix_x = targRecParams.nxmax
        self.Min_Npix_y = targRecParams.nymin
        self.Max_Npix_y = targRecParams.nymax
        self.Sum_Grey = targRecParams.sumg_min
        self.Tol_Disc = targRecParams.disco
        self.Size_Cross = targRecParams.cr_sz

        # load pft_version
        pftVersionParams = par.PftVersionParams(path=self.par_path)
        pftVersionParams.read()
        self.Existing_Target = np.bool(pftVersionParams.Existing_Target)

        # load sequence_par
        sequenceParams = par.SequenceParams(ptvParams.n_img,
                                            path=self.par_path)
        sequenceParams.read()

        for i in range(ptvParams.n_img):
            exec(
                "self.Basename_{0}_Seq = sequenceParams.base_name[{1}]".format(
                    i + 1, i))

        self.Seq_First = sequenceParams.first
        self.Seq_Last = sequenceParams.last

        # load criteria_par
        criteriaParams = par.CriteriaParams(path=self.par_path)
        criteriaParams.read()
        self.Xmin = criteriaParams.X_lay[0]
        self.Xmax = criteriaParams.X_lay[1]
        self.Zmin1 = criteriaParams.Zmin_lay[0]
        self.Zmin2 = criteriaParams.Zmin_lay[1]
        self.Zmax1 = criteriaParams.Zmax_lay[0]
        self.Zmax2 = criteriaParams.Zmax_lay[1]
        self.Min_Corr_nx = criteriaParams.cnx
        self.Min_Corr_ny = criteriaParams.cny
        self.Min_Corr_npix = criteriaParams.cn
        self.Sum_gv = criteriaParams.csumg
        self.Min_Weight_corr = criteriaParams.corrmin
        self.Tol_Band = criteriaParams.eps0
Esempio n. 14
0
    def _reload(self):
        # print("raloading")
        # self.__init__(self)
        # load ptv_par
        ptvParams = par.PtvParams(path=self.par_path)
        ptvParams.read()
        (n_img, img_name, img_cal, hp_flag, allCam_flag, tiff_flag, imx, imy, pix_x, pix_y, chfield, mmp_n1, mmp_n2, mmp_n3, mmp_d) = \
            (ptvParams.n_img, ptvParams.img_name, ptvParams.img_cal, ptvParams.hp_flag, ptvParams.allCam_flag, ptvParams.tiff_flag,
             ptvParams.imx, ptvParams.imy, ptvParams.pix_x, ptvParams.pix_y, ptvParams.chfield, ptvParams.mmp_n1, ptvParams.mmp_n2, ptvParams.mmp_n3, ptvParams.mmp_d)

        # read picture size parameters

        self.h_image_size = imx
        self.v_image_size = imy
        self.h_pixel_size = pix_x
        self.v_pixel_size = pix_y
        self.img_cal = img_cal
        if allCam_flag:
            self.pair_enable_flag = False
        else:
            self.pair_enable_flag = True

        # unesed parameters

        self.n_img = n_img
        self.img_name = img_name
        self.hp_flag = n.bool(hp_flag)
        self.allCam_flag = n.bool(allCam_flag)
        self.mmp_n1 = mmp_n1
        self.mmp_n2 = mmp_n2
        self.mmp_n3 = mmp_n3
        self.mmp_d = mmp_d

        # read_calibration parameters
        calOriParams = par.CalOriParams(n_img, path=self.par_path)
        calOriParams.read()
        (fixp_name, img_cal_name, img_ori, tiff_flag, pair_flag, chfield) = \
            (calOriParams.fixp_name, calOriParams.img_cal_name, calOriParams.img_ori,
             calOriParams.tiff_flag, calOriParams.pair_flag, calOriParams.chfield)

        self.cam_1 = img_cal_name[0]
        self.cam_2 = img_cal_name[1]
        self.cam_3 = img_cal_name[2]
        self.cam_4 = img_cal_name[3]
        self.ori_cam_1 = img_ori[0]
        self.ori_cam_2 = img_ori[1]
        self.ori_cam_3 = img_ori[2]
        self.ori_cam_4 = img_ori[3]
        self.tiff_head = n.bool(tiff_flag)
        self.pair_head = n.bool(pair_flag)
        self.fixp_name = fixp_name
        if chfield == 0:
            self.chfield = "Frame"
        elif chfield == 1:
            self.chfield = "Field odd"
        else:
            self.chfield = "Field even"

        # read detect plate parameters
        detectPlateParams = par.DetectPlateParams(path=self.par_path)
        detectPlateParams.read()

        (gv_th1, gv_th2, gv_th3, gv_th4, tolerable_discontinuity, min_npix, max_npix, min_npix_x,
            max_npix_x, min_npix_y, max_npix_y, sum_of_grey, size_of_crosses) = \
            (detectPlateParams.gvth_1, detectPlateParams.gvth_2, detectPlateParams.gvth_3, detectPlateParams.gvth_4,
             detectPlateParams.tol_dis, detectPlateParams.min_npix, detectPlateParams.max_npix, detectPlateParams.min_npix_x,
             detectPlateParams.max_npix_x, detectPlateParams.min_npix_y, detectPlateParams.max_npix_y, detectPlateParams.sum_grey,
             detectPlateParams.size_cross)

        self.grey_value_treshold_1 = gv_th1
        self.grey_value_treshold_2 = gv_th2
        self.grey_value_treshold_3 = gv_th3
        self.grey_value_treshold_4 = gv_th4
        self.tolerable_discontinuity = tolerable_discontinuity
        self.min_npix = min_npix
        self.min_npix_x = min_npix_x
        self.min_npix_y = min_npix_y
        self.max_npix = max_npix
        self.max_npix_x = max_npix_x
        self.max_npix_y = max_npix_y
        self.sum_of_grey = sum_of_grey
        self.size_of_crosses = size_of_crosses

        # read manual orientaion parameters
        manOriParams = par.ManOriParams(n_img, 4, path=self.par_path)
        manOriParams.read()
        nr = manOriParams.nr

        self.img_1_p1 = nr[0][0]
        self.img_1_p2 = nr[0][1]
        self.img_1_p3 = nr[0][2]
        self.img_1_p4 = nr[0][3]
        self.img_2_p1 = nr[1][0]
        self.img_2_p2 = nr[1][1]
        self.img_2_p3 = nr[1][2]
        self.img_2_p4 = nr[1][3]
        self.img_3_p1 = nr[2][0]
        self.img_3_p2 = nr[2][1]
        self.img_3_p3 = nr[2][2]
        self.img_3_p4 = nr[2][3]
        self.img_4_p1 = nr[3][0]
        self.img_4_p2 = nr[3][1]
        self.img_4_p3 = nr[3][2]
        self.img_4_p4 = nr[3][3]

        # examine arameters
        examineParams = par.ExamineParams(path=self.par_path)
        examineParams.read()
        (self.Examine_Flag, self.Combine_Flag) = (examineParams.Examine_Flag,
                                                  examineParams.Combine_Flag)

        # orientation parameters
        orientParams = par.OrientParams(path=self.par_path)
        orientParams.read()
        (po_num_of_ori, pri_dist, xp, yp, k1, k2, k3, p1, p2, scx, she, interf) = \
            (orientParams.pnfo, orientParams.prin_dis, orientParams.xp, orientParams.yp, orientParams.k1, orientParams.k2, orientParams.k3,
             orientParams.p1, orientParams.p2, orientParams.scx, orientParams.she, orientParams.interf)

        self.point_number_of_orientation = po_num_of_ori
        self.principle_distance = n.bool(pri_dist)
        self.xp = n.bool(xp)
        self.yp = n.bool(yp)
        self.k1 = n.bool(k1)
        self.k2 = n.bool(k2)
        self.k3 = n.bool(k3)
        self.p1 = n.bool(p1)
        self.p2 = n.bool(p2)
        self.scx = n.bool(scx)
        self.she = n.bool(she)
        self.interf = n.bool(interf)

        dumbbellParams = par.DumbbellParams(path=self.par_path)
        dumbbellParams.read()
        (self.dumbbell_eps, self.dumbbell_scale, self.dumbbell_gradient_descent,
            self.dumbbell_penalty_weight, self.dumbbell_step, self.dumbbell_niter) = \
            (dumbbellParams.dumbbell_eps, dumbbellParams.dumbbell_scale,
             dumbbellParams.dumbbell_gradient_descent, dumbbellParams.dumbbell_penalty_weight,
             dumbbellParams.dumbbell_step, dumbbellParams.dumbbell_niter)

        shakingParams = par.ShakingParams(path=self.par_path)
        shakingParams.read()
        (self.shaking_first_frame, self.shaking_last_frame,
         self.shaking_max_num_points,
         self.shaking_max_num_frames) = (shakingParams.shaking_first_frame,
                                         shakingParams.shaking_last_frame,
                                         shakingParams.shaking_max_num_points,
                                         shakingParams.shaking_max_num_frames)
Esempio n. 15
0
    def _reload(self):
        # load ptv_par
        ptvParams = par.PtvParams(path=self.par_path)
        ptvParams.read()
        (n_img, img_name, img_cal, hp_flag, allCam_flag, tiff_flag, imx, imy, pix_x, pix_y, chfield, mmp_n1, mmp_n2, mmp_n3, mmp_d) = \
            (ptvParams.n_img, ptvParams.img_name, ptvParams.img_cal, ptvParams.hp_flag, ptvParams.allCam_flag, ptvParams.tiff_flag,
             ptvParams.imx, ptvParams.imy, ptvParams.pix_x, ptvParams.pix_y, ptvParams.chfield, ptvParams.mmp_n1, ptvParams.mmp_n2, ptvParams.mmp_n3, ptvParams.mmp_d)

        self.Name_1_Image = img_name[0]
        self.Name_2_Image = img_name[1]
        self.Name_3_Image = img_name[2]
        self.Name_4_Image = img_name[3]
        self.Cali_1_Image = img_cal[0]
        self.Cali_2_Image = img_cal[1]
        self.Cali_3_Image = img_cal[2]
        self.Cali_4_Image = img_cal[3]
        self.Refr_Air = mmp_n1
        self.Refr_Glass = mmp_n2
        self.Refr_Water = mmp_n3
        self.Thick_Glass = mmp_d
        self.Accept_OnlyAllCameras = n.bool(allCam_flag)
        self.Num_Cam = n_img
        self.HighPass = n.bool(hp_flag)
        # load unused
        self.tiff_flag = n.bool(tiff_flag)
        self.imx = imx
        self.imy = imy
        self.pix_x = pix_x
        self.pix_y = pix_y
        self.chfield = chfield

        # read_calibration parameters
        calOriParams = par.CalOriParams(n_img, path=self.par_path)
        calOriParams.read()
        (fixp_name, img_cal_name, img_ori, tiff_flag, pair_flag, chfield) = \
            (calOriParams.fixp_name, calOriParams.img_cal_name, calOriParams.img_ori,
             calOriParams.tiff_flag, calOriParams.pair_flag, calOriParams.chfield)
        self.pair_Flag = n.bool(pair_flag)
        self.img_cal_name = img_cal_name
        self.img_ori = img_ori
        self.fixp_name = fixp_name

        # load read_targ_rec
        targRecParams = par.TargRecParams(n_img, path=self.par_path)
        targRecParams.read()
        (gvthres, disco, nnmin, nnmax, nxmin, nxmax, nymin, nymax, sumg_min, cr_sz) = \
            (targRecParams.gvthres, targRecParams.disco, targRecParams.nnmin, targRecParams.nnmax, targRecParams.nxmin,
             targRecParams.nxmax, targRecParams.nymin, targRecParams.nymax, targRecParams.sumg_min, targRecParams.cr_sz)
        self.Gray_Tresh_1 = gvthres[0]
        self.Gray_Tresh_2 = gvthres[1]
        self.Gray_Tresh_3 = gvthres[2]
        self.Gray_Tresh_4 = gvthres[3]
        self.Min_Npix = nnmin
        self.Max_Npix = nnmax
        self.Min_Npix_x = nxmin
        self.Max_Npix_x = nxmax
        self.Min_Npix_y = nymin
        self.Max_Npix_y = nymax
        self.Sum_Grey = sumg_min
        self.Tol_Disc = disco
        self.Size_Cross = cr_sz

        # load pft_version
        pftVersionParams = par.PftVersionParams(path=self.par_path)
        pftVersionParams.read()
        self.Existing_Target = n.bool(pftVersionParams.Existing_Target)

        # load sequence_par
        sequenceParams = par.SequenceParams(n_img, path=self.par_path)
        sequenceParams.read()
        (base_name, first, last) = \
            (sequenceParams.base_name, sequenceParams.first, sequenceParams.last)
        self.Basename_1_Seq = base_name[0]
        self.Basename_2_Seq = base_name[1]
        self.Basename_3_Seq = base_name[2]
        self.Basename_4_Seq = base_name[3]
        self.Seq_First = first
        self.Seq_Last = last

        # load criteria_par
        criteriaParams = par.CriteriaParams(path=self.par_path)
        criteriaParams.read()
        (X_lay, Zmin_lay, Zmax_lay, cnx, cny, cn, csumg, corrmin, eps0) = \
            (criteriaParams.X_lay, criteriaParams.Zmin_lay, criteriaParams.Zmax_lay, criteriaParams.cnx,
             criteriaParams.cny, criteriaParams.cn, criteriaParams.csumg, criteriaParams.corrmin, criteriaParams.eps0)
        self.Xmin = X_lay[0]
        self.Xmax = X_lay[1]
        self.Zmin1 = Zmin_lay[0]
        self.Zmin2 = Zmin_lay[1]
        self.Zmax1 = Zmax_lay[0]
        self.Zmax2 = Zmax_lay[1]
        self.Min_Corr_nx = cnx
        self.Min_Corr_ny = cny
        self.Min_Corr_npix = cn
        self.Sum_gv = csumg
        self.Min_Weight_corr = corrmin
        self.Tol_Band = eps0