Commit 859088af authored by Jadracka's avatar Jadracka
Browse files

New features

Added standard deviations to polar coordinates, and Cartesian points calculated from the polar coordinates. 
parent 517e1976
......@@ -11,13 +11,18 @@ import numpy as np
#import sys
#import string
#import math as m
import config as cg
import functions as fc
#from operator import itemgetter
#from collections import namedtuple
# Are there two epochs to calculate?
if len(cg.Which_epochs)>1:
Two_epochs = True
else:
Two_epochs = False
# =============================================================================
# Loading measurement files and Coordinates, if two epochs are set, files load
# for them as well.
......@@ -36,11 +41,7 @@ if len(cg.Which_epochs) > 1:
# If you want to print, change: Print_typos to True in config.py
# =============================================================================
"""
___ _ __
| __|_ __ ___ __| |_ / \
| _|| '_ \/ _ \/ _| ' \ | () |
|___| .__/\___/\__|_||_| \__/
|_|
EPOCH 0 - Pre transport
"""
# Checking point names for typos and misspells and creating the list of
# measured points in lines sorted based on the config file definition:
......@@ -90,15 +91,15 @@ for point in Nominal_coords.keys():
nominal_points_all_measured = False
del point
if (cg.Print_typos) and (measured_lines_all_good):
if (cg.Print_real2nominal_checks) and (measured_lines_all_good):
print("Epoch0: All measured lines were expected, no typos found.")
if (cg.Print_typos) and (LoS_measured_points_all_good):
if (cg.Print_real2nominal_checks) and (LoS_measured_points_all_good):
print("Epoch0: All measured points are correct, in correct lines, no typos"
" found.")
if (cg.Print_typos) and (nominal_points_all_measured):
if (cg.Print_real2nominal_checks) and (nominal_points_all_measured):
print("Epoch0: All nominal points in IFM lines were measured at least "
"once.")
if (cg.Print_typos) and not (all_points_in_lines_measured):
if (cg.Print_real2nominal_checks) and not (all_points_in_lines_measured):
print("Epoch0: Not all points in lines were measured. Continuing in "
"analysis.")
......@@ -120,7 +121,7 @@ for instrument in Pol_measurements_cart:
Measured = fc.slope_distance(Pol_measurements_cart[instrument][
points[i]],Pol_measurements_cart[instrument][points[i-1]])
if points[i-1] not in Nominal_coords.keys() and cg.Print_typos:
print('Epoch0: Point %s measured by %s is not in Nominals.'
print('Epoch0: Point %s measured by %s is not in Nominals.'
%(points[i-1], instrument))
if (points[i] in Nominal_coords.keys()) and ((points[i-1]) in
Nominal_coords.keys()):
......@@ -158,7 +159,7 @@ if measured_lines_all_good and LoS_measured_points_all_good:
if cg.Using_nominal_compare:
nominal_distances_in_line[line] = deltas_nominal
del deltas_nominal
del line, i, delta, deltas, d
del line, i, delta, deltas,
if cg.Using_nominal_compare:
for line in LoS_measurements:
differences_in_distances[line] = np.asarray(
......@@ -178,12 +179,10 @@ else:
"again. To help troubleshoot, change Print_typos in config.py to "
"True.")
"""___ _ _
| __|_ __ ___ __| |_ / |
| _|| '_ \/ _ \/ _| ' \ | |
|___| .__/\___/\__|_||_| |_|
|_| """
if len(cg.Which_epochs)>1:
"""
EPOCH 1 - Post transport
"""
if Two_epochs:
# Checking point names for typos and misspells and creating the list of
# measured points in lines sorted based on the config file definition:
sorted_measured_points_in_lines_E1 = {}
......@@ -193,7 +192,7 @@ if len(cg.Which_epochs)>1:
#nominal_lines_all_measured = True #not checking at the moment
nominal_points_all_measured_E1 = True
all_points_in_lines_measured_E1 = True
for line in LoS_measurements_E1:
if (cg.Print_typos) and (line not in cg.Lines_of_sight):
# printing which lines are in measurements input but are not in the
......@@ -215,7 +214,7 @@ if len(cg.Which_epochs)>1:
del line_points_sorted
for point in LoS_measurements_E1[line]:
if (cg.Print_typos) and (point not in Nominal_coords):
print("Epoch1: Measured point with name %s in %s is not in the"
print("Epoch1: Measured point with name %s in %s is not in the"
" Nominal Coordinate file." % (point, line))
LoS_measured_points_all_good_E1 = False
if point not in cg.Lines_of_sight[line]:
......@@ -231,23 +230,23 @@ if len(cg.Which_epochs)>1:
print("Epoch1: Point %s was not measured in any line." % (point))
nominal_points_all_measured_E1 = False
del point
if (cg.Print_typos) and (measured_lines_all_good_E1):
if (cg.Print_real2nominal_checks) and (measured_lines_all_good_E1):
print("Epoch1: All measured lines were expected, no typos found.")
if (cg.Print_typos) and (LoS_measured_points_all_good_E1):
if (cg.Print_real2nominal_checks) and (LoS_measured_points_all_good_E1):
print("Epoch1: All measured points are correct, in correct lines, no "
"typos found.")
if (cg.Print_typos) and (nominal_points_all_measured_E1):
if (cg.Print_real2nominal_checks) and (nominal_points_all_measured_E1):
print("Epoch1: All nominal points in IFM lines were measured at least "
"once.")
if (cg.Print_typos) and not (all_points_in_lines_measured_E1):
print("Epoch1: Not all points in lines were measured. Continuing in "
if (cg.Print_real2nominal_checks) and not (all_points_in_lines_measured_E1):
print("Epoch1: Not all points in lines were measured. Continuing in "
"analysis.")
del all_measured_points_E1, nominal_points_all_measured_E1,\
all_points_in_lines_measured_E1
Pol_measurements_cart_E1 = {}
for instrument in Pol_measurements_E1:
Pol_measurements_cart_E1[instrument] = {}
......@@ -255,14 +254,15 @@ if len(cg.Which_epochs)>1:
Pol_measurements_cart_E1[instrument][point] = fc.polar2cart3Dgon(
Pol_measurements_E1[instrument][point])
del instrument, point
for instrument in Pol_measurements_cart_E1:
points = tuple(Pol_measurements_cart_E1[instrument].keys())
for i in range (1,len(points)):
Measured = fc.slope_distance(Pol_measurements_cart_E1[instrument][
points[i]],Pol_measurements_cart_E1[instrument][points[i-1]])
if points[i-1] not in Nominal_coords.keys() and cg.Print_typos:
print('Epoch1: Point %s measured by %s is not in Nominals.'
if points[i-1] not in Nominal_coords.keys() and\
cg.Print_real2nominal_checks:
print('Epoch1: Point %s measured by %s is not in Nominals.'
%(points[i-1],instrument))
if (points[i] in Nominal_coords.keys()) and ((points[i-1]) in
Nominal_coords.keys()):
......@@ -270,7 +270,7 @@ if len(cg.Which_epochs)>1:
Nominal_coords[points[i-1]])
delta = Nominal - Measured
del instrument, i, points, Measured, Nominal
measured_distances_in_lines_E1 = {}
if cg.Using_nominal_compare:
nominal_distances_in_line_E1 = {}
......@@ -300,13 +300,13 @@ if len(cg.Which_epochs)>1:
if cg.Using_nominal_compare:
nominal_distances_in_line_E1[line] = deltas_nominal
del deltas_nominal
del line, i, delta, deltas, d
del line, i, delta, deltas
if cg.Using_nominal_compare:
for line in LoS_measurements_E1:
differences_in_distances_E1[line] = \
np.asarray(nominal_distances_in_line_E1[line]) \
- np.asarray(measured_distances_in_lines_E1[line])
StDev_distances_in_lines_E1[line] = np.std(
differences_in_distances_E1[line])
if StDev_distances_in_lines_E1[line] == 0:
......@@ -320,5 +320,81 @@ if len(cg.Which_epochs)>1:
" again. To help troubleshoot, change Print_typos in config.py "
"to True.")
# =============================================================================
# Standard Deviations calculations
# =============================================================================
# Calculating StDevs for Laser Tracker IFM measurements
StDevs_IFM_measurements = {}
for line in measured_distances_in_lines:
stdev_distance = ()
for distance in measured_distances_in_lines[line]:
std = fc.StDev_sys_ppm(distance,cg.IFM_StDev)
stdev_distance = stdev_distance + (std,)
StDevs_IFM_measurements[line] = stdev_distance
del line, stdev_distance, std, distance
if Two_epochs:
StDevs_IFM_measurements_E1 = {}
for line in measured_distances_in_lines_E1:
stdev_distance = ()
for distance in measured_distances_in_lines_E1[line]:
std = fc.StDev_sys_ppm(distance,cg.IFM_StDev)
stdev_distance = stdev_distance + (std,)
StDevs_IFM_measurements_E1[line] = stdev_distance
del line, stdev_distance, std, distance
# Calculating XYZ StDevs for polar measurements, adding the results to the
# Pol_measurements_cart(_E1) as extension of the existing tuple format:
# X, Y, Z, StDev_X, StDev_Y, StDev_Z
# First, transform the idiotic way of transcribing angular precision by Leica
for instrument in Pol_measurements_cart:
for point in Pol_measurements_cart[instrument]:
StDev_HZ_Z = fc.StDev_angle(
Pol_measurements[instrument][point][0],cg.Ang_StDev)
StDev_S = cg.ADM_StDev + fc.StDev_sys_ppm(Pol_measurements[instrument][
point][0],cg.IFM_StDev)
StDev_meas = (StDev_S,StDev_HZ_Z,StDev_HZ_Z)
Pol_measurements[instrument][point] = Pol_measurements[instrument][
point] + StDev_meas
StDevXYZ = fc.StDev_XYZ_from_Polar(Pol_measurements[instrument][
point],StDev_S,StDev_HZ_Z,StDev_HZ_Z)
Pol_measurements_cart[instrument][point] = Pol_measurements_cart[
instrument][point] + StDevXYZ
del point, instrument, StDevXYZ, StDev_HZ_Z, StDev_S, StDev_meas
if Two_epochs:
for instrument in Pol_measurements_cart_E1:
for point in Pol_measurements_cart_E1[instrument]:
StDev_HZ_Z = fc.StDev_angle(
Pol_measurements_E1[instrument][point][0],cg.Ang_StDev)
StDev_S = cg.ADM_StDev + fc.StDev_sys_ppm(Pol_measurements_E1[
instrument][point][0],cg.IFM_StDev)
StDev_meas = (StDev_S,StDev_HZ_Z,StDev_HZ_Z)
Pol_measurements_E1[instrument][point] = Pol_measurements_E1[
instrument][point] + StDev_meas
StDevXYZ = fc.StDev_XYZ_from_Polar(Pol_measurements_E1[instrument][
point],StDev_S,StDev_HZ_Z,StDev_HZ_Z)
Pol_measurements_cart_E1[instrument][point] = \
Pol_measurements_cart_E1[instrument][point] + StDevXYZ
del point, instrument, StDevXYZ, StDev_HZ_Z, StDev_S, StDev_meas
# =============================================================================
# EPOCH comparisons, only happens if there are more than 1 Epoch
# =============================================================================
all_lines_measured_same = True
if Two_epochs:
for line in sorted_measured_points_in_lines:
# Checking if same Lines of Sight were measured in both Epochs
if sorted_measured_points_in_lines[line] != \
sorted_measured_points_in_lines_E1[line]:
all_lines_measured_same = False
if not all_lines_measured_same:
print("Lines weren't measured in the same manner, please correct!")
if all_lines_measured_same and cg.Print_epoch_checks:
print('All lines measured in Epoch 0 were also measured in Epoch 1.')
del line, all_lines_measured_same
print('End of the script')
......@@ -19,7 +19,7 @@ Instrument_0 Girder_14 1845.907 -137.5454 110.5566
Instrument_0 Girder_13 2456.700 -132.3316 107.9943
Instrument_0 PQK36_12 2039.507 -151.6646 109.4864
Instrument_0 PQK36_10 2156.362 -149.6938 89.9899
Instrument_0 Girder TP 2562.140 -140.8100 112.6112
Instrument_0 Girder_TP 2562.140 -140.8100 112.6112
Instrument_0 PQK36_5 2248.003 -160.9545 93.8639
Instrument_0 PQK36_6 2257.214 -160.9639 108.5660
Instrument_0 PQK36_9 2491.704 -144.8951 91.3580
......
# GirderTesting
Code for Petra IV girder transport test using Petra III girder.
To run, python3 MainCode.py
# GirderTesting
Code for Petra IV girder transport test using Petra III girder.
To run, python3 MainCode.py
......@@ -78,14 +78,6 @@ Hor_Right_Bottom_DN PQL6_12 3901.82754 394.40531 119.86816
Hor_Right_Bottom_DN Girder_6 4339.99096 394.40506 119.86808
Hor_Right_Bottom_DN PQK62_6 4806.56364 394.40524 119.86857
Hor_Right_Bottom_DN PQK62_12 5186.27149 394.40524 119.86821
IFM_Left_DN PQL6_1 2960.12366 199.46511 51.74588
IFM_Left_DN Girder_11 3150.05281 199.46492 51.74599
IFM_Left_UP PQL6_7 1699.01681 173.32674 78.714
IFM_Left_UP Girder_7 1889.55851 173.32688 78.71402
IFM_Right_UP PQL6_12 2941.25981 301.92416 85.96864
IFM_Right_UP Girder_8 3131.94263 301.92389 85.96843
IFM_Right_DN PQL6_6 1896.11394 257.88398 61.93387
IFM_Right_DN Girder_12 2086.8681 257.88398 61.93378
Ver_Left_DN_DN PQK36_2 1515.8974 381.71147 121.06661
Ver_Left_DN_DN PQK36_1 2035.63504 381.71131 121.06652
Ver_Left_DN_DN Girder_17 2226.0731 381.71146 121.0664
......
......@@ -78,14 +78,6 @@ Hor_Right_Bottom_DN PQL6_12 4201.14626 305.7273 109.97929
Hor_Right_Bottom_DN Girder_6 4639.30787 305.72731 109.97951
Hor_Right_Bottom_DN PQK62_6 5105.88008 305.7273 109.97932
Hor_Right_Bottom_DN PQK62_12 5485.58808 305.72736 109.97948
IFM_Left_DN PQL6_1 2288.69182 393.54837 94.0929
IFM_Left_DN Girder_11 2478.6217 393.54854 94.09278
IFM_Left_UP PQL6_7 2150.50736 245.04511 129.02571
IFM_Left_UP Girder_7 2341.04973 245.04515 129.02582
IFM_Right_UP PQL6_12 1975.26426 272.89738 57.14519
IFM_Right_UP Girder_8 2165.9458 272.89733 57.14507
IFM_Right_DN PQL6_6 2772.08431 201.71988 118.04104
IFM_Right_DN Girder_12 2962.83622 201.71988 118.04102
Ver_Left_DN_DN PQK36_2 2781.37695 70.80878 98.36294
Ver_Left_DN_DN PQK36_1 3301.11418 70.80853 98.36285
Ver_Left_DN_DN Girder_17 3491.55218 70.80854 98.36308
......
Hor_Left_Bottom_UP PQK62_7 2650.76297 225.52496 90.27408
Hor_Left_Bottom_UP PQK62_1 3030.64988 225.52508 90.27403
Hor_Left_Bottom_UP Girder_5 3497.00763 225.5251 90.27419
Hor_Left_Bottom_UP PQL6_7 3934.61914 225.52501 90.27409
Hor_Left_Bottom_UP Girder_13 5072.00623 225.52478 90.27407
Hor_Left_Bottom_UP PQK36_7 5527.78267 225.52516 90.2743
Hor_Left_Bottom_UP PQK36_1 5907.58123 225.52496 90.27432
Hor_Left_Top_UP PQK62_8 2824.2885 91.20007 83.89109
Hor_Left_Top_UP PQK62_2 3204.45692 91.20026 83.8913
Hor_Left_Top_UP PQL6_8 4108.25265 91.20023 83.89098
Hor_Left_Top_UP PQL6_2 4767.90648 91.20001 83.8911
Hor_Left_Top_UP PQK36_8 5700.93085 91.19993 83.89129
Hor_Left_Top_UP PQK36_2 6080.9263 91.20004 83.89114
Hor_Top_Left_UP PQK62_3 3065.96725 350.3955 133.10314
Hor_Top_Left_UP PQL6_9 3970.2447 350.39513 133.10311
Hor_Top_Left_UP PQL6_3 4629.88376 350.39543 133.10292
Hor_Top_Left_UP PQK36_9 5563.37479 350.39525 133.10308
Hor_Top_Left_UP PQK36_3 5943.42683 350.39526 133.10312
Hor_Top_Right_UP PQK62_10 1791.92539 370.20425 114.47099
Hor_Top_Right_UP PQK62_4 2171.93174 370.20421 114.47078
Hor_Top_Right_UP PQL6_10 3076.60469 370.20428 114.47079
Hor_Top_Right_UP PQL6_4 3736.40033 370.20413 114.47113
Hor_Top_Right_UP PQK36_10 4669.61904 370.20437 114.47089
Hor_Top_Right_UP PQK36_4 5049.25066 370.20425 114.47104
Hor_Right_Top_UP PQK62_11 1637.95927 192.45518 117.66585
Hor_Right_Top_UP PQK62_5 2018.37162 192.45523 117.66588
Hor_Right_Top_UP PQL6_11 2922.23128 192.45557 117.6659
Hor_Right_Top_UP PQL6_5 3581.71026 192.45552 117.66616
Hor_Right_Top_UP PQK36_11 4514.46862 192.45512 117.66561
Hor_Right_Top_UP PQK36_5 4894.53094 192.45535 117.66611
Hor_Right_Bottom_UP PQK62_12 2796.96782 69.02152 49.60986
Hor_Right_Bottom_UP PQK62_6 3176.67624 69.02164 49.60978
Hor_Right_Bottom_UP Girder_6 3643.2496 69.02152 49.60959
Hor_Right_Bottom_UP PQL6_12 4081.41005 69.02146 49.60987
Hor_Right_Bottom_UP PQL6_6 4741.10763 69.02163 49.61008
Hor_Right_Bottom_UP Girder_14 5218.24905 69.02141 49.60997
Hor_Right_Bottom_UP PQK36_12 5674.09799 69.02153 49.60979
Hor_Right_Bottom_UP PQK36_6 6054.18339 69.02186 49.60981
Hor_Left_Bottom_DN PQK36_1 2070.32453 166.34798 51.02114
Hor_Left_Bottom_DN PQK36_7 2450.12213 166.34793 51.02104
Hor_Left_Bottom_DN Girder_13 2905.89835 166.34807 51.02121
Hor_Left_Bottom_DN PQL6_1 3383.79494 166.34809 51.02146
Hor_Left_Bottom_DN PQL6_7 4043.28845 166.34792 51.02123
Hor_Left_Bottom_DN Girder_5 4480.89839 166.34782 51.02085
Hor_Left_Bottom_DN PQK62_1 4947.25742 166.34802 51.02068
Hor_Left_Bottom_DN PQK62_7 5327.14384 166.34801 51.02098
Hor_Left_Top_DN PQK36_2 1730.11181 256.08942 111.40366
Hor_Left_Top_DN PQK36_8 2110.10757 256.08952 111.40363
Hor_Left_Top_DN PQL6_2 3043.133 256.08931 111.40364
Hor_Left_Top_DN PQL6_8 3702.78557 256.0895 111.40341
Hor_Left_Top_DN PQK62_2 4606.58146 256.08959 111.40375
Hor_Left_Top_DN PQK62_8 4986.75136 256.08944 111.40372
Hor_Top_Left_DN PQK36_3 2426.1561 293.51414 125.28666
Hor_Top_Left_DN PQK36_9 2806.21155 293.51452 125.28643
Hor_Top_Left_DN PQL6_3 3739.70042 293.51404 125.28678
Hor_Top_Left_DN PQL6_9 4399.33867 293.51423 125.28689
Hor_Top_Left_DN PQK62_3 5303.61477 293.51407 125.28661
Hor_Top_Left_DN PQK62_9 5684.36158 293.51431 125.28678
Hor_Top_Right_DN PQK36_4 2264.28633 314.57648 95.41524
Hor_Top_Right_DN PQK36_10 2643.91511 314.57662 95.41538
Hor_Top_Right_DN PQL6_4 3577.1345 314.57649 95.41515
Hor_Top_Right_DN PQL6_10 4236.93027 314.57625 95.41526
Hor_Top_Right_DN PQK62_4 5141.606 314.57647 95.41511
Hor_Top_Right_DN PQK62_10 5521.60944 314.57634 95.4152
Hor_Right_Top_DN PQK36_5 2861.25914 70.45194 128.50636
Hor_Right_Top_DN PQK36_11 3241.32335 70.45219 128.50638
Hor_Right_Top_DN PQL6_5 4174.08102 70.45193 128.50651
Hor_Right_Top_DN PQL6_11 4833.56303 70.45216 128.50647
Hor_Right_Top_DN PQK62_5 5737.42059 70.45196 128.50655
Hor_Right_Top_DN PQK62_11 6117.83313 70.45175 128.50628
Hor_Right_Bottom_DN PQK36_6 2228.37276 305.72727 109.97928
Hor_Right_Bottom_DN PQK36_12 2608.4587 305.72719 109.97942
Hor_Right_Bottom_DN Girder_14 3064.30812 305.72734 109.97938
Hor_Right_Bottom_DN PQL6_6 3541.44945 305.72735 109.97952
Hor_Right_Bottom_DN PQL6_12 4201.14626 305.7273 109.97929
Hor_Right_Bottom_DN Girder_6 4639.30787 305.72731 109.97951
Hor_Right_Bottom_DN PQK62_6 5105.88008 305.7273 109.97932
Hor_Right_Bottom_DN PQK62_12 5485.58808 305.72736 109.97948
IFM_Left_DN PQL6_1 2288.69182 393.54837 94.0929
IFM_Left_DN Girder_11 2478.6217 393.54854 94.09278
IFM_Left_UP PQL6_7 2150.50736 245.04511 129.02571
IFM_Left_UP Girder_7 2341.04973 245.04515 129.02582
IFM_Right_UP PQL6_12 1975.26426 272.89738 57.14519
IFM_Right_UP Girder_8 2165.9458 272.89733 57.14507
IFM_Right_DN PQL6_6 2772.08431 201.71988 118.04104
IFM_Right_DN Girder_12 2962.83622 201.71988 118.04102
Ver_Left_DN_DN PQK36_2 2781.37695 70.80878 98.36294
Ver_Left_DN_DN PQK36_1 3301.11418 70.80853 98.36285
Ver_Left_DN_DN Girder_17 3491.55218 70.80854 98.36308
Ver_Left_DN_UP PQK36_8 1576.36243 343.14877 117.51996
Ver_Left_DN_UP PQK36_7 2096.09161 343.14871 117.52037
Ver_Left_DN_UP Girder_15 2286.49204 343.14874 117.52001
Ver_Left_MD_DN PQL6_2 1959.15984 111.38721 128.5132
Ver_Left_MD_DN PQL6_1 2479.78229 111.38727 128.51341
Ver_Left_MD_DN Girder_11 2669.71382 111.38715 128.51311
Ver_Left_MD_UP PQL6_8 2840.36467 199.63399 69.95971
Ver_Left_MD_UP PQL6_7 3360.2673 199.63386 69.95975
Ver_Left_MD_UP Girder_7 3550.8085 199.63392 69.95968
Ver_Left_UP_DN PQK62_2 2636.8422 150.10255 108.04743
Ver_Left_UP_DN PQK62_1 3157.58321 150.10247 108.04731
Ver_Left_UP_DN Girder_3 3347.55862 150.10256 108.04724
Ver_Left_UP_UP PQK62_8 1787.65131 104.52198 61.01925
Ver_Left_UP_UP PQK62_7 2307.87632 104.52211 61.01934
Ver_Left_UP_UP Girder_1 2498.37442 104.52216 61.01894
Ver_Right_DN_DN PQK36_5 2175.63097 342.4171 128.43362
Ver_Right_DN_DN PQK36_6 2694.76752 342.41717 128.43378
Ver_Right_DN_DN Girder_18 2885.80906 342.41713 128.43359
Ver_Right_DN_UP PQK36_11 2150.05091 398.93607 113.15386
Ver_Right_DN_UP PQK36_12 2669.417 398.93619 113.15394
Ver_Right_DN_UP Girder_16 2859.9042 398.93619 113.15392
Ver_Right_MD_DN PQL6_5 2315.12546 20.32007 50.63971
Ver_Right_MD_DN PQL6_6 2834.71313 20.32007 50.63963
Ver_Right_MD_DN Girder_12 3025.46559 20.32001 50.63961
Ver_Right_MD_UP PQL6_11 1604.4225 384.31835 67.81623
Ver_Right_MD_UP PQL6_12 2123.48822 384.31821 67.81628
Ver_Right_MD_UP Girder_8 2314.17183 384.31811 67.81644
Ver_Right_UP_DN PQK62_5 2679.2153 241.27075 80.74221
Ver_Right_UP_DN PQK62_6 3198.5813 241.2705 80.74237
Ver_Right_UP_DN Girder_4 3389.24682 241.27087 80.74232
Ver_Right_UP_UP PQK62_11 2678.85636 35.27915 82.8173
Ver_Right_UP_UP PQK62_12 3199.16632 35.27899 82.81726
Ver_Right_UP_UP Girder_2 3389.21455 35.27923 82.8172
Diag_Left_DN PQK36_8 1935.44513 210.36175 51.08432
Diag_Left_DN PQL6_1 3004.31223 210.36151 51.08451
Diag_Left_DN Girder_9 3387.4186 210.36178 51.08422
Diag_Left_UP PQK62_2 2466.6602 292.83122 122.95542
Diag_Left_UP PQL6_7 3508.97839 292.83163 122.95576
Diag_Left_UP Girder_9 3883.81162 292.83116 122.95559
Diag_Right_DN PQK36_11 2638.56054 245.89922 53.29873
Diag_Right_DN PQL6_6 3705.81385 245.89945 53.29882
Diag_Right_DN Girder_10 4089.36643 245.89889 53.29868
Diag_Right_UP PQK62_5 2755.87504 326.62954 84.62681
Diag_Right_UP PQL6_12 3798.3471 326.62951 84.62675
Diag_Right_UP Girder_10 4172.67941 326.6297 84.62684
Diag_Top_DN PQK36_10 2873.25791 116.56681 83.87902
Diag_Top_DN PQL6_3 3881.15898 116.56657 83.87885
Diag_Top_UP PQK62_4 2454.8689 290.58387 72.34442
Diag_Top_UP PQL6_9 3435.89114 290.58395 72.34453
......@@ -18,18 +18,29 @@ Created on Thu Feb 11 10:54:43 2021
"""Data analysis tools"""
"""CAN BE CHANGED"""
Which_epochs = (0,1) #the comma must stay, otherwise the variable will be int
Using_nominal_compare = True
Line_differences_checking = False
Print_FIDs = False
Print_typos = True
Print_real2nominal_checks = True
IFM_StDev_sys = (0.0004,0.00015) #mm, +- 0,2um based on Leica's white paper
Pico_StDev = 0.00000001 #mm, PicoScale Standard Deviation
IFM_StDev = (0.0004,0.00015) #mm, LT IFM, based on Leica's white paper
ADM_StDev = 0.010 #mm, from 2-5m based on Leica's typical errors
Ang_StDev = (0.015,0.003) #mm, needs to be calculated for each angle separately
Ang_StDev = (0.015,0.003) #mm,ppm
Print_FIDs = False
Line_differences_checking = False
# Print troubleshooting messages:
Print_all_troubleshooting = False
Using_nominal_compare = False
Print_typos = False #Printing error messages
Print_real2nominal_checks = False
Print_epoch_checks = False
if Print_all_troubleshooting:
Using_nominal_compare = True
Print_typos = True #Printing error messages
Print_real2nominal_checks = True
Print_epoch_checks = True
Dist_StDev = (IFM_StDev_sys[0]+ADM_StDev,IFM_StDev_sys[1])
Dist_StDev = (IFM_StDev[0]+ADM_StDev,IFM_StDev[1])
"""Nominal CAD coordinates of Fiducials
Standard SA format with spaces as delimiters and no comments:
......
......@@ -136,7 +136,10 @@ def Coords_read_in(Coords_file_name):
return Coords
def StDev_sys_ppm(Value,StDev_tuple):
return float(StDev_tuple[0] + Value * StDev_tuple[1]/1000000)
return float(StDev_tuple[0] + Value * StDev_tuple[1]/1000)
def StDev_angle(Value,StDev_tuple):
return float((StDev_tuple[0] + Value * StDev_tuple[1]/1000)/Value)
def StDev_XYZ_from_Polar(Point, StDev_S, StDev_Hz, StDev_Z):
'''takes in Point measured in Polar coordinates and outputs tuple of
......@@ -145,9 +148,6 @@ def StDev_XYZ_from_Polar(Point, StDev_S, StDev_Hz, StDev_Z):
S = Point[0]/1000
Hz = Point[1]
Z = Point[2]
StDev_S = StDev_sys_ppm(S,StDev_S)
StDev_Hz = gon2rad(StDev_sys_ppm(Hz,StDev_Hz))
StDev_Z = gon2rad(StDev_sys_ppm(Z,StDev_Z))
StDev_X = m.sqrt(m.pow(StDev_S,2) * m.pow(cosg(Hz) * sing(Z),2)\
+ m.pow(StDev_Hz,2) * m.pow(-S * sing(Hz) * sing(Z),2)\
+ m.pow(StDev_Z,2) * m.pow(S * cosg(Hz) * cosg(Z),2))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment