falcon:
version: 1.0
graph:
processors:
behavior:
class: BehaviorZMQ
options:
address: 127.0.0.1
speed threshold:
class: SpeedThreshold
options:
threshold dev: 10
smooth time: 1 seconds
decoding filter:
class: Event2State
options:
target event: "crossed"
raw:
class: OpenEphysZMQ
options:
port: 3335
nchannels: 384
splitter:
class: Distributor
options:
distribution mode: slots
channelmap file: //:local/decoding_model/sensormap.yaml
filter(0-7):
class: MultiChannelFilter
options:
filter:
type: biquad
gain: 0.175014382674721
coefficients:
- [1.0, 2.0, 1.0, 1.0, -0.4116456379943422, 0.1208387236075018]
- [1.0, -2.0, 1.0, 1.0, -1.888701220483925, 0.8929613419279413]
spike_detector(0-7):
class: SpikeFeatures
options:
threshold: 50.0
invert_signal: true
peak lifetime: 0
features:
- amplitude
decoding buffer:
class: Rebuffer
options:
buffer size: 0.1 seconds
likelihoods(0-7):
class: MultiLikelihoodSource
options:
decoding size: 0.1
decoder:
class: LikelihoodsMerger
encoder :
class: OnlineEncoder
options:
model path: //:local/decoding_model/model
save model: false
saver:
class: FileSerializer
options:
format: full
encoding: yaml
connections:
- behavior.data = speed threshold
- speed threshold.events = decoding filter
- raw = splitter
- splitter.data.(0-47) = filter0.data.(0-47)
- splitter.data.(48-95) = filter1.data.(0-47)
- splitter.data.(96-143) = filter2.data.(0-47)
- splitter.data.(144-191) = filter3.data.(0-47)
- splitter.data.(192-239) = filter4.data.(0-47)
- splitter.data.(240-287) = filter5.data.(0-47)
- splitter.data.(288-335) = filter6.data.(0-47)
- splitter.data.(336-383) = filter7.data.(0-47)
- filter(0-7).data.(0-47) = decoding buffer.data.(0-383)
- decoding buffer.data.(0-383) = spike_detector(0-7).data.(0-47)
- spike_detector(0-7).data.(0-47) = likelihoods(0-7).data.(0-47)
- likelihoods(0-7).loglikelihood.(0-47) = decoder.loglikelihood.(0-383)
- spike_detector(0-7).data.(0-47) = encoder.data.(0-383)
- decoder = saver
states:
- [ encoder.decoder, decoder.decoder ]
- [ encoder.likelihoods, likelihoods(0-7).likelihoods ]
- [ decoding filter.enabled, likelihoods(0-7).to decode ]