High-performance DAS visualization and analysis tool
Project description
FiLark
FiLark (Fiber Lark) — a lightweight, high-performance framework for streaming-first Big Data visualization and analysis in Distributed Fiber Optic Sensing (DAS).
In fiber optic sensing, the sheer data volume quickly overwhelms traditional workflows. FiLark is built to feel “swift and light”—enabling you to navigate, inspect, and annotate massive DAS arrays with deterministic control and low-latency rendering.
FiLark bridges raw storage and visual insight, focusing on:
- High-Efficiency Visualization: VisPy (OpenGL) rendering for fluid zoom/pan over huge arrays.
- Streaming as a First-Class Citizen: designed around incremental data feeds, scheduling, and real-time playback.
⚠️ Project Status (Early Version)
FiLark is in an early-stage / experimental phase. APIs and GUI behaviors may change, and some features are still being stabilized.
If you encounter issues, please open an issue with logs + a minimal reproduction.
That said, streaming is the core design point: most GUI decisions (controls, scheduler behavior, auto-scroll) are implemented to stay deterministic under continuous incoming data.
🚀 Getting Started
Installation
Install via PyPI:
pip install filark
Install in editable mode for development:
git clone https://github.com/JintaoLee-Roger/filark.git
cd filark
pip install -e .
Fast Usage
Run:
filark
🖥️ GUI & Visualization Controls
FiLark’s GUI emphasizes deterministic keyboard control. The goal is to keep navigation predictable even when data is streaming continuously.
Deterministic Camera / Scheduler Navigation
-
Left / Right Pan X via camera → propagates to scheduler X streaming (camera → scheduler → streaming)
-
Up / Down Pan Y via scheduler (deterministic)
- optional camera Y sync (if enabled)
-
Y / Shift + Y
scale_y(zoom in/out Y) -
X / Shift + X
scale_x(zoom in/out X)
⏱️ Realtime Auto-Scroll (StreamingCanvas)
A simplified realtime auto-scroll mixin is included for StreamingCanvas, featuring two-level statistics and a small demo benchmark mode.
Keys
- R : toggle realtime auto-scroll
- S : stop
- 1..8 : set
fs(samples/sec) - + / = : speed up
- - / _ : speed down
- P : print DEBUG stats
- Shift + P : print SHOWCASE stats (for demos / papers)
- B : run a short benchmark (push speed up to a strong cap, report max sustained throughput)
This mode is designed to validate that the rendering + scheduling loop can sustain high-throughput streaming while keeping interactions responsive.
✍️ Annotation
FiLark provides lightweight annotation tools intended for rapid inspection and labeling during exploration.
Add / Edit Shapes
-
Hold Ctrl to add:
- BBox (bounding boxes)
- Polyline (multi-point line)
Undo
- Ctrl + Z Undo the last polyline point (step-wise rollback while drawing)
Annotation UX is still evolving in this early version. Expect changes as the labeling workflow becomes more feature-complete.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file filark-0.0.1-py3-none-any.whl.
File metadata
- Download URL: filark-0.0.1-py3-none-any.whl
- Upload date:
- Size: 76.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ad55eaafb6d38ff50e84e8630ec7f18a89be8ee3bb10fd95ae641f6a07fdd6a
|
|
| MD5 |
72e62fe9c7b32d9d9a36264f3185e2de
|
|
| BLAKE2b-256 |
01380e3361d7c9abbb23cc7584676afa28d5ef052fbca7658ec81c5433697b9d
|