Skip to content

Commit c2689aa

Browse files
committed
fix bug where sample period couldn't be passed in for RWSLFPSignalFromPSCs
1 parent 088bcc6 commit c2689aa

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

‎cleo/ephys/lfp.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,7 @@ def connect_to_neuron_group(self, neuron_group: NeuronGroup, **kwparams):
612612
self._init_wslfp_calc(neuron_group, **kwparams)
613613

614614
buf_len_ampa, buf_len_gaba = self._get_buf_lens_for_wslfp(
615-
self._wslfps[neuron_group]
615+
self._wslfps[neuron_group], **kwparams
616616
)
617617
self._t_ampa_bufs[neuron_group] = deque(maxlen=buf_len_ampa)
618618
self._I_ampa_bufs[neuron_group] = deque(maxlen=buf_len_ampa)
@@ -633,7 +633,7 @@ def _get_buf_lens_for_wslfp(self, wslfp_calc, **kwparams):
633633
try:
634634
sample_period = self.probe.sim.io_processor.sample_period
635635
except AttributeError: # probably means sim doesn't have io_processor
636-
raise Exception(
636+
raise RuntimeError(
637637
"RSWLFPSignalFromPSCs needs to know the sampling period."
638638
" Either set the simulator's IO processor before injecting"
639639
f" {self.probe.name} or "

‎tests/ephys/test_lfp.py‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,7 @@ def add_rwslfp_sig(
369369
Iampa_var_names=["Iampa1"],
370370
Igaba_var_names=["Igaba1"],
371371
name=None,
372+
inject_kwargs={},
372373
):
373374
rwslfp_sig = RWSLFPSignalFromPSCs(
374375
pop_aggregate=pop_agg,
@@ -387,6 +388,7 @@ def add_rwslfp_sig(
387388
orientation=ornt,
388389
Iampa_var_names=Iampa_var_names,
389390
Igaba_var_names=Igaba_var_names,
391+
**inject_kwargs,
390392
)
391393
return rwslfp_sig
392394

@@ -416,6 +418,13 @@ def add_rwslfp_sig(
416418
f"{sig1.name} and {sig2.name} not yielding different results"
417419
)
418420

421+
# test missing sampling period error
422+
sim.set_io_processor(None)
423+
print(sim.io_processor)
424+
with pytest.raises(RuntimeError, match="needs to know the sampling period"):
425+
add_rwslfp_sig()
426+
add_rwslfp_sig(inject_kwargs={"sample_period": 5 * ms})
427+
419428

420429
def test_psc_buffer():
421430
sig = RWSLFPSignalFromPSCs()

0 commit comments

Comments
 (0)