signal_viewer 0.1.1
signal_viewer: ^0.1.1 copied to clipboard
A Flutter viewer for multichannel signals from any source (recordings, live devices, network streams), with pluggable source providers.
signal_viewer #
A Flutter viewer for multichannel signals such as EEG, from recordings, live devices and network streams. It is the viewer behind LSL Viewer, packaged so that other applications can use it with their own data sources.
The viewer shows each stream in a tab, with filtering, re-referencing, power
spectra, signal quality and trigger decoding. Signal processing and the
summary pyramids used for fast overviews of long recordings come from
signal_core, which this package
re-exports.
Data reaches the viewer through SourceProviders. A provider opens
SourceSessions (a file, a device, a network stream) and can add its own
menu entries, toolbar items, welcome screen buttons and status bar items.
Providers for common sources are available as separate packages:
signal_viewer_lsl for Lab
Streaming Layer streams,
signal_viewer_xdf for XDF
recordings and
signal_viewer_serial for
serial devices.
Installation #
flutter pub add signal_viewer
Usage #
import 'package:signal_viewer/signal_viewer.dart';
Future<void> main(List<String> args) => runSignalViewer(
args,
config: const ViewerConfig(title: 'My viewer', heading: 'My viewer'),
providers: [MyDeviceProvider()],
);
The viewer runs on Linux, macOS, Windows, Android, iOS and the web.
Dropping files on Linux #
Files can be dropped on the window on desktop platforms, through
desktop_drop. With desktop_drop
0.8.4, drops from some Linux file managers (Dolphin, for example) arrive
empty. An application can use the patched copy kept in this repository until
that is fixed upstream:
dependency_overrides:
desktop_drop:
git:
url: https://github.com/NexusDynamic/liblsl.dart
path: third_party/desktop_drop