Skip to main content

Module plugin

Module plugin 

Source
Expand description

What a domain plugin adds to the core app (electrophysiology: dspk-app-synapse). The core works on any multichannel signal; a plugin brings its domain:

ExtensionThe core askse.g. electrophysiology
SourceOpeneropen this file (before dspk-io’s generic formats)SpikeGLX, NWB, with probes
ChannelLayouthow channels group, what to call themshanks, site positions
AppPlugin::synthetica recording made up on demanddrifting units, noise, hum
AppPlugin::trace_overlaywhat to draw over the traces of a windowspikes coloured by unit
AppPlugin::workspacethe body of a workspace tabSorting
AppPlugin::recording_epochsthe epochs a recording file holdsNWB /intervals (epochs, trials)
AppPlugin::alignedwhat to show in Analytics around a set of eventsunits: raster and PETH
AppPlugin::panel, AppPlugin::view_sectiona panel on the right side bar, for the active viewSorting: the linked sorting, units, Sort…
per-view data in the session documentviews[i].plugins.<id> (any JSON)the linked .sorting.zarr

Plugins are compiled in (Rust has no stable plugin ABI): the dspk-app binary registers the ones it is built with (register) before the app starts. Programs under another licence (the GPL sorters) stay separate processes a plugin runs; they are never linked.

Structs§

ChannelGroup
ChannelLayout
Channels in groups (e.g. the shanks of a probe) and a label per channel (e.g. its site).
Layers
What a view’s data holds beyond its continuous signal (traces and heatmaps need only the signal): spike times (the Spikes layer) and units (the Raster layer).
OverlayMark
OverlayUnit
Raster
Spike rows for a raster view: per unit its colour, label and spike times (session seconds) in the window.
RasterRow
TraceOverlay
What to draw over a window of traces: per unit its colour and channels, and marks (spans of session time) of those units. With dim, the traces themselves are drawn faint so the marks stand out.

Traits§

AppPlugin
A domain plugin. Every method has a default: a plugin implements what it adds.
SourceOpener
Opens the files of a domain’s formats.

Functions§

layers
What the installed plugins can draw for session view view, together.
layout
The channel layout of source id of path, from the opener that reads it.
open
Source id of path (None: the file’s default source).
open_source
Source id of path, by the opener that listed it.
plugins
The registered plugins (none when register was not called: tests, a core-only build).
register
Registers the plugins the app is built with (once, before it starts).
sources
path’s sources: the first plugin that reads the file, else dspk-io’s generic formats.
synthetic
A synthetic recording from the first plugin that makes one.