Skip to content

Commit 7df5231

Browse files
authored
Merge pull request #116 from alejoe91/fix_scipy
Remove decimate for instability
2 parents 8769f5f + 065e32b commit 7df5231

File tree

5 files changed

+25
-16
lines changed

5 files changed

+25
-16
lines changed

MEArec/generators/recgensteps.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
77
Important:
88
9-
When tmp_mode=='memmap' : theses functions must assign and add directly the buffer.
10-
When tmp_mode is Noe : theses functions return the buffer and the assignament is done externally.
9+
When tmp_mode=='memmap' : these functions must assign and add directly the buffer.
10+
When tmp_mode is None : these functions return the buffer and the assignament is done externally.
1111
1212
1313

MEArec/generators/recordinggenerator.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# don't enter here without a good guide! (only one person in the world)
22

3+
from distutils.log import DEBUG
34
import numpy as np
45
import time
56
from copy import deepcopy
@@ -34,9 +35,9 @@
3435
use_loader = False
3536

3637

37-
debug = True
38+
DEBUG = False
3839

39-
if debug:
40+
if DEBUG:
4041
import matplotlib.pyplot as plt
4142
plt.ion()
4243
plt.show()
@@ -315,11 +316,14 @@ def generate_recordings(self, tmp_mode=None, tmp_folder=None, n_jobs=0, template
315316
else:
316317
params['recordings']['dtype'] = rec_params['dtype']
317318
dtype = params['recordings']['dtype']
319+
320+
assert np.dtype(dtype).kind in ("i", "f"), "Only integers and float dtypes are supported"
321+
318322
params['recordings']['adc_bit_depth'] = rec_params.get('adc_bit_depth', None)
319323
adc_bit_depth = params['recordings']['adc_bit_depth']
320324
params['recordings']['lsb'] = rec_params.get('lsb', None)
321325
lsb = params['recordings']['lsb']
322-
if lsb is None:
326+
if lsb is None and np.dtype(dtype).kind == "i":
323327
lsb = 1
324328
params['recordings']['gain'] = rec_params.get('gain', None)
325329
gain = params['recordings']['gain']
@@ -1380,8 +1384,6 @@ def run_several_chunks(func, chunk_indexes, fs, lsb, args, n_jobs, tmp_mode, ass
13801384
or in paralell if n_jobs>1
13811385
13821386
The function can return
1383-
1384-
13851387
"""
13861388

13871389
# create task list

MEArec/tests/test_generators.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@
1717
else:
1818
use_loader = False
1919

20-
LOCAL_TMP = True
20+
DEBUG = False
21+
22+
if DEBUG:
23+
import matplotlib.pyplot as plt
24+
plt.ion()
25+
plt.show()
2126

2227

2328
class TestGenerators(unittest.TestCase):
@@ -36,7 +41,7 @@ def setUpClass(self):
3641
# Set seed
3742
np.random.seed(2308)
3843

39-
if not LOCAL_TMP:
44+
if not DEBUG:
4045
self.test_dir = Path(tempfile.mkdtemp())
4146
else:
4247
self.test_dir = Path('./tmp').absolute()
@@ -100,7 +105,7 @@ def setUpClass(self):
100105
@classmethod
101106
def tearDownClass(self):
102107
# Remove the directory after the test
103-
if not LOCAL_TMP:
108+
if not DEBUG:
104109
shutil.rmtree(self.test_dir)
105110

106111
def test_gen_templates(self):
@@ -693,28 +698,30 @@ def test_recordings_backend(self):
693698
rec_params['spiketrains']['n_exc'] = ne
694699
rec_params['spiketrains']['n_inh'] = ni
695700
rec_params['spiketrains']['duration'] = duration
696-
n_jitter = 2
701+
n_jitter = 10
697702
rec_params['templates']['n_jitters'] = n_jitter
698703
rec_params['recordings']['modulation'] = 'none'
704+
rec_params['recordings']['filter'] = False
705+
699706

700707
rec_params['seeds']['templates'] = 0
701708
rec_params['seeds']['spiketrains'] = 0
702709
rec_params['seeds']['convolution'] = 0
703710
rec_params['seeds']['noise'] = 0
704711

712+
705713
n_jobs = [1, 2]
706714
chunk_durations = [0, 1]
707715

708716
for n in n_jobs:
709717
for ch in chunk_durations:
710718
print('Test recording backend with', n, 'jobs - chunk', ch)
711-
rec_params['chunk_duration'] = n
719+
rec_params['recordings']['chunk_duration'] = ch
712720

713721
recgen_memmap = mr.gen_recordings(params=rec_params, tempgen=self.tempgen, tmp_mode='memmap',
714722
verbose=False, n_jobs=n)
715723
recgen_np = mr.gen_recordings(params=rec_params, tempgen=self.tempgen, tmp_mode=None, verbose=False,
716724
n_jobs=n)
717-
718725
assert np.allclose(np.array(recgen_np.recordings), recgen_memmap.recordings.copy(), atol=1e-4)
719726
del recgen_memmap, recgen_np
720727

@@ -955,4 +962,4 @@ def test_simulate_cell(self):
955962
TestGenerators().setUpClass()
956963
# TestGenerators().test_gen_recordings_drift()
957964
# TestGenerators().test_default_params()
958-
TestGenerators().test_recording_custom_drifts()
965+
TestGenerators().test_recordings_backend()

MEArec/tools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3457,7 +3457,7 @@ def _jitter_parallel(i, template, upsample, fs, n_jitters, jitter, drifting, ver
34573457
t_jitt = np.pad(temp_up, [(0, 0), (0, np.abs(shift))], 'constant')[:, -nsamples_up:]
34583458
else:
34593459
t_jitt = temp_up
3460-
temp_down = ss.decimate(t_jitt, upsample, axis=1)
3460+
temp_down = t_jitt[:, ::upsample]
34613461
templates_jitter[n] = temp_down
34623462
else:
34633463
if verbose:

MEArec/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version = '1.8.0.dev0'
1+
version = '1.8.0'

0 commit comments

Comments
 (0)