Source code for cellpy.readers.instruments.loader_specific_modules.biologic_file_format

"""File-format dicts for BioLogic" (building on the ``galvani`` package)"""

import numpy as np

__version__ = "0.2"

[docs] mpr_label = b"BIO-LOGIC MODULAR FILE\x1a \x00\x00\x00\x00"
[docs] hdr_dtype = np.dtype( [ ("shortname", "S10"), ("longname", "S25"), ("length", "<u4"), ("version", "<u4"), ("date", "S8"), ] )
# # from galvani 2024: # VMPmodule_hdr_v2 = np.dtype( # [ # ("shortname", "S10"), # ("longname", "S25"), # ("max length", "<u4"), # ("length", "<u4"), # ("version", "<u4"), # ("unknown2", "<u4"), # 10 for set, log and loop, 11 for data # ("date", "S8"), # ] # ) # # These column IDs define flags which are all stored packed in a single byte # # The values in the map are (name, bitmask, dtype) # VMPdata_colID_flag_map = { # 1: ("mode", 0x03, np.uint8), # 2: ("ox/red", 0x04, np.bool_), # 3: ("error", 0x08, np.bool_), # 21: ("control changes", 0x10, np.bool_), # 31: ("Ns changes", 0x20, np.bool_), # 65: ("counter inc.", 0x80, np.bool_), # } #
[docs] bl_log_pos_dtype = { ("User", 139, 143, "a4"), ("Directory", 594, 639, "a45"), ("File", 640, 684, "a45"), ("Host", 850, 863, "a13"), ("Comments", 1213, 1255, "a42"), ("Acquisition started on", 585, 593, "<f8"), }
[docs] bl_flags = { 1: ["mode", (0x03, np.uint8)], 2: ["ox_red", (0x04, np.bool_)], 3: ["error", (0x08, np.bool_)], 21: ["control_changes", (0x10, np.bool_)], 31: ["Ns_changes", (0x20, np.bool_)], 65: ["counter_inc", (0x80, np.bool_)], }
[docs] bl_dtypes = { 1: ["u1", "flags", "int", "mode", ""], 2: ["u1", "flags", "int", "ox/red", ""], 3: ["u1", "flags", "int", "error", ""], 4: ["<f8", "time", "s", "time/s", "test_time_txt"], 5: ["<f4", "control", "V/mA", "control/V/mA", ""], # Updated dtype from <f8 to <f4 6: ["<f4", "Ewe", "V", "Ewe/V", "voltage_txt"], 7: ["<f8", "dQ", "mAh", "dq/mA.h", ""], 8: ["<f4", "I", "mA", "I/mA", "current_txt"], 9: ["<f4", "Ece", "", "Ece/V", "ref_voltage_txt"], 10: ["<f4", "NN_10", "", "", ""], 11: ["<f8", "I", "mA", "<I>/mA", ""], 12: ["<f4", "NN_12", "", "", ""], 13: ["<f8", "QminusQnull", "mAh", "(Q-Qo)/mA.h", ""], 14: ["<f4", "NN_14", "", "", ""], 15: ["<f4", "NN_15", "", "", ""], 16: ["<f4", "Analog_IN_1", "V", "Analog IN 1/V", ""], 17: ["<f4", "Analog_IN_2", "V", "Analog IN 2/V", ""], 18: ["<f4", "NN_18", "", "", ""], 19: ["<f4", "control", "V/mA", "control/V", ""], 20: ["<f4", "control", "mA", "control/mA", ""], 21: ["u1", "flags", "int", "control changes", ""], 22: ["<f4", "NN_22", "", "", ""], 23: ["<f8", "dQ", "mAh", "dQ/mA.h", ""], 24: ["<f8", "cycleno", "int", "cycle number", "cycle_index_txt"], 25: ["<f4", "NN_25", "", "", ""], 26: ["<f4", "Rapp", "Ohm", "Rapp/Ohm", "internal_resistance_txt"], 27: ["<f4", "Ewe_Ece", "V", "Ewe-Ece/V", "voltage_txt"], 28: ["<f4", "NN_28", "", "", ""], 29: ["<f4", "NN_29", "", "", ""], 30: ["<f4", "NN_30", "", "", ""], 31: ["u1", "flags", "int", "Ns changes", ""], 32: ["<f4", "freq", "Hz", "freq/Hz", "frequency_txt"], 33: ["<f4", "absEwe", "V", "|Ewe|/V", ""], 34: ["<f4", "absI", "A", "|I|/A", ""], 35: ["<f4", "phaseZ", "deg", "Phase(Z)/deg", "aci_phase_angle_txt"], 36: ["<f4", "absZ", "Ohm", "|Z|/Ohm", "amplitude_txt"], 37: ["<f4", "ReZ", "Ohm", "Re(Z)/Ohm", ""], 38: ["<f4", "negImZ", "Ohm", "-Im(Z)/Ohm", ""], 39: ["<u2", "Irange", "int", "I Range", ""], 40: ["<f4", "NN_40", "", "", ""], 41: ["<f4", "NN_41", "", "", ""], 42: ["<f4", "NN_42", "", "", ""], 43: ["<f4", "NN_43", "", "", ""], 44: ["<f4", "NN_44", "", "", ""], 45: ["<f4", "NN_45", "", "", ""], 46: ["<f4", "NN_46", "", "", ""], 47: ["<f4", "NN_47", "", "", ""], 48: ["<f4", "NN_48", "", "", ""], 49: ["<f4", "NN_49", "", "", ""], 50: ["<f4", "NN_50", "", "", ""], 51: ["<f4", "NN_51", "", "", ""], 52: ["<f4", "NN_52", "", "", ""], 53: ["<f4", "NN_53", "", "", ""], 54: ["<f4", "NN_54", "", "", ""], 55: ["<f4", "NN_55", "", "", ""], 56: ["<f4", "NN_56", "", "", ""], 57: ["<f4", "NN_57", "", "", ""], 58: ["<f4", "NN_58", "", "", ""], 59: ["<f4", "NN_59", "", "", ""], 60: ["<f4", "NN_60", "", "", ""], 61: ["<f4", "NN_61", "", "", ""], 62: ["<f4", "NN_62", "", "", ""], 63: ["<f4", "NN_63", "", "", ""], 64: ["<f4", "NN_64", "", "", ""], 65: ["u1", "flags", "int", "counter inc.", ""], 66: ["<f4", "NN_66", "", "", ""], 67: ["<f4", "NN_67", "", "", ""], 68: ["<f4", "NN_68", "", "", ""], 69: ["<f4", "R", "Ohm", "R/Ohm", ""], 70: ["<f4", "P", "W", "P/W", ""], 71: ["<f4", "QminusQnull", "C", "", ""], 72: ["<f4", "NN_72", "", "", ""], 73: ["<f4", "NN_73", "", "", ""], 74: ["<f8", "Energy", "W.h", "|Energy|/W.h", "charge_energy_txt"], 75: ["<f4", "Analog_OUT", "V", "Analog OUT/V", ""], 76: ["<f4", "I", "mA", "<I>/mA", ""], 77: ["<f4", "Ewe", "V", "<Ewe>/V", ""], 78: ["<f4", "Cs_2", "µF_substr_2", "Cs-2/µF-2", ""], 79: ["<f4", "NN_79", "", "", ""], 80: ["<f4", "NN_80", "", "", ""], 81: ["<f4", "NN_81", "", "", ""], 82: ["<f4", "NN_82", "", "", ""], 83: ["<f4", "NN_83", "", "", ""], 84: ["<f4", "NN_84", "", "", ""], 85: ["<f4", "NN_85", "", "", ""], 86: ["<f4", "NN_86", "", "", ""], 87: ["<f4", "NN_87", "", "", ""], 88: ["<f4", "NN_88", "", "", ""], 89: ["<f4", "NN_89", "", "", ""], 90: ["<f4", "NN_90", "", "", ""], 91: ["<f4", "NN_91", "", "", ""], 92: ["<f4", "NN_92", "", "", ""], 93: ["<f4", "NN_93", "", "", ""], 94: ["<f4", "NN_94", "", "", ""], 95: ["<f4", "NN_95", "", "", ""], 96: ["<f4", "absEce", "V", "|Ece|/V", ""], 97: ["<f4", "NN_97", "", "", ""], 98: ["<f4", "phaseZce", "deg", "Phase(Zce)/deg", "ref_aci_phase_angle_txt"], 99: ["<f4", "absZce", "Ohm", "|Zce|/Ohm", ""], 100: ["<f4", "ReZce", "Ohm", "Re(Zce)/Ohm", ""], 101: ["<f4", "neg_ImZce", "Ohm", "-Im(Zce)/Ohm", ""], 102: ["<f4", "NN_102", "", "", ""], 103: ["<f4", "NN_103", "", "", ""], 104: ["<f4", "NN_104", "", "", ""], 105: ["<f4", "NN_105", "", "", ""], 106: ["<f4", "NN_106", "", "", ""], 107: ["<f4", "NN_107", "", "", ""], 108: ["<f4", "NN_108", "", "", ""], 109: ["<f4", "NN_109", "", "", ""], 110: ["<f4", "NN_110", "", "", ""], 111: ["<f4", "NN_111", "", "", ""], 112: ["<f4", "NN_112", "", "", ""], 113: ["<f4", "NN_113", "", "", ""], 114: ["<f4", "NN_114", "", "", ""], 115: ["<f4", "NN_115", "", "", ""], 116: ["<f4", "NN_116", "", "", ""], 117: ["<f4", "NN_117", "", "", ""], 118: ["<f4", "NN_118", "", "", ""], 119: ["<f4", "NN_119", "", "", ""], 120: ["<f4", "NN_120", "", "", ""], 121: ["<f4", "NN_121", "", "", ""], 122: ["<f4", "NN_122", "", "", ""], 123: ["<f8", "Energy_charge", "Wh", "Energy charge/W.h", "charge_energy_txt"], 124: [ "<f8", "Energy_discharge", "Wh", "Energy discharge/W.h", "discharge_energy_txt", ], 125: ["<f8", "capacitance_charge", "microF", "Capacitance charge/µF", ""], 126: ["<f8", "capacitance_discharge", "µF", "Capacitance discharge/µF", ""], 127: ["<f4", "NN_127", "", "", ""], 128: ["<f4", "NN_128", "", "", ""], 129: ["<f4", "NN_129", "", "", ""], 130: ["<f4", "NN_130", "", "", ""], 131: ["<u2", "Ns", "", "Ns", "step_index_txt"], 132: ["<f4", "NN_132", "", "", ""], 133: ["<f4", "NN_133", "", "", ""], 134: ["<f4", "NN_134", "", "", ""], 135: ["<f4", "NN_135", "", "", ""], 136: ["<f4", "NN_136", "", "", ""], 137: ["<f4", "NN_137", "", "", ""], 138: ["<f4", "NN_138", "", "", ""], 139: ["<f4", "NN_139", "", "", ""], 140: ["<f4", "NN_140", "", "", ""], 141: ["<f4", "NN_141", "", "", ""], 142: ["<f4", "NN_142", "", "", ""], 143: ["<f4", "NN_143", "", "", ""], 144: ["<f4", "NN_144", "", "", ""], 145: ["<f4", "NN_145", "", "", ""], 146: ["<f4", "NN_146", "", "", ""], 147: ["<f4", "NN_147", "", "", ""], 148: ["<f4", "NN_148", "", "", ""], 149: ["<f4", "NN_149", "", "", ""], 150: ["<f4", "NN_150", "", "", ""], 151: ["<f4", "NN_151", "", "", ""], 152: ["<f4", "NN_152", "", "", ""], 153: ["<f4", "NN_153", "", "", ""], 154: ["<f4", "NN_154", "", "", ""], 155: ["<f4", "NN_155", "", "", ""], 156: ["<f4", "NN_156", "", "", ""], 157: ["<f4", "NN_157", "", "", ""], 158: ["<f4", "NN_158", "", "", ""], 159: ["<f4", "NN_159", "", "", ""], 160: ["<f4", "NN_160", "", "", ""], 161: ["<f4", "NN_161", "", "", ""], 162: ["<f4", "NN_162", "", "", ""], 163: ["<f4", "abs_Estack", "V", "|Estack|/V", ""], 164: ["<f4", "NN_164", "", "", ""], 165: ["<f4", "NN_165", "", "", ""], 166: ["<f4", "NN_166", "", "", ""], 167: ["<f4", "NN_167", "", "", ""], 168: ["<f4", "Rcmp", "Ohm", "Rcmp/Ohm", ""], 169: ["<f4", "Cs", "µF", "Cs/µF", ""], 170: ["<f4", "NN_170", "", "", ""], 171: ["<f4", "NN_171", "", "", ""], 172: ["<f4", "Cp", "µF", "Cp/µF", ""], 173: ["<f4", "Cp_2", "µF_substr_2", "Cp-2/µF-2", ""], 174: ["<f4", "avr_Ewe", "V", "<Ewe>/V", ""], 175: ["<f4", "NN_175", "", "", ""], 176: ["<f4", "NN_176", "", "", ""], 177: ["<f4", "NN_177", "", "", ""], 178: ["<f4", "Q_Qo", "C", "(Q-Qo)/C", ""], 179: ["<f4", "dQ", "C", "dQ/C", ""], 180: ["<f4", "NN_180", "", "", ""], 181: ["<f4", "NN_181", "", "", ""], 182: ["<f4", "NN_182", "", "", ""], 183: ["<f4", "NN_183", "", "", ""], 184: ["<f4", "NN_184", "", "", ""], 185: ["<f4", "NN_185", "", "", ""], 186: ["<f4", "NN_186", "", "", ""], 187: ["<f4", "NN_187", "", "", ""], 188: ["<f4", "NN_188", "", "", ""], 189: ["<f4", "NN_189", "", "", ""], 190: ["<f4", "NN_190", "", "", ""], 191: ["<f4", "NN_191", "", "", ""], 192: ["<f4", "NN_192", "", "", ""], 193: ["<f4", "NN_193", "", "", ""], 194: ["<f4", "NN_194", "", "", ""], 195: ["<f4", "NN_195", "", "", ""], 196: ["<f4", "NN_196", "", "", ""], 197: ["<f4", "NN_197", "", "", ""], 198: ["<f4", "NN_198", "", "", ""], 199: ["<f4", "NN_199", "", "", ""], 200: ["<f4", "NN_200", "", "", ""], 201: ["<f4", "NN_201", "", "", ""], 202: ["<f4", "NN_202", "", "", ""], 203: ["<f4", "NN_203", "", "", ""], 204: ["<f4", "NN_204", "", "", ""], 205: ["<f4", "NN_205", "", "", ""], 206: ["<f4", "NN_206", "", "", ""], 207: ["<f4", "NN_207", "", "", ""], 208: ["<f4", "NN_208", "", "", ""], 209: ["<f4", "NN_209", "", "", ""], 210: ["<f4", "NN_210", "", "", ""], 211: [ "<f8", "Q_charge/discharge/mA.h", "", "Q charge/discharge/mA.h", "", ], # Updated dtype from <f4 to <f8 212: ["<u4", "half_cycle", "", "half cycle", ""], # Updated dtype from <f4 to <u4 213: ["<u4", "z_cycle", "", "z cycle", ""], # Updated dtype from <f4 to <u4 214: ["<f4", "NN_214", "", "", ""], 215: ["<f4", "NN_215", "", "", ""], 216: ["<f4", "NN_216", "", "", ""], 217: ["<f4", "THD_Ewe", "percent", "THD Ewe/%", ""], 218: ["<f4", "THD_I", "percent", "THD I/%", ""], 219: ["<f4", "NN_219", "", "", ""], 220: ["<f4", "NSD_Ewe", "percent", "NSD Ewe/%", ""], 221: ["<f4", "NSD_I", "percent", "NSD I/%", ""], 222: ["<f4", "NN_222", "", "", ""], 223: ["<f4", "NSR_Ewe", "percent", "NSR Ewe/%", ""], 224: ["<f4", "NSR_I", "percent", "NSR I/%", ""], 225: ["<f4", "NN_225", "", "", ""], 226: ["<f4", "NN_226", "", "", ""], 227: ["<f4", "NN_227", "", "", ""], 228: ["<f4", "NN_228", "", "", ""], 229: ["<f4", "NN_229", "", "", ""], 230: ["<f4", "abs_Ewe_h2", "V", "|Ewe h2|/V", ""], 231: ["<f4", "abs_Ewe_h3", "V", "|Ewe h3|/V", ""], 232: ["<f4", "abs_Ewe_h4", "V", "|Ewe h4|/V", ""], 233: ["<f4", "abs_Ewe_h5", "V", "|Ewe h5|/V", ""], 234: ["<f4", "abs_Ewe_h6", "V", "|Ewe h6|/V", ""], 235: ["<f4", "abs_Ewe_h7", "V", "|Ewe h7|/V", ""], 236: ["<f4", "abs_I_h2", "A", "|I h2|/A", ""], 237: ["<f4", "abs_I_h3", "A", "|I h3|/A", ""], 238: ["<f4", "abs_I_h4", "A", "|I h4|/A", ""], 239: ["<f4", "abs_I_h5", "A", "|I h5|/A", ""], 240: ["<f4", "abs_I_h6", "A", "|I h6|/A", ""], 241: ["<f4", "abs_I_h7", "A", "|I h7|/A", ""], 242: ["<f4", "abs_E2", "V", "|E2|/V", ""], 243: ["<f4", "NN_243", "", "", ""], 244: ["<f4", "NN_244", "", "", ""], 245: ["<f4", "NN_245", "", "", ""], 246: ["<f4", "NN_246", "", "", ""], 247: ["<f4", "NN_247", "", "", ""], 248: ["<f4", "NN_248", "", "", ""], 249: ["<f4", "NN_249", "", "", ""], 250: ["<f4", "NN_250", "", "", ""], 251: ["<f4", "NN_251", "", "", ""], 252: ["<f4", "NN_252", "", "", ""], 253: ["<f4", "NN_253", "", "", ""], 254: ["<f4", "NN_254", "", "", ""], 255: ["<f4", "NN_255", "", "", ""], 256: ["<f4", "NN_256", "", "", ""], 257: ["<f4", "NN_257", "", "", ""], 258: ["<f4", "NN_258", "", "", ""], 259: ["<f4", "NN_259", "", "", ""], 260: ["<f4", "NN_260", "", "", ""], 261: ["<f4", "NN_261", "", "", ""], 262: ["<f4", "NN_262", "", "", ""], 263: ["<f4", "NN_263", "", "", ""], 264: ["<f4", "NN_264", "", "", ""], 265: ["<f4", "NN_265", "", "", ""], 266: ["<f4", "NN_266", "", "", ""], 267: ["<f4", "NN_267", "", "", ""], 268: ["<f4", "NN_268", "", "", ""], 269: ["<f4", "NN_269", "", "", ""], 270: ["<f4", "NN_270", "", "", ""], 271: ["<f4", "PhaseZ1", "deg", "Phase(Z1) / deg", ""], 272: ["<f4", "PhaseZ2", "deg", "Phase(Z2) / deg", ""], 273: ["<f4", "NN_273", "", "", ""], 274: ["<f4", "NN_274", "", "", ""], 275: ["<f4", "NN_275", "", "", ""], 276: ["<f4", "NN_276", "", "", ""], 277: ["<f4", "NN_277", "", "", ""], 278: ["<f4", "NN_278", "", "", ""], 279: ["<f4", "NN_279", "", "", ""], 280: ["<f4", "NN_280", "", "", ""], 281: ["<f4", "NN_281", "", "", ""], 282: ["<f4", "NN_282", "", "", ""], 283: ["<f4", "NN_283", "", "", ""], 284: ["<f4", "NN_284", "", "", ""], 285: ["<f4", "NN_285", "", "", ""], 286: ["<f4", "NN_286", "", "", ""], 287: ["<f4", "NN_287", "", "", ""], 288: ["<f4", "NN_288", "", "", ""], 289: ["<f4", "NN_289", "", "", ""], 290: ["<f4", "NN_290", "", "", ""], 291: ["<f4", "NN_291", "", "", ""], 292: ["<f4", "NN_292", "", "", ""], 293: ["<f4", "NN_293", "", "", ""], 294: ["<f4", "NN_294", "", "", ""], 295: ["<f4", "NN_295", "", "", ""], 296: ["<f4", "NN_296", "", "", ""], 297: ["<f4", "NN_297", "", "", ""], 298: ["<f4", "NN_298", "", "", ""], 299: ["<f4", "NN_299", "", "", ""], 300: ["<f4", "NN_300", "", "", ""], 301: ["<f4", "abs_Z1", "Ohm", "|Z1|/Ohm", ""], 302: ["<f4", "abs_Z2", "Ohm", "|Z2|/Ohm", ""], 303: ["<f4", "NN_303", "", "", ""], 304: ["<f4", "NN_304", "", "", ""], 305: ["<f4", "NN_305", "", "", ""], 306: ["<f4", "NN_306", "", "", ""], 307: ["<f4", "NN_307", "", "", ""], 308: ["<f4", "NN_308", "", "", ""], 309: ["<f4", "NN_309", "", "", ""], 310: ["<f4", "NN_310", "", "", ""], 311: ["<f4", "NN_311", "", "", ""], 312: ["<f4", "NN_312", "", "", ""], 313: ["<f4", "NN_313", "", "", ""], 314: ["<f4", "NN_314", "", "", ""], 315: ["<f4", "NN_315", "", "", ""], 316: ["<f4", "NN_316", "", "", ""], 317: ["<f4", "NN_317", "", "", ""], 318: ["<f4", "NN_318", "", "", ""], 319: ["<f4", "NN_319", "", "", ""], 320: ["<f4", "NN_320", "", "", ""], 321: ["<f4", "NN_321", "", "", ""], 322: ["<f4", "NN_322", "", "", ""], 323: ["<f4", "NN_323", "", "", ""], 324: ["<f4", "NN_324", "", "", ""], 325: ["<f4", "NN_325", "", "", ""], 326: ["<f4", "NN_326", "", "", ""], 327: ["<f4", "NN_327", "", "", ""], 328: ["<f4", "NN_328", "", "", ""], 329: ["<f4", "NN_329", "", "", ""], 330: ["<f4", "NN_330", "", "", ""], 331: ["<f4", "ReZ1", "Ohm", "Re(Z1)/Ohm", ""], 332: ["<f4", "ReZ2", "Ohm", "Re(Z2)/Ohm", ""], 333: ["<f4", "NN_333", "", "", ""], 334: ["<f4", "NN_334", "", "", ""], 335: ["<f4", "NN_335", "", "", ""], 336: ["<f4", "NN_336", "", "", ""], 337: ["<f4", "NN_337", "", "", ""], 338: ["<f4", "NN_338", "", "", ""], 339: ["<f4", "NN_339", "", "", ""], 340: ["<f4", "NN_340", "", "", ""], 341: ["<f4", "NN_341", "", "", ""], 342: ["<f4", "NN_342", "", "", ""], 343: ["<f4", "NN_343", "", "", ""], 344: ["<f4", "NN_344", "", "", ""], 345: ["<f4", "NN_345", "", "", ""], 346: ["<f4", "NN_346", "", "", ""], 347: ["<f4", "NN_347", "", "", ""], 348: ["<f4", "NN_348", "", "", ""], 349: ["<f4", "NN_349", "", "", ""], 350: ["<f4", "NN_350", "", "", ""], 351: ["<f4", "NN_351", "", "", ""], 352: ["<f4", "NN_352", "", "", ""], 353: ["<f4", "NN_353", "", "", ""], 354: ["<f4", "NN_354", "", "", ""], 355: ["<f4", "NN_355", "", "", ""], 356: ["<f4", "NN_356", "", "", ""], 357: ["<f4", "NN_357", "", "", ""], 358: ["<f4", "NN_358", "", "", ""], 359: ["<f4", "NN_359", "", "", ""], 360: ["<f4", "NN_360", "", "", ""], 361: ["<f4", "neg_ImZ1", "Ohm", "-Im(Z1)/Ohm", ""], 362: ["<f4", "neg_ImZ2", "Ohm", "-Im(Z2)/Ohm", ""], 363: ["<f4", "NN_363", "", "", ""], 364: ["<f4", "NN_364", "", "", ""], 365: ["<f4", "NN_365", "", "", ""], 366: ["<f4", "NN_366", "", "", ""], 367: ["<f4", "NN_367", "", "", ""], 368: ["<f4", "NN_368", "", "", ""], 369: ["<f4", "NN_369", "", "", ""], 370: ["<f4", "NN_370", "", "", ""], 371: ["<f4", "NN_371", "", "", ""], 372: ["<f4", "NN_372", "", "", ""], 373: ["<f4", "NN_373", "", "", ""], 374: ["<f4", "NN_374", "", "", ""], 375: ["<f4", "NN_375", "", "", ""], 376: ["<f4", "NN_376", "", "", ""], 377: ["<f4", "NN_377", "", "", ""], 378: ["<f4", "NN_378", "", "", ""], 379: ["<f4", "NN_379", "", "", ""], 380: ["<f4", "NN_380", "", "", ""], 381: ["<f4", "NN_381", "", "", ""], 382: ["<f4", "NN_382", "", "", ""], 383: ["<f4", "NN_383", "", "", ""], 384: ["<f4", "NN_384", "", "", ""], 385: ["<f4", "NN_385", "", "", ""], 386: ["<f4", "NN_386", "", "", ""], 387: ["<f4", "NN_387", "", "", ""], 388: ["<f4", "NN_388", "", "", ""], 389: ["<f4", "NN_389", "", "", ""], 390: ["<f4", "NN_390", "", "", ""], 391: ["<f4", "avr_E1", "V", "<E1>/V", ""], 392: ["<f4", "avr_E2", "V", "<E2>/V", ""], 393: ["<f4", "NN_393", "", "", ""], 394: ["<f4", "NN_394", "", "", ""], 395: ["<f4", "NN_395", "", "", ""], 396: ["<f4", "NN_396", "", "", ""], 397: ["<f4", "NN_397", "", "", ""], 398: ["<f4", "NN_398", "", "", ""], 399: ["<f4", "NN_399", "", "", ""], 400: ["<f4", "NN_400", "", "", ""], 401: ["<f4", "NN_401", "", "", ""], 402: ["<f4", "NN_402", "", "", ""], 403: ["<f4", "NN_403", "", "", ""], 404: ["<f4", "NN_404", "", "", ""], 405: ["<f4", "NN_405", "", "", ""], 406: ["<f4", "NN_406", "", "", ""], 407: ["<f4", "NN_407", "", "", ""], 408: ["<f4", "NN_408", "", "", ""], 409: ["<f4", "NN_409", "", "", ""], 410: ["<f4", "NN_410", "", "", ""], 411: ["<f4", "NN_411", "", "", ""], 412: ["<f4", "NN_412", "", "", ""], 413: ["<f4", "NN_413", "", "", ""], 414: ["<f4", "NN_414", "", "", ""], 415: ["<f4", "NN_415", "", "", ""], 416: ["<f4", "NN_416", "", "", ""], 417: ["<f4", "NN_417", "", "", ""], 418: ["<f4", "NN_418", "", "", ""], 419: ["<f4", "NN_419", "", "", ""], 420: ["<f4", "NN_420", "", "", ""], 421: ["<f4", "NN_421", "", "", ""], 422: ["<f4", "PhaseZstack", "deg", "Phase(Zstack)/deg", ""], 423: ["<f4", "abs_Zstack", "Ohm", "|Zstack|/Ohm", ""], 424: ["<f4", "ReZstack", "Ohm", "Re(Zstack)/Ohm", ""], 425: ["<f4", "neg_ImZstack", "Ohm", "-Im(Zstack)/Ohm", ""], 426: ["<f4", "avr_Estack", "V", "<Estack>/V", ""], 427: ["<f4", "NN_427", "", "", ""], 428: ["<f4", "NN_428", "", "", ""], 429: ["<f4", "NN_429", "", "", ""], 430: ["<f4", "phaseDiffZ", "deg", "Phase(Zwe-ce)/deg", ""], 431: ["<f4", "absDiffZ", "Ohm", "|Zwe-ce|/Ohm", ""], 432: ["<f4", "ReDiffZ", "Ohm", "Re(Zwe-ce)/Ohm", ""], 433: ["<f4", "neg_ImZwe_ce", "Ohm", "-Im(Zwe-ce)/Ohm", ""], 434: ["<f4", "Z", "W", "(Q-Qo)/C", ""], 435: ["<f4", "QminusQnull", "C", "dQ/C", ""], 436: ["<f4", "NN_436", "", "", ""], 437: ["<f4", "NN_437", "", "", ""], 438: ["<f8", "step_time", "s", "step time/s", ""], # Updated dtype from <f4 to <f8 439: ["<f4", "NN_439", "", "", ""], 440: ["<f4", "NN_440", "", "", ""], 441: ["<f4", "avr_Ecv", "V", "<Ecv>/V", ""], 442: ["<f4", "NN_442", "", "", ""], 443: ["<f4", "NN_443", "", "", ""], 444: ["<f4", "NN_444", "", "", ""], 445: ["<f4", "NN_445", "", "", ""], 446: ["<f4", "NN_446", "", "", ""], 447: ["<f4", "NN_447", "", "", ""], 448: ["<f4", "NN_448", "", "", ""], 449: ["<f4", "NN_449", "", "", ""], 450: ["<f4", "NN_450", "", "", ""], 451: ["<f4", "NN_451", "", "", ""], 452: ["<f4", "NN_452", "", "", ""], 453: ["<f4", "NN_453", "", "", ""], 454: ["<f4", "NN_454", "", "", ""], 455: ["<f4", "NN_455", "", "", ""], 456: ["<f4", "NN_456", "", "", ""], 457: ["<f4", "NN_457", "", "", ""], 458: ["<f4", "NN_458", "", "", ""], 459: ["<f4", "NN_459", "", "", ""], 460: ["<f4", "NN_460", "", "", ""], 461: ["<f4", "NN_461", "", "", ""], 462: ["<f4", "Temperature", "deg_C", "Temperature/°C", ""], 463: ["<f4", "NN_463", "", "", ""], 464: ["<f4", "NN_464", "", "", ""], 465: ["<f4", "NN_465", "", "", ""], 466: ["<f4", "NN_466", "", "", ""], 467: [ "<f8", "QChargeDischarge", "mAh", "Q charge/discharge/mA.h", "charge_capacity_txt", ], 468: [ "<u4", "half_cycle", "", "half cycle", "cycle_index_txt", ], # Updated dtype from <f4 to <u4 469: ["<u4", "z_cycle", "", "z cycle", ""], # Updated dtype from <f4 to <u4 470: ["<f4", "NN_470", "", "", ""], 471: ["<f4", "avEce", "V", "<Ece>/V", ""], 472: ["<f4", "NN_472", "", "", ""], 473: ["<f4", "THD_Ewe", "percent", "THD Ewe/%", ""], 474: ["<f4", "THD_I", "percent", "THD I/%", ""], 475: ["<f4", "NN_475", "", "", ""], 476: ["<f4", "NSD_Ewe", "percent", "NSD Ewe/%", ""], 477: ["<f4", "NSD_I", "percent", "NSD I/%", ""], 478: ["<f4", "NN_478", "", "", ""], 479: ["<f4", "NSR_Ewe", "percent", "NSR Ewe/%", ""], 480: ["<f4", "NSR_I", "percent", "NSR I/%", ""], 481: ["<f4", "NN_481", "", "", ""], 482: ["<f4", "NN_482", "", "", ""], 483: ["<f4", "NN_483", "", "", ""], 484: ["<f4", "NN_484", "", "", ""], 485: ["<f4", "NN_485", "", "", ""], 486: ["<f4", "abs_Ewe_h2", "V", "|Ewe h2|/V", ""], 487: ["<f4", "abs_Ewe_h3", "V", "|Ewe h3|/V", ""], 488: ["<f4", "abs_Ewe_h4", "V", "|Ewe h4|/V", ""], 489: ["<f4", "abs_Ewe_h5", "V", "|Ewe h5|/V", ""], 490: ["<f4", "abs_Ewe_h6", "V", "|Ewe h6|/V", ""], 491: ["<f4", "abs_Ewe_h7", "V", "|Ewe h7|/V", ""], 492: ["<f4", "abs_I_h2", "A", "|I h2|/A", ""], 493: ["<f4", "abs_I_h3", "A", "|I h3|/A", ""], 494: ["<f4", "abs_I_h4", "A", "|I h4|/A", ""], 495: ["<f4", "abs_I_h5", "A", "|I h5|/A", ""], 496: ["<f4", "abs_I_h6", "A", "|I h6|/A", ""], 497: ["<f4", "abs_I_h7", "A", "|I h7|/A", ""], 498: [ "<f8", "Q_charge", "mAh", "Q charge/mA.h", "charge_capacity_txt", ], # Updated dtype from <f4 to <f8 499: [ "<f8", "Q_discharge", "mAh", "Q discharge/mA.h", "discharge_capacity_txt", ], # Updated dtype from <f4 to <f8 500: [ "<f8", "step_time", "s", "step time/s", "step_time_txt", ], # Updated dtype from <f4 to <f8 501: ["<f8", "Efficiency", "percent", "Efficiency/%", ""], # New from galvani 502: [ "<f8", "Capacity", "mAh", "Capacity/mA.h", "charge_capacity_txt", ], # New from galvani 503: ["<f4", "NN_503", "", "", ""], 504: ["<f4", "NN_504", "", "", ""], 505: [ "<f4", "Rdc", "Ohm", "Rdc/Ohm", "internal_resistance_txt", ], # New from galvani 506: ["<f4", "NN_506", "", "", ""], 507: ["<f4", "NN_507", "", "", ""], 508: ["<f4", "NN_508", "", "", ""], 509: ["<u1", "Acir", "Dcir_Control", "Acir/Dcir Control", ""], # New from galvani }
# colno: [dtype, ColHeader, unit, BL_name, cellpyname]
[docs] bl_dtypes_v0 = { 1: ["u1", "flags", "int", "mode", ""], 2: ["u1", "flags", "int", "ox/red", ""], 3: ["u1", "flags", "int", "error", ""], 4: ["<f8", "time", "s", "time/s", ""], 5: ["<f8", "control", "V/mA", "", ""], 6: ["<f4", "Ewe", "V", "Ewe/V", ""], 7: ["<f8", "dQ", "mAh", "", ""], 8: ["<f4", "I", "mA", "I/mA", ""], 9: ["<f4", "Ece", "", "Ece/V", ""], 10: ["<f4", "NN_10", "", "", ""], 11: ["<f8", "I", "mA", "", ""], 12: ["<f4", "NN_12", "", "", ""], 13: ["<f8", "QminusQnull", "mA.h", "(Q-Qo)/mA.h", ""], 14: ["<f4", "NN_14", "", "", ""], 15: ["<f4", "NN_15", "", "", ""], 16: ["<f4", "NN_16", "", "", ""], 17: ["<f4", "NN_17", "", "", ""], 18: ["<f4", "NN_18", "", "", ""], 19: ["<f4", "control", "V/mA", "", ""], 20: ["<f4", "control", "mA", "control/mA", ""], 21: ["u1", "flags", "int", "control changes", ""], 22: ["<f4", "NN_22", "", "", ""], 23: ["<f8", "dQ", "mAh", "", ""], 24: ["<f8", "cycleno", "int", "", ""], 25: ["<f4", "NN_25", "", "", ""], 26: ["<f4", "NN_26", "", "", ""], 27: ["<f4", "NN_27", "", "", ""], 28: ["<f4", "NN_28", "", "", ""], 29: ["<f4", "NN_29", "", "", ""], 30: ["<f4", "NN_30", "", "", ""], 31: ["u1", "flags", "int", "Ns changes", ""], 32: ["<f4", "freq", "Hz", "freq/Hz", ""], 33: ["<f4", "absEwe", "V", "", ""], 34: ["<f4", "absI", "A", "", ""], 35: ["<f4", "phaseZ", "deg", "Phase(Z)/deg", ""], 36: ["<f4", "absZ", "Ohm", "|Z|/Ohm", ""], 37: ["<f4", "ReZ", "Ohm", "", ""], 38: ["<f4", "negImZ", "Ohm", "", ""], 39: ["<u2", "Irange", "int", "I range", ""], 40: ["<f4", "NN_40", "", "", ""], 41: ["<f4", "NN_41", "", "", ""], 42: ["<f4", "NN_42", "", "", ""], 43: ["<f4", "NN_43", "", "", ""], 44: ["<f4", "NN_44", "", "", ""], 45: ["<f4", "NN_45", "", "", ""], 46: ["<f4", "NN_46", "", "", ""], 47: ["<f4", "NN_47", "", "", ""], 48: ["<f4", "NN_48", "", "", ""], 49: ["<f4", "NN_49", "", "", ""], 50: ["<f4", "NN_50", "", "", ""], 51: ["<f4", "NN_51", "", "", ""], 52: ["<f4", "NN_52", "", "", ""], 53: ["<f4", "NN_53", "", "", ""], 54: ["<f4", "NN_54", "", "", ""], 55: ["<f4", "NN_55", "", "", ""], 56: ["<f4", "NN_56", "", "", ""], 57: ["<f4", "NN_57", "", "", ""], 58: ["<f4", "NN_58", "", "", ""], 59: ["<f4", "NN_59", "", "", ""], 60: ["<f4", "NN_60", "", "", ""], 61: ["<f4", "NN_61", "", "", ""], 62: ["<f4", "NN_62", "", "", ""], 63: ["<f4", "NN_63", "", "", ""], 64: ["<f4", "NN_64", "", "", ""], 65: ["u1", "flags", "int", "counter inc.", ""], 66: ["<f4", "NN_66", "", "", ""], 67: ["<f4", "NN_67", "", "", ""], 68: ["<f4", "NN_68", "", "", ""], 69: ["<f4", "NN_69", "", "", ""], 70: ["<f4", "P", "W", "", ""], 71: ["<f4", "QminusQnull", "C", "", ""], 72: ["<f4", "NN_72", "", "", ""], 73: ["<f4", "NN_73", "", "", ""], 74: ["<f8", "Energy", "W.h", "Energy/W.h", ""], 75: ["<f4", "NN_75", "", "", ""], 76: ["<f4", "I", "mA", "", ""], 77: ["<f4", "Ewe", "V", "", ""], 78: ["<f4", "NN_78", "", "", ""], 79: ["<f4", "NN_79", "", "", ""], 80: ["<f4", "NN_80", "", "", ""], 81: ["<f4", "NN_81", "", "", ""], 82: ["<f4", "NN_82", "", "", ""], 83: ["<f4", "NN_83", "", "", ""], 84: ["<f4", "NN_84", "", "", ""], 85: ["<f4", "NN_85", "", "", ""], 86: ["<f4", "NN_86", "", "", ""], 87: ["<f4", "NN_87", "", "", ""], 88: ["<f4", "NN_88", "", "", ""], 89: ["<f4", "NN_89", "", "", ""], 90: ["<f4", "NN_90", "", "", ""], 91: ["<f4", "NN_91", "", "", ""], 92: ["<f4", "NN_92", "", "", ""], 93: ["<f4", "NN_93", "", "", ""], 94: ["<f4", "NN_94", "", "", ""], 95: ["<f4", "NN_95", "", "", ""], 96: ["<f4", "absEce", "V", "|Ece|/V", ""], 97: ["<f4", "NN_97", "", "", ""], 98: ["<f4", "phaseZce", "deg", "Phase(Zce)/deg", ""], 99: ["<f4", "absZce", "Ohm", "|Zce|/Ohm", ""], 100: ["<f4", "ReZce", "Ohm", "Re(Zce)/Ohm", ""], 101: ["<f4", "NN_101", "", "NAME?", ""], 102: ["<f4", "NN_102", "", "", ""], 103: ["<f4", "NN_103", "", "", ""], 104: ["<f4", "NN_104", "", "", ""], 105: ["<f4", "NN_105", "", "", ""], 106: ["<f4", "NN_106", "", "", ""], 107: ["<f4", "NN_107", "", "", ""], 108: ["<f4", "NN_108", "", "", ""], 109: ["<f4", "NN_109", "", "", ""], 110: ["<f4", "NN_110", "", "", ""], 111: ["<f4", "NN_111", "", "", ""], 112: ["<f4", "NN_112", "", "", ""], 113: ["<f4", "NN_113", "", "", ""], 114: ["<f4", "NN_114", "", "", ""], 115: ["<f4", "NN_115", "", "", ""], 116: ["<f4", "NN_116", "", "", ""], 117: ["<f4", "NN_117", "", "", ""], 118: ["<f4", "NN_118", "", "", ""], 119: ["<f4", "NN_119", "", "", ""], 120: ["<f4", "NN_120", "", "", ""], 121: ["<f4", "NN_121", "", "", ""], 122: ["<f4", "NN_122", "", "", ""], 123: ["<f8", "NN_123", "", "", ""], 124: ["<f8", "NN_124", "", "", ""], 125: ["<f8", "capacitance_charge", "microF", "Capacitance charge/micronF", ""], 126: ["<f8", "NN_126", "", "", ""], 127: ["<f4", "NN_127", "", "", ""], 128: ["<f4", "NN_128", "", "", ""], 129: ["<f4", "NN_129", "", "", ""], 130: ["<f4", "NN_130", "", "", ""], 131: ["<u2", "flags2", "", "Ns", "step_index_txt"], 132: ["<f4", "NN_132", "", "", ""], 133: ["<f4", "NN_133", "", "", ""], 134: ["<f4", "NN_134", "", "", ""], 135: ["<f4", "NN_135", "", "", ""], 136: ["<f4", "NN_136", "", "", ""], 137: ["<f4", "NN_137", "", "", ""], 138: ["<f4", "NN_138", "", "", ""], 139: ["<f4", "NN_139", "", "", ""], 140: ["<f4", "NN_140", "", "", ""], 141: ["<f4", "NN_141", "", "", ""], 142: ["<f4", "NN_142", "", "", ""], 143: ["<f4", "NN_143", "", "", ""], 144: ["<f4", "NN_144", "", "", ""], 145: ["<f4", "NN_145", "", "", ""], 146: ["<f4", "NN_146", "", "", ""], 147: ["<f4", "NN_147", "", "", ""], 148: ["<f4", "NN_148", "", "", ""], 149: ["<f4", "NN_149", "", "", ""], 150: ["<f4", "NN_150", "", "", ""], 151: ["<f4", "NN_151", "", "", ""], 152: ["<f4", "NN_152", "", "", ""], 153: ["<f4", "NN_153", "", "", ""], 154: ["<f4", "NN_154", "", "", ""], 155: ["<f4", "NN_155", "", "", ""], 156: ["<f4", "NN_156", "", "", ""], 157: ["<f4", "NN_157", "", "", ""], 158: ["<f4", "NN_158", "", "", ""], 159: ["<f4", "NN_159", "", "", ""], 160: ["<f4", "NN_160", "", "", ""], 161: ["<f4", "NN_161", "", "", ""], 162: ["<f4", "NN_162", "", "", ""], 163: ["<f4", "NN_163", "", "", ""], 164: ["<f4", "NN_164", "", "", ""], 165: ["<f4", "NN_165", "", "", ""], 166: ["<f4", "NN_166", "", "", ""], 167: ["<f4", "NN_167", "", "", ""], 168: ["<f4", "NN_168", "", "", ""], 169: ["<f4", "NN_169", "", "", ""], 170: ["<f4", "NN_170", "", "", ""], 171: ["<f4", "NN_171", "", "", ""], 172: ["<f4", "NN_172", "", "", ""], 173: ["<f4", "NN_173", "", "", ""], 174: ["<f4", "NN_174", "", "", ""], 175: ["<f4", "NN_175", "", "", ""], 176: ["<f4", "NN_176", "", "", ""], 177: ["<f4", "NN_177", "", "", ""], 178: ["<f4", "NN_178", "", "", ""], 179: ["<f4", "NN_179", "", "", ""], 180: ["<f4", "NN_180", "", "", ""], 181: ["<f4", "NN_181", "", "", ""], 182: ["<f4", "NN_182", "", "", ""], 183: ["<f4", "NN_183", "", "", ""], 184: ["<f4", "NN_184", "", "", ""], 185: ["<f4", "NN_185", "", "", ""], 186: ["<f4", "NN_186", "", "", ""], 187: ["<f4", "NN_187", "", "", ""], 188: ["<f4", "NN_188", "", "", ""], 189: ["<f4", "NN_189", "", "", ""], 190: ["<f4", "NN_190", "", "", ""], 191: ["<f4", "NN_191", "", "", ""], 192: ["<f4", "NN_192", "", "", ""], 193: ["<f4", "NN_193", "", "", ""], 194: ["<f4", "NN_194", "", "", ""], 195: ["<f4", "NN_195", "", "", ""], 196: ["<f4", "NN_196", "", "", ""], 197: ["<f4", "NN_197", "", "", ""], 198: ["<f4", "NN_198", "", "", ""], 199: ["<f4", "NN_199", "", "", ""], 200: ["<f4", "NN_200", "", "", ""], 201: ["<f4", "NN_201", "", "", ""], 202: ["<f4", "NN_202", "", "", ""], 203: ["<f4", "NN_203", "", "", ""], 204: ["<f4", "NN_204", "", "", ""], 205: ["<f4", "NN_205", "", "", ""], 206: ["<f4", "NN_206", "", "", ""], 207: ["<f4", "NN_207", "", "", ""], 208: ["<f4", "NN_208", "", "", ""], 209: ["<f4", "NN_209", "", "", ""], 210: ["<f4", "NN_210", "", "", ""], 211: ["<f4", "NN_211", "", "", ""], 212: ["<f4", "NN_212", "", "", ""], 213: ["<f4", "NN_213", "", "", ""], 214: ["<f4", "NN_214", "", "", ""], 215: ["<f4", "NN_215", "", "", ""], 216: ["<f4", "NN_216", "", "", ""], 217: ["<f4", "NN_217", "", "", ""], 218: ["<f4", "NN_218", "", "", ""], 219: ["<f4", "NN_219", "", "", ""], 220: ["<f4", "NN_220", "", "", ""], 221: ["<f4", "NN_221", "", "", ""], 222: ["<f4", "NN_222", "", "", ""], 223: ["<f4", "NN_223", "", "", ""], 224: ["<f4", "NN_224", "", "", ""], 225: ["<f4", "NN_225", "", "", ""], 226: ["<f4", "NN_226", "", "", ""], 227: ["<f4", "NN_227", "", "", ""], 228: ["<f4", "NN_228", "", "", ""], 229: ["<f4", "NN_229", "", "", ""], 230: ["<f4", "NN_230", "", "", ""], 231: ["<f4", "NN_231", "", "", ""], 232: ["<f4", "NN_232", "", "", ""], 233: ["<f4", "NN_233", "", "", ""], 234: ["<f4", "NN_234", "", "", ""], 235: ["<f4", "NN_235", "", "", ""], 236: ["<f4", "NN_236", "", "", ""], 237: ["<f4", "NN_237", "", "", ""], 238: ["<f4", "NN_238", "", "", ""], 239: ["<f4", "NN_239", "", "", ""], 240: ["<f4", "NN_240", "", "", ""], 241: ["<f4", "NN_241", "", "", ""], 242: ["<f4", "NN_242", "", "", ""], 243: ["<f4", "NN_243", "", "", ""], 244: ["<f4", "NN_244", "", "", ""], 245: ["<f4", "NN_245", "", "", ""], 246: ["<f4", "NN_246", "", "", ""], 247: ["<f4", "NN_247", "", "", ""], 248: ["<f4", "NN_248", "", "", ""], 249: ["<f4", "NN_249", "", "", ""], 250: ["<f4", "NN_250", "", "", ""], 251: ["<f4", "NN_251", "", "", ""], 252: ["<f4", "NN_252", "", "", ""], 253: ["<f4", "NN_253", "", "", ""], 254: ["<f4", "NN_254", "", "", ""], 255: ["<f4", "NN_255", "", "", ""], 256: ["<f4", "NN_256", "", "", ""], 257: ["<f4", "NN_257", "", "", ""], 258: ["<f4", "NN_258", "", "", ""], 259: ["<f4", "NN_259", "", "", ""], 260: ["<f4", "NN_260", "", "", ""], 261: ["<f4", "NN_261", "", "", ""], 262: ["<f4", "NN_262", "", "", ""], 263: ["<f4", "NN_263", "", "", ""], 264: ["<f4", "NN_264", "", "", ""], 265: ["<f4", "NN_265", "", "", ""], 266: ["<f4", "NN_266", "", "", ""], 267: ["<f4", "NN_267", "", "", ""], 268: ["<f4", "NN_268", "", "", ""], 269: ["<f4", "NN_269", "", "", ""], 270: ["<f4", "NN_270", "", "", ""], 271: ["<f4", "NN_271", "", "", ""], 272: ["<f4", "NN_272", "", "", ""], 273: ["<f4", "NN_273", "", "", ""], 274: ["<f4", "NN_274", "", "", ""], 275: ["<f4", "NN_275", "", "", ""], 276: ["<f4", "NN_276", "", "", ""], 277: ["<f4", "NN_277", "", "", ""], 278: ["<f4", "NN_278", "", "", ""], 279: ["<f4", "NN_279", "", "", ""], 280: ["<f4", "NN_280", "", "", ""], 281: ["<f4", "NN_281", "", "", ""], 282: ["<f4", "NN_282", "", "", ""], 283: ["<f4", "NN_283", "", "", ""], 284: ["<f4", "NN_284", "", "", ""], 285: ["<f4", "NN_285", "", "", ""], 286: ["<f4", "NN_286", "", "", ""], 287: ["<f4", "NN_287", "", "", ""], 288: ["<f4", "NN_288", "", "", ""], 289: ["<f4", "NN_289", "", "", ""], 290: ["<f4", "NN_290", "", "", ""], 291: ["<f4", "NN_291", "", "", ""], 292: ["<f4", "NN_292", "", "", ""], 293: ["<f4", "NN_293", "", "", ""], 294: ["<f4", "NN_294", "", "", ""], 295: ["<f4", "NN_295", "", "", ""], 296: ["<f4", "NN_296", "", "", ""], 297: ["<f4", "NN_297", "", "", ""], 298: ["<f4", "NN_298", "", "", ""], 299: ["<f4", "NN_299", "", "", ""], 300: ["<f4", "NN_300", "", "", ""], 301: ["<f4", "NN_301", "", "", ""], 302: ["<f4", "NN_302", "", "", ""], 303: ["<f4", "NN_303", "", "", ""], 304: ["<f4", "NN_304", "", "", ""], 305: ["<f4", "NN_305", "", "", ""], 306: ["<f4", "NN_306", "", "", ""], 307: ["<f4", "NN_307", "", "", ""], 308: ["<f4", "NN_308", "", "", ""], 309: ["<f4", "NN_309", "", "", ""], 310: ["<f4", "NN_310", "", "", ""], 311: ["<f4", "NN_311", "", "", ""], 312: ["<f4", "NN_312", "", "", ""], 313: ["<f4", "NN_313", "", "", ""], 314: ["<f4", "NN_314", "", "", ""], 315: ["<f4", "NN_315", "", "", ""], 316: ["<f4", "NN_316", "", "", ""], 317: ["<f4", "NN_317", "", "", ""], 318: ["<f4", "NN_318", "", "", ""], 319: ["<f4", "NN_319", "", "", ""], 320: ["<f4", "NN_320", "", "", ""], 321: ["<f4", "NN_321", "", "", ""], 322: ["<f4", "NN_322", "", "", ""], 323: ["<f4", "NN_323", "", "", ""], 324: ["<f4", "NN_324", "", "", ""], 325: ["<f4", "NN_325", "", "", ""], 326: ["<f4", "NN_326", "", "", ""], 327: ["<f4", "NN_327", "", "", ""], 328: ["<f4", "NN_328", "", "", ""], 329: ["<f4", "NN_329", "", "", ""], 330: ["<f4", "NN_330", "", "", ""], 331: ["<f4", "NN_331", "", "", ""], 332: ["<f4", "NN_332", "", "", ""], 333: ["<f4", "NN_333", "", "", ""], 334: ["<f4", "NN_334", "", "", ""], 335: ["<f4", "NN_335", "", "", ""], 336: ["<f4", "NN_336", "", "", ""], 337: ["<f4", "NN_337", "", "", ""], 338: ["<f4", "NN_338", "", "", ""], 339: ["<f4", "NN_339", "", "", ""], 340: ["<f4", "NN_340", "", "", ""], 341: ["<f4", "NN_341", "", "", ""], 342: ["<f4", "NN_342", "", "", ""], 343: ["<f4", "NN_343", "", "", ""], 344: ["<f4", "NN_344", "", "", ""], 345: ["<f4", "NN_345", "", "", ""], 346: ["<f4", "NN_346", "", "", ""], 347: ["<f4", "NN_347", "", "", ""], 348: ["<f4", "NN_348", "", "", ""], 349: ["<f4", "NN_349", "", "", ""], 350: ["<f4", "NN_350", "", "", ""], 351: ["<f4", "NN_351", "", "", ""], 352: ["<f4", "NN_352", "", "", ""], 353: ["<f4", "NN_353", "", "", ""], 354: ["<f4", "NN_354", "", "", ""], 355: ["<f4", "NN_355", "", "", ""], 356: ["<f4", "NN_356", "", "", ""], 357: ["<f4", "NN_357", "", "", ""], 358: ["<f4", "NN_358", "", "", ""], 359: ["<f4", "NN_359", "", "", ""], 360: ["<f4", "NN_360", "", "", ""], 361: ["<f4", "NN_361", "", "", ""], 362: ["<f4", "NN_362", "", "", ""], 363: ["<f4", "NN_363", "", "", ""], 364: ["<f4", "NN_364", "", "", ""], 365: ["<f4", "NN_365", "", "", ""], 366: ["<f4", "NN_366", "", "", ""], 367: ["<f4", "NN_367", "", "", ""], 368: ["<f4", "NN_368", "", "", ""], 369: ["<f4", "NN_369", "", "", ""], 370: ["<f4", "NN_370", "", "", ""], 371: ["<f4", "NN_371", "", "", ""], 372: ["<f4", "NN_372", "", "", ""], 373: ["<f4", "NN_373", "", "", ""], 374: ["<f4", "NN_374", "", "", ""], 375: ["<f4", "NN_375", "", "", ""], 376: ["<f4", "NN_376", "", "", ""], 377: ["<f4", "NN_377", "", "", ""], 378: ["<f4", "NN_378", "", "", ""], 379: ["<f4", "NN_379", "", "", ""], 380: ["<f4", "NN_380", "", "", ""], 381: ["<f4", "NN_381", "", "", ""], 382: ["<f4", "NN_382", "", "", ""], 383: ["<f4", "NN_383", "", "", ""], 384: ["<f4", "NN_384", "", "", ""], 385: ["<f4", "NN_385", "", "", ""], 386: ["<f4", "NN_386", "", "", ""], 387: ["<f4", "NN_387", "", "", ""], 388: ["<f4", "NN_388", "", "", ""], 389: ["<f4", "NN_389", "", "", ""], 390: ["<f4", "NN_390", "", "", ""], 391: ["<f4", "NN_391", "", "", ""], 392: ["<f4", "NN_392", "", "", ""], 393: ["<f4", "NN_393", "", "", ""], 394: ["<f4", "NN_394", "", "", ""], 395: ["<f4", "NN_395", "", "", ""], 396: ["<f4", "NN_396", "", "", ""], 397: ["<f4", "NN_397", "", "", ""], 398: ["<f4", "NN_398", "", "", ""], 399: ["<f4", "NN_399", "", "", ""], 400: ["<f4", "NN_400", "", "", ""], 401: ["<f4", "NN_401", "", "", ""], 402: ["<f4", "NN_402", "", "", ""], 403: ["<f4", "NN_403", "", "", ""], 404: ["<f4", "NN_404", "", "", ""], 405: ["<f4", "NN_405", "", "", ""], 406: ["<f4", "NN_406", "", "", ""], 407: ["<f4", "NN_407", "", "", ""], 408: ["<f4", "NN_408", "", "", ""], 409: ["<f4", "NN_409", "", "", ""], 410: ["<f4", "NN_410", "", "", ""], 411: ["<f4", "NN_411", "", "", ""], 412: ["<f4", "NN_412", "", "", ""], 413: ["<f4", "NN_413", "", "", ""], 414: ["<f4", "NN_414", "", "", ""], 415: ["<f4", "NN_415", "", "", ""], 416: ["<f4", "NN_416", "", "", ""], 417: ["<f4", "NN_417", "", "", ""], 418: ["<f4", "NN_418", "", "", ""], 419: ["<f4", "NN_419", "", "", ""], 420: ["<f4", "NN_420", "", "", ""], 421: ["<f4", "NN_421", "", "", ""], 422: ["<f4", "NN_422", "", "", ""], 423: ["<f4", "NN_423", "", "", ""], 424: ["<f4", "NN_424", "", "", ""], 425: ["<f4", "NN_425", "", "", ""], 426: ["<f4", "NN_426", "", "", ""], 427: ["<f4", "NN_427", "", "", ""], 428: ["<f4", "NN_428", "", "", ""], 429: ["<f4", "NN_429", "", "", ""], 430: ["<f4", "phaseDiffZ", "deg", "Phase(Zwe-ce)/deg", ""], 431: ["<f4", "absDiffZ", "Ohm", "|Zwe-ce|/Ohm", ""], 432: ["<f4", "ReDiffZ", "Ohm", "Re(Zwe-ce)/Ohm", ""], 433: ["<f4", "NN_433", "", "NAME?", ""], 434: ["<f4", "Z", "W", "", ""], 435: ["<f4", "QminusQnull", "C", "", ""], 436: ["<f4", "NN_436", "", "", ""], 437: ["<f4", "NN_437", "", "", ""], 438: ["<f4", "NN_438", "", "", ""], 439: ["<f4", "NN_439", "", "", ""], 440: ["<f4", "NN_440", "", "", ""], 441: ["<f4", "NN_441", "", "", ""], 442: ["<f4", "NN_442", "", "", ""], 443: ["<f4", "NN_443", "", "", ""], 444: ["<f4", "NN_444", "", "", ""], 445: ["<f4", "NN_445", "", "", ""], 446: ["<f4", "NN_446", "", "", ""], 447: ["<f4", "NN_447", "", "", ""], 448: ["<f4", "NN_448", "", "", ""], 449: ["<f4", "NN_449", "", "", ""], 450: ["<f4", "NN_450", "", "", ""], 451: ["<f4", "NN_451", "", "", ""], 452: ["<f4", "NN_452", "", "", ""], 453: ["<f4", "NN_453", "", "", ""], 454: ["<f4", "NN_454", "", "", ""], 455: ["<f4", "NN_455", "", "", ""], 456: ["<f4", "NN_456", "", "", ""], 457: ["<f4", "NN_457", "", "", ""], 458: ["<f4", "NN_458", "", "", ""], 459: ["<f4", "NN_459", "", "", ""], 460: ["<f4", "NN_460", "", "", ""], 461: ["<f4", "NN_461", "", "", ""], 462: ["<f4", "NN_462", "", "", ""], 463: ["<f4", "NN_463", "", "", ""], 464: ["<f4", "NN_464", "", "", ""], 465: ["<f4", "NN_465", "", "", ""], 466: ["<f4", "NN_466", "", "", ""], 467: ["<f8", "QChargeDischarge", "mA.h", "Q charge/discharge/mA.h", ""], 468: ["<f4", "half_cycle", "", "half cycle", ""], 469: ["<f4", "NN_469", "", "", ""], 470: ["<f4", "NN_470", "", "", ""], 471: ["<f4", "avEce", "V", "<Ece>/V", ""], 472: ["<f4", "NN_472", "", "", ""], 473: ["<f4", "NN_473", "", "", ""], 474: ["<f4", "NN_474", "", "", ""], 475: ["<f4", "NN_475", "", "", ""], 476: ["<f4", "NN_476", "", "", ""], 477: ["<f4", "NN_477", "", "", ""], 478: ["<f4", "NN_478", "", "", ""], 479: ["<f4", "NN_479", "", "", ""], 480: ["<f4", "NN_480", "", "", ""], 481: ["<f4", "NN_481", "", "", ""], 482: ["<f4", "NN_482", "", "", ""], 483: ["<f4", "NN_483", "", "", ""], 484: ["<f4", "NN_484", "", "", ""], 485: ["<f4", "NN_485", "", "", ""], 486: ["<f4", "NN_486", "", "", ""], 487: ["<f4", "NN_487", "", "", ""], 488: ["<f4", "NN_488", "", "", ""], 489: ["<f4", "NN_489", "", "", ""], 490: ["<f4", "NN_490", "", "", ""], 491: ["<f4", "NN_491", "", "", ""], 492: ["<f4", "NN_492", "", "", ""], 493: ["<f4", "NN_493", "", "", ""], 494: ["<f4", "NN_494", "", "", ""], 495: ["<f4", "NN_495", "", "", ""], 496: ["<f4", "NN_496", "", "", ""], 497: ["<f4", "NN_497", "", "", ""], 498: ["<f4", "NN_498", "", "", ""], 499: ["<f4", "NN_499", "", "", ""], 500: ["<f4", "NN_500", "", "", ""], }
def _header_cleaner(header): if header: header = header.strip() if header.startswith("|") and header.endswith("|"): header = f"abs_{header[1:-1]}" if header.startswith("<") and header.endswith(">"): header = f"avr_{header[1:-1]}" if header.startswith("-"): header = f"neg_{header[1:]}" header = header.replace(" ", "_") header = header.replace("(", "") header = header.replace(")", "") header = header.replace(":", "") header = header.replace("-", "_") else: header = "" return header def _unit_cleaner(unit): if unit: unit = unit.strip() unit = unit.replace(" ", "_") unit = unit.replace(r"%", "percent") unit = unit.replace(".", "") unit = unit.replace("°", "deg_") unit = unit.replace("-", "_substr_") else: unit = "" return unit def _header_splitter(header): """Split header into label and unit.""" if header: parts = header.split("/") if len(parts) == 2: label, unit = parts else: label = header unit = "" else: label = "" unit = "" label = _header_cleaner(label) unit = _unit_cleaner(unit) return label, unit # colno: [dtype, ColHeader, unit, BL_name, cellpyname] # bl_dtypes = { def _check_galvani_VMPdata_colID_dtype_map(): import galvani last_colID = max(galvani.BioLogic.VMPdata_colID_dtype_map.keys()) items = [] for colID in range(1, last_colID + 1): cellpy_rec = bl_dtypes_v0.get(colID, None) galvani_rec = galvani.BioLogic.VMPdata_colID_dtype_map.get(colID, None) if galvani_rec and cellpy_rec: g_label, g_dtype = galvani_rec g_header, g_unit = _header_splitter(g_label) c_dtype, c_header, c_unit, c_old_g, c_col = cellpy_rec if c_header == f"NN_{colID}": c_header = g_header c_unit = g_unit item = f" {colID}: ['{g_dtype}', '{c_header}', '{c_unit}', '{g_label}', '{c_col}']," if g_dtype != c_dtype: item += f" # Updated dtype from {c_dtype} to {g_dtype}" elif galvani_rec: g_label, g_dtype = galvani_rec g_header, g_unit = _header_splitter(g_label) item = f" {colID}: ['{g_dtype}', '{g_header}', '{g_unit}', '{g_label}', ''], # New from galvani" elif cellpy_rec: item = f" {colID}: ['{cellpy_rec[0]}', '{cellpy_rec[1]}', '{cellpy_rec[2]}', '{cellpy_rec[3]}', '{cellpy_rec[4]}']," else: item = f" {colID}: ['<f4', 'NN_{colID}', '', '', '']," items.append(item) print("-------------------------------\n") print("bl_dtypes = {") for item in items: print(item) print("}\n\n-------------------------------\n") # for colID, (name, dtype) in galvani.BioLogic.VMPdata_colID_dtype_map.items(): # print(colID, name, dtype) if __name__ == "__main__": _check_galvani_VMPdata_colID_dtype_map() print("Done!")