#now create a string for SetActiveMask SetActiveMaskString = '' for signal in Sig_list: NumberOfTimeBasisSignals = len(config["SignalListForUseInTimeBasis"]) CurrentSignalInTimeBasisList = False for i in range(NumberOfTimeBasisSignals): if signal == config["SignalListForUseInTimeBasis"][i]: CurrentSignalInTimeBasisList = True if CurrentSignalInTimeBasisList: SetActiveMaskString = SetActiveMaskString + '1' else: SetActiveMaskString = SetActiveMaskString + '0' for dbFilePath in dbFilePaths: try: with icsFI.ICSDataFile(dbFilePath, slFilePath) as db: ActiveMaskResult = db.SetActiveMask(SetActiveMaskString) #db.SetActiveMask('1' * n_signals) # capture all signals prevTimestamp = 0.0 curTimestamp = db.JumpAfterTimestamp(0) dataPoints = db.GetPoints() while curTimestamp != sys.float_info.max: for sig_num in range(n_signals): datum = dataPoints[sig_num] # find which bin datum belongs to bin_num = np.digitize([datum], bins_list[sig_num], right=True)[0] delta_time = curTimestamp - prevTimestamp time_tallys[sig_num][bin_num] += delta_time prevTimestamp = curTimestamp
CurrentSignalInTimeBasisList = False for i in range(NumberOfTimeBasisSignals): if signal == config["SignalListForUseInTimeBasis"][i]: CurrentSignalInTimeBasisList = True if CurrentSignalInTimeBasisList: SetActiveMaskString = SetActiveMaskString + '1' else: SetActiveMaskString = SetActiveMaskString + '0' NumberOrSignals = NumberOrSignals + 1 #now go through each file, look for hits and log hits to dsr file FileNumber = 0 for dbFilePath in dbFilePaths: try: FileNumber = FileNumber + 1 with icsFI.ICSDataFile(dbFilePath, slFilePath) as data: ActiveMaskResult = data.SetActiveMask(SetActiveMaskString) curTimestamp = data.JumpBeforeTimestamp(0) dataPoints = data.GetPoints() dataPointsPrev = dataPoints.copy() #initialize Event State Parameters before analyzing each file Events.initializeEventParmsForNewDataFile() RecordIncludesExpressionEndEvent = False #loop through each record of each file while curTimestamp != sys.float_info.max: CurrentRecordHasBeenAdded = False for i in range(Events.NumberOfEvents): if Events.EventActive[i] == False: Events.SearchExpState[i] = eval( Events.StartExpressionFormattedForEval[i])