added outlier removal >20k to smooth strict rpm pipeline#294
added outlier removal >20k to smooth strict rpm pipeline#294
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds outlier removal functionality for RPM values greater than 20,000 to improve the strict RPM pipeline smoothing process. It introduces two new analyzer types (SMOOTH_STRICT_PRIM and SMOOTH_STRICT_SEC) that combine strict timestamp processing, outlier removal, and Savitzky-Golay smoothing.
Key changes:
- Added two new analyzer types for smoothing strict primary and secondary RPM data
- Implemented pipeline analyzers that chain strict timestamp, outlier removal (>20k RPM), and Savitzky-Golay smoothing
- Added frontend configurations and presets for the new analyzer types
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| front-end/src/types/ApiTypes.ts | Added new analyzer enum values for smooth strict RPM processing |
| front-end/src/types/AnalyzerTypes.ts | Added configuration entries for the new analyzer types |
| front-end/src/lib/subteamGraphPresets.ts | Added graph presets for smooth strict RPM visualization |
| backend/src/main/java/com/mcmasterbaja/model/AnalyzerType.java | Added enum values for new analyzer types |
| backend/src/main/java/com/mcmasterbaja/analyzer/SmoothStrictSecAnalyzer.java | Implemented pipeline analyzer for secondary RPM smoothing |
| backend/src/main/java/com/mcmasterbaja/analyzer/SmoothStrictPrimAnalyzer.java | Implemented pipeline analyzer for primary RPM smoothing |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
front-end/src/types/AnalyzerTypes.ts
Outdated
| [AnalyzerType.SMOOTH_STRICT_PRIM]: { | ||
| title: 'Smooth Strict PRIM', | ||
| description: | ||
| 'Runs StrictTimstamp and Sgolay for RPM PRIM', |
There was a problem hiding this comment.
There's a typo in 'StrictTimstamp' - it should be 'StrictTimestamp'.
front-end/src/types/AnalyzerTypes.ts
Outdated
| [AnalyzerType.SMOOTH_STRICT_SEC]: { | ||
| title: 'Smooth Strict SEC', | ||
| description: | ||
| 'Runs StrictTimstamp and Sgolay for RPM SEC', |
There was a problem hiding this comment.
There's a typo in 'StrictTimstamp' - it should be 'StrictTimestamp'.
|
|
||
| // 3) Savitzky-Golay for the outlier-removed output | ||
| Analyzer sGolay = factory.getAnalyzer(AnalyzerType.SGOLAY); | ||
| AnalyzerParams sg = new AnalyzerParams(); |
There was a problem hiding this comment.
The same file is being passed twice to setInputFiles. This appears to be intentional for the SGOLAY analyzer, but consider adding a comment explaining why the same file is duplicated.
| AnalyzerParams sg = new AnalyzerParams(); | |
| AnalyzerParams sg = new AnalyzerParams(); | |
| // The SGOLAY analyzer expects an input file for each input column. | |
| // Since both "Timestamp (ms)" and "RPM PRIM" are in the same file, we pass the same file twice intentionally. |
| // 3) Savitzky-Golay for the outlier-removed output | ||
| Analyzer sGolay = factory.getAnalyzer(AnalyzerType.SGOLAY); | ||
| AnalyzerParams sg = new AnalyzerParams(); | ||
| sg.setInputFiles(new String[] {outlierOut, outlierOut}); |
There was a problem hiding this comment.
The same file is being passed twice to setInputFiles. This appears to be intentional for the SGOLAY analyzer, but consider adding a comment explaining why the same file is duplicated.
Updated names and descriptions for RPM presets to enhance clarity.
No description provided.