MISSING_TOOTH_NUMBER = [28, 29, 30] ORIGINAL_NO_MISSING = [] #MISSING_TOOTH_NUMBER = [] NEIGHBOUR_TOOTH = [31] NUMBER_SPLINE_GUIDED_POINTS = 100 # ---- Define global file paths RESULT_TEM_BASE = "G:\\My Drive\\Project\\IntraOral Scanner Registration\\Point Cloud and Registration TEMP\\" # ---- Extract features source_stl_base = 'G:\My Drive\Project\IntraOral Scanner Registration\STL_pc\\' target_dicom_base = 'G:\My Drive\Project\IntraOral Scanner Registration\Point Cloud and Registration Raw Data\DICOM_pc\\' stl_file_name = 'new_stl_points_tooth' dicom_file_name = 'new_dicom_points_tooth' arch_ct_original = fe.FullArch(ORIGINAL_NO_MISSING, 'CT', 'CT') arch_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'IOS', 'IOS') arch_ct = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'CT') # convert ct features to IOS space with rigid transformation arch_ct_to_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'IOS') # generate virtual landmarks using ct features with local ICP arch_ct_in_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'IOS') # arch after curvilinear correction - original ios arch arch_ios_curvilinear_correction = fe.FullArch(MISSING_TOOTH_NUMBER, 'IOS', 'IOS') # arch after curvilinear correction - virtual ct features arch_ct_in_ios_curvilinear_correction = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'IOS') for i in TOOTH_NUMBER: print('reading tooth ', i) new_dicom_path = target_dicom_base + dicom_file_name + np.str(i) + '.csv' new_stl_path = source_stl_base + stl_file_name + np.str(i) + '.csv'
faro_measurement_base = "G:\\My Drive\\Project\\IntraOral Scanner Registration" \ "\\TRE_verification\\faro_measurement\\" splint_base = "G:\\My Drive\\Project\\IntraOral Scanner Registration\\TRE_verification\\splint_geometry\\" stl_file_name = 'new_stl_points_tooth' dicom_file_name = 'new_dicom_points_tooth' faro_file_name = 'faro_measurement' splint_designed = 'designed_geometry.txt' splint_ios = 'tested_geometry.txt' # ---- Read splint measurement splint_fiducial_ground = Yomiread.read_csv(splint_base + splint_designed, 4)[:, 1:] splint_fiducial_ios = Yomiread.read_csv(splint_base + splint_ios, 4)[:, 1:] # initialize arch classes arch_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'IOS', 'IOS') arch_ct = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'CT') # arch after 1st step correction (splint correction) arch_ios_splint_correction = fe.FullArch(MISSING_TOOTH_NUMBER, 'IOS', 'IOS') # convert ct features to IOS space with rigid transformation arch_ct_to_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'IOS') #arch_ct_to_ios_fxt = fe.Fixture(MISSING_TOOTH_NUMBER, 'CT', 'IOS') # generate virtual landmarks using ct features with local ICP arch_ct_in_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'IOS') #arch_ct_in_ios_fxt = fe.Fixture(MISSING_TOOTH_NUMBER, 'CT', 'IOS') # arch after curvilinear correction - original ios arch arch_ios_curvilinear_correction = fe.FullArch(MISSING_TOOTH_NUMBER, 'IOS', 'IOS')
#MISSING_TOOTH_NUMBER_STEP2 = [17, 18, 19, 20, 21] MISSING_TOOTH_NUMBER_STEP2 = [18, 19, 20] NEIGHBOUR_TOOTH_STEP2 = [17, 21] # ---- Define global file paths RESULT_TEM_BASE = "G:\\My Drive\\Project\\IntraOral Scanner Registration\\Point Cloud and Registration TEMP\\" # ---- Extract features source_stl_base = 'G:\My Drive\Project\IntraOral Scanner Registration\STL_pc\\' target_dicom_base = 'G:\My Drive\Project\IntraOral Scanner Registration\Point Cloud and Registration Raw Data\DICOM_pc\\' stl_file_name = 'new_stl_points_tooth' dicom_file_name = 'new_dicom_points_tooth' arch_ct_original = fe.Fixture(MISSING_TOOTH_NUMBER, 'CT', 'CT') arch_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'IOS', 'IOS') arch_ct = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'CT') # convert ct features to IOS space with rigid transformation arch_ct_to_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'IOS') arch_ct_to_ios_fxt = fe.Fixture(MISSING_TOOTH_NUMBER, 'CT', 'IOS') # generate virtual landmarks using ct features with local ICP arch_ct_in_ios = fe.FullArch(MISSING_TOOTH_NUMBER, 'CT', 'IOS') arch_ct_in_ios_fxt = fe.Fixture(MISSING_TOOTH_NUMBER, 'CT', 'IOS') # arch after curvilinear correction - original ios arch arch_ios_curvilinear_correction = fe.FullArch(MISSING_TOOTH_NUMBER, 'IOS', 'IOS') arch_ios_fxt_curvilinear_correction = fe.Fixture(MISSING_TOOTH_NUMBER, 'IOS', 'IOS') # arch after curvilinear correction - virtual ct features arch_ct_in_ios_curvilinear_correction = fe.FullArch(