diff --git a/csaxs_bec/bec_ipython_client/plugins/flomni/correction_flomni_20210300_360deg.txt b/csaxs_bec/bec_ipython_client/plugins/flomni/correction_flomni_20210300_360deg.txt new file mode 100644 index 0000000..d2eba6d --- /dev/null +++ b/csaxs_bec/bec_ipython_client/plugins/flomni/correction_flomni_20210300_360deg.txt @@ -0,0 +1,351 @@ +corr_elements = 175 +corr_angle[0] = 0.100000 +corr_angle[1] = 1.001000 +corr_angle[2] = 1.902000 +corr_angle[3] = 2.798000 +corr_angle[4] = 7.305000 +corr_angle[5] = 8.204000 +corr_angle[6] = 9.104000 +corr_angle[7] = 10.005000 +corr_angle[8] = 14.504000 +corr_angle[9] = 15.404000 +corr_angle[10] = 16.304000 +corr_angle[11] = 17.204000 +corr_angle[12] = 21.704000 +corr_angle[13] = 22.604000 +corr_angle[14] = 23.504000 +corr_angle[15] = 24.404000 +corr_angle[16] = 28.904000 +corr_angle[17] = 29.804000 +corr_angle[18] = 30.704000 +corr_angle[19] = 31.604000 +corr_angle[20] = 36.104000 +corr_angle[21] = 37.004000 +corr_angle[22] = 37.904000 +corr_angle[23] = 38.804000 +corr_angle[24] = 43.305000 +corr_angle[25] = 44.205000 +corr_angle[26] = 45.104000 +corr_angle[27] = 46.005000 +corr_angle[28] = 50.504000 +corr_angle[29] = 51.404000 +corr_angle[30] = 52.305000 +corr_angle[31] = 53.205000 +corr_angle[32] = 57.705000 +corr_angle[33] = 58.605000 +corr_angle[34] = 59.505000 +corr_angle[35] = 60.405000 +corr_angle[36] = 64.904000 +corr_angle[37] = 65.804000 +corr_angle[38] = 66.704000 +corr_angle[39] = 67.604000 +corr_angle[40] = 72.104000 +corr_angle[41] = 73.004000 +corr_angle[42] = 73.904000 +corr_angle[43] = 74.804000 +corr_angle[44] = 79.304000 +corr_angle[45] = 80.204000 +corr_angle[46] = 81.104000 +corr_angle[47] = 82.005000 +corr_angle[48] = 86.505000 +corr_angle[49] = 87.404000 +corr_angle[50] = 88.304000 +corr_angle[51] = 89.205000 +corr_angle[52] = 93.704000 +corr_angle[53] = 94.604000 +corr_angle[54] = 95.505000 +corr_angle[55] = 96.404000 +corr_angle[56] = 100.904000 +corr_angle[57] = 101.804000 +corr_angle[58] = 102.704000 +corr_angle[59] = 103.604000 +corr_angle[60] = 108.104000 +corr_angle[61] = 109.004000 +corr_angle[62] = 109.904000 +corr_angle[63] = 110.804000 +corr_angle[64] = 115.304000 +corr_angle[65] = 116.204000 +corr_angle[66] = 117.104000 +corr_angle[67] = 118.004000 +corr_angle[68] = 122.504000 +corr_angle[69] = 123.404000 +corr_angle[70] = 124.304000 +corr_angle[71] = 125.204000 +corr_angle[72] = 129.704000 +corr_angle[73] = 130.604000 +corr_angle[74] = 131.504000 +corr_angle[75] = 132.404000 +corr_angle[76] = 136.904000 +corr_angle[77] = 137.804000 +corr_angle[78] = 138.701000 +corr_angle[79] = 139.604000 +corr_angle[80] = 144.104000 +corr_angle[81] = 145.004000 +corr_angle[82] = 145.904000 +corr_angle[83] = 146.804000 +corr_angle[84] = 151.304000 +corr_angle[85] = 152.204000 +corr_angle[86] = 153.104000 +corr_angle[87] = 154.004000 +corr_angle[88] = 158.504000 +corr_angle[89] = 159.404000 +corr_angle[90] = 160.304000 +corr_angle[91] = 161.204000 +corr_angle[92] = 165.704000 +corr_angle[93] = 166.604000 +corr_angle[94] = 167.504000 +corr_angle[95] = 168.404000 +corr_angle[96] = 172.904000 +corr_angle[97] = 173.805000 +corr_angle[98] = 174.704000 +corr_angle[99] = 180.104000 +corr_angle[100] = 183.704000 +corr_angle[101] = 184.603000 +corr_angle[102] = 185.504000 +corr_angle[103] = 190.904000 +corr_angle[104] = 191.805000 +corr_angle[105] = 192.704000 +corr_angle[106] = 198.104000 +corr_angle[107] = 199.004000 +corr_angle[108] = 199.904000 +corr_angle[109] = 205.304000 +corr_angle[110] = 206.204000 +corr_angle[111] = 207.104000 +corr_angle[112] = 212.504000 +corr_angle[113] = 213.404000 +corr_angle[114] = 214.304000 +corr_angle[115] = 219.704000 +corr_angle[116] = 220.604000 +corr_angle[117] = 221.504000 +corr_angle[118] = 226.904000 +corr_angle[119] = 227.804000 +corr_angle[120] = 228.704000 +corr_angle[121] = 234.104000 +corr_angle[122] = 235.004000 +corr_angle[123] = 235.904000 +corr_angle[124] = 241.304000 +corr_angle[125] = 242.204000 +corr_angle[126] = 243.104000 +corr_angle[127] = 248.504000 +corr_angle[128] = 249.404000 +corr_angle[129] = 250.304000 +corr_angle[130] = 255.704000 +corr_angle[131] = 256.604000 +corr_angle[132] = 257.504000 +corr_angle[133] = 262.904000 +corr_angle[134] = 263.804000 +corr_angle[135] = 264.704000 +corr_angle[136] = 270.104000 +corr_angle[137] = 271.004000 +corr_angle[138] = 271.904000 +corr_angle[139] = 277.304000 +corr_angle[140] = 278.205000 +corr_angle[141] = 279.104000 +corr_angle[142] = 284.504000 +corr_angle[143] = 285.405000 +corr_angle[144] = 286.304000 +corr_angle[145] = 291.703000 +corr_angle[146] = 292.604000 +corr_angle[147] = 293.504000 +corr_angle[148] = 298.904000 +corr_angle[149] = 299.804000 +corr_angle[150] = 300.704000 +corr_angle[151] = 306.104000 +corr_angle[152] = 307.004000 +corr_angle[153] = 307.904000 +corr_angle[154] = 313.304000 +corr_angle[155] = 314.204000 +corr_angle[156] = 315.104000 +corr_angle[157] = 320.504000 +corr_angle[158] = 321.404000 +corr_angle[159] = 322.304000 +corr_angle[160] = 327.704000 +corr_angle[161] = 328.605000 +corr_angle[162] = 329.504000 +corr_angle[163] = 334.904000 +corr_angle[164] = 335.804000 +corr_angle[165] = 336.705000 +corr_angle[166] = 342.104000 +corr_angle[167] = 343.004000 +corr_angle[168] = 343.904000 +corr_angle[169] = 349.304000 +corr_angle[170] = 350.204000 +corr_angle[171] = 351.104000 +corr_angle[172] = 356.504000 +corr_angle[173] = 357.404000 +corr_angle[174] = 358.304000 +corr_pos[0] = 0.012330 +corr_pos[1] = 0.024870 +corr_pos[2] = 0.037262 +corr_pos[3] = 0.049438 +corr_pos[4] = 0.108462 +corr_pos[5] = 0.119791 +corr_pos[6] = 0.130986 +corr_pos[7] = 0.142044 +corr_pos[8] = 0.195045 +corr_pos[9] = 0.205834 +corr_pos[10] = 0.216589 +corr_pos[11] = 0.226402 +corr_pos[12] = 0.271931 +corr_pos[13] = 0.281684 +corr_pos[14] = 0.290769 +corr_pos[15] = 0.299392 +corr_pos[16] = 0.337986 +corr_pos[17] = 0.345178 +corr_pos[18] = 0.352253 +corr_pos[19] = 0.358528 +corr_pos[20] = 0.379520 +corr_pos[21] = 0.382947 +corr_pos[22] = 0.386110 +corr_pos[23] = 0.388887 +corr_pos[24] = 0.395645 +corr_pos[25] = 0.396154 +corr_pos[26] = 0.396679 +corr_pos[27] = 0.396367 +corr_pos[28] = 0.392400 +corr_pos[29] = 0.392530 +corr_pos[30] = 0.391826 +corr_pos[31] = 0.391325 +corr_pos[32] = 0.379188 +corr_pos[33] = 0.376449 +corr_pos[34] = 0.373195 +corr_pos[35] = 0.369588 +corr_pos[36] = 0.343021 +corr_pos[37] = 0.336754 +corr_pos[38] = 0.330310 +corr_pos[39] = 0.323447 +corr_pos[40] = 0.281171 +corr_pos[41] = 0.272735 +corr_pos[42] = 0.263888 +corr_pos[43] = 0.254469 +corr_pos[44] = 0.203024 +corr_pos[45] = 0.192980 +corr_pos[46] = 0.182359 +corr_pos[47] = 0.170780 +corr_pos[48] = 0.111580 +corr_pos[49] = 0.101222 +corr_pos[50] = 0.090051 +corr_pos[51] = 0.077918 +corr_pos[52] = 0.015225 +corr_pos[53] = 0.003876 +corr_pos[54] = -0.007756 +corr_pos[55] = -0.020383 +corr_pos[56] = -0.084910 +corr_pos[57] = -0.096848 +corr_pos[58] = -0.108732 +corr_pos[59] = -0.121432 +corr_pos[60] = -0.184349 +corr_pos[61] = -0.195904 +corr_pos[62] = -0.207113 +corr_pos[63] = -0.219319 +corr_pos[64] = -0.274799 +corr_pos[65] = -0.284942 +corr_pos[66] = -0.294809 +corr_pos[67] = -0.305437 +corr_pos[68] = -0.352114 +corr_pos[69] = -0.359689 +corr_pos[70] = -0.367451 +corr_pos[71] = -0.375629 +corr_pos[72] = -0.404347 +corr_pos[73] = -0.407683 +corr_pos[74] = -0.410857 +corr_pos[75] = -0.414904 +corr_pos[76] = -0.424625 +corr_pos[77] = -0.424357 +corr_pos[78] = -0.424411 +corr_pos[79] = -0.424615 +corr_pos[80] = -0.421392 +corr_pos[81] = -0.419977 +corr_pos[82] = -0.417860 +corr_pos[83] = -0.416400 +corr_pos[84] = -0.398108 +corr_pos[85] = -0.392613 +corr_pos[86] = -0.386455 +corr_pos[87] = -0.380338 +corr_pos[88] = -0.341288 +corr_pos[89] = -0.332298 +corr_pos[90] = -0.322767 +corr_pos[91] = -0.311630 +corr_pos[92] = -0.256798 +corr_pos[93] = -0.244808 +corr_pos[94] = -0.232932 +corr_pos[95] = -0.219785 +corr_pos[96] = -0.158685 +corr_pos[97] = -0.146198 +corr_pos[98] = -0.130743 +corr_pos[99] = -0.054066 +corr_pos[100] = -0.001498 +corr_pos[101] = 0.012010 +corr_pos[102] = 0.025195 +corr_pos[103] = 0.094982 +corr_pos[104] = 0.109235 +corr_pos[105] = 0.120813 +corr_pos[106] = 0.179893 +corr_pos[107] = 0.192147 +corr_pos[108] = 0.201902 +corr_pos[109] = 0.245092 +corr_pos[110] = 0.250501 +corr_pos[111] = 0.255536 +corr_pos[112] = 0.280598 +corr_pos[113] = 0.280673 +corr_pos[114] = 0.282529 +corr_pos[115] = 0.293286 +corr_pos[116] = 0.292713 +corr_pos[117] = 0.291123 +corr_pos[118] = 0.288721 +corr_pos[119] = 0.288260 +corr_pos[120] = 0.286480 +corr_pos[121] = 0.271630 +corr_pos[122] = 0.268004 +corr_pos[123] = 0.265418 +corr_pos[124] = 0.239187 +corr_pos[125] = 0.233224 +corr_pos[126] = 0.226652 +corr_pos[127] = 0.189034 +corr_pos[128] = 0.180302 +corr_pos[129] = 0.170931 +corr_pos[130] = 0.125760 +corr_pos[131] = 0.116433 +corr_pos[132] = 0.106845 +corr_pos[133] = 0.057551 +corr_pos[134] = 0.048531 +corr_pos[135] = 0.038276 +corr_pos[136] = -0.012292 +corr_pos[137] = -0.021223 +corr_pos[138] = -0.030046 +corr_pos[139] = -0.077647 +corr_pos[140] = -0.085863 +corr_pos[141] = -0.093816 +corr_pos[142] = -0.138532 +corr_pos[143] = -0.145584 +corr_pos[144] = -0.152699 +corr_pos[145] = -0.192594 +corr_pos[146] = -0.200980 +corr_pos[147] = -0.208816 +corr_pos[148] = -0.241983 +corr_pos[149] = -0.248319 +corr_pos[150] = -0.253789 +corr_pos[151] = -0.276869 +corr_pos[152] = -0.279240 +corr_pos[153] = -0.281538 +corr_pos[154] = -0.294317 +corr_pos[155] = -0.295586 +corr_pos[156] = -0.296029 +corr_pos[157] = -0.297443 +corr_pos[158] = -0.297185 +corr_pos[159] = -0.295946 +corr_pos[160] = -0.284463 +corr_pos[161] = -0.282598 +corr_pos[162] = -0.281260 +corr_pos[163] = -0.256509 +corr_pos[164] = -0.250326 +corr_pos[165] = -0.244372 +corr_pos[166] = -0.204043 +corr_pos[167] = -0.196147 +corr_pos[168] = -0.187928 +corr_pos[169] = -0.131831 +corr_pos[170] = -0.121351 +corr_pos[171] = -0.110548 +corr_pos[172] = -0.038951 +corr_pos[173] = -0.025887 +corr_pos[174] = -0.012501 diff --git a/csaxs_bec/bec_ipython_client/plugins/omny/correction_omny_202204.txt b/csaxs_bec/bec_ipython_client/plugins/omny/correction_omny_202204.txt new file mode 100644 index 0000000..703617f --- /dev/null +++ b/csaxs_bec/bec_ipython_client/plugins/omny/correction_omny_202204.txt @@ -0,0 +1,715 @@ +corr_elements = 357 +corr_angle[0] = 0.097400 +corr_angle[1] = 0.603500 +corr_angle[2] = 1.134200 +corr_angle[3] = 1.625000 +corr_angle[4] = 2.162200 +corr_angle[5] = 2.700100 +corr_angle[6] = 3.191600 +corr_angle[7] = 3.714300 +corr_angle[8] = 4.223200 +corr_angle[9] = 4.730900 +corr_angle[10] = 5.253300 +corr_angle[11] = 5.743300 +corr_angle[12] = 6.279200 +corr_angle[13] = 6.782900 +corr_angle[14] = 7.301200 +corr_angle[15] = 7.808100 +corr_angle[16] = 8.325300 +corr_angle[17] = 8.859400 +corr_angle[18] = 9.359400 +corr_angle[19] = 9.887900 +corr_angle[20] = 10.395400 +corr_angle[21] = 10.930700 +corr_angle[22] = 11.415400 +corr_angle[23] = 11.928900 +corr_angle[24] = 12.456900 +corr_angle[25] = 12.955900 +corr_angle[26] = 13.479000 +corr_angle[27] = 13.982700 +corr_angle[28] = 14.500900 +corr_angle[29] = 15.016200 +corr_angle[30] = 15.528000 +corr_angle[31] = 16.053800 +corr_angle[32] = 16.562800 +corr_angle[33] = 17.076600 +corr_angle[34] = 17.592400 +corr_angle[35] = 18.094100 +corr_angle[36] = 18.623800 +corr_angle[37] = 19.118400 +corr_angle[38] = 19.655000 +corr_angle[39] = 20.143900 +corr_angle[40] = 20.672200 +corr_angle[41] = 21.171500 +corr_angle[42] = 21.696300 +corr_angle[43] = 22.215900 +corr_angle[44] = 22.728900 +corr_angle[45] = 23.233100 +corr_angle[46] = 23.760000 +corr_angle[47] = 24.267700 +corr_angle[48] = 24.792100 +corr_angle[49] = 25.287900 +corr_angle[50] = 25.824600 +corr_angle[51] = 26.321900 +corr_angle[52] = 26.842600 +corr_angle[53] = 27.337200 +corr_angle[54] = 27.873500 +corr_angle[55] = 28.373900 +corr_angle[56] = 28.895900 +corr_angle[57] = 29.404900 +corr_angle[58] = 29.926700 +corr_angle[59] = 30.439300 +corr_angle[60] = 30.963700 +corr_angle[61] = 31.460000 +corr_angle[62] = 31.989500 +corr_angle[63] = 32.489700 +corr_angle[64] = 33.026400 +corr_angle[65] = 33.516500 +corr_angle[66] = 34.044000 +corr_angle[67] = 34.547700 +corr_angle[68] = 35.070800 +corr_angle[69] = 35.578400 +corr_angle[70] = 36.103200 +corr_angle[71] = 36.603200 +corr_angle[72] = 37.128200 +corr_angle[73] = 37.645200 +corr_angle[74] = 38.164300 +corr_angle[75] = 38.662100 +corr_angle[76] = 39.191000 +corr_angle[77] = 39.693400 +corr_angle[78] = 40.222500 +corr_angle[79] = 40.719500 +corr_angle[80] = 41.247000 +corr_angle[81] = 41.755700 +corr_angle[82] = 42.271300 +corr_angle[83] = 42.767600 +corr_angle[84] = 43.302200 +corr_angle[85] = 43.818700 +corr_angle[86] = 44.330000 +corr_angle[87] = 44.835300 +corr_angle[88] = 45.359800 +corr_angle[89] = 45.867200 +corr_angle[90] = 46.396200 +corr_angle[91] = 46.895000 +corr_angle[92] = 47.411500 +corr_angle[93] = 47.915200 +corr_angle[94] = 48.436600 +corr_angle[95] = 48.946100 +corr_angle[96] = 49.472300 +corr_angle[97] = 49.979800 +corr_angle[98] = 50.503300 +corr_angle[99] = 51.008700 +corr_angle[100] = 51.535000 +corr_angle[101] = 52.036700 +corr_angle[102] = 52.563700 +corr_angle[103] = 53.063600 +corr_angle[104] = 53.591700 +corr_angle[105] = 54.091200 +corr_angle[106] = 54.618900 +corr_angle[107] = 55.116900 +corr_angle[108] = 55.636100 +corr_angle[109] = 56.143100 +corr_angle[110] = 56.672200 +corr_angle[111] = 57.172900 +corr_angle[112] = 57.704600 +corr_angle[113] = 58.204800 +corr_angle[114] = 58.728600 +corr_angle[115] = 59.239500 +corr_angle[116] = 59.768400 +corr_angle[117] = 60.268300 +corr_angle[118] = 60.788800 +corr_angle[119] = 61.289300 +corr_angle[120] = 61.813300 +corr_angle[121] = 62.310800 +corr_angle[122] = 62.836700 +corr_angle[123] = 63.353700 +corr_angle[124] = 63.866600 +corr_angle[125] = 64.377200 +corr_angle[126] = 64.906600 +corr_angle[127] = 65.414000 +corr_angle[128] = 65.937100 +corr_angle[129] = 66.429400 +corr_angle[130] = 66.970000 +corr_angle[131] = 67.459200 +corr_angle[132] = 67.996400 +corr_angle[133] = 68.499800 +corr_angle[134] = 69.014500 +corr_angle[135] = 69.509500 +corr_angle[136] = 70.044000 +corr_angle[137] = 70.543200 +corr_angle[138] = 71.079400 +corr_angle[139] = 71.579300 +corr_angle[140] = 72.103500 +corr_angle[141] = 72.607000 +corr_angle[142] = 73.137100 +corr_angle[143] = 73.633000 +corr_angle[144] = 74.164500 +corr_angle[145] = 74.660200 +corr_angle[146] = 75.180600 +corr_angle[147] = 75.674200 +corr_angle[148] = 76.215400 +corr_angle[149] = 76.718900 +corr_angle[150] = 77.242300 +corr_angle[151] = 77.752000 +corr_angle[152] = 78.279300 +corr_angle[153] = 78.780500 +corr_angle[154] = 79.314900 +corr_angle[155] = 79.424500 +corr_angle[156] = 79.807000 +corr_angle[157] = 80.336500 +corr_angle[158] = 80.338700 +corr_angle[159] = 80.835300 +corr_angle[160] = 81.367100 +corr_angle[161] = 81.376100 +corr_angle[162] = 81.859000 +corr_angle[163] = 82.382300 +corr_angle[164] = 82.384000 +corr_angle[165] = 82.881100 +corr_angle[166] = 83.415000 +corr_angle[167] = 83.421600 +corr_angle[168] = 83.917100 +corr_angle[169] = 84.439200 +corr_angle[170] = 84.439300 +corr_angle[171] = 84.947400 +corr_angle[172] = 85.472700 +corr_angle[173] = 85.987700 +corr_angle[174] = 86.512400 +corr_angle[175] = 87.009500 +corr_angle[176] = 87.536500 +corr_angle[177] = 88.035600 +corr_angle[178] = 88.560100 +corr_angle[179] = 89.057600 +corr_angle[180] = 89.583200 +corr_angle[181] = 90.090500 +corr_angle[182] = 90.614600 +corr_angle[183] = 91.119900 +corr_angle[184] = 91.638300 +corr_angle[185] = 92.153300 +corr_angle[186] = 92.681600 +corr_angle[187] = 93.181800 +corr_angle[188] = 93.710900 +corr_angle[189] = 94.206100 +corr_angle[190] = 94.732700 +corr_angle[191] = 95.226600 +corr_angle[192] = 95.766400 +corr_angle[193] = 96.259000 +corr_angle[194] = 96.783400 +corr_angle[195] = 97.283100 +corr_angle[196] = 97.811500 +corr_angle[197] = 98.323600 +corr_angle[198] = 98.839400 +corr_angle[199] = 99.350700 +corr_angle[200] = 99.880200 +corr_angle[201] = 100.378100 +corr_angle[202] = 100.913300 +corr_angle[203] = 101.405000 +corr_angle[204] = 101.935700 +corr_angle[205] = 102.426300 +corr_angle[206] = 102.957300 +corr_angle[207] = 103.456500 +corr_angle[208] = 103.985100 +corr_angle[209] = 104.490300 +corr_angle[210] = 105.015100 +corr_angle[211] = 105.518400 +corr_angle[212] = 106.047400 +corr_angle[213] = 106.551100 +corr_angle[214] = 107.077100 +corr_angle[215] = 107.575800 +corr_angle[216] = 108.115200 +corr_angle[217] = 108.598800 +corr_angle[218] = 109.129100 +corr_angle[219] = 109.626200 +corr_angle[220] = 110.158400 +corr_angle[221] = 110.661700 +corr_angle[222] = 111.188600 +corr_angle[223] = 111.695000 +corr_angle[224] = 112.216400 +corr_angle[225] = 112.720000 +corr_angle[226] = 113.246200 +corr_angle[227] = 113.757100 +corr_angle[228] = 114.281900 +corr_angle[229] = 114.780000 +corr_angle[230] = 115.306800 +corr_angle[231] = 115.799800 +corr_angle[232] = 116.328400 +corr_angle[233] = 116.829900 +corr_angle[234] = 117.355400 +corr_angle[235] = 117.858200 +corr_angle[236] = 118.380600 +corr_angle[237] = 118.893200 +corr_angle[238] = 119.418200 +corr_angle[239] = 119.921000 +corr_angle[240] = 120.446100 +corr_angle[241] = 120.953800 +corr_angle[242] = 121.480300 +corr_angle[243] = 121.977600 +corr_angle[244] = 122.507100 +corr_angle[245] = 122.996200 +corr_angle[246] = 123.529600 +corr_angle[247] = 124.032200 +corr_angle[248] = 124.554800 +corr_angle[249] = 125.057800 +corr_angle[250] = 125.580800 +corr_angle[251] = 126.090000 +corr_angle[252] = 126.611600 +corr_angle[253] = 127.127000 +corr_angle[254] = 127.650900 +corr_angle[255] = 128.153700 +corr_angle[256] = 128.677200 +corr_angle[257] = 129.170800 +corr_angle[258] = 129.703000 +corr_angle[259] = 130.194900 +corr_angle[260] = 130.733600 +corr_angle[261] = 131.228300 +corr_angle[262] = 131.756900 +corr_angle[263] = 132.263200 +corr_angle[264] = 132.784700 +corr_angle[265] = 133.296300 +corr_angle[266] = 133.818800 +corr_angle[267] = 134.318900 +corr_angle[268] = 134.846800 +corr_angle[269] = 135.344800 +corr_angle[270] = 135.876000 +corr_angle[271] = 136.372600 +corr_angle[272] = 136.902700 +corr_angle[273] = 137.397800 +corr_angle[274] = 137.926800 +corr_angle[275] = 138.428000 +corr_angle[276] = 138.953700 +corr_angle[277] = 139.461300 +corr_angle[278] = 139.987800 +corr_angle[279] = 140.492600 +corr_angle[280] = 141.017900 +corr_angle[281] = 141.524000 +corr_angle[282] = 142.061200 +corr_angle[283] = 142.545400 +corr_angle[284] = 143.069900 +corr_angle[285] = 143.568700 +corr_angle[286] = 144.102200 +corr_angle[287] = 144.596200 +corr_angle[288] = 145.126400 +corr_angle[289] = 145.626900 +corr_angle[290] = 146.158700 +corr_angle[291] = 146.662200 +corr_angle[292] = 147.184700 +corr_angle[293] = 147.692300 +corr_angle[294] = 148.225900 +corr_angle[295] = 148.716000 +corr_angle[296] = 149.243400 +corr_angle[297] = 149.739400 +corr_angle[298] = 150.272400 +corr_angle[299] = 150.762100 +corr_angle[300] = 151.301800 +corr_angle[301] = 151.796300 +corr_angle[302] = 152.333500 +corr_angle[303] = 152.833100 +corr_angle[304] = 153.363600 +corr_angle[305] = 153.862900 +corr_angle[306] = 154.396100 +corr_angle[307] = 154.895400 +corr_angle[308] = 155.417700 +corr_angle[309] = 155.916900 +corr_angle[310] = 156.451600 +corr_angle[311] = 156.942700 +corr_angle[312] = 157.467600 +corr_angle[313] = 157.970900 +corr_angle[314] = 158.501100 +corr_angle[315] = 158.999600 +corr_angle[316] = 159.526100 +corr_angle[317] = 160.028100 +corr_angle[318] = 160.555800 +corr_angle[319] = 161.067700 +corr_angle[320] = 161.597300 +corr_angle[321] = 162.091300 +corr_angle[322] = 162.616600 +corr_angle[323] = 163.107400 +corr_angle[324] = 163.639100 +corr_angle[325] = 164.139700 +corr_angle[326] = 164.672500 +corr_angle[327] = 165.176800 +corr_angle[328] = 165.698600 +corr_angle[329] = 166.205400 +corr_angle[330] = 166.727300 +corr_angle[331] = 167.238600 +corr_angle[332] = 167.771500 +corr_angle[333] = 168.265000 +corr_angle[334] = 168.794800 +corr_angle[335] = 169.293800 +corr_angle[336] = 169.813300 +corr_angle[337] = 170.320200 +corr_angle[338] = 170.845100 +corr_angle[339] = 171.344000 +corr_angle[340] = 171.866200 +corr_angle[341] = 172.375300 +corr_angle[342] = 172.899400 +corr_angle[343] = 173.404400 +corr_angle[344] = 173.928500 +corr_angle[345] = 174.430800 +corr_angle[346] = 174.827800 +corr_angle[347] = 175.460400 +corr_angle[348] = 175.993100 +corr_angle[349] = 176.492100 +corr_angle[350] = 177.014200 +corr_angle[351] = 177.512100 +corr_angle[352] = 178.044200 +corr_angle[353] = 178.643800 +corr_angle[354] = 179.067200 +corr_angle[355] = 179.571600 +corr_angle[356] = 180.093700 +corr_pos[0] = -0.814519 +corr_pos[1] = -0.810675 +corr_pos[2] = -0.806338 +corr_pos[3] = -0.802047 +corr_pos[4] = -0.797044 +corr_pos[5] = -0.791712 +corr_pos[6] = -0.786558 +corr_pos[7] = -0.780781 +corr_pos[8] = -0.774864 +corr_pos[9] = -0.768674 +corr_pos[10] = -0.762005 +corr_pos[11] = -0.755474 +corr_pos[12] = -0.748024 +corr_pos[13] = -0.740730 +corr_pos[14] = -0.732929 +corr_pos[15] = -0.725011 +corr_pos[16] = -0.716637 +corr_pos[17] = -0.707676 +corr_pos[18] = -0.698861 +corr_pos[19] = -0.686245 +corr_pos[20] = -0.676596 +corr_pos[21] = -0.663643 +corr_pos[22] = -0.655664 +corr_pos[23] = -0.642249 +corr_pos[24] = -0.633516 +corr_pos[25] = -0.621402 +corr_pos[26] = -0.612846 +corr_pos[27] = -0.599978 +corr_pos[28] = -0.592135 +corr_pos[29] = -0.577949 +corr_pos[30] = -0.570695 +corr_pos[31] = -0.555560 +corr_pos[32] = -0.549015 +corr_pos[33] = -0.532162 +corr_pos[34] = -0.524479 +corr_pos[35] = -0.507848 +corr_pos[36] = -0.500301 +corr_pos[37] = -0.484361 +corr_pos[38] = -0.477365 +corr_pos[39] = -0.461751 +corr_pos[40] = -0.455963 +corr_pos[41] = -0.439438 +corr_pos[42] = -0.436103 +corr_pos[43] = -0.420587 +corr_pos[44] = -0.417361 +corr_pos[45] = -0.402270 +corr_pos[46] = -0.400459 +corr_pos[47] = -0.384745 +corr_pos[48] = -0.385280 +corr_pos[49] = -0.371217 +corr_pos[50] = -0.373612 +corr_pos[51] = -0.361838 +corr_pos[52] = -0.365771 +corr_pos[53] = -0.354641 +corr_pos[54] = -0.360647 +corr_pos[55] = -0.351446 +corr_pos[56] = -0.359147 +corr_pos[57] = -0.348696 +corr_pos[58] = -0.359348 +corr_pos[59] = -0.349962 +corr_pos[60] = -0.360782 +corr_pos[61] = -0.355040 +corr_pos[62] = -0.367441 +corr_pos[63] = -0.360511 +corr_pos[64] = -0.372617 +corr_pos[65] = -0.366120 +corr_pos[66] = -0.377568 +corr_pos[67] = -0.370362 +corr_pos[68] = -0.380918 +corr_pos[69] = -0.372553 +corr_pos[70] = -0.381460 +corr_pos[71] = -0.371828 +corr_pos[72] = -0.379428 +corr_pos[73] = -0.368465 +corr_pos[74] = -0.374297 +corr_pos[75] = -0.360340 +corr_pos[76] = -0.365429 +corr_pos[77] = -0.349168 +corr_pos[78] = -0.351544 +corr_pos[79] = -0.332514 +corr_pos[80] = -0.333505 +corr_pos[81] = -0.313316 +corr_pos[82] = -0.313014 +corr_pos[83] = -0.291107 +corr_pos[84] = -0.287807 +corr_pos[85] = -0.264483 +corr_pos[86] = -0.260891 +corr_pos[87] = -0.236646 +corr_pos[88] = -0.231362 +corr_pos[89] = -0.205833 +corr_pos[90] = -0.200663 +corr_pos[91] = -0.174834 +corr_pos[92] = -0.171662 +corr_pos[93] = -0.146200 +corr_pos[94] = -0.142890 +corr_pos[95] = -0.118389 +corr_pos[96] = -0.112895 +corr_pos[97] = -0.088879 +corr_pos[98] = -0.084146 +corr_pos[99] = -0.061625 +corr_pos[100] = -0.054742 +corr_pos[101] = -0.032741 +corr_pos[102] = -0.026725 +corr_pos[103] = -0.004827 +corr_pos[104] = 0.002678 +corr_pos[105] = 0.024418 +corr_pos[106] = 0.031105 +corr_pos[107] = 0.052334 +corr_pos[108] = 0.060072 +corr_pos[109] = 0.081470 +corr_pos[110] = 0.088550 +corr_pos[111] = 0.109685 +corr_pos[112] = 0.116675 +corr_pos[113] = 0.136298 +corr_pos[114] = 0.142152 +corr_pos[115] = 0.161986 +corr_pos[116] = 0.166996 +corr_pos[117] = 0.186466 +corr_pos[118] = 0.190874 +corr_pos[119] = 0.208729 +corr_pos[120] = 0.212714 +corr_pos[121] = 0.229992 +corr_pos[122] = 0.232685 +corr_pos[123] = 0.248748 +corr_pos[124] = 0.249688 +corr_pos[125] = 0.264768 +corr_pos[126] = 0.264432 +corr_pos[127] = 0.278801 +corr_pos[128] = 0.278424 +corr_pos[129] = 0.289656 +corr_pos[130] = 0.289612 +corr_pos[131] = 0.299899 +corr_pos[132] = 0.299782 +corr_pos[133] = 0.307473 +corr_pos[134] = 0.309489 +corr_pos[135] = 0.315999 +corr_pos[136] = 0.317413 +corr_pos[137] = 0.325060 +corr_pos[138] = 0.325931 +corr_pos[139] = 0.332544 +corr_pos[140] = 0.332095 +corr_pos[141] = 0.338738 +corr_pos[142] = 0.337864 +corr_pos[143] = 0.343909 +corr_pos[144] = 0.342973 +corr_pos[145] = 0.348449 +corr_pos[146] = 0.346060 +corr_pos[147] = 0.351949 +corr_pos[148] = 0.349873 +corr_pos[149] = 0.354969 +corr_pos[150] = 0.352375 +corr_pos[151] = 0.358388 +corr_pos[152] = 0.354736 +corr_pos[153] = 0.359539 +corr_pos[154] = 0.354369 +corr_pos[155] = 0.358549 +corr_pos[156] = 0.353217 +corr_pos[157] = 0.355795 +corr_pos[158] = 0.351299 +corr_pos[159] = 0.352922 +corr_pos[160] = 0.346933 +corr_pos[161] = 0.350201 +corr_pos[162] = 0.343937 +corr_pos[163] = 0.349304 +corr_pos[164] = 0.344857 +corr_pos[165] = 0.347471 +corr_pos[166] = 0.335793 +corr_pos[167] = 0.341109 +corr_pos[168] = 0.330453 +corr_pos[169] = 0.326576 +corr_pos[170] = 0.320299 +corr_pos[171] = 0.315348 +corr_pos[172] = 0.300744 +corr_pos[173] = 0.294366 +corr_pos[174] = 0.280438 +corr_pos[175] = 0.273618 +corr_pos[176] = 0.259335 +corr_pos[177] = 0.251464 +corr_pos[178] = 0.237247 +corr_pos[179] = 0.229092 +corr_pos[180] = 0.214882 +corr_pos[181] = 0.207363 +corr_pos[182] = 0.193246 +corr_pos[183] = 0.185868 +corr_pos[184] = 0.173256 +corr_pos[185] = 0.165378 +corr_pos[186] = 0.153853 +corr_pos[187] = 0.147031 +corr_pos[188] = 0.135535 +corr_pos[189] = 0.129435 +corr_pos[190] = 0.119843 +corr_pos[191] = 0.115062 +corr_pos[192] = 0.107115 +corr_pos[193] = 0.105182 +corr_pos[194] = 0.099647 +corr_pos[195] = 0.098162 +corr_pos[196] = 0.094628 +corr_pos[197] = 0.095257 +corr_pos[198] = 0.084490 +corr_pos[199] = 0.085389 +corr_pos[200] = 0.074302 +corr_pos[201] = 0.075265 +corr_pos[202] = 0.063623 +corr_pos[203] = 0.064487 +corr_pos[204] = 0.052841 +corr_pos[205] = 0.053559 +corr_pos[206] = 0.042022 +corr_pos[207] = 0.043321 +corr_pos[208] = 0.032826 +corr_pos[209] = 0.032277 +corr_pos[210] = 0.022169 +corr_pos[211] = 0.020740 +corr_pos[212] = 0.010378 +corr_pos[213] = 0.008668 +corr_pos[214] = -0.001930 +corr_pos[215] = -0.003882 +corr_pos[216] = -0.014694 +corr_pos[217] = -0.016629 +corr_pos[218] = -0.026380 +corr_pos[219] = -0.028069 +corr_pos[220] = -0.037125 +corr_pos[221] = -0.039429 +corr_pos[222] = -0.047773 +corr_pos[223] = -0.049261 +corr_pos[224] = -0.056872 +corr_pos[225] = -0.058756 +corr_pos[226] = -0.065279 +corr_pos[227] = -0.066859 +corr_pos[228] = -0.073027 +corr_pos[229] = -0.074253 +corr_pos[230] = -0.079062 +corr_pos[231] = -0.079800 +corr_pos[232] = -0.084350 +corr_pos[233] = -0.084805 +corr_pos[234] = -0.088621 +corr_pos[235] = -0.088437 +corr_pos[236] = -0.092166 +corr_pos[237] = -0.090769 +corr_pos[238] = -0.093820 +corr_pos[239] = -0.091724 +corr_pos[240] = -0.094152 +corr_pos[241] = -0.090866 +corr_pos[242] = -0.092575 +corr_pos[243] = -0.089239 +corr_pos[244] = -0.089666 +corr_pos[245] = -0.086864 +corr_pos[246] = -0.087183 +corr_pos[247] = -0.083974 +corr_pos[248] = -0.083709 +corr_pos[249] = -0.079848 +corr_pos[250] = -0.078494 +corr_pos[251] = -0.072782 +corr_pos[252] = -0.069638 +corr_pos[253] = -0.063004 +corr_pos[254] = -0.058599 +corr_pos[255] = -0.051737 +corr_pos[256] = -0.046451 +corr_pos[257] = -0.040238 +corr_pos[258] = -0.034071 +corr_pos[259] = -0.028578 +corr_pos[260] = -0.021481 +corr_pos[261] = -0.016346 +corr_pos[262] = -0.009475 +corr_pos[263] = -0.004141 +corr_pos[264] = 0.002780 +corr_pos[265] = 0.008455 +corr_pos[266] = 0.015507 +corr_pos[267] = 0.021672 +corr_pos[268] = 0.029704 +corr_pos[269] = 0.036662 +corr_pos[270] = 0.044794 +corr_pos[271] = 0.052031 +corr_pos[272] = 0.061478 +corr_pos[273] = 0.069150 +corr_pos[274] = 0.078715 +corr_pos[275] = 0.087785 +corr_pos[276] = 0.098593 +corr_pos[277] = 0.107863 +corr_pos[278] = 0.118256 +corr_pos[279] = 0.127631 +corr_pos[280] = 0.139011 +corr_pos[281] = 0.150077 +corr_pos[282] = 0.162154 +corr_pos[283] = 0.173758 +corr_pos[284] = 0.186998 +corr_pos[285] = 0.200111 +corr_pos[286] = 0.214116 +corr_pos[287] = 0.227291 +corr_pos[288] = 0.240662 +corr_pos[289] = 0.252955 +corr_pos[290] = 0.265359 +corr_pos[291] = 0.275995 +corr_pos[292] = 0.287613 +corr_pos[293] = 0.295789 +corr_pos[294] = 0.306424 +corr_pos[295] = 0.313027 +corr_pos[296] = 0.322181 +corr_pos[297] = 0.329313 +corr_pos[298] = 0.338191 +corr_pos[299] = 0.345243 +corr_pos[300] = 0.353316 +corr_pos[301] = 0.360491 +corr_pos[302] = 0.367891 +corr_pos[303] = 0.375027 +corr_pos[304] = 0.380865 +corr_pos[305] = 0.388354 +corr_pos[306] = 0.395257 +corr_pos[307] = 0.401478 +corr_pos[308] = 0.408087 +corr_pos[309] = 0.414083 +corr_pos[310] = 0.420361 +corr_pos[311] = 0.424284 +corr_pos[312] = 0.429614 +corr_pos[313] = 0.433888 +corr_pos[314] = 0.438529 +corr_pos[315] = 0.442302 +corr_pos[316] = 0.445899 +corr_pos[317] = 0.449014 +corr_pos[318] = 0.451693 +corr_pos[319] = 0.453795 +corr_pos[320] = 0.455132 +corr_pos[321] = 0.455438 +corr_pos[322] = 0.455334 +corr_pos[323] = 0.454055 +corr_pos[324] = 0.451146 +corr_pos[325] = 0.447259 +corr_pos[326] = 0.442478 +corr_pos[327] = 0.437520 +corr_pos[328] = 0.432297 +corr_pos[329] = 0.426442 +corr_pos[330] = 0.418918 +corr_pos[331] = 0.411040 +corr_pos[332] = 0.402610 +corr_pos[333] = 0.394491 +corr_pos[334] = 0.383925 +corr_pos[335] = 0.374590 +corr_pos[336] = 0.363650 +corr_pos[337] = 0.353143 +corr_pos[338] = 0.339756 +corr_pos[339] = 0.328074 +corr_pos[340] = 0.315463 +corr_pos[341] = 0.302641 +corr_pos[342] = 0.288898 +corr_pos[343] = 0.275134 +corr_pos[344] = 0.260308 +corr_pos[345] = 0.245582 +corr_pos[346] = 0.233584 +corr_pos[347] = 0.213812 +corr_pos[348] = 0.196540 +corr_pos[349] = 0.179844 +corr_pos[350] = 0.161839 +corr_pos[351] = 0.144160 +corr_pos[352] = 0.124715 +corr_pos[353] = 0.102123 +corr_pos[354] = 0.085736 +corr_pos[355] = 0.065743 +corr_pos[356] = 0.044511 diff --git a/csaxs_bec/bec_ipython_client/plugins/omny/correction_omny_202204_x.txt b/csaxs_bec/bec_ipython_client/plugins/omny/correction_omny_202204_x.txt new file mode 100644 index 0000000..e4b772d --- /dev/null +++ b/csaxs_bec/bec_ipython_client/plugins/omny/correction_omny_202204_x.txt @@ -0,0 +1,1147 @@ +corr_elements = 573 +corr_angle[0] = 0.098800 +corr_pos[0] = 0.649819 +corr_angle[1] = 0.408300 +corr_pos[1] = 0.657149 +corr_angle[2] = 0.720900 +corr_pos[2] = 0.664242 +corr_angle[3] = 1.033800 +corr_pos[3] = 0.671028 +corr_angle[4] = 1.342400 +corr_pos[4] = 0.677413 +corr_angle[5] = 1.638000 +corr_pos[5] = 0.683243 +corr_angle[6] = 1.962000 +corr_pos[6] = 0.689312 +corr_angle[7] = 2.262100 +corr_pos[7] = 0.694633 +corr_angle[8] = 2.589400 +corr_pos[8] = 0.700108 +corr_angle[9] = 2.883000 +corr_pos[9] = 0.704726 +corr_angle[10] = 3.210300 +corr_pos[10] = 0.709549 +corr_angle[11] = 3.512000 +corr_pos[11] = 0.713691 +corr_angle[12] = 3.819100 +corr_pos[12] = 0.717608 +corr_angle[13] = 4.128400 +corr_pos[13] = 0.721247 +corr_angle[14] = 4.750100 +corr_pos[14] = 0.727634 +corr_angle[15] = 5.068700 +corr_pos[15] = 0.730428 +corr_angle[16] = 5.383200 +corr_pos[16] = 0.732867 +corr_angle[17] = 5.682800 +corr_pos[17] = 0.734894 +corr_angle[18] = 5.988000 +corr_pos[18] = 0.736665 +corr_angle[19] = 6.302900 +corr_pos[19] = 0.738179 +corr_angle[20] = 6.611700 +corr_pos[20] = 0.739355 +corr_angle[21] = 6.929900 +corr_pos[21] = 0.740247 +corr_angle[22] = 7.232500 +corr_pos[22] = 0.740794 +corr_angle[23] = 7.548200 +corr_pos[23] = 0.741052 +corr_angle[24] = 7.853500 +corr_pos[24] = 0.740999 +corr_angle[25] = 8.168300 +corr_pos[25] = 0.740630 +corr_angle[26] = 8.473200 +corr_pos[26] = 0.739971 +corr_angle[27] = 8.785900 +corr_pos[27] = 0.738985 +corr_angle[28] = 9.099800 +corr_pos[28] = 0.737680 +corr_angle[29] = 9.407800 +corr_pos[29] = 0.743523 +corr_angle[30] = 9.715300 +corr_pos[30] = 0.734002 +corr_angle[31] = 10.026500 +corr_pos[31] = 0.739176 +corr_angle[32] = 10.337100 +corr_pos[32] = 0.728263 +corr_angle[33] = 10.654100 +corr_pos[33] = 0.731924 +corr_angle[34] = 10.956700 +corr_pos[34] = 0.730450 +corr_angle[35] = 11.267900 +corr_pos[35] = 0.734129 +corr_angle[36] = 11.585600 +corr_pos[36] = 0.733202 +corr_angle[37] = 11.891000 +corr_pos[37] = 0.737047 +corr_angle[38] = 12.197600 +corr_pos[38] = 0.724439 +corr_angle[39] = 12.513000 +corr_pos[39] = 0.726972 +corr_angle[40] = 12.811900 +corr_pos[40] = 0.713934 +corr_angle[41] = 13.131000 +corr_pos[41] = 0.714191 +corr_angle[42] = 13.435300 +corr_pos[42] = 0.698123 +corr_angle[43] = 13.752700 +corr_pos[43] = 0.695935 +corr_angle[44] = 14.065900 +corr_pos[44] = 0.677196 +corr_angle[45] = 14.374800 +corr_pos[45] = 0.673478 +corr_angle[46] = 14.677200 +corr_pos[46] = 0.653113 +corr_angle[47] = 14.996200 +corr_pos[47] = 0.645778 +corr_angle[48] = 15.304600 +corr_pos[48] = 0.622609 +corr_angle[49] = 15.612500 +corr_pos[49] = 0.626706 +corr_angle[50] = 15.917900 +corr_pos[50] = 0.602825 +corr_angle[51] = 16.236300 +corr_pos[51] = 0.591942 +corr_angle[52] = 16.544800 +corr_pos[52] = 0.569335 +corr_angle[53] = 16.859000 +corr_pos[53] = 0.560991 +corr_angle[54] = 17.160800 +corr_pos[54] = 0.540269 +corr_angle[55] = 17.481300 +corr_pos[55] = 0.532770 +corr_angle[56] = 17.779800 +corr_pos[56] = 0.512340 +corr_angle[57] = 18.096500 +corr_pos[57] = 0.507369 +corr_angle[58] = 18.411000 +corr_pos[58] = 0.488938 +corr_angle[59] = 18.722200 +corr_pos[59] = 0.485522 +corr_angle[60] = 19.024700 +corr_pos[60] = 0.468280 +corr_angle[61] = 19.342100 +corr_pos[61] = 0.465338 +corr_angle[62] = 19.641700 +corr_pos[62] = 0.463748 +corr_angle[63] = 19.969400 +corr_pos[63] = 0.458325 +corr_angle[64] = 20.267500 +corr_pos[64] = 0.454902 +corr_angle[65] = 20.589300 +corr_pos[65] = 0.448257 +corr_angle[66] = 20.872600 +corr_pos[66] = 0.444132 +corr_angle[67] = 21.206700 +corr_pos[67] = 0.435168 +corr_angle[68] = 21.511700 +corr_pos[68] = 0.428114 +corr_angle[69] = 21.823800 +corr_pos[69] = 0.418140 +corr_angle[70] = 22.133100 +corr_pos[70] = 0.408312 +corr_angle[71] = 22.438500 +corr_pos[71] = 0.396512 +corr_angle[72] = 22.739500 +corr_pos[72] = 0.385702 +corr_angle[73] = 23.068700 +corr_pos[73] = 0.371669 +corr_angle[74] = 23.365200 +corr_pos[74] = 0.358120 +corr_angle[75] = 23.690600 +corr_pos[75] = 0.342282 +corr_angle[76] = 23.993800 +corr_pos[76] = 0.328085 +corr_angle[77] = 24.304700 +corr_pos[77] = 0.312475 +corr_angle[78] = 24.613600 +corr_pos[78] = 0.296337 +corr_angle[79] = 24.927200 +corr_pos[79] = 0.278696 +corr_angle[80] = 25.227100 +corr_pos[80] = 0.261401 +corr_angle[81] = 25.548200 +corr_pos[81] = 0.241949 +corr_angle[82] = 25.857600 +corr_pos[82] = 0.221033 +corr_angle[83] = 26.167100 +corr_pos[83] = 0.199540 +corr_angle[84] = 26.795900 +corr_pos[84] = 0.155758 +corr_angle[85] = 27.094100 +corr_pos[85] = 0.133995 +corr_angle[86] = 27.412100 +corr_pos[86] = 0.108440 +corr_angle[87] = 27.712900 +corr_pos[87] = 0.084363 +corr_angle[88] = 28.033200 +corr_pos[88] = 0.056476 +corr_angle[89] = 28.335700 +corr_pos[89] = 0.031161 +corr_angle[90] = 28.649900 +corr_pos[90] = 0.003099 +corr_angle[91] = 28.948300 +corr_pos[91] = -0.023340 +corr_angle[92] = 29.274500 +corr_pos[92] = -0.053108 +corr_angle[93] = 29.573100 +corr_pos[93] = -0.081026 +corr_angle[94] = 29.892200 +corr_pos[94] = -0.112120 +corr_angle[95] = 30.200100 +corr_pos[95] = -0.142022 +corr_angle[96] = 30.516600 +corr_pos[96] = -0.173783 +corr_angle[97] = 30.805800 +corr_pos[97] = -0.204669 +corr_angle[98] = 31.132900 +corr_pos[98] = -0.237640 +corr_angle[99] = 31.426600 +corr_pos[99] = -0.269449 +corr_angle[100] = 31.757700 +corr_pos[100] = -0.303935 +corr_angle[101] = 32.048800 +corr_pos[101] = -0.336596 +corr_angle[102] = 32.376100 +corr_pos[102] = -0.371878 +corr_angle[103] = 32.681600 +corr_pos[103] = -0.407791 +corr_angle[104] = 33.002700 +corr_pos[104] = -0.442357 +corr_angle[105] = 33.287600 +corr_pos[105] = -0.477370 +corr_angle[106] = 33.617400 +corr_pos[106] = -0.515432 +corr_angle[107] = 33.912400 +corr_pos[107] = -0.552637 +corr_angle[108] = 34.239100 +corr_pos[108] = -0.574212 +corr_angle[109] = 34.535100 +corr_pos[109] = -0.610162 +corr_angle[110] = 34.858000 +corr_pos[110] = -0.629823 +corr_angle[111] = 35.147700 +corr_pos[111] = -0.663459 +corr_angle[112] = 35.476400 +corr_pos[112] = -0.680574 +corr_angle[113] = 35.771700 +corr_pos[113] = -0.710332 +corr_angle[114] = 36.103600 +corr_pos[114] = -0.724544 +corr_angle[115] = 36.411100 +corr_pos[115] = -0.736320 +corr_angle[116] = 36.718900 +corr_pos[116] = -0.748765 +corr_angle[117] = 37.010900 +corr_pos[117] = -0.759243 +corr_angle[118] = 37.339200 +corr_pos[118] = -0.772373 +corr_angle[119] = 37.635700 +corr_pos[119] = -0.799537 +corr_angle[120] = 37.966800 +corr_pos[120] = -0.815280 +corr_angle[121] = 38.261400 +corr_pos[121] = -0.844316 +corr_angle[122] = 38.586000 +corr_pos[122] = -0.861511 +corr_angle[123] = 38.869200 +corr_pos[123] = -0.891325 +corr_angle[124] = 39.207700 +corr_pos[124] = -0.910736 +corr_angle[125] = 39.510700 +corr_pos[125] = -0.942647 +corr_angle[126] = 39.829100 +corr_pos[126] = -0.976844 +corr_angle[127] = 40.123900 +corr_pos[127] = -1.004817 +corr_angle[128] = 40.446900 +corr_pos[128] = -1.035845 +corr_angle[129] = 40.746100 +corr_pos[129] = -1.062093 +corr_angle[130] = 41.061300 +corr_pos[130] = -1.090216 +corr_angle[131] = 41.370200 +corr_pos[131] = -1.113494 +corr_angle[132] = 41.685200 +corr_pos[132] = -1.138119 +corr_angle[133] = 41.986100 +corr_pos[133] = -1.159637 +corr_angle[134] = 42.312200 +corr_pos[134] = -1.183492 +corr_angle[135] = 42.602000 +corr_pos[135] = -1.202237 +corr_angle[136] = 42.925400 +corr_pos[136] = -1.223139 +corr_angle[137] = 43.232600 +corr_pos[137] = -1.240677 +corr_angle[138] = 43.553700 +corr_pos[138] = -1.259617 +corr_angle[139] = 43.846300 +corr_pos[139] = -1.273546 +corr_angle[140] = 44.169100 +corr_pos[140] = -1.289700 +corr_angle[141] = 44.460300 +corr_pos[141] = -1.302779 +corr_angle[142] = 44.791400 +corr_pos[142] = -1.317399 +corr_angle[143] = 45.094100 +corr_pos[143] = -1.328162 +corr_angle[144] = 45.409400 +corr_pos[144] = -1.339499 +corr_angle[145] = 45.710100 +corr_pos[145] = -1.347986 +corr_angle[146] = 46.030500 +corr_pos[146] = -1.357244 +corr_angle[147] = 46.330900 +corr_pos[147] = -1.364663 +corr_angle[148] = 46.960500 +corr_pos[148] = -1.366092 +corr_angle[149] = 47.279300 +corr_pos[149] = -1.376117 +corr_angle[150] = 47.570600 +corr_pos[150] = -1.368563 +corr_angle[151] = 47.893800 +corr_pos[151] = -1.378372 +corr_angle[152] = 48.195500 +corr_pos[152] = -1.370659 +corr_angle[153] = 48.513900 +corr_pos[153] = -1.379998 +corr_angle[154] = 48.821000 +corr_pos[154] = -1.373226 +corr_angle[155] = 49.133900 +corr_pos[155] = -1.383863 +corr_angle[156] = 49.441800 +corr_pos[156] = -1.378025 +corr_angle[157] = 49.759000 +corr_pos[157] = -1.388830 +corr_angle[158] = 50.064200 +corr_pos[158] = -1.383110 +corr_angle[159] = 50.372200 +corr_pos[159] = -1.407439 +corr_angle[160] = 50.676800 +corr_pos[160] = -1.398970 +corr_angle[161] = 50.996500 +corr_pos[161] = -1.421194 +corr_angle[162] = 51.295500 +corr_pos[162] = -1.411016 +corr_angle[163] = 51.626600 +corr_pos[163] = -1.418503 +corr_angle[164] = 51.917300 +corr_pos[164] = -1.407712 +corr_angle[165] = 52.237100 +corr_pos[165] = -1.415522 +corr_angle[166] = 52.537400 +corr_pos[166] = -1.404288 +corr_angle[167] = 52.856600 +corr_pos[167] = -1.411462 +corr_angle[168] = 53.164200 +corr_pos[168] = -1.400223 +corr_angle[169] = 53.486900 +corr_pos[169] = -1.406952 +corr_angle[170] = 53.779500 +corr_pos[170] = -1.394637 +corr_angle[171] = 54.098900 +corr_pos[171] = -1.399619 +corr_angle[172] = 54.401300 +corr_pos[172] = -1.405394 +corr_angle[173] = 54.722700 +corr_pos[173] = -1.412085 +corr_angle[174] = 55.018500 +corr_pos[174] = -1.431770 +corr_angle[175] = 55.345500 +corr_pos[175] = -1.438825 +corr_angle[176] = 55.650600 +corr_pos[176] = -1.446963 +corr_angle[177] = 55.957800 +corr_pos[177] = -1.455022 +corr_angle[178] = 56.266900 +corr_pos[178] = -1.464260 +corr_angle[179] = 56.585700 +corr_pos[179] = -1.474410 +corr_angle[180] = 56.884700 +corr_pos[180] = -1.486354 +corr_angle[181] = 57.510800 +corr_pos[181] = -1.502526 +corr_angle[182] = 57.821300 +corr_pos[182] = -1.515895 +corr_angle[183] = 58.132200 +corr_pos[183] = -1.511529 +corr_angle[184] = 58.438200 +corr_pos[184] = -1.523565 +corr_angle[185] = 58.736400 +corr_pos[185] = -1.518018 +corr_angle[186] = 59.069500 +corr_pos[186] = -1.529099 +corr_angle[187] = 59.366100 +corr_pos[187] = -1.531832 +corr_angle[188] = 59.687000 +corr_pos[188] = -1.540146 +corr_angle[189] = 59.981900 +corr_pos[189] = -1.540056 +corr_angle[190] = 60.305600 +corr_pos[190] = -1.545285 +corr_angle[191] = 60.609700 +corr_pos[191] = -1.541992 +corr_angle[192] = 60.926700 +corr_pos[192] = -1.544172 +corr_angle[193] = 61.234000 +corr_pos[193] = -1.538488 +corr_angle[194] = 61.551200 +corr_pos[194] = -1.537740 +corr_angle[195] = 61.842900 +corr_pos[195] = -1.529228 +corr_angle[196] = 62.471000 +corr_pos[196] = -1.521113 +corr_angle[197] = 62.790900 +corr_pos[197] = -1.508273 +corr_angle[198] = 63.090200 +corr_pos[198] = -1.502369 +corr_angle[199] = 63.410600 +corr_pos[199] = -1.486559 +corr_angle[200] = 63.718500 +corr_pos[200] = -1.478094 +corr_angle[201] = 64.027300 +corr_pos[201] = -1.459561 +corr_angle[202] = 64.341900 +corr_pos[202] = -1.447459 +corr_angle[203] = 64.649400 +corr_pos[203] = -1.425878 +corr_angle[204] = 64.953700 +corr_pos[204] = -1.411048 +corr_angle[205] = 65.272800 +corr_pos[205] = -1.403285 +corr_angle[206] = 65.568400 +corr_pos[206] = -1.388350 +corr_angle[207] = 65.903200 +corr_pos[207] = -1.379641 +corr_angle[208] = 66.198700 +corr_pos[208] = -1.365350 +corr_angle[209] = 66.821800 +corr_pos[209] = -1.346663 +corr_angle[210] = 67.135300 +corr_pos[210] = -1.331691 +corr_angle[211] = 67.434500 +corr_pos[211] = -1.323962 +corr_angle[212] = 67.756300 +corr_pos[212] = -1.309079 +corr_angle[213] = 68.052900 +corr_pos[213] = -1.301807 +corr_angle[214] = 68.379700 +corr_pos[214] = -1.293953 +corr_angle[215] = 68.679900 +corr_pos[215] = -1.286466 +corr_angle[216] = 68.992200 +corr_pos[216] = -1.262229 +corr_angle[217] = 69.299500 +corr_pos[217] = -1.251377 +corr_angle[218] = 69.618300 +corr_pos[218] = -1.224058 +corr_angle[219] = 69.917500 +corr_pos[219] = -1.209652 +corr_angle[220] = 70.242000 +corr_pos[220] = -1.194550 +corr_angle[221] = 70.537000 +corr_pos[221] = -1.180552 +corr_angle[222] = 70.856800 +corr_pos[222] = -1.165060 +corr_angle[223] = 71.159700 +corr_pos[223] = -1.150186 +corr_angle[224] = 71.482500 +corr_pos[224] = -1.135117 +corr_angle[225] = 71.777900 +corr_pos[225] = -1.116477 +corr_angle[226] = 72.108800 +corr_pos[226] = -1.101668 +corr_angle[227] = 72.400400 +corr_pos[227] = -1.084066 +corr_angle[228] = 72.727900 +corr_pos[228] = -1.070684 +corr_angle[229] = 73.030600 +corr_pos[229] = -1.054294 +corr_angle[230] = 73.345900 +corr_pos[230] = -1.043541 +corr_angle[231] = 73.637600 +corr_pos[231] = -1.014681 +corr_angle[232] = 73.968600 +corr_pos[232] = -1.001548 +corr_angle[233] = 74.259400 +corr_pos[233] = -0.985207 +corr_angle[234] = 74.585900 +corr_pos[234] = -0.973821 +corr_angle[235] = 74.890600 +corr_pos[235] = -0.958680 +corr_angle[236] = 75.208000 +corr_pos[236] = -0.950096 +corr_angle[237] = 75.511200 +corr_pos[237] = -0.934925 +corr_angle[238] = 75.830900 +corr_pos[238] = -0.926847 +corr_angle[239] = 76.126100 +corr_pos[239] = -0.914500 +corr_angle[240] = 76.446300 +corr_pos[240] = -0.908417 +corr_angle[241] = 76.740300 +corr_pos[241] = -0.898506 +corr_angle[242] = 77.068500 +corr_pos[242] = -0.893634 +corr_angle[243] = 77.368800 +corr_pos[243] = -0.884849 +corr_angle[244] = 77.684400 +corr_pos[244] = -0.871928 +corr_angle[245] = 77.988600 +corr_pos[245] = -0.863150 +corr_angle[246] = 78.306500 +corr_pos[246] = -0.850584 +corr_angle[247] = 78.925100 +corr_pos[247] = -0.832572 +corr_angle[248] = 79.223900 +corr_pos[248] = -0.820126 +corr_angle[249] = 79.545700 +corr_pos[249] = -0.812550 +corr_angle[250] = 79.848600 +corr_pos[250] = -0.800392 +corr_angle[251] = 80.169200 +corr_pos[251] = -0.793186 +corr_angle[252] = 80.467400 +corr_pos[252] = -0.781645 +corr_angle[253] = 80.794700 +corr_pos[253] = -0.774704 +corr_angle[254] = 81.089200 +corr_pos[254] = -0.763059 +corr_angle[255] = 81.411100 +corr_pos[255] = -0.755903 +corr_angle[256] = 81.711100 +corr_pos[256] = -0.744893 +corr_angle[257] = 82.027400 +corr_pos[257] = -0.737625 +corr_angle[258] = 82.338300 +corr_pos[258] = -0.726097 +corr_angle[259] = 82.646800 +corr_pos[259] = -0.719577 +corr_angle[260] = 82.956600 +corr_pos[260] = -0.707986 +corr_angle[261] = 83.269300 +corr_pos[261] = -0.701610 +corr_angle[262] = 83.571400 +corr_pos[262] = -0.691079 +corr_angle[263] = 83.892300 +corr_pos[263] = -0.684460 +corr_angle[264] = 84.191200 +corr_pos[264] = -0.674628 +corr_angle[265] = 84.510400 +corr_pos[265] = -0.668025 +corr_angle[266] = 84.817600 +corr_pos[266] = -0.657494 +corr_angle[267] = 85.132000 +corr_pos[267] = -0.651652 +corr_angle[268] = 85.436200 +corr_pos[268] = -0.642597 +corr_angle[269] = 85.752500 +corr_pos[269] = -0.636828 +corr_angle[270] = 86.059000 +corr_pos[270] = -0.628161 +corr_angle[271] = 86.369600 +corr_pos[271] = -0.614591 +corr_angle[272] = 86.679900 +corr_pos[272] = -0.603884 +corr_angle[273] = 87.001500 +corr_pos[273] = -0.589724 +corr_angle[274] = 87.293400 +corr_pos[274] = -0.579340 +corr_angle[275] = 87.617200 +corr_pos[275] = -0.564651 +corr_angle[276] = 87.919300 +corr_pos[276] = -0.553724 +corr_angle[277] = 88.234200 +corr_pos[277] = -0.537782 +corr_angle[278] = 88.539500 +corr_pos[278] = -0.525306 +corr_angle[279] = 88.855000 +corr_pos[279] = -0.508843 +corr_angle[280] = 89.157200 +corr_pos[280] = -0.495552 +corr_angle[281] = 89.478400 +corr_pos[281] = -0.477128 +corr_angle[282] = 89.780300 +corr_pos[282] = -0.467899 +corr_angle[283] = 90.096000 +corr_pos[283] = -0.449690 +corr_angle[284] = 90.398100 +corr_pos[284] = -0.440285 +corr_angle[285] = 90.722100 +corr_pos[285] = -0.421506 +corr_angle[286] = 91.019700 +corr_pos[286] = -0.412015 +corr_angle[287] = 91.337000 +corr_pos[287] = -0.392541 +corr_angle[288] = 91.648000 +corr_pos[288] = -0.383053 +corr_angle[289] = 91.963000 +corr_pos[289] = -0.363729 +corr_angle[290] = 92.270400 +corr_pos[290] = -0.354615 +corr_angle[291] = 92.589900 +corr_pos[291] = -0.335074 +corr_angle[292] = 92.891000 +corr_pos[292] = -0.325966 +corr_angle[293] = 93.200900 +corr_pos[293] = -0.306048 +corr_angle[294] = 93.509400 +corr_pos[294] = -0.297314 +corr_angle[295] = 93.830200 +corr_pos[295] = -0.277245 +corr_angle[296] = 94.131600 +corr_pos[296] = -0.269393 +corr_angle[297] = 94.442000 +corr_pos[297] = -0.249697 +corr_angle[298] = 94.750200 +corr_pos[298] = -0.240958 +corr_angle[299] = 95.072700 +corr_pos[299] = -0.220912 +corr_angle[300] = 95.366800 +corr_pos[300] = -0.213740 +corr_angle[301] = 95.684700 +corr_pos[301] = -0.194160 +corr_angle[302] = 95.989700 +corr_pos[302] = -0.187060 +corr_angle[303] = 96.309000 +corr_pos[303] = -0.167279 +corr_angle[304] = 96.614600 +corr_pos[304] = -0.160098 +corr_angle[305] = 96.933500 +corr_pos[305] = -0.141086 +corr_angle[306] = 97.231500 +corr_pos[306] = -0.134135 +corr_angle[307] = 97.545600 +corr_pos[307] = -0.116127 +corr_angle[308] = 97.850100 +corr_pos[308] = -0.109107 +corr_angle[309] = 98.164400 +corr_pos[309] = -0.091676 +corr_angle[310] = 98.472100 +corr_pos[310] = -0.084178 +corr_angle[311] = 98.786900 +corr_pos[311] = -0.066916 +corr_angle[312] = 99.097400 +corr_pos[312] = -0.060095 +corr_angle[313] = 99.406500 +corr_pos[313] = -0.043043 +corr_angle[314] = 99.708700 +corr_pos[314] = -0.036257 +corr_angle[315] = 100.030600 +corr_pos[315] = -0.019561 +corr_angle[316] = 100.330900 +corr_pos[316] = -0.013096 +corr_angle[317] = 100.648300 +corr_pos[317] = 0.002401 +corr_angle[318] = 100.964500 +corr_pos[318] = 0.009086 +corr_angle[319] = 101.274500 +corr_pos[319] = 0.024382 +corr_angle[320] = 101.571200 +corr_pos[320] = 0.029575 +corr_angle[321] = 101.888200 +corr_pos[321] = 0.044358 +corr_angle[322] = 102.194900 +corr_pos[322] = 0.048823 +corr_angle[323] = 102.513400 +corr_pos[323] = 0.062774 +corr_angle[324] = 102.809600 +corr_pos[324] = 0.066317 +corr_angle[325] = 103.126600 +corr_pos[325] = 0.080397 +corr_angle[326] = 103.442800 +corr_pos[326] = 0.084057 +corr_angle[327] = 103.750400 +corr_pos[327] = 0.097298 +corr_angle[328] = 104.055800 +corr_pos[328] = 0.100145 +corr_angle[329] = 104.373600 +corr_pos[329] = 0.112560 +corr_angle[330] = 104.674100 +corr_pos[330] = 0.115044 +corr_angle[331] = 104.992000 +corr_pos[331] = 0.126965 +corr_angle[332] = 105.297000 +corr_pos[332] = 0.129562 +corr_angle[333] = 105.615300 +corr_pos[333] = 0.141514 +corr_angle[334] = 105.913400 +corr_pos[334] = 0.143274 +corr_angle[335] = 106.240500 +corr_pos[335] = 0.154480 +corr_angle[336] = 106.537900 +corr_pos[336] = 0.156711 +corr_angle[337] = 106.860300 +corr_pos[337] = 0.167006 +corr_angle[338] = 107.156500 +corr_pos[338] = 0.168901 +corr_angle[339] = 107.486200 +corr_pos[339] = 0.178636 +corr_angle[340] = 107.787800 +corr_pos[340] = 0.179748 +corr_angle[341] = 108.095800 +corr_pos[341] = 0.188463 +corr_angle[342] = 108.402800 +corr_pos[342] = 0.188818 +corr_angle[343] = 108.719600 +corr_pos[343] = 0.196979 +corr_angle[344] = 109.021700 +corr_pos[344] = 0.196582 +corr_angle[345] = 109.348500 +corr_pos[345] = 0.204521 +corr_angle[346] = 109.648000 +corr_pos[346] = 0.203085 +corr_angle[347] = 109.960400 +corr_pos[347] = 0.210435 +corr_angle[348] = 110.272500 +corr_pos[348] = 0.208974 +corr_angle[349] = 110.585800 +corr_pos[349] = 0.215737 +corr_angle[350] = 110.887600 +corr_pos[350] = 0.213800 +corr_angle[351] = 111.204500 +corr_pos[351] = 0.220146 +corr_angle[352] = 111.509200 +corr_pos[352] = 0.217459 +corr_angle[353] = 111.815900 +corr_pos[353] = 0.223865 +corr_angle[354] = 112.130400 +corr_pos[354] = 0.220230 +corr_angle[355] = 112.439000 +corr_pos[355] = 0.225885 +corr_angle[356] = 112.752800 +corr_pos[356] = 0.221179 +corr_angle[357] = 113.067800 +corr_pos[357] = 0.226503 +corr_angle[358] = 113.373400 +corr_pos[358] = 0.221373 +corr_angle[359] = 113.685300 +corr_pos[359] = 0.226572 +corr_angle[360] = 113.997800 +corr_pos[360] = 0.220818 +corr_angle[361] = 114.312200 +corr_pos[361] = 0.225798 +corr_angle[362] = 114.606100 +corr_pos[362] = 0.219332 +corr_angle[363] = 114.927200 +corr_pos[363] = 0.223765 +corr_angle[364] = 115.229200 +corr_pos[364] = 0.217458 +corr_angle[365] = 115.553000 +corr_pos[365] = 0.221603 +corr_angle[366] = 115.856600 +corr_pos[366] = 0.214876 +corr_angle[367] = 116.163200 +corr_pos[367] = 0.218816 +corr_angle[368] = 116.472700 +corr_pos[368] = 0.211481 +corr_angle[369] = 116.793200 +corr_pos[369] = 0.215162 +corr_angle[370] = 117.089900 +corr_pos[370] = 0.208069 +corr_angle[371] = 117.414100 +corr_pos[371] = 0.211002 +corr_angle[372] = 117.708200 +corr_pos[372] = 0.203877 +corr_angle[373] = 118.027700 +corr_pos[373] = 0.206287 +corr_angle[374] = 118.330900 +corr_pos[374] = 0.198889 +corr_angle[375] = 118.658000 +corr_pos[375] = 0.200786 +corr_angle[376] = 118.947100 +corr_pos[376] = 0.193190 +corr_angle[377] = 119.274000 +corr_pos[377] = 0.195179 +corr_angle[378] = 119.572400 +corr_pos[378] = 0.187323 +corr_angle[379] = 119.893300 +corr_pos[379] = 0.190097 +corr_angle[380] = 120.188300 +corr_pos[380] = 0.183455 +corr_angle[381] = 120.514300 +corr_pos[381] = 0.185916 +corr_angle[382] = 120.821000 +corr_pos[382] = 0.178651 +corr_angle[383] = 121.134300 +corr_pos[383] = 0.180986 +corr_angle[384] = 121.440100 +corr_pos[384] = 0.173182 +corr_angle[385] = 121.752700 +corr_pos[385] = 0.174989 +corr_angle[386] = 122.062200 +corr_pos[386] = 0.167082 +corr_angle[387] = 122.379100 +corr_pos[387] = 0.168534 +corr_angle[388] = 122.675000 +corr_pos[388] = 0.160417 +corr_angle[389] = 122.992500 +corr_pos[389] = 0.161464 +corr_angle[390] = 123.298800 +corr_pos[390] = 0.153346 +corr_angle[391] = 123.619700 +corr_pos[391] = 0.153760 +corr_angle[392] = 123.923900 +corr_pos[392] = 0.145443 +corr_angle[393] = 124.237300 +corr_pos[393] = 0.144899 +corr_angle[394] = 124.541000 +corr_pos[394] = 0.136360 +corr_angle[395] = 124.862300 +corr_pos[395] = 0.135391 +corr_angle[396] = 125.158200 +corr_pos[396] = 0.126919 +corr_angle[397] = 125.472100 +corr_pos[397] = 0.125861 +corr_angle[398] = 125.780500 +corr_pos[398] = 0.117261 +corr_angle[399] = 126.103700 +corr_pos[399] = 0.116054 +corr_angle[400] = 126.407600 +corr_pos[400] = 0.107760 +corr_angle[401] = 126.716700 +corr_pos[401] = 0.107250 +corr_angle[402] = 127.024900 +corr_pos[402] = 0.099692 +corr_angle[403] = 127.348600 +corr_pos[403] = 0.099037 +corr_angle[404] = 127.644300 +corr_pos[404] = 0.091666 +corr_angle[405] = 127.964300 +corr_pos[405] = 0.090676 +corr_angle[406] = 128.259900 +corr_pos[406] = 0.083157 +corr_angle[407] = 128.581000 +corr_pos[407] = 0.082922 +corr_angle[408] = 128.888300 +corr_pos[408] = 0.074912 +corr_angle[409] = 129.208100 +corr_pos[409] = 0.074210 +corr_angle[410] = 129.499300 +corr_pos[410] = 0.065969 +corr_angle[411] = 129.827700 +corr_pos[411] = 0.065227 +corr_angle[412] = 130.123500 +corr_pos[412] = 0.056800 +corr_angle[413] = 130.447100 +corr_pos[413] = 0.056068 +corr_angle[414] = 130.741700 +corr_pos[414] = 0.048255 +corr_angle[415] = 131.062800 +corr_pos[415] = 0.047868 +corr_angle[416] = 131.373500 +corr_pos[416] = 0.039746 +corr_angle[417] = 131.684800 +corr_pos[417] = 0.039507 +corr_angle[418] = 131.992000 +corr_pos[418] = 0.031594 +corr_angle[419] = 132.310100 +corr_pos[419] = 0.031273 +corr_angle[420] = 132.607200 +corr_pos[420] = 0.023656 +corr_angle[421] = 132.923900 +corr_pos[421] = 0.023377 +corr_angle[422] = 133.225600 +corr_pos[422] = 0.015815 +corr_angle[423] = 133.550200 +corr_pos[423] = 0.016273 +corr_angle[424] = 133.851100 +corr_pos[424] = 0.008979 +corr_angle[425] = 134.170700 +corr_pos[425] = 0.009443 +corr_angle[426] = 134.468900 +corr_pos[426] = 0.002188 +corr_angle[427] = 134.787400 +corr_pos[427] = 0.002008 +corr_angle[428] = 135.093700 +corr_pos[428] = -0.005523 +corr_angle[429] = 135.417700 +corr_pos[429] = -0.006010 +corr_angle[430] = 135.715900 +corr_pos[430] = -0.013343 +corr_angle[431] = 136.037200 +corr_pos[431] = -0.014009 +corr_angle[432] = 136.330500 +corr_pos[432] = -0.021439 +corr_angle[433] = 136.654100 +corr_pos[433] = -0.021916 +corr_angle[434] = 136.959100 +corr_pos[434] = -0.029127 +corr_angle[435] = 137.277100 +corr_pos[435] = -0.029890 +corr_angle[436] = 137.576000 +corr_pos[436] = -0.036620 +corr_angle[437] = 137.895900 +corr_pos[437] = -0.039284 +corr_angle[438] = 138.195400 +corr_pos[438] = -0.046529 +corr_angle[439] = 138.515700 +corr_pos[439] = -0.048887 +corr_angle[440] = 138.819700 +corr_pos[440] = -0.056909 +corr_angle[441] = 139.130300 +corr_pos[441] = -0.058144 +corr_angle[442] = 139.433400 +corr_pos[442] = -0.066258 +corr_angle[443] = 139.749100 +corr_pos[443] = -0.068403 +corr_angle[444] = 140.057600 +corr_pos[444] = -0.077283 +corr_angle[445] = 140.373400 +corr_pos[445] = -0.078980 +corr_angle[446] = 140.674500 +corr_pos[446] = -0.087707 +corr_angle[447] = 140.994200 +corr_pos[447] = -0.089918 +corr_angle[448] = 141.303600 +corr_pos[448] = -0.098743 +corr_angle[449] = 141.622100 +corr_pos[449] = -0.101660 +corr_angle[450] = 141.920600 +corr_pos[450] = -0.110877 +corr_angle[451] = 142.242200 +corr_pos[451] = -0.114106 +corr_angle[452] = 142.540200 +corr_pos[452] = -0.123580 +corr_angle[453] = 142.853900 +corr_pos[453] = -0.126704 +corr_angle[454] = 143.157400 +corr_pos[454] = -0.136624 +corr_angle[455] = 143.490200 +corr_pos[455] = -0.140181 +corr_angle[456] = 143.774800 +corr_pos[456] = -0.144946 +corr_angle[457] = 144.101000 +corr_pos[457] = -0.148780 +corr_angle[458] = 144.398300 +corr_pos[458] = -0.154459 +corr_angle[459] = 144.726000 +corr_pos[459] = -0.159608 +corr_angle[460] = 145.028400 +corr_pos[460] = -0.165430 +corr_angle[461] = 145.341200 +corr_pos[461] = -0.170510 +corr_angle[462] = 145.638100 +corr_pos[462] = -0.178295 +corr_angle[463] = 145.965700 +corr_pos[463] = -0.185343 +corr_angle[464] = 146.263000 +corr_pos[464] = -0.195554 +corr_angle[465] = 146.579400 +corr_pos[465] = -0.203352 +corr_angle[466] = 146.874400 +corr_pos[466] = -0.214231 +corr_angle[467] = 147.193900 +corr_pos[467] = -0.227953 +corr_angle[468] = 147.502700 +corr_pos[468] = -0.238583 +corr_angle[469] = 147.825800 +corr_pos[469] = -0.251261 +corr_angle[470] = 148.127500 +corr_pos[470] = -0.261670 +corr_angle[471] = 148.447500 +corr_pos[471] = -0.273703 +corr_angle[472] = 148.746700 +corr_pos[472] = -0.284761 +corr_angle[473] = 149.069900 +corr_pos[473] = -0.296818 +corr_angle[474] = 149.367700 +corr_pos[474] = -0.306792 +corr_angle[475] = 149.689100 +corr_pos[475] = -0.319395 +corr_angle[476] = 149.989200 +corr_pos[476] = -0.329551 +corr_angle[477] = 150.305800 +corr_pos[477] = -0.342563 +corr_angle[478] = 150.610300 +corr_pos[478] = -0.351481 +corr_angle[479] = 150.923900 +corr_pos[479] = -0.364687 +corr_angle[480] = 151.225200 +corr_pos[480] = -0.374574 +corr_angle[481] = 151.554500 +corr_pos[481] = -0.388988 +corr_angle[482] = 151.854200 +corr_pos[482] = -0.398760 +corr_angle[483] = 152.168100 +corr_pos[483] = -0.411632 +corr_angle[484] = 152.468000 +corr_pos[484] = -0.421066 +corr_angle[485] = 152.796200 +corr_pos[485] = -0.433911 +corr_angle[486] = 153.087100 +corr_pos[486] = -0.442264 +corr_angle[487] = 153.417300 +corr_pos[487] = -0.454795 +corr_angle[488] = 153.711100 +corr_pos[488] = -0.463079 +corr_angle[489] = 154.331600 +corr_pos[489] = -0.483152 +corr_angle[490] = 154.651600 +corr_pos[490] = -0.492597 +corr_angle[491] = 154.951100 +corr_pos[491] = -0.502697 +corr_angle[492] = 155.274500 +corr_pos[492] = -0.511477 +corr_angle[493] = 155.567900 +corr_pos[493] = -0.521685 +corr_angle[494] = 155.893000 +corr_pos[494] = -0.529392 +corr_angle[495] = 156.194400 +corr_pos[495] = -0.539009 +corr_angle[496] = 156.509000 +corr_pos[496] = -0.547164 +corr_angle[497] = 156.816500 +corr_pos[497] = -0.556567 +corr_angle[498] = 157.138000 +corr_pos[498] = -0.566454 +corr_angle[499] = 157.430500 +corr_pos[499] = -0.575215 +corr_angle[500] = 157.760700 +corr_pos[500] = -0.585165 +corr_angle[501] = 158.062700 +corr_pos[501] = -0.593757 +corr_angle[502] = 158.378300 +corr_pos[502] = -0.603039 +corr_angle[503] = 158.676200 +corr_pos[503] = -0.610972 +corr_angle[504] = 158.995500 +corr_pos[504] = -0.621012 +corr_angle[505] = 159.305300 +corr_pos[505] = -0.629767 +corr_angle[506] = 159.622300 +corr_pos[506] = -0.638532 +corr_angle[507] = 159.916000 +corr_pos[507] = -0.645426 +corr_angle[508] = 160.233200 +corr_pos[508] = -0.654340 +corr_angle[509] = 160.540800 +corr_pos[509] = -0.661705 +corr_angle[510] = 160.858600 +corr_pos[510] = -0.669784 +corr_angle[511] = 161.158000 +corr_pos[511] = -0.676571 +corr_angle[512] = 161.482900 +corr_pos[512] = -0.684743 +corr_angle[513] = 161.784000 +corr_pos[513] = -0.695467 +corr_angle[514] = 162.106700 +corr_pos[514] = -0.703847 +corr_angle[515] = 162.399200 +corr_pos[515] = -0.715703 +corr_angle[516] = 162.727300 +corr_pos[516] = -0.726118 +corr_angle[517] = 163.023700 +corr_pos[517] = -0.740617 +corr_angle[518] = 163.338200 +corr_pos[518] = -0.752010 +corr_angle[519] = 163.648300 +corr_pos[519] = -0.766910 +corr_angle[520] = 163.958700 +corr_pos[520] = -0.779069 +corr_angle[521] = 164.262800 +corr_pos[521] = -0.793458 +corr_angle[522] = 164.586200 +corr_pos[522] = -0.806755 +corr_angle[523] = 164.878600 +corr_pos[523] = -0.821617 +corr_angle[524] = 165.196400 +corr_pos[524] = -0.830230 +corr_angle[525] = 165.502400 +corr_pos[525] = -0.846719 +corr_angle[526] = 165.821000 +corr_pos[526] = -0.855601 +corr_angle[527] = 166.126700 +corr_pos[527] = -0.872306 +corr_angle[528] = 166.447100 +corr_pos[528] = -0.882566 +corr_angle[529] = 166.744000 +corr_pos[529] = -0.897439 +corr_angle[530] = 167.067300 +corr_pos[530] = -0.908062 +corr_angle[531] = 167.367700 +corr_pos[531] = -0.924458 +corr_angle[532] = 167.690100 +corr_pos[532] = -0.934775 +corr_angle[533] = 167.991800 +corr_pos[533] = -0.951618 +corr_angle[534] = 168.307300 +corr_pos[534] = -0.961652 +corr_angle[535] = 168.611700 +corr_pos[535] = -0.978499 +corr_angle[536] = 168.928000 +corr_pos[536] = -0.988207 +corr_angle[537] = 169.230900 +corr_pos[537] = -1.004513 +corr_angle[538] = 169.551800 +corr_pos[538] = -1.014156 +corr_angle[539] = 169.844700 +corr_pos[539] = -1.029659 +corr_angle[540] = 170.172100 +corr_pos[540] = -1.040936 +corr_angle[541] = 170.467800 +corr_pos[541] = -1.056917 +corr_angle[542] = 170.796500 +corr_pos[542] = -1.068501 +corr_angle[543] = 171.089600 +corr_pos[543] = -1.085252 +corr_angle[544] = 171.416200 +corr_pos[544] = -1.097136 +corr_angle[545] = 171.713100 +corr_pos[545] = -1.108390 +corr_angle[546] = 172.032600 +corr_pos[546] = -1.120401 +corr_angle[547] = 172.326600 +corr_pos[547] = -1.131362 +corr_angle[548] = 172.655300 +corr_pos[548] = -1.143513 +corr_angle[549] = 172.949200 +corr_pos[549] = -1.154286 +corr_angle[550] = 173.275700 +corr_pos[550] = -1.166151 +corr_angle[551] = 173.572400 +corr_pos[551] = -1.176839 +corr_angle[552] = 173.898900 +corr_pos[552] = -1.188498 +corr_angle[553] = 174.196300 +corr_pos[553] = -1.199024 +corr_angle[554] = 174.519900 +corr_pos[554] = -1.210375 +corr_angle[555] = 174.819700 +corr_pos[555] = -1.220798 +corr_angle[556] = 175.141700 +corr_pos[556] = -1.231891 +corr_angle[557] = 175.431600 +corr_pos[557] = -1.241788 +corr_angle[558] = 175.755200 +corr_pos[558] = -1.252735 +corr_angle[559] = 176.052100 +corr_pos[559] = -1.262686 +corr_angle[560] = 176.371300 +corr_pos[560] = -1.273285 +corr_angle[561] = 176.681100 +corr_pos[561] = -1.283474 +corr_angle[562] = 177.000600 +corr_pos[562] = -1.293880 +corr_angle[563] = 177.297600 +corr_pos[563] = -1.303459 +corr_angle[564] = 177.617500 +corr_pos[564] = -1.313679 +corr_angle[565] = 177.913800 +corr_pos[565] = -1.323052 +corr_angle[566] = 178.240300 +corr_pos[566] = -1.333277 +corr_angle[567] = 178.530700 +corr_pos[567] = -1.342281 +corr_angle[568] = 178.856400 +corr_pos[568] = -1.352278 +corr_angle[569] = 179.165500 +corr_pos[569] = -1.361667 +corr_angle[570] = 179.476600 +corr_pos[570] = -1.371019 +corr_angle[571] = 179.784600 +corr_pos[571] = -1.380180 +corr_angle[572] = 180.104600 +corr_pos[572] = -1.389598 diff --git a/csaxs_bec/bec_ipython_client/plugins/omny/omny.py b/csaxs_bec/bec_ipython_client/plugins/omny/omny.py index 16bb1db..32e0a8b 100644 --- a/csaxs_bec/bec_ipython_client/plugins/omny/omny.py +++ b/csaxs_bec/bec_ipython_client/plugins/omny/omny.py @@ -806,7 +806,7 @@ class OMNY( @property def sample_name(self): - return self.sample_get_name(0) + return dev.omny_samples.get_sample_name_in_samplestage() def write_to_spec_log(self, content): try: @@ -1213,7 +1213,7 @@ class OMNY( # correction_xeye_mu = self.align.lamni_compute_additional_correction_xeye_mu(angle) offsets = self.get_alignment_offset(angle) - sum_offset_x = offsets[0] + sum_offset_x = offsets[0] - self.compute_additional_correction_x(angle) sum_offset_y = ( offsets[1] - self.compute_additional_correction_y(angle) @@ -1324,39 +1324,55 @@ class OMNY( print(f"The angular step in a subtomogram it will be {self.tomo_angle_stepsize}") if self.tomo_type == 2: - self.golden_ratio_bunch_size = self._get_val( - "Number of projections sorted per bunch (default 20)", - self.golden_ratio_bunch_size, - int, - ) - self.golden_max_number_of_projections = self._get_val( - "Stop after number of projections (zero for endless)", - self.golden_max_number_of_projections, - int, - ) - self.golden_projections_at_0_deg_for_damage_estimation = self._get_val( - "Repeat projections at 0 deg every second subtomo 1/0 ?", - self.golden_projections_at_0_deg_for_damage_estimation, - int, - ) + code = self._get_val("This mode causes significant wear in OMNY. Enter authorization code.",0,str,) + if code == "x12sa": + self.golden_ratio_bunch_size = self._get_val( + "Number of projections sorted per bunch (minimum 100)", + self.golden_ratio_bunch_size, + int, + ) + if self.golden_ratio_bunch_size<100: + print("Minimum of 100 selected.") + self.golden_ratio_bunch_size=100 + self.golden_max_number_of_projections = self._get_val( + "Stop after number of projections (zero for endless)", + self.golden_max_number_of_projections, + int, + ) + self.golden_projections_at_0_deg_for_damage_estimation = self._get_val( + "Repeat projections at 0 deg every second subtomo 1/0 ?", + self.golden_projections_at_0_deg_for_damage_estimation, + int, + ) + else: + print("Wrong authorization code. Tomo type 1 selected: 2 sub-tomograms selected.") + self.tomo_type = 1 if self.tomo_type == 3: - numprj = self._get_val( - "Number of projections per sub-tomogram", - int(180 / self.tomo_angle_stepsize), - int, - ) - self.tomo_angle_stepsize = 180 / numprj - self.golden_max_number_of_projections = self._get_val( - "Stop after number of projections (zero for endless)", - self.golden_max_number_of_projections, - int, - ) - self.golden_projections_at_0_deg_for_damage_estimation = self._get_val( - "Repeat projections at 0 deg every second subtomo", - self.golden_projections_at_0_deg_for_damage_estimation, - int, - ) + code = self._get_val("This mode causes significant wear in OMNY. Enter authorization code.",0,str,) + if code == "x12sa": + numprj = self._get_val( + "Number of projections per sub-tomogram (minimum 100)", + int(180 / self.tomo_angle_stepsize), + int, + ) + if numprj < 100: + numprj = 100 + print("Minimum of 100 selected.") + self.tomo_angle_stepsize = 180 / numprj + self.golden_max_number_of_projections = self._get_val( + "Stop after number of projections (zero for endless)", + self.golden_max_number_of_projections, + int, + ) + self.golden_projections_at_0_deg_for_damage_estimation = self._get_val( + "Repeat projections at 0 deg every second subtomo", + self.golden_projections_at_0_deg_for_damage_estimation, + int, + ) + else: + print("Wrong authorization code. Tomo type 1 selected: 2 sub-tomograms selected.") + self.tomo_type = 1 @staticmethod def _get_val(msg: str, default_value, data_type): diff --git a/csaxs_bec/bec_ipython_client/plugins/omny/omny_alignment_mixin.py b/csaxs_bec/bec_ipython_client/plugins/omny/omny_alignment_mixin.py index 2c5eaf5..e3b2060 100644 --- a/csaxs_bec/bec_ipython_client/plugins/omny/omny_alignment_mixin.py +++ b/csaxs_bec/bec_ipython_client/plugins/omny/omny_alignment_mixin.py @@ -16,7 +16,8 @@ class OMNYAlignmentError(Exception): class OMNYAlignmentMixin: - default_correction_file = "correction_flomni_20210300_360deg.txt" + default_correction_file = "correction_omny_202204.txt" + default_correction_file_x = "correction_omny_202204_x.txt" def reset_correction(self, use_default_correction=True): """ @@ -27,15 +28,25 @@ class OMNYAlignmentMixin: Args: use_default_correction (bool, optional): If set to true, a call reset the correction to the default values. Defaults to True. """ + self.corr_pos_x = [] + self.corr_angle_x = [] self.corr_pos_y = [] self.corr_angle_y = [] self.corr_pos_y_2 = [] self.corr_angle_y_2 = [] if use_default_correction: + try: + self.read_additional_correction_x(self.default_correction_file_x) + logger.info(f"Applying default x correction from {self.default_correction_file_x}") + except FileNotFoundError: + logger.warning( + f"Could not find default correction file {self.default_correction_file_x}." + ) + logger.warning("Not applying any correction.") try: self.read_additional_correction_y(self.default_correction_file) - logger.info(f"Applying default correction from {self.default_correction_file}") + logger.info(f"Applying default y correction from {self.default_correction_file}") except FileNotFoundError: logger.warning( f"Could not find default correction file {self.default_correction_file}." @@ -48,7 +59,7 @@ class OMNYAlignmentMixin: def read_alignment_offset( self, dir_path=os.path.expanduser("~/Data10/specES1/internal/"), - setup="flomni", + setup="omny", use_vertical_default_values=True, ): """ @@ -181,29 +192,39 @@ class OMNYAlignmentMixin: print( f"Loading default mirror correction from file {correction_file} containing {int_num_elements} elements." ) + print(corr_pos) return corr_pos, corr_angle + def read_additional_correction_x(self, correction_file: str): + self.corr_pos_x, self.corr_angle_x = self._read_correction_file(correction_file) + def read_additional_correction_y(self, correction_file: str): self.corr_pos_y, self.corr_angle_y = self._read_correction_file(correction_file) def read_additional_correction_y_2(self, correction_file: str): self.corr_pos_y_2, self.corr_angle_y_2 = self._read_correction_file(correction_file) + def compute_additional_correction_x(self, angle): + return self._compute_additional_correction(angle, iteration="x1") + def compute_additional_correction_y(self, angle): - return self._compute_additional_correction(angle, iteration=1) + return self._compute_additional_correction(angle, iteration="y1") def compute_additional_correction_y_2(self, angle): - return self._compute_additional_correction(angle, iteration=2) + return self._compute_additional_correction(angle, iteration="y2") - def _compute_additional_correction(self, angle, iteration=1): - if iteration == 1: + def _compute_additional_correction(self, angle, iteration="y1"): + if iteration == "x1": + corr_pos = self.corr_pos_x + corr_angle = self.corr_angle_x + elif iteration == "y1": corr_pos = self.corr_pos_y corr_angle = self.corr_angle_y - elif iteration == 2: + elif iteration == "y2": corr_pos = self.corr_pos_y_2 corr_angle = self.corr_angle_y_2 if not corr_pos: - print("Not applying any additional correction. No data available.\n") + print(f"Not applying any additional correction {iteration}. No data available.\n") return 0 # find index of closest angle @@ -220,5 +241,5 @@ class OMNYAlignmentMixin: if additional_correction_shift == 0 and angle > corr_angle[-1]: additional_correction_shift = corr_pos[-1] - print(f"Additional correction shift {iteration} in y: {additional_correction_shift}") + print(f"Additional correction shift {iteration}: {additional_correction_shift}") return additional_correction_shift diff --git a/csaxs_bec/bec_ipython_client/plugins/omny/omny_rt.py b/csaxs_bec/bec_ipython_client/plugins/omny/omny_rt.py index 3520c90..f542c7c 100644 --- a/csaxs_bec/bec_ipython_client/plugins/omny/omny_rt.py +++ b/csaxs_bec/bec_ipython_client/plugins/omny/omny_rt.py @@ -146,17 +146,21 @@ class OMNY_rt_client: def omny_interferometer_align_incoupling_angle(self): dev.rtx.controller.omny_interferometer_align_incoupling_angle() - def omny_interferometer_tweak_otrack(self): + def interferometer_tweak_otrack(self): self.OMNYTools.tweak_cursor(dev.otrackz,.1,dev.otracky,.1,special_command=dev.rtx.controller.laser_tracker_print_intensity_for_otrack_tweaking) - def feedback_enable(self): - dev.rtx.controller._feedback_enable_with_reset_part1() - self.omny_interferometer_align_tracking() - dev.rtx.controller._feedback_enable_with_reset_part2() + def feedback_enable_with_reset(self): + dev.rtx.controller.feedback_enable_with_reset() def feedback_disable(self): dev.rtx.controller.feedback_disable() + def feedback_status(self): + if dev.rtx.controller.feedback_is_running(): + print("Feedback is running.") + else: + print("Feedback is NOT running.") + def laser_tracker_on(self): dev.rtx.controller.laser_tracker_on() @@ -164,7 +168,7 @@ class OMNY_rt_client: dev.rtx.controller.laser_tracker_off() def laser_tracker_show_all(self): - dev.rtx.controller.laser_tracker_show_all + dev.rtx.controller.laser_tracker_show_all() def omny_interferometer_align_tracking(self): dev.rtx.controller.omny_interferometer_align_tracking() diff --git a/csaxs_bec/bec_ipython_client/plugins/omny/x_ray_eye_align.py b/csaxs_bec/bec_ipython_client/plugins/omny/x_ray_eye_align.py index 5140e6b..22c83fc 100644 --- a/csaxs_bec/bec_ipython_client/plugins/omny/x_ray_eye_align.py +++ b/csaxs_bec/bec_ipython_client/plugins/omny/x_ray_eye_align.py @@ -22,7 +22,7 @@ if TYPE_CHECKING: class XrayEyeAlign: # pixel calibration, multiply to get mm - PIXEL_CALIBRATION = 0.1 / 113 # .2 with binning + PIXEL_CALIBRATION = 0.2/218 # .2 with binning def __init__(self, client, omny: OMNY) -> None: self.client = client @@ -63,6 +63,13 @@ class XrayEyeAlign: # fshclose print("got new frame") + def tomo_rotate(self, val: float): + # pylint: disable=undefined-variable + umv(self.device_manager.devices.osamroy, val) + + def get_tomo_angle(self): + return self.device_manager.devices.osamroy.readback.get() + def update_fov(self, k: int): self._xray_fov_xy[0] = max(epics_get(f"XOMNYI-XEYE-XWIDTH_X:{k}"), self._xray_fov_xy[0]) self._xray_fov_xy[1] = max(0, self._xray_fov_xy[0]) @@ -84,34 +91,28 @@ class XrayEyeAlign: # reset shift xy and fov params self._reset_init_values() - self.flomni.lights_off() - self.tomo_rotate(0) epics_put("XOMNYI-XEYE-ANGLE:0", 0) - self.flomni.feye_in() + self.omny.oeye_xray_in() - self.flomni.laser_tracker_on() - - self.flomni.rt_feedback_enable_with_reset() + self.omny.feedback_enable_with_reset() # disable movement buttons self.movement_buttons_enabled = False - sample_name = self.flomni.sample_get_name(0) + sample_name = dev.omny_samples.get_sample_name_in_samplestage() epics_put("XOMNYI-XEYE-SAMPLENAME:0.DESC", sample_name) # this makes sure we are in a defined state - self.flomni.rt_feedback_disable() + self.omny.feedback_disable() epics_put("XOMNYI-XEYE-PIXELSIZE:0", self.PIXEL_CALIBRATION) - self.flomni.fosa_out() + osamx_in = self.omny.OMNYTools._get_user_param_safe("osamx", "in") + umv(dev.osamx, osamx_in - 0.35) - fsamx_in = self.flomni._get_user_param_safe("fsamx", "in") - umv(dev.fsamx, fsamx_in - 0.25) - - self.flomni.ffzp_in() + self.omny.ofzp_in() self.update_frame() # enable submit buttons @@ -136,14 +137,11 @@ class XrayEyeAlign: self.movement_buttons_enabled = False epics_put("XOMNYI-XEYE-SUBMIT:0", -1) # disable submit button - self.flomni.rt_feedback_disable() - fsamx_in = self.flomni._get_user_param_safe("fsamx", "in") - umv(dev.fsamx, fsamx_in) + self.omny.feedback_disable() + osamx_in = self.omny.OMNYTools._get_user_param_safe("osamx", "in") + umv(dev.osamx, osamx_in) - self.flomni.foptics_out() - - self.flomni.rt_feedback_disable() - umv(dev.fsamx, fsamx_in - 0.25) + self.omny.ofzp_out() self.update_frame() epics_put("XOMNYI-XEYE-RECBG:0", 1) @@ -151,9 +149,9 @@ class XrayEyeAlign: time.sleep(0.5) print("waiting for background frame...") - umv(dev.fsamx, fsamx_in) + umv(dev.osamx, osamx_in) time.sleep(0.5) - self.flomni.rt_feedback_enable_with_reset() + self.omny.feedback_enable_with_reset() self.update_frame() self.send_message("Adjust sample height and submit center") @@ -198,11 +196,11 @@ class XrayEyeAlign: # allow movements, store movements to calculate center _xrayeyalignmvy = epics_get("XOMNYI-XEYE-MVY:0") if _xrayeyalignmvy != 0: - self.flomni.rt_feedback_disable() - umvr(dev.fsamy, _xrayeyalignmvy / 1000) + self.omny.feedback_disable() + umvr(dev.osamy, _xrayeyalignmvy / 1000) time.sleep(2) epics_put("XOMNYI-XEYE-MVY:0", 0) - self.flomni.rt_feedback_enable_with_reset() + self.omny.feedback_enable_with_reset() self.update_frame() time.sleep(0.2) @@ -223,7 +221,7 @@ class XrayEyeAlign: ) print("Use the matlab routine to FIT the current alignment...") - print("Then LOAD ALIGNMENT PARAMETERS by running flomni.read_alignment_offset()\n") + print("Then LOAD ALIGNMENT PARAMETERS by running omny.read_alignment_offset()\n") def write_output(self): file = os.path.expanduser("~/Data10/specES1/internal/xrayeye_alignmentvalues") diff --git a/csaxs_bec/device_configs/omny_config.yaml b/csaxs_bec/device_configs/omny_config.yaml index 3c0b2f7..c83344d 100644 --- a/csaxs_bec/device_configs/omny_config.yaml +++ b/csaxs_bec/device_configs/omny_config.yaml @@ -102,14 +102,14 @@ rtz: # ############################################################ # ##################### OMNY samples ######################### # ############################################################ -# omny_samples: -# description: OMNYSampleStorage -# deviceClass: csaxs_bec.devices.omny.omny_sample_storage.OMNYSampleStorage -# deviceConfig: {} -# enabled: true -# onFailure: buffer -# readOnly: false -# readoutPriority: baseline +omny_samples: + description: OMNYSampleStorage + deviceClass: csaxs_bec.devices.omny.omny_sample_storage.OMNYSampleStorage + deviceConfig: {} + enabled: true + onFailure: buffer + readOnly: false + readoutPriority: baseline # ############################################################ # ##################### OMNY samples ######################### # ############################################################ diff --git a/csaxs_bec/devices/omny/galil/galil_ophyd.py b/csaxs_bec/devices/omny/galil/galil_ophyd.py index dc5255f..f658401 100644 --- a/csaxs_bec/devices/omny/galil/galil_ophyd.py +++ b/csaxs_bec/devices/omny/galil/galil_ophyd.py @@ -251,7 +251,7 @@ class GalilController(Controller): def is_motor_on(self, axis_Id) -> bool: return not bool(float(self.socket_put_and_receive(f"MG _MO{axis_Id}").strip())) - + def get_motor_limit_switch(self, axis_Id) -> list: """ Get the status of the motor limit switches. @@ -357,7 +357,6 @@ class GalilSignalBase(SocketSignal): self.signal_name = signal_name super().__init__(**kwargs) self.controller = self.parent.controller - self.sock = self.parent.controller.sock class GalilSignalRO(GalilSignalBase): @@ -422,7 +421,7 @@ class GalilSetpointSignal(GalilSignalBase): time.sleep(0.1) #in the case of lamni, consider moving to lgalil - if self.parent.axis_Id_numeric == 2 and self.sock.host == "mpc2680.psi.ch": + if self.parent.axis_Id_numeric == 2 and self.controller.sock.host == "mpc2680.psi.ch": try: rt = self.parent.device_manager.devices[self.parent.rt] if rt.enabled: diff --git a/csaxs_bec/devices/omny/galil/ogalil_ophyd.py b/csaxs_bec/devices/omny/galil/ogalil_ophyd.py index 29991ae..7cf538e 100644 --- a/csaxs_bec/devices/omny/galil/ogalil_ophyd.py +++ b/csaxs_bec/devices/omny/galil/ogalil_ophyd.py @@ -68,7 +68,7 @@ class OMNYGalilReadbackSignal(GalilSignalRO): #here we introduce an offset of 25 to the rotation axis #when setting a position this is taken into account in the controller #that way we just do tomography from 0 to 180 degrees - if self.parent.axis_Id_numeric == 2 and self.sock.port == 8083: + if self.parent.axis_Id_numeric == 2 and self.controller.sock.port == 8083: return (current_pos / step_mm)+25 else: return current_pos / step_mm @@ -77,7 +77,7 @@ class OMNYGalilReadbackSignal(GalilSignalRO): self._metadata["timestamp"] = time.time() val = super().read() #if reading rotation stage angle - if self.parent.axis_Id_numeric == 2 and self.sock.port == 8083: + if self.parent.axis_Id_numeric == 2 and self.controller.sock.port == 8083: try: rt = self.parent.device_manager.devices["rtx"] diff --git a/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py b/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py index 9581bb2..c011a23 100644 --- a/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py +++ b/csaxs_bec/devices/omny/rt/rt_omny_ophyd.py @@ -49,8 +49,7 @@ class RtOMNYController(Controller): "socket_put_and_receive", "set_rotation_angle", "feedback_disable", - "_feedback_enable_with_reset_part1", - "_feedback_enable_with_reset_part2", + "feedback_enable_with_reset", "feedback_is_running", "add_pos_to_scan", "get_pid_x", @@ -466,7 +465,7 @@ class RtOMNYController(Controller): return False return True - def _feedback_enable_with_reset_part1(self): + def feedback_enable_with_reset(self): self.get_device_manager().connector.send_client_info(f"Enabling the feedback...", scope="", show_asap=True) self.socket_put("J0") # disable feedback @@ -500,9 +499,7 @@ class RtOMNYController(Controller): time.sleep(0.3) self.laser_tracker_wait_on_target() - #now the client checks the signal of tracking and readligns if needed - - def _feedback_enable_with_reset_part2(self): + self.omny_interferometer_align_tracking() self.socket_put("J1") time.sleep(0.5) @@ -943,9 +940,15 @@ class RtOMNYController(Controller): ) logger.info( - "OMNY statistics: Average of all standard deviations: x" - f" {self.average_stdeviations_x_st_fzp/number_of_samples_to_read}, y" - f" {self.average_stdeviations_y_st_fzp/number_of_samples_to_read}." + "OMNY statistics: Average of all standard deviations [nm]: x" + f" {self.average_stdeviations_x_st_fzp/read_counter*1000:.1f}, y" + f" {self.average_stdeviations_y_st_fzp/read_counter*1000:.1f}." + ) + + print( + "OMNY statistics: Average of all standard deviations [nm]: x" + f" {self.average_stdeviations_x_st_fzp/read_counter*1000:.1f}, y" + f" {self.average_stdeviations_y_st_fzp/read_counter*1000:.1f}." ) def publish_device_data(self, signals, point_id): @@ -1152,15 +1155,18 @@ class RtOMNYMotor(Device, PositionerBase): self.user_setpoint.put(position, wait=False) def move_and_finish(): - while not self.controller.slew_rate_limiters_on_target() and not self._stopped: - print("motor is moving") - val = self.readback.read() - self._run_subs(sub_type=self.SUB_READBACK, value=val, timestamp=time.time()) - time.sleep(0.01) - print("Move finished") - self._done_moving(success=(not self._stopped)) + self._stopped = False + try: + while not self.controller.slew_rate_limiters_on_target() and not self._stopped: + print("motor is moving") + val = self.readback.read() + self._run_subs(sub_type=self.SUB_READBACK, value=val, timestamp=time.time()) + time.sleep(0.01) + print("Move finished") + self._done_moving(success=(not self._stopped)) + finally: + self._stopped = False - self._stopped = False threading.Thread(target=move_and_finish, daemon=True).start() try: if wait: diff --git a/csaxs_bec/scans/omny_fermat_scan.py b/csaxs_bec/scans/omny_fermat_scan.py index 04fb980..cd270f3 100644 --- a/csaxs_bec/scans/omny_fermat_scan.py +++ b/csaxs_bec/scans/omny_fermat_scan.py @@ -162,14 +162,8 @@ class OMNYFermatScan(SyncFlyScanBase): wait_type="move", device=["rtx", "rtz"], wait_group="prepare_setup_part2" ) yield from self._transfer_positions_to_omny() - yield from self.omny_osamx_to_scan_center() + #yield from self.omny_osamx_to_scan_center() - def _get_user_param_safe(self, device, var): - param = dev[device].user_parameter - if not param or param.get(var) is None: - raise ValueError(f"Device {device} has no user parameter definition for {var}.") - return param.get(var) - def omny_osamx_to_scan_center(self): # get last setpoint osamroy_current_setpoint = yield from self.stubs.send_rpc_and_wait( @@ -178,15 +172,20 @@ class OMNYFermatScan(SyncFlyScanBase): omny_samx_in = self._get_user_param_safe("osamx","in") if np.fabs(osamroy_current_setpoint-(omny_samx_in+self.cenx/1000)) > 0.025: logger.info("Moving osamx to scan center") - self.set_device_enabled("osamx", True) + self.device_manager.devices["osamx"].read_only = False yield from self.stubs.send_rpc_and_wait("osamx", 'controller.socket_put_confirmed("axspeed[0]=100")') yield from self.stubs.set(device="osamx", value=self.cenx/1000, wait_group="osamx_mv") yield from self.stubs.wait(wait_type="move", device="osamx", wait_group="osamx_mv") - self.set_device_enabled("osamx", False) + self.device_manager.devices["osamx"].read_only = True time.sleep(4) yield from self.stubs.send_rpc_and_wait("rtx", "controller.laser_tracker_on") yield from self.stubs.send_rpc_and_wait("rtx", "controller.laser_tracker_check_and_wait_for_signalstrength") + def _get_user_param_safe(self, device, var): + param = self.device_manager.devices[device].user_parameter + if not param or param.get(var) is None: + raise ValueError(f"Device {device} has no user parameter definition for {var}.") + return param.get(var) def omny_rotation(self, angle): # get last setpoint (cannot be based on pos get because they will deviate slightly)