signal_core

Pub Version

signal_core is a signal engine for viewing large multichannel recordings and live streams. It is independent of any file format, pure Dart, and runs on all platforms, including the web. It provides the data handling behind signal_viewer and the indexed reading of large files in xdf.

API documentation

Installation

dart pub add signal_core

Components

Component Purpose
SummaryPyramid Minimum, maximum, mean and standard deviation over buckets of 64, 256, 1024… samples, so that a view of any length is drawn from a few thousand buckets
ChunkedSignalEngine Answers EnvelopeRequests and ReadRequests for a recording that a format divides into chunks (ChunkedSignalIndex), with a bounded chunk cache, filtered tiles retained between requests, and derived (filtered, re-referenced) summaries built in the background
DerivedSpec, Sos, SosStreamFilter, applyReference, LiveProcessor Display filters (zero-phase for recordings, streaming for live data), re-referencing and mean traces
QualityTracker Per-channel flags for line noise, amplitude and flat channels
ByteSource Random access to a file by path (native platforms), to a Blob (web) or to bytes in memory

The formats currently built on the engine are XDF, through the xdf package, and .hsd (libhyperscanner).

Libraries

signal_core
Format-agnostic multichannel signal engine: summary pyramids for fast zooming, display filters, re-referencing, channel quality, and random access to the bytes of large recordings.