diff --git a/tools/database.py b/tools/database.py index dd44de8c2b698092829941eb52f14a089d47cad2..93adf88e7b9b60fce722368e38c5712a3f60b431 100644 --- a/tools/database.py +++ b/tools/database.py @@ -347,7 +347,7 @@ class Database: # Format columns print(prefix, "Formatting file", f.file_name, end=" ... ") - Extractor.auto_fit_trace_positions() + # Extractor.auto_fit_trace_positions() Extractor.apply_correction() # Get the output diff --git a/tools/predictive_indicators.py b/tools/predictive_indicators.py index e90c19768380c288ce1ee0ff31362e21cfa1a4b6..b8c78f4210da5f56dfb3db87f11cdf894b9394f3 100644 --- a/tools/predictive_indicators.py +++ b/tools/predictive_indicators.py @@ -25,7 +25,8 @@ COMPUTED_COLUMS = [ "Class", "Date", "Axis", - "RMS", "KMeans", "PeakFactor", "MeanTemperature" + "RMS", "KMeans", "PeakFactor", "MeanTemperature", + "Health" ] # for m in range(1,7): # for v in [ "RMS", "KMeans", "PeakFactor", "MeanTemperature" ]: @@ -44,26 +45,7 @@ def compute_run (DB: Database, robot: int, run: int, t0: int, date: str, next: C data = DB.robot(robot).by_run(run).run() - # Compute sub-arrays - subs: List[pd.DataFrame] = [ - data[data["MovingMotor"] == m] for m in range(1,7) - ] - runTime = t0 + mktime(datetime.strptime(date, "%Y-%m-%d").timetuple()) - # Compute for whole experiment - # line = [ t0, 0 ] - for m in range(1,7): - sub = subs[m - 1] - c = sub[f"Current_A{m}"].to_numpy() - temp = sub[f"Temperature_A{m}"].to_numpy() - line = [ - # *line, - runTime, runTime, 0, data["Class"][0], date, - f"A{m}", RMS(c), kmeans(c), peak_factor(c), np.mean(temp) - ] - out.append(line) - - # out.append(line) # Compute for each speed speeds = data['Speed'].unique() @@ -72,21 +54,23 @@ def compute_run (DB: Database, robot: int, run: int, t0: int, date: str, next: C ] for i, s in enumerate(speeds): d = speed_data[i] - # time = d["Sample_time"].to_numpy()[0] + t0 - # line = [ time, s ] for m in range(1,7): sub = d[d["MovingMotor"] == m] time = d["Sample_time"].to_numpy()[0] + runTime c = sub[f"Current_A{m}"].to_numpy() temp = sub[f"Temperature_A{m}"].to_numpy() + rms, km, pf = RMS(c), kmeans(c), peak_factor(c) + + # THE HEALTH INDEX IS COMPUTED HERE + health = rms - km - pf + line = [ - # *line, time, runTime, s, data["Class"][0], date, - f"A{m}", RMS(c), kmeans(c), peak_factor(c), np.mean(temp) + f"A{m}", rms, km, pf, np.mean(temp), + health ] out.append(line) - # out.append(line) return out