diff --git a/IR_config_constants.py b/IR_config_constants.py index 663b9522bfd1e766462c673169ef7452c70d907c..7621beb3d7046087683448d5735e0bcbb94048a5 100644 --- a/IR_config_constants.py +++ b/IR_config_constants.py @@ -5,55 +5,61 @@ Version: 3.3.0 @author: holn constants and config parameters """ -#%% Paths -calibpath="\\\\sv-e4-fs-1\\E4-Mitarbeiter\\E4 Diagnostics\\QIR\\Calibrations\\" -IRCamColdframes_fittingpath=calibpath+"IRCamColdframes_fitting\\" +# %% Paths +from matplotlib import cm +import os.path as ospath +calibpath = "\\\\sv-e4-fs-1\\E4-Mitarbeiter\\E4 Diagnostics\\QIR\\Calibrations\\" +IRCamColdframes_fittingpath = calibpath+"IRCamColdframes_fitting\\" #IRCamRefImagespath = calibpath+'IRCamReferenceImages\\' IRCAMBadPixels_path = calibpath + 'IRCAMBadPixels\\' -heatflux_requestlist_path="\\\\x-drive\\Diagnostic-logbooks\\QRT-DivertorThermography\\ArchiveDB_heatflux_pipeline\\" +heatflux_requestlist_path = "\\\\x-drive\\Diagnostic-logbooks\\QRT-DivertorThermography\\ArchiveDB_heatflux_pipeline\\" # get local parameter directory from script location -import os.path as ospath parameter_file_path = ospath.join(ospath.dirname(__file__), 'data') try: -# import sys - path=str(repr(__file__)).split("IR_config_constants")[0].split("'")[1]+"upload_config" - cFile=open(path.replace('\\\\',"\\"))#+"upload_config") + # import sys + path = str(repr(__file__)).split("IR_config_constants")[ + 0].split("'")[1]+"upload_config" + cFile = open(path.replace('\\\\', "\\")) # +"upload_config") for line in cFile: - if line[0:3]!="###": - if line.split("=")[0]=='archivedb': + if line[0:3] != "###": + if line.split("=")[0] == 'archivedb': if eval(line.split("=")[1].split("\n")[0]): - archivepath="http://archive-webapi.ipp-hgw.mpg.de/ArchiveDB/raw/" + archivepath = "http://archive-webapi.ipp-hgw.mpg.de/ArchiveDB/raw/" else: - archivepath="http://archive-webapi.ipp-hgw.mpg.de/Test/raw/" - cFile.close() + archivepath = "http://archive-webapi.ipp-hgw.mpg.de/Test/raw/" + cFile.close() except Exception as E: - archivepath="http://archive-webapi.ipp-hgw.mpg.de/Test/raw/" - print("config loading failed",E) + archivepath = "http://archive-webapi.ipp-hgw.mpg.de/Test/raw/" + print("config loading failed", E) # raise Exception("Config file was not loaded properly",E) testarchivepath = "http://archive-webapi.ipp-hgw.mpg.de/Test/raw/" -#%% Dictionaries -project="W7X" -project_ana="W7XAnalysis" -portcamdict={ - 'OP1.2a':{ +# %% Dictionaries +project = "W7X" +project_ana = "W7XAnalysis" +portcamdict = { + 'OP1.2a': { 'AEF10': 'IRCam_Caleo768kL_0901', - 'AEF11': 'IRCam_Caleo768kL_0904',#is corrected from 0906, the cameras was swapped in the campaign in restect to the planned position + # is corrected from 0906, the cameras was swapped in the campaign in restect to the planned position + 'AEF11': 'IRCam_Caleo768kL_0904', 'AEF20': 'IRCam_Caleo768kL_0702', - 'AEF21': 'IRCam_Caleo768kL_0906',#is corrected from 0904, the cameras was swapped in the campaign in restect to the planned position + # is corrected from 0904, the cameras was swapped in the campaign in restect to the planned position + 'AEF21': 'IRCam_Caleo768kL_0906', 'AEF30': 'IRCam_Caleo768kL_0907', 'AEF31': 'IRCam_Caleo768kL_0903', 'AEF40': 'IRCam_Caleo768kL_0701', 'AEF41': 'IRCam_Caleo768kL_0902', 'AEF50': 'Infratec_9312907', 'AEF51': 'IRCam_Caleo768kL_0905'}, - 'OP1.2b':{ + 'OP1.2b': { 'AEF10': 'IRCam_Caleo768kL_0901', - 'AEF11': 'IRCam_Caleo768kL_0904',#is corrected from 0906, the cameras was swapped in the campaign in restect to the planned position + # is corrected from 0906, the cameras was swapped in the campaign in restect to the planned position + 'AEF11': 'IRCam_Caleo768kL_0904', 'AEF20': 'IRCam_Caleo768kL_0702', - 'AEF21': 'IRCam_Caleo768kL_0906',#is corrected from 0904, the cameras was swapped in the campaign in restect to the planned position + # is corrected from 0904, the cameras was swapped in the campaign in restect to the planned position + 'AEF21': 'IRCam_Caleo768kL_0906', 'AEF30': 'IRCam_Caleo768kL_0907', 'AEF31': 'IRCam_Caleo768kL_0903', 'AEF40': 'IRCam_Caleo768kL_0701', @@ -61,10 +67,10 @@ portcamdict={ 'AEF50': 'Infratec_9312907', 'AEF51': 'IRCam_Caleo768kL_0905', 'AEK51': 'FLIR_SC8303_00037'} - } +} -portpathdict={ - 'OP1.2a':{ +portpathdict = { + 'OP1.2a': { 'AEF10': 'QRT_IRCAM/AEF10_', 'AEF11': 'QRT_IRCAM/AEF11_', 'AEF20': 'QRT_IRCAM/AEF20_', @@ -75,7 +81,7 @@ portpathdict={ 'AEF41': 'QRT_IRCAM/AEF41_', 'AEF50': 'QRT_IRCAM/AEF50_', 'AEF51': 'QRT_IRCAM/AEF51_'}, - 'OP1.2b':{ + 'OP1.2b': { 'AEF10': 'QRT_IRCAM/AEF10_', 'AEF11': 'QRT_IRCAM/AEF11_', 'AEF20': 'QRT_IRCAM/AEF20_', @@ -87,149 +93,149 @@ portpathdict={ 'AEF50': 'QRT_IRCAM/AEF50_', 'AEF51': 'QRT_IRCAM/AEF51_', 'AEK51': 'QSR07_FLIR/AEK51_'} - } - -camlimdict={ +} + +camlimdict = { 'IRCam_Caleo768kL_0901': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1200), - 5:(50,1100), - 6:(50,850), - 7:(50,800), - 8:(50,600), - 9:(50,550) - }, + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1200), + 5: (50, 1100), + 6: (50, 850), + 7: (50, 800), + 8: (50, 600), + 9: (50, 550) + }, 'IRCam_Caleo768kL_0902': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1200), - 5:(50,1100), - 6:(50,1000), - 7:(50,800), - 8:(50,800), - 9:(50,650) - }, + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1200), + 5: (50, 1100), + 6: (50, 1000), + 7: (50, 800), + 8: (50, 800), + 9: (50, 650) + }, 'IRCam_Caleo768kL_0903': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1200), - 5:(50,1100), - 6:(50,1000), - 7:(50,900), - 8:(50,800), - 9:(50,700) - }, + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1200), + 5: (50, 1100), + 6: (50, 1000), + 7: (50, 900), + 8: (50, 800), + 9: (50, 700) + }, 'IRCam_Caleo768kL_0904': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1200), - 5:(50,1100), - 6:(50,900), - 7:(50,800), - 8:(50,700), - 9:(50,600) - }, + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1200), + 5: (50, 1100), + 6: (50, 900), + 7: (50, 800), + 8: (50, 700), + 9: (50, 600) + }, 'IRCam_Caleo768kL_0905': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1200), - 5:(50,1100), - 6:(50,900), - 7:(50,800), - 8:(50,700), - 9:(50,600) - }, + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1200), + 5: (50, 1100), + 6: (50, 900), + 7: (50, 800), + 8: (50, 700), + 9: (50, 600) + }, 'IRCam_Caleo768kL_0906': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1200), - 5:(50,1000), - 6:(50,800), - 7:(50,750), - 8:(50,600), - 9:(50,550) - }, + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1200), + 5: (50, 1000), + 6: (50, 800), + 7: (50, 750), + 8: (50, 600), + 9: (50, 550) + }, 'IRCam_Caleo768kL_0907': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1200), - 5:(50,1100), - 6:(50,900), - 7:(50,800), - 8:(50,700), - 9:(50,600) - }, - 'IRCam_Caleo768kL_0701': + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1200), + 5: (50, 1100), + 6: (50, 900), + 7: (50, 800), + 8: (50, 700), + 9: (50, 600) + }, + 'IRCam_Caleo768kL_0701': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1580), - 5:(50,1100), - 6:(50,900), - 7:(50,800), - 8:(50,750), - 9:(50,700) - }, + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1580), + 5: (50, 1100), + 6: (50, 900), + 7: (50, 800), + 8: (50, 750), + 9: (50, 700) + }, 'IRCam_Caleo768kL_0702': { - 1:(50,5000), - 2:(50,3000), - 3:(50,2050), - 4:(50,1580), - 5:(50,1150), - 6:(50,1000), - 7:(50,800), - 8:(50,750), - 9:(50,700) - }, - 'Infratec_9312907': - { - 0:{ - 25:(50,400), - 50:(50,300), - 100:(50,250), - 200:(50,200), - 400:(50,150), - 800:(50,100) - }, - 1:{ - 25:(300,1200), - 50:(200,800), - 100:(150,650), - 200:(100,500), - 400:(50,400), - 800:(50,300) - }, - 2:{ - 25:(200,1200), - 50:(200,1200), - 100:(200,1200), - 200:(200,1200), - 400:(200,1000), - 800:(200,700) - }, - } + 1: (50, 5000), + 2: (50, 3000), + 3: (50, 2050), + 4: (50, 1580), + 5: (50, 1150), + 6: (50, 1000), + 7: (50, 800), + 8: (50, 750), + 9: (50, 700) + }, + 'Infratec_9312907': + { + 0: { + 25: (50, 400), + 50: (50, 300), + 100: (50, 250), + 200: (50, 200), + 400: (50, 150), + 800: (50, 100) + }, + 1: { + 25: (300, 1200), + 50: (200, 800), + 100: (150, 650), + 200: (100, 500), + 400: (50, 400), + 800: (50, 300) + }, + 2: { + 25: (200, 1200), + 50: (200, 1200), + 100: (200, 1200), + 200: (200, 1200), + 400: (200, 1000), + 800: (200, 700) + }, + } } valid_FOV_circle = { - 10: [562, 364, 550],#, 600], - 11: [502, 404, 520],#, 570] + 10: [562, 364, 550], # , 600], + 11: [502, 404, 520], # , 570] 20: [535, 374, 510], 21: [548, 404, 505], 30: [517, 389, 520], @@ -238,209 +244,208 @@ valid_FOV_circle = { 41: [522, 394, 520], 50: [640, 454, 620], 51: [512, 379, 510] - } +} valid_background_rectangle = { - 10: [500,0 ,800 ,100],#10: [300,0 ,800 ,200], - 11: [50,200,170,290],#11: [200,100,700,200], - 20: [100,100,275,135],#20: [100,100,400,200], - 21: [300,0,700,75],#21: [150,0,800,200], - 30: [200,0,800,100],#30: [200,0,800,200],# - 31: [200,100,700,200],# - 40: [550,0,690,140],# - 41: [120,100,250,200],# - 50: [390,940,880,1010],# - 51: [350,0,670,120]# - } - -TC_port={ - 10:[10], - 11:[10], - 20:[20], - 21:[20], - 30:[30], - 31:[30], - 40:[10,20,30], - 41:[10,20,30], - 50:[50], - 51:[10,20,30] - } -TC_channel={ - 10:[[66,67],["ActV1QSR10CT001","ActV1QSR10CT002"]], - 20:[[72,73],["ActV1QSR20CT001","ActV1QSR20CT002"]], - 30:[[78,79],["ActV1QSR30CT001","ActV1QSR30CT002"]], - 50:[[90,91,84,85],["ActV1QRT50CT001","ActV1QRT50CT002","ActV1QRT50CT003","ActV1QRT50CT004"]] - } - -TC_database={ + 10: [500, 0, 800, 100], # 10: [300,0 ,800 ,200], + 11: [50, 200, 170, 290], # 11: [200,100,700,200], + 20: [100, 100, 275, 135], # 20: [100,100,400,200], + 21: [300, 0, 700, 75], # 21: [150,0,800,200], + 30: [200, 0, 800, 100], # 30: [200,0,800,200],# + 31: [200, 100, 700, 200], + 40: [550, 0, 690, 140], + 41: [120, 100, 250, 200], + 50: [390, 940, 880, 1010], + 51: [350, 0, 670, 120] +} + +TC_port = { + 10: [10], + 11: [10], + 20: [20], + 21: [20], + 30: [30], + 31: [30], + 40: [10, 20, 30], + 41: [10, 20, 30], + 50: [50], + 51: [10, 20, 30] +} +TC_channel = { + 10: [[66, 67], ["ActV1QSR10CT001", "ActV1QSR10CT002"]], + 20: [[72, 73], ["ActV1QSR20CT001", "ActV1QSR20CT002"]], + 30: [[78, 79], ["ActV1QSR30CT001", "ActV1QSR30CT002"]], + 50: [[90, 91, 84, 85], ["ActV1QRT50CT001", "ActV1QRT50CT002", "ActV1QRT50CT003", "ActV1QRT50CT004"]] +} + +TC_database = { 50: { - 0: {'Y': -4220.44, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 2947.882, 'Targetelement': 4}, - 1: {'Y': -4507.509, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 2673.037, 'Targetelement': 4}, - 2: {'Y': -4834.308, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 2339.889, 'Targetelement': 5}, - 3: {'Y': -5124.416, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1998.605, 'Targetelement': 5}, - 4: {'Y': -5862.386, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 430.664, 'Targetelement': 4}, - 5: {'Y': -5971.865, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -15.031, 'Targetelement': 6}, - 6: {'Y': -6065.916, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -697.011, 'Targetelement': 6}, - 7: {'Y': -4068.477, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 2704.554, 'Targetelement': 5}, - 8: {'Y': -4495.307, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 2346.682, 'Targetelement': 6}, - 9: {'Y': -4841.007, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1981.551, 'Targetelement': 6}, - 10: {'Y': -5872.346, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 24.186, 'Targetelement': 0}, - 11: {'Y': -5910.584, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 5.577, 'Targetelement': 0}, - 12: {'Y': -4703.059, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 2309.024, 'Targetelement': 0}, - 13: {'Y': -4945.311, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 2464.537, 'Targetelement': 0}, - 14: {'Y': -4431.787, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 2325.89, 'Targetelement': 0}, - 15: {'Y': -4322.24, 'Z': 714.53, 'Targetmodule': 'DR', 'active': True, 'X': 2374.085, 'Targetelement': 0}}, - 51: {0: {'Y': -5147.13, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 95.826, 'Targetelement': 4}, - 1: {'Y': -5217.823, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 486.915, 'Targetelement': 4}, - 2: {'Y': -5286.39, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 948.525, 'Targetelement': 5}, - 3: {'Y': -5320.49, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1395.15, 'Targetelement': 5}, - 4: {'Y': -4995.908, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 3097.409, 'Targetelement': 4}, - 5: {'Y': -4822.505, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 3522.334, 'Targetelement': 6}, - 6: {'Y': -4497.737, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 4129.35, 'Targetelement': 6}, - 7: {'Y': -4881.164, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 203.361, 'Targetelement': 5}, - 8: {'Y': -5016.125, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 743.77, 'Targetelement': 6}, - 9: {'Y': -5081.183, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1242.364, 'Targetelement': 6}, - 10: {'Y': -4779.849, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 3436.923, 'Targetelement': 0}, - 11: {'Y': -4860.039, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 3494.011, 'Targetelement': 0}, - 12: {'Y': -5163.219, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 896.724, 'Targetelement': 0}, - 13: {'Y': -5447.878, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 912.415, 'Targetelement': 0}, - 14: {'Y': -4893.659, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 704.131, 'Targetelement': 0}, - 15: {'Y': -4949.37, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 638.444, 'Targetelement': 0}}, - 20: {0: {'Y': 5147.13, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 95.826, 'Targetelement': 4}, - 1: {'Y': 5217.823, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 486.915, 'Targetelement': 4}, - 2: {'Y': 5286.39, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 948.525, 'Targetelement': 5}, - 3: {'Y': 5320.49, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1395.15, 'Targetelement': 5}, - 4: {'Y': 4995.908, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 3097.409, 'Targetelement': 4}, - 5: {'Y': 4822.505, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 3522.334, 'Targetelement': 6}, - 6: {'Y': 4497.737, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 4129.35, 'Targetelement': 6}, - 7: {'Y': 4881.164, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 203.361, 'Targetelement': 5}, - 8: {'Y': 5016.125, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 743.77, 'Targetelement': 6}, - 9: {'Y': 5081.183, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1242.364, 'Targetelement': 6}, - 10: {'Y': 4765.044, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 3432.112, 'Targetelement': 0}, - 11: {'Y': 4785.041, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 3469.642, 'Targetelement': 0}, - 12: {'Y': 5162.065, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 896.349, 'Targetelement': 0}, - 13: {'Y': 5449.459, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 912.928, 'Targetelement': 0}, - 14: {'Y': 4952.514, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 723.255, 'Targetelement': 0}, - 15: {'Y': 4892.218, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 619.874, 'Targetelement': 0}}, - 21: {0: {'Y': 4220.44, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 2947.882, 'Targetelement': 4}, - 1: {'Y': 4507.509, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': False, 'X': 2673.037, 'Targetelement': 4}, - 2: {'Y': 4834.308, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 2339.889, 'Targetelement': 5}, - 3: {'Y': 5124.416, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1998.605, 'Targetelement': 5}, - 4: {'Y': 5862.386, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 430.664, 'Targetelement': 4}, - 5: {'Y': 5971.865, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -15.031, 'Targetelement': 6}, - 6: {'Y': 6065.916, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -697.011, 'Targetelement': 6}, - 7: {'Y': 4068.477, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 2704.554, 'Targetelement': 5}, - 8: {'Y': 4495.307, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 2346.682, 'Targetelement': 6}, - 9: {'Y': 4841.007, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1981.551, 'Targetelement': 6}, - 10: {'Y': 5887.151, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 28.996, 'Targetelement': 0}, - 11: {'Y': 5985.582, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 29.945, 'Targetelement': 0}, - 12: {'Y': 4704.213, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 2309.399, 'Targetelement': 0}, - 13: {'Y': 4943.73, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 2464.024, 'Targetelement': 0}, - 14: {'Y': 4372.932, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 2306.766, 'Targetelement': 0}, - 15: {'Y': 4379.393, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 2392.655, 'Targetelement': 0}}, - 40: {0: {'Y': -4107.791, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -3102.931, 'Targetelement': 4}, - 1: {'Y': -3935.106, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -3460.882, 'Targetelement': 4}, - 2: {'Y': -3719.25, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -3874.635, 'Targetelement': 5}, - 3: {'Y': -3484.318, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4256.006, 'Targetelement': 5}, - 4: {'Y': -2221.163, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -5442.378, 'Targetelement': 4}, - 5: {'Y': -1831.112, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -5684.226, 'Targetelement': 6}, - 6: {'Y': -1211.574, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -5984.417, 'Targetelement': 6}, - 7: {'Y': -3829.412, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -3033.599, 'Targetelement': 5}, - 8: {'Y': -3620.954, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -3550.127, 'Targetelement': 6}, - 9: {'Y': -3380.521, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -3991.738, 'Targetelement': 6}, - 10: {'Y': -1837.657, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -5577.46, 'Targetelement': 0}, - 11: {'Y': -1831.775, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -5619.576, 'Targetelement': 0}, - 12: {'Y': -3649.338, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -3759.348, 'Targetelement': 0}, - 13: {'Y': -3872.099, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -3941.686, 'Targetelement': 0}, - 14: {'Y': -3581.55, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -3496.14, 'Targetelement': 0}, - 15: {'Y': -3593.534, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -3377.062, 'Targetelement': 0}}, - 41: {0: {'Y': -1681.686, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -4865.6, 'Targetelement': 4}, - 1: {'Y': -2075.48, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -4811.98, 'Targetelement': 4}, - 2: {'Y': -2535.686, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -4734.545, 'Targetelement': 5}, - 3: {'Y': -2970.989, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4628.962, 'Targetelement': 5}, - 4: {'Y': -4489.632, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -3794.239, 'Targetelement': 4}, - 5: {'Y': -4840.175, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -3498.014, 'Targetelement': 6}, - 6: {'Y': -5317.122, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -3001.562, 'Targetelement': 6}, - 7: {'Y': -1701.77, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -4579.421, 'Targetelement': 5}, - 8: {'Y': -2257.435, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -4540.781, 'Targetelement': 6}, - 9: {'Y': -2751.73, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -4448.581, 'Targetelement': 6}, - 10: {'Y': -4745.762, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -3483.839, 'Targetelement': 0}, - 11: {'Y': -4824.836, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -3542.463, 'Targetelement': 0}, - 12: {'Y': -2448.358, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -4633.41, 'Targetelement': 0}, - 13: {'Y': -2551.245, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -4899.289, 'Targetelement': 0}, - 14: {'Y': -2181.893, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -4436.558, 'Targetelement': 0}, - 15: {'Y': -2136.636, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -4509.841, 'Targetelement': 0}}, - 10: {0: {'Y': 1499.415, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 4924.823, 'Targetelement': 4}, - 1: {'Y': 1149.312, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 5112.91, 'Targetelement': 4}, - 2: {'Y': 731.483, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 5320.766, 'Targetelement': 5}, - 3: {'Y': 317.255, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 5491.212, 'Targetelement': 5}, - 4: {'Y': -1401.991, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 5708.543, 'Targetelement': 4}, - 5: {'Y': -1859.703, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 5674.936, 'Targetelement': 6}, - 6: {'Y': -2537.368, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 5553.641, 'Targetelement': 6}, - 7: {'Y': 1314.955, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 4705.105, 'Targetelement': 5}, - 8: {'Y': 842.701, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 5000.456, 'Targetelement': 6}, - 9: {'Y': 388.614, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 5216.404, 'Targetelement': 6}, - 10: {'Y': -1791.653, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 5592.407, 'Targetelement': 0}, - 11: {'Y': -1821.167, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 5623.023, 'Targetelement': 0}, - 12: {'Y': 742.687, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 5186.403, 'Targetelement': 0}, - 13: {'Y': 815.729, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 5464.854, 'Targetelement': 0}, - 14: {'Y': 842.555, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 4933.619, 'Targetelement': 0}, - 15: {'Y': 922.243, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 4844.327, 'Targetelement': 0}}, - 11: {0: {'Y': -1499.415, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 4924.823, 'Targetelement': 4}, - 1: {'Y': -1149.312, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 5112.91, 'Targetelement': 4}, - 2: {'Y': -731.483, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 5320.766, 'Targetelement': 5}, - 3: {'Y': -317.255, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 5491.212, 'Targetelement': 5}, - 4: {'Y': 1401.991, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 5708.543, 'Targetelement': 4}, - 5: {'Y': 1859.703, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 5674.936, 'Targetelement': 6}, - 6: {'Y': 2537.368, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 5553.641, 'Targetelement': 6}, - 7: {'Y': -1314.955, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 4705.105, 'Targetelement': 5}, - 8: {'Y': -842.701, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 5000.456, 'Targetelement': 6}, - 9: {'Y': -388.614, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 5216.404, 'Targetelement': 6}, - 10: {'Y': 1791.653, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 5607.974, 'Targetelement': 0}, - 11: {'Y': 1821.167, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 5701.88, 'Targetelement': 0}, - 12: {'Y': -742.687, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 5187.616, 'Targetelement': 0}, - 13: {'Y': -815.729, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 5463.192, 'Targetelement': 0}, - 14: {'Y': -842.555, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 4871.735, 'Targetelement': 0}, - 15: {'Y': -922.243, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 4904.421, 'Targetelement': 0}}, - 30: {0: {'Y': 1681.686, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -4865.6, 'Targetelement': 4}, - 1: {'Y': 2075.48, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -4811.98, 'Targetelement': 4}, - 2: {'Y': 2535.686, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -4734.545, 'Targetelement': 5}, - 3: {'Y': 2970.989, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4628.962, 'Targetelement': 5}, - 4: {'Y': 4489.632, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -3794.239, 'Targetelement': 4}, - 5: {'Y': 4840.175, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -3498.014, 'Targetelement': 6}, - 6: {'Y': 5317.122, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -3001.562, 'Targetelement': 6}, - 7: {'Y': 1701.77, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -4579.421, 'Targetelement': 5}, - 8: {'Y': 2257.435, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -4540.781, 'Targetelement': 6}, - 9: {'Y': 2751.73, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -4448.581, 'Targetelement': 6}, - 10: {'Y': 4736.612, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -3471.245, 'Targetelement': 0}, - 11: {'Y': 4778.485, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -3478.666, 'Targetelement': 0}, - 12: {'Y': 2447.645, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -4632.429, 'Targetelement': 0}, - 13: {'Y': 2552.222, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -4900.633, 'Targetelement': 0}, - 14: {'Y': 2218.267, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -4486.623, 'Targetelement': 0}, - 15: {'Y': 2101.314, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -4461.224, 'Targetelement': 0}}, - 31: {0: {'Y': 4107.791, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -3102.931, 'Targetelement': 4}, - 1: {'Y': 3935.106, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -3460.882, 'Targetelement': 4}, - 2: {'Y': 3719.25, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -3874.635, 'Targetelement': 5}, - 3: {'Y': 3484.318, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4256.006, 'Targetelement': 5}, - 4: {'Y': 2221.163, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -5442.378, 'Targetelement': 4}, - 5: {'Y': 1831.112, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -5684.226, 'Targetelement': 6}, - 6: {'Y': 1211.574, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -5984.417, 'Targetelement': 5}, - 7: {'Y': 3829.412, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -3033.599, 'Targetelement': 5}, - 8: {'Y': 3620.954, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -3550.127, 'Targetelement': 6}, - 9: {'Y': 3380.521, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -3991.738, 'Targetelement': 6}, - 10: {'Y': 1846.807, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -5590.053, 'Targetelement': 0}, - 11: {'Y': 1878.126, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -5683.373, 'Targetelement': 0}, - 12: {'Y': 3650.051, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -3760.329, 'Targetelement': 0}, - 13: {'Y': 3871.122, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -3940.342, 'Targetelement': 0}, - 14: {'Y': 3545.175, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -3446.075, 'Targetelement': 0}, - 15: {'Y': 3628.857, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -3425.679, 'Targetelement': 0}}} -from matplotlib import cm -c2dict={ - 'red' : ((0,0,0),(0.166, 0, 0), (0.33, 0, 0), (0.49, 0, 0), (0.66, 1, 1), (0.82, 1, 1), (1, 1, 1)), - 'green': ((0,0,0),(0.166, 0, 0), (0.33, 1, 1), (0.49, 1, 1), (0.66, 0, 0), (0.82, 1, 1), (1, 1, 1)), - 'blue' : ((0,0,0),(0.166, 1, 1), (0.33, 1, 1), (0.49, 0, 0), (0.66, 0, 0), (0.82, 0, 0), (1, 1, 1)) - } -c3dict=c2dict.copy() -exJet=cm.colors.LinearSegmentedColormap('mod_Jet', c2dict, 1024) -c3dict['alpha']=((0.0,0.0,0.0),(0.33,0.99,0.99),(1.0,1.0,1.0)) -exJet_trans=cm.colors.LinearSegmentedColormap('mod_Jet_trans', c3dict, 1024) \ No newline at end of file + 0: {'Y': -4220.44, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 2947.882, 'Targetelement': 4}, + 1: {'Y': -4507.509, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 2673.037, 'Targetelement': 4}, + 2: {'Y': -4834.308, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 2339.889, 'Targetelement': 5}, + 3: {'Y': -5124.416, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1998.605, 'Targetelement': 5}, + 4: {'Y': -5862.386, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 430.664, 'Targetelement': 4}, + 5: {'Y': -5971.865, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -15.031, 'Targetelement': 6}, + 6: {'Y': -6065.916, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -697.011, 'Targetelement': 6}, + 7: {'Y': -4068.477, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 2704.554, 'Targetelement': 5}, + 8: {'Y': -4495.307, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 2346.682, 'Targetelement': 6}, + 9: {'Y': -4841.007, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1981.551, 'Targetelement': 6}, + 10: {'Y': -5872.346, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 24.186, 'Targetelement': 0}, + 11: {'Y': -5910.584, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 5.577, 'Targetelement': 0}, + 12: {'Y': -4703.059, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 2309.024, 'Targetelement': 0}, + 13: {'Y': -4945.311, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 2464.537, 'Targetelement': 0}, + 14: {'Y': -4431.787, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 2325.89, 'Targetelement': 0}, + 15: {'Y': -4322.24, 'Z': 714.53, 'Targetmodule': 'DR', 'active': True, 'X': 2374.085, 'Targetelement': 0}}, + 51: {0: {'Y': -5147.13, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 95.826, 'Targetelement': 4}, + 1: {'Y': -5217.823, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 486.915, 'Targetelement': 4}, + 2: {'Y': -5286.39, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 948.525, 'Targetelement': 5}, + 3: {'Y': -5320.49, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1395.15, 'Targetelement': 5}, + 4: {'Y': -4995.908, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 3097.409, 'Targetelement': 4}, + 5: {'Y': -4822.505, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 3522.334, 'Targetelement': 6}, + 6: {'Y': -4497.737, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 4129.35, 'Targetelement': 6}, + 7: {'Y': -4881.164, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 203.361, 'Targetelement': 5}, + 8: {'Y': -5016.125, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 743.77, 'Targetelement': 6}, + 9: {'Y': -5081.183, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1242.364, 'Targetelement': 6}, + 10: {'Y': -4779.849, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 3436.923, 'Targetelement': 0}, + 11: {'Y': -4860.039, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 3494.011, 'Targetelement': 0}, + 12: {'Y': -5163.219, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 896.724, 'Targetelement': 0}, + 13: {'Y': -5447.878, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 912.415, 'Targetelement': 0}, + 14: {'Y': -4893.659, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 704.131, 'Targetelement': 0}, + 15: {'Y': -4949.37, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 638.444, 'Targetelement': 0}}, + 20: {0: {'Y': 5147.13, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 95.826, 'Targetelement': 4}, + 1: {'Y': 5217.823, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 486.915, 'Targetelement': 4}, + 2: {'Y': 5286.39, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 948.525, 'Targetelement': 5}, + 3: {'Y': 5320.49, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1395.15, 'Targetelement': 5}, + 4: {'Y': 4995.908, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 3097.409, 'Targetelement': 4}, + 5: {'Y': 4822.505, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 3522.334, 'Targetelement': 6}, + 6: {'Y': 4497.737, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 4129.35, 'Targetelement': 6}, + 7: {'Y': 4881.164, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 203.361, 'Targetelement': 5}, + 8: {'Y': 5016.125, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 743.77, 'Targetelement': 6}, + 9: {'Y': 5081.183, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1242.364, 'Targetelement': 6}, + 10: {'Y': 4765.044, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 3432.112, 'Targetelement': 0}, + 11: {'Y': 4785.041, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 3469.642, 'Targetelement': 0}, + 12: {'Y': 5162.065, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 896.349, 'Targetelement': 0}, + 13: {'Y': 5449.459, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 912.928, 'Targetelement': 0}, + 14: {'Y': 4952.514, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 723.255, 'Targetelement': 0}, + 15: {'Y': 4892.218, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 619.874, 'Targetelement': 0}}, + 21: {0: {'Y': 4220.44, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 2947.882, 'Targetelement': 4}, + 1: {'Y': 4507.509, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': False, 'X': 2673.037, 'Targetelement': 4}, + 2: {'Y': 4834.308, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 2339.889, 'Targetelement': 5}, + 3: {'Y': 5124.416, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 1998.605, 'Targetelement': 5}, + 4: {'Y': 5862.386, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 430.664, 'Targetelement': 4}, + 5: {'Y': 5971.865, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -15.031, 'Targetelement': 6}, + 6: {'Y': 6065.916, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -697.011, 'Targetelement': 6}, + 7: {'Y': 4068.477, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 2704.554, 'Targetelement': 5}, + 8: {'Y': 4495.307, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 2346.682, 'Targetelement': 6}, + 9: {'Y': 4841.007, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 1981.551, 'Targetelement': 6}, + 10: {'Y': 5887.151, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 28.996, 'Targetelement': 0}, + 11: {'Y': 5985.582, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 29.945, 'Targetelement': 0}, + 12: {'Y': 4704.213, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 2309.399, 'Targetelement': 0}, + 13: {'Y': 4943.73, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 2464.024, 'Targetelement': 0}, + 14: {'Y': 4372.932, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 2306.766, 'Targetelement': 0}, + 15: {'Y': 4379.393, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 2392.655, 'Targetelement': 0}}, + 40: {0: {'Y': -4107.791, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -3102.931, 'Targetelement': 4}, + 1: {'Y': -3935.106, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -3460.882, 'Targetelement': 4}, + 2: {'Y': -3719.25, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -3874.635, 'Targetelement': 5}, + 3: {'Y': -3484.318, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4256.006, 'Targetelement': 5}, + 4: {'Y': -2221.163, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -5442.378, 'Targetelement': 4}, + 5: {'Y': -1831.112, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -5684.226, 'Targetelement': 6}, + 6: {'Y': -1211.574, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -5984.417, 'Targetelement': 6}, + 7: {'Y': -3829.412, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -3033.599, 'Targetelement': 5}, + 8: {'Y': -3620.954, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -3550.127, 'Targetelement': 6}, + 9: {'Y': -3380.521, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -3991.738, 'Targetelement': 6}, + 10: {'Y': -1837.657, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -5577.46, 'Targetelement': 0}, + 11: {'Y': -1831.775, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -5619.576, 'Targetelement': 0}, + 12: {'Y': -3649.338, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -3759.348, 'Targetelement': 0}, + 13: {'Y': -3872.099, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -3941.686, 'Targetelement': 0}, + 14: {'Y': -3581.55, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -3496.14, 'Targetelement': 0}, + 15: {'Y': -3593.534, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -3377.062, 'Targetelement': 0}}, + 41: {0: {'Y': -1681.686, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -4865.6, 'Targetelement': 4}, + 1: {'Y': -2075.48, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -4811.98, 'Targetelement': 4}, + 2: {'Y': -2535.686, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -4734.545, 'Targetelement': 5}, + 3: {'Y': -2970.989, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4628.962, 'Targetelement': 5}, + 4: {'Y': -4489.632, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -3794.239, 'Targetelement': 4}, + 5: {'Y': -4840.175, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -3498.014, 'Targetelement': 6}, + 6: {'Y': -5317.122, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -3001.562, 'Targetelement': 6}, + 7: {'Y': -1701.77, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -4579.421, 'Targetelement': 5}, + 8: {'Y': -2257.435, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -4540.781, 'Targetelement': 6}, + 9: {'Y': -2751.73, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -4448.581, 'Targetelement': 6}, + 10: {'Y': -4745.762, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -3483.839, 'Targetelement': 0}, + 11: {'Y': -4824.836, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -3542.463, 'Targetelement': 0}, + 12: {'Y': -2448.358, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -4633.41, 'Targetelement': 0}, + 13: {'Y': -2551.245, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -4899.289, 'Targetelement': 0}, + 14: {'Y': -2181.893, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -4436.558, 'Targetelement': 0}, + 15: {'Y': -2136.636, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -4509.841, 'Targetelement': 0}}, + 10: {0: {'Y': 1499.415, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 4924.823, 'Targetelement': 4}, + 1: {'Y': 1149.312, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 5112.91, 'Targetelement': 4}, + 2: {'Y': 731.483, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 5320.766, 'Targetelement': 5}, + 3: {'Y': 317.255, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 5491.212, 'Targetelement': 5}, + 4: {'Y': -1401.991, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 5708.543, 'Targetelement': 4}, + 5: {'Y': -1859.703, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 5674.936, 'Targetelement': 6}, + 6: {'Y': -2537.368, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 5553.641, 'Targetelement': 6}, + 7: {'Y': 1314.955, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 4705.105, 'Targetelement': 5}, + 8: {'Y': 842.701, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 5000.456, 'Targetelement': 6}, + 9: {'Y': 388.614, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 5216.404, 'Targetelement': 6}, + 10: {'Y': -1791.653, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 5592.407, 'Targetelement': 0}, + 11: {'Y': -1821.167, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 5623.023, 'Targetelement': 0}, + 12: {'Y': 742.687, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 5186.403, 'Targetelement': 0}, + 13: {'Y': 815.729, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 5464.854, 'Targetelement': 0}, + 14: {'Y': 842.555, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 4933.619, 'Targetelement': 0}, + 15: {'Y': 922.243, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 4844.327, 'Targetelement': 0}}, + 11: {0: {'Y': -1499.415, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': 4924.823, 'Targetelement': 4}, + 1: {'Y': -1149.312, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': 5112.91, 'Targetelement': 4}, + 2: {'Y': -731.483, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': 5320.766, 'Targetelement': 5}, + 3: {'Y': -317.255, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': 5491.212, 'Targetelement': 5}, + 4: {'Y': 1401.991, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': 5708.543, 'Targetelement': 4}, + 5: {'Y': 1859.703, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': 5674.936, 'Targetelement': 6}, + 6: {'Y': 2537.368, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': 5553.641, 'Targetelement': 6}, + 7: {'Y': -1314.955, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': 4705.105, 'Targetelement': 5}, + 8: {'Y': -842.701, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': 5000.456, 'Targetelement': 6}, + 9: {'Y': -388.614, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': 5216.404, 'Targetelement': 6}, + 10: {'Y': 1791.653, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': 5607.974, 'Targetelement': 0}, + 11: {'Y': 1821.167, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': 5701.88, 'Targetelement': 0}, + 12: {'Y': -742.687, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': 5187.616, 'Targetelement': 0}, + 13: {'Y': -815.729, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': 5463.192, 'Targetelement': 0}, + 14: {'Y': -842.555, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': 4871.735, 'Targetelement': 0}, + 15: {'Y': -922.243, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': 4904.421, 'Targetelement': 0}}, + 30: {0: {'Y': 1681.686, 'Z': 966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -4865.6, 'Targetelement': 4}, + 1: {'Y': 2075.48, 'Z': 1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -4811.98, 'Targetelement': 4}, + 2: {'Y': 2535.686, 'Z': 1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -4734.545, 'Targetelement': 5}, + 3: {'Y': 2970.989, 'Z': 998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4628.962, 'Targetelement': 5}, + 4: {'Y': 4489.632, 'Z': 749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -3794.239, 'Targetelement': 4}, + 5: {'Y': 4840.175, 'Z': 676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -3498.014, 'Targetelement': 6}, + 6: {'Y': 5317.122, 'Z': 542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -3001.562, 'Targetelement': 6}, + 7: {'Y': 1701.77, 'Z': 644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -4579.421, 'Targetelement': 5}, + 8: {'Y': 2257.435, 'Z': 719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -4540.781, 'Targetelement': 6}, + 9: {'Y': 2751.73, 'Z': 771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -4448.581, 'Targetelement': 6}, + 10: {'Y': 4736.612, 'Z': 772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -3471.245, 'Targetelement': 0}, + 11: {'Y': 4778.485, 'Z': 726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -3478.666, 'Targetelement': 0}, + 12: {'Y': 2447.645, 'Z': 1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -4632.429, 'Targetelement': 0}, + 13: {'Y': 2552.222, 'Z': 1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -4900.633, 'Targetelement': 0}, + 14: {'Y': 2218.267, 'Z': 740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -4486.623, 'Targetelement': 0}, + 15: {'Y': 2101.314, 'Z': 714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -4461.224, 'Targetelement': 0}}, + 31: {0: {'Y': 4107.791, 'Z': -966.369, 'Targetmodule': 'TM1h', 'active': True, 'X': -3102.931, 'Targetelement': 4}, + 1: {'Y': 3935.106, 'Z': -1000.004, 'Targetmodule': 'TM2h', 'active': True, 'X': -3460.882, 'Targetelement': 4}, + 2: {'Y': 3719.25, 'Z': -1006.452, 'Targetmodule': 'TM3h', 'active': True, 'X': -3874.635, 'Targetelement': 5}, + 3: {'Y': 3484.318, 'Z': -998.608, 'Targetmodule': 'TM4h', 'active': True, 'X': -4256.006, 'Targetelement': 5}, + 4: {'Y': 2221.163, 'Z': -749.666, 'Targetmodule': 'TM7h', 'active': True, 'X': -5442.378, 'Targetelement': 4}, + 5: {'Y': 1831.112, 'Z': -676.355, 'Targetmodule': 'TM8h', 'active': True, 'X': -5684.226, 'Targetelement': 6}, + 6: {'Y': 1211.574, 'Z': -542.714, 'Targetmodule': 'TM9h', 'active': True, 'X': -5984.417, 'Targetelement': 5}, + 7: {'Y': 3829.412, 'Z': -644.281, 'Targetmodule': 'TM1v', 'active': True, 'X': -3033.599, 'Targetelement': 5}, + 8: {'Y': 3620.954, 'Z': -719.195, 'Targetmodule': 'TM2v', 'active': True, 'X': -3550.127, 'Targetelement': 6}, + 9: {'Y': 3380.521, 'Z': -771.012, 'Targetmodule': 'TM3v', 'active': True, 'X': -3991.738, 'Targetelement': 6}, + 10: {'Y': 1846.807, 'Z': -772.15, 'Targetmodule': 'DR_TM8h', 'active': True, 'X': -5590.053, 'Targetelement': 0}, + 11: {'Y': 1878.126, 'Z': -726.881, 'Targetmodule': 'TMR_TM8h', 'active': True, 'X': -5683.373, 'Targetelement': 0}, + 12: {'Y': 3650.051, 'Z': -1027.995, 'Targetmodule': 'TMR_TM3h', 'active': True, 'X': -3760.329, 'Targetelement': 0}, + 13: {'Y': 3871.122, 'Z': -1136.99, 'Targetmodule': 'DR_TM3h', 'active': True, 'X': -3940.342, 'Targetelement': 0}, + 14: {'Y': 3545.175, 'Z': -740.545, 'Targetmodule': 'TMR_TM2v', 'active': True, 'X': -3446.075, 'Targetelement': 0}, + 15: {'Y': 3628.857, 'Z': -714.53, 'Targetmodule': 'DR_TM2v', 'active': True, 'X': -3425.679, 'Targetelement': 0}}} +c2dict = { + 'red': ((0, 0, 0), (0.166, 0, 0), (0.33, 0, 0), (0.49, 0, 0), (0.66, 1, 1), (0.82, 1, 1), (1, 1, 1)), + 'green': ((0, 0, 0), (0.166, 0, 0), (0.33, 1, 1), (0.49, 1, 1), (0.66, 0, 0), (0.82, 1, 1), (1, 1, 1)), + 'blue': ((0, 0, 0), (0.166, 1, 1), (0.33, 1, 1), (0.49, 0, 0), (0.66, 0, 0), (0.82, 0, 0), (1, 1, 1)) +} +c3dict = c2dict.copy() +exJet = cm.colors.LinearSegmentedColormap('mod_Jet', c2dict, 1024) +c3dict['alpha'] = ((0.0, 0.0, 0.0), (0.33, 0.99, 0.99), (1.0, 1.0, 1.0)) +exJet_trans = cm.colors.LinearSegmentedColormap('mod_Jet_trans', c3dict, 1024) diff --git a/downloadversionIRdata.py b/downloadversionIRdata.py index 947845603f7a5dca4bca1cbe41b7cab104d751ac..f8756b71b5f32e7cf589e8af99f687150bae2d31 100644 --- a/downloadversionIRdata.py +++ b/downloadversionIRdata.py @@ -27,7 +27,7 @@ import urllib.error import json from PIL import Image from io import BytesIO -from os.path import join +from os.path import join, exists import matplotlib.pyplot as plt try: import threading @@ -43,8 +43,8 @@ except Exception as E: try: config_path = "\\\\sv-e4-fs-1\\E4-Mitarbeiter\\E4 Diagnostics\\QIR\\"\ - "Software\\QI-RealTime\\1.0.0\\release\\QIR-IrAnalysis\\"\ - "Config\\Thermal calibration\\" + "Software\\QI-RealTime\\1.0.0\\release\\QIR-IrAnalysis\\"\ + "Config\\Thermal calibration\\" FOV = plt.imread( config_path + portcamdict['OP1.2a']['AEF'+str(10)] + @@ -55,8 +55,8 @@ except: def get_latest_version(stream, project="W7X", - testmode=False, t_from=None, t_to=None, - program=None, verbose=0): + testmode=False, t_from=None, t_to=None, + program=None, verbose=0): """Find out latest version of given stream :param stream url stream of interest :return int of version number of None if non-versioned or non-existing stream @@ -1868,34 +1868,30 @@ def get_average_divertor_TC_for_camtemp(port, starttime, stoptime, part="all", T rs = TC re = TC+1 else: - rs = 0 - re = 0 - if rs != re: - for i in range(rs, re, 1): - if skip and i == skipnr: - i += 1 - url = urlstart+str(offset+i)+ext+"0"+str(i)+"_TC"+str(i % 8+1) - try: - result = read_restdb( - url+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) - # res.append(result) - if result[0]: - n += 1 - time = result[1] - signal = signal+np.array(result[2]) - else: - time = 0 - success = False - except Exception as E: - print('get_average_divertor_TC_for_camtemp: Error! ', E) - success = False + print("get_average_divertor_TC_for_camtemp: Error! rs and re are the same numbers") + return False, 0, -1 + for i in range(rs, re, 1): + if skip and i == skipnr: + i += 1 + url = urlstart+str(offset+i)+ext+"0"+str(i)+"_TC"+str(i % 8+1) try: - return success, time, signal/n + result = read_restdb( + url+"/_signal.json?from="+str(starttime)+"&upto="+str(stoptime)) +# res.append(result) + if result[0]: + n += 1 + time = result[1] + signal = signal+np.array(result[2]) + else: + time = 0 + success = False except Exception as E: print('get_average_divertor_TC_for_camtemp: Error! ', E) - return False, 0, -1 - else: - print("get_average_divertor_TC_for_camtemp: Error! rs and re are the same numbers") + success = False + try: + return success, time, signal/n + except Exception as E: + print('get_average_divertor_TC_for_camtemp: Error! ', E) return False, 0, -1 @@ -3205,6 +3201,19 @@ def estimate_offset(port, program, plot_it=False, verbose=0): return -1 +def cache_heatflux_by_program(port, program, time_window=0, **kwargs): + from char_compare.utilities import check_path_and_make_folders + cache_folder = kwargs.pop('cache_folder', "//share.ipp-hgw.mpg.de/documents/luru/Documents/Arbeit/Data") + save_path = cache_folder + '/'.join(["", program, str(port), ""]) + check_path_and_make_folders(True, save_path) + found, time, images = download_heatflux_by_program(port, program, + time_window=time_window, **kwargs) + start = time_window[0] if hasattr(time_window, '__iter__') else 0.0 + end = time_window[-1] if hasattr(time_window, '__iter__') else time_window + np.savez(save_path + "heatflux_images_[{s:.2f}-{e:.2f}]".format(s=start, e=end), + found=found, time=time, images=images) + + def download_heatflux_by_program(port, program, time_window=0, threads=1, testmode=False, version=0, verbose=0, givealpha=False, request=True, moffset=0): """ @@ -3255,7 +3264,7 @@ def download_heatflux_by_program(port, program, time_window=0, threads=1, testmo def download_heatflux_by_times(port, tstart, tend, time_window=0, threads=1, testmode=False, - version=0, verbose=0, request=True, moffset=0): + version=0, verbose=0, request=True, moffset=0, auto_process_all=True): """ port: string or integer tstart: int64 timestamp in ns from which point the download should start @@ -3337,7 +3346,11 @@ def download_heatflux_by_times(port, tstart, tend, time_window=0, threads=1, tes if (programid, "AEF"+str(port)) not in cam_progs and (programid, "AEF"+str(port)) not in cam_progs_ig: f = open(heatflux_requestlist_path+str(now.year) + str(now.month+moffset)+"_q_requests.txt", 'a') - f.write(programid+"\tAEF"+str(port)+"\n") + if auto_process_all: + [f.write(programid+"\tAEF"+str(p)+"\n") + for p in ['10', '11', '20', '21', '30', '31', '40', '41', '51']] + else: + f.write(programid+"\tAEF"+str(port)+"\n") f.close() if verbose > 0: print( @@ -3673,7 +3686,7 @@ def give_finger_ID(profile, finger=None, verbose=0): def get_heatflux_profile(port, profile, finger=None, timepoint=1, program=None, - tstart=None, tend=None, testmode=False, version=0, verbose=0): + tstart=None, tend=None, testmode=False, version=0, verbose=0): """ returns exist,time,s in m, heat flux in W/m2 @@ -3762,6 +3775,74 @@ def get_heatflux_profile(port, profile, finger=None, timepoint=1, program=None, return False, 0, 0, 0 +def extract_heatflux_profile_from_cache(port, program, time_window=0, profile="TM3h_5_5", **kwargs): + """Returns exists, time, position, heat_flux_profiles + """ + kwargs.setdefault('verbose', 0) + kwargs.setdefault('testmode', False) + data_folder = "//share.ipp-hgw.mpg.de/documents/luru/Documents/Arbeit/Data" + save_path = data_folder + '/'.join(["", program, str(port), ""]) + start = time_window[0] if hasattr(time_window, '__iter__') else 0.0 + end = time_window[-1] if hasattr(time_window, '__iter__') else time_window + path = save_path + \ + "heatflux_images_[{s:.2f}-{e:.2f}].npz".format(s=start, e=end) + if not exists(path): + if kwargs['verbose'] > 0: + '''We could notify here if larger caches already exist by importing everything with + import glob + glob.glob("heatflux_images_/[[0,{s:.2f}]-[{e:.2f},1000]/].npz") + but this would take some more work, especially on the matching of arbitrarily large numbers" + ''' + print("Generating cache for {program} port {port} timewindow [{s:.2f}-{e:.2f}]".format( + port=port, program=program, s=start, e=end + )) + cache_heatflux_by_program( + port, program, time_window=time_window, **kwargs) + cache_file = np.load(path) + found, time, images = [cache_file[kw] + for kw in ['found', 'time', 'images']] + if not found: + raise ValueError("Download was invalid") + exist, _, t1, t6 = get_trigger_from_PID( + program, port, kwargs['testmode'], verbose=kwargs['verbose']-1) + return extract_heatflux_profile_from_DL((np.asarray(time)-t1)/1e9, images, profile, time_window=time_window, **kwargs) + + +def extract_many_heatflux_profiles_from_cache(port, program, time_window=0, profile="TM3h_5_5", **kwargs): + """Returns exists, time, position, heat_flux_profiles + """ + kwargs.setdefault('verbose', 0) + kwargs.setdefault('testmode', False) + data_folder = "//share.ipp-hgw.mpg.de/documents/luru/Documents/Arbeit/Data" + save_path = data_folder + '/'.join(["", program, str(port), ""]) + start = time_window[0] if hasattr(time_window, '__iter__') else 0.0 + end = time_window[-1] if hasattr(time_window, '__iter__') else time_window + path = save_path + \ + "heatflux_images_[{s:.2f}-{e:.2f}].npz".format(s=start, e=end) + if not exists(path): + if kwargs['verbose'] > 0: + print("Generating cache for {program} port {port} timewindow [{s:.2f}-{e:.2f}]".format( + port=port, program=program, s=start, e=end + )) + cache_heatflux_by_program( + port, program, time_window=time_window, **kwargs) + cache_file = np.load(path) + found, time, images = [cache_file[kw] + for kw in ['found', 'time', 'images']] + if not found: + raise ValueError("Download was invalid") + exist, _, t1, t6 = get_trigger_from_PID( + program, port, kwargs['testmode'], verbose=kwargs['verbose']-1) + return_dict = {} + for p in profile: + e, t, s, q = extract_heatflux_profile_from_DL( + (np.asarray(time)-t1)/1e9, images, p, time_window=time_window, **kwargs) + if e: + return_dict['times'] = t + return_dict[p] = {'positions': s, 'heat_flux': q} + return return_dict + + def extract_heatflux_profile_from_DL(time, images, profile, finger=None, time_window=1, inputchecked=False, verbose=0, testmode=False): """ @@ -4169,11 +4250,11 @@ def read_restdb(request_url): res.close() except urllib.error.URLError as e: # if hasattr(e, 'reason'): - #print('Failed to reach server:',request_url) - #print('Reason: ', e.reason) + #print('Failed to reach server:',request_url) + #print('Reason: ', e.reason) # elif hasattr(e, 'code'): - #print('The server couldn\'t fulfill the request.') - #print('Error code: ', e.code) + #print('The server couldn\'t fulfill the request.') + #print('Error code: ', e.code) return False, [0], [-1] except Exception as E: print('read_restdb: Error! ', E) diff --git a/plot_heatflux_example.py b/plot_heatflux_example.py index e8b79680c062725cf8248932ceb3af5fbd3f08fd..f6da66fc05fd4cc9ac25ae0843f3056142fb04ea 100644 --- a/plot_heatflux_example.py +++ b/plot_heatflux_example.py @@ -10,7 +10,7 @@ import matplotlib.pyplot as plt import datetime port=51 # 20 -program="20180927.017"#"20180904.007"#"20171207.022" # "20181004.012" +program="20180814.007"#"20180927.017"#"20180904.007"#"20171207.022" # "20181004.012" if __name__=='__main__': @@ -22,6 +22,7 @@ if __name__=='__main__': #%% plotting data if status: status2,time,s,q=IR.extract_heatflux_profile_from_DL((np.asarray(times)-times[0])/1e9,images,profile="TM3h_5_5",time_window=None,verbose=5,testmode=False) + plt.figure() plt.imshow(images[-1]/1e6) plt.clim([0,4])