{"id":50523152,"url":"https://github.com/ds1/viz","last_synced_at":"2026-06-03T06:03:44.642Z","repository":{"id":262381110,"uuid":"875823706","full_name":"ds1/viz","owner":"ds1","description":"Visualizer upgrades","archived":false,"fork":false,"pushed_at":"2024-11-12T05:01:33.000Z","size":4861,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-12T06:17:35.479Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ds1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-20T23:00:59.000Z","updated_at":"2024-11-12T05:01:37.000Z","dependencies_parsed_at":"2024-11-12T06:17:42.416Z","dependency_job_id":"82314c10-98bf-497d-9a8a-35574faa206f","html_url":"https://github.com/ds1/viz","commit_stats":null,"previous_names":["ds1/viz"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ds1/viz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ds1%2Fviz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ds1%2Fviz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ds1%2Fviz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ds1%2Fviz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ds1","download_url":"https://codeload.github.com/ds1/viz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ds1%2Fviz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33850644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-03T06:03:43.860Z","updated_at":"2026-06-03T06:03:44.632Z","avatar_url":"https://github.com/ds1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Petal Viz 1.0\n## Visualizer for data streamed from Petal Metrics and the Petal APIs.\n\n# Project Requirements and Instructions\nTransform a proof of concept python file into a refactored real-time data streaming visualization tool based on an updated interface mockup.\n\nThis new app, let's call Viz, displays a time-series visualization of an incoming data stream from a separate app, Petal Metrics, over the local network via Lab Streaming Layer (LSL).\n\nThe stream sends EEG, Gyroscope, Accelerometer , Telemetry, and PPG data.\n\nThe data in the graph should move smoothly from right to left. If no data from the stream is available, the graph should pause movement and the status bar should be updated appropriately.\n\nThe user can switch views to display one of these types of data at a time.\n\nThe user can select to apply one of the various filters to the signal data.\n\nThe user should be able to zoom in and out to make the data stream appear larger or smaller, respectively (Vertical Scale).\n\nThe graph should have a timeline beneath it that aligns with the graph so that the last time window of x.xxxx (e.g., 4.000) seconds of data are shown (e.g., 4 seconds ago through now).\n\nThe user should be able to change the time window from pre-defined options (e.g., 2 seconds, 4 seconds (default), and 8 seconds).\n\nThe graph should be able to display various numbers of channels (e.g., 4 for EEG: Left Ear, TP9; Left Forehead, FP1; Right Forehead, FP2; and Right Ear, TP10;).\n\nThe graph should be able to be viewed in monochrome (data from all channels are the same color) or multicolor (data from each channel has a unique color).\n\nAt the top of the app window, there should be a bar that contains:\n- App icon\n- App name (Viz) and version (0.1)\n- Menu dropdowns (View: Zoom In, Zoom Out, Monochrome, Multicolor; Window: Enter Fullscreen, Exit Fullscreen; Help: User Guide (links to https://docs.petal.tech), Support (links to https://docs.petal.tech);\n\nAt the bottom of the app window, there should be a status bar that displays the following:\n- Console log (limited to one-line (256 characters) of text\n- Stream status (Disconnected, Discovering, Connecting, Trying to Reconnect, Streaming)\n- Output settings (Stream name, Stream type, Port, Destination IP)\n- Input device status (Device name \u0026 ID (e.g, Muse-ADB3)\n- Bluetooth icon that differs depending on the stream status\n- Battery icon and battery life percentage\n\nReference the Petal Material Design Style Guide for colors, typography, components, and icons. Additional components needed should use components from Material Design according to the Design System.\n\nEventually, more panes will be added to the interface as the number of features grows. The focus of this first release will be to display the 'Visualizer' ,'Timeline', and 'Status bar' panes. Future panes include 'Settings' and 'Markers'.\n\nRecommend the best approach for the evolution of the product from the simple proof of concept to a high-performant desktop application.\n\nIf the app can support the high graphical performance needs, using Electron and web technologies like CSS is ok. Otherwise, recommend the best options.\n\nYour job, as an expert software engineer, is to develop the architecture, code, and processes for the product to the best of your ability.\n\n# Reference Materials\n## Design Assets\n### Original proof of concept prototype: \nvispyqt_visualizer_MVP_v8.py\n### Complementary files for the proof of concept prototype:\nvispyqt_visualizer_helperFuncsTest.py\nvispyqt_visualizer_helperFuncs_v25.py\n\n### Interface mockup of this app we are aiming to build in this iteration: Petal_Viz_1.0_Mockup.pdf\n\n### Reference for future iterations of the app (out of scope for this project): Petal_Viz_Future_Mockup.pdf","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fds1%2Fviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fds1%2Fviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fds1%2Fviz/lists"}