Implement Plotly Dash app with efficient dynamic resampler #6

Merged
eeeck merged 26 commits from dev-dash into main 2026-07-22 20:18:20 +02:00

26 Commits

Author SHA1 Message Date
eeeck d8ca263c0d Bump version and update project dependencies 2026-07-22 20:16:52 +02:00
eeeck 1463fa12ff Parallelize data processing tasks with ThreadPoolExecutor 2026-07-22 20:13:19 +02:00
eeeck 6c198d83c5 Remove debug flag 2026-07-22 20:06:50 +02:00
eeeck 57505074cd Change title to project name 2026-07-22 20:01:58 +02:00
eeeck af8e916116 Create an Overview menu
- To use as a sort of main menu
2026-07-22 20:00:59 +02:00
eeeck d9262e365a Put all CAN bus statistics submenus under a Statistics menu 2026-07-22 20:00:13 +02:00
eeeck 24ce8dad60 Explicitly specify grouping column in dataframe iteration 2026-07-22 19:47:11 +02:00
eeeck 22d4af292c Refactor CSV to Parquet conversion logic 2026-07-22 19:47:05 +02:00
eeeck 5e01c3bb44 Ensure data directories exist before pipeline execution 2026-07-22 19:46:59 +02:00
eeeck d6baaaa1fa Remove redundant Formatted_ID column in frequency calculation 2026-07-22 19:46:51 +02:00
eeeck 9965bc761f Simplify byte column selection in correlation calculation 2026-07-22 19:46:45 +02:00
eeeck 0a4dc5801e Merge pull request 'Implement plotly resamper and precompute data' (#5) from dev-plotly-resampler into dev-dash
Reviewed-on: erickahmed/CANveyor#5
2026-07-22 18:40:44 +02:00
eeeck c06d813c26 Remove resampling information on legend 2026-07-22 18:39:03 +02:00
eeeck 2da646fa80 Precompute CAN data
- Slower startup
- Much faster visualization (from O(n) to O(1))
2026-07-22 18:20:18 +02:00
eeeck 93e0e3f648 Suppress callback exceptions 2026-07-22 18:16:43 +02:00
eeeck 02e46ddf0b Implement plotly-resampler 2026-07-22 18:11:35 +02:00
eeeck d274897cf3 Implement lttbc 2026-07-22 18:07:33 +02:00
eeeck 65591bbc6b Refactor main application to use Polars pipeline
- replaced the caching layer with a pre-processing pipeline that parses
  raw logs into decoded Parquet files
2026-07-15 00:48:51 +02:00
eeeck c98563f541 Fix schema check and update import paths
- Use `collect_schema` for accurate column validation in Polars and
  correct
  relative import paths for statistical modules.
2026-07-15 00:48:30 +02:00
eeeck 3df42fb497 Make subdirectories Python packages 2026-07-15 00:37:19 +02:00
eeeck 73e76d3adc Rename to avoid conflict with Python stat module 2026-07-15 00:31:27 +02:00
eeeck 7a0e2efba1 Integrate Dash background callbacks to handle computations in async 2026-07-15 00:18:27 +02:00
eeeck a2ac49c79f Refactor statistical analysis modules for performance
- Optimize data processing pipelines across files by replacing iterative
  pandas operations with vectorized NumPy routines
2026-07-15 00:17:59 +02:00
eeeck 0780a61d78 Improve bit selection 2026-07-14 23:46:09 +02:00
eeeck fae85d1af9 Change title 2026-07-14 14:28:15 +02:00
eeeck c9461868cc Implement CAN ID visualization at the bit level 2026-07-14 14:14:09 +02:00