Exemplo n.º 1
0
    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'
Exemplo n.º 2
0
    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')
Exemplo n.º 3
0
    #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(