Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _create_example(self):
channel_ids = [0, 1, 2, 3]
num_channels = 4
num_frames = 10000
sampling_frequency = 30000
X = np.random.normal(0, 1, (num_channels, num_frames))
geom = np.random.normal(0, 1, (num_channels, 2))
X = (X * 100).astype(int)
RX = se.NumpyRecordingExtractor(timeseries=X, sampling_frequency=sampling_frequency, geom=geom)
RX2 = se.NumpyRecordingExtractor(timeseries=X, sampling_frequency=sampling_frequency, geom=geom)
RX3 = se.NumpyRecordingExtractor(timeseries=X, sampling_frequency=sampling_frequency, geom=geom)
SX = se.NumpySortingExtractor()
spike_times = [200, 300, 400]
train1 = np.sort(np.rint(np.random.uniform(0, num_frames, spike_times[0])).astype(int))
SX.add_unit(unit_id=1, times=train1)
SX.add_unit(unit_id=2, times=np.sort(np.random.uniform(0, num_frames, spike_times[1])))
SX.add_unit(unit_id=3, times=np.sort(np.random.uniform(0, num_frames, spike_times[2])))
SX.set_unit_property(unit_id=1, property_name='stability', value=80)
SX.set_sampling_frequency(sampling_frequency)
SX2 = se.NumpySortingExtractor()
spike_times2 = [100, 150, 450]
train2 = np.rint(np.random.uniform(0, num_frames, spike_times2[0])).astype(int)
SX2.add_unit(unit_id=3, times=train2)
SX2.add_unit(unit_id=4, times=np.random.uniform(0, num_frames, spike_times2[1]))
SX2.add_unit(unit_id=5, times=np.random.uniform(0, num_frames, spike_times2[2]))
SX2.set_unit_property(unit_id=4, property_name='stability', value=80)
SX2.set_unit_spike_features(unit_id=3, feature_name='widths', value=np.asarray([3] * spike_times2[0]))
RX.set_channel_property(channel_id=0, property_name='location', value=(0, 0))
spike_times2 = [100, 150, 450]
train2 = np.rint(np.random.uniform(0, num_frames, spike_times2[0])).astype(int)
SX2.add_unit(unit_id=3, times=train2)
SX2.add_unit(unit_id=4, times=np.random.uniform(0, num_frames, spike_times2[1]))
SX2.add_unit(unit_id=5, times=np.random.uniform(0, num_frames, spike_times2[2]))
SX2.set_unit_property(unit_id=4, property_name='stability', value=80)
SX2.set_unit_spike_features(unit_id=3, feature_name='widths', value=np.asarray([3] * spike_times2[0]))
RX.set_channel_property(channel_id=0, property_name='location', value=(0, 0))
for i, unit_id in enumerate(SX2.get_unit_ids()):
SX2.set_unit_property(unit_id=unit_id, property_name='shared_unit_prop', value=i)
SX2.set_unit_spike_features(unit_id=unit_id, feature_name='shared_unit_feature',
value=np.asarray([i] * spike_times2[i]))
for i, channel_id in enumerate(RX.get_channel_ids()):
RX.set_channel_property(channel_id=channel_id, property_name='shared_channel_prop', value=i)
SX3 = se.NumpySortingExtractor()
train3= np.asarray([1,20,21,35,38,45,46,47])
SX3.add_unit(unit_id=0, times=train3)
features3 = np.asarray([0,5,10,15,20,25,30,35])
SX3.set_unit_spike_features(unit_id=0, feature_name='dummy', value=features3)
example_info = dict(
channel_ids=channel_ids,
num_channels=num_channels,
num_frames=num_frames,
sampling_frequency=sampling_frequency,
unit_ids=[1, 2, 3],
train1=train1,
train2=train2,
train3=train3,
features3=features3,
unit_prop=80,
def setUp(self):
M = 4
N = 10000
seed= 0
sampling_frequency = 30000
X = np.random.RandomState(seed=seed).normal(0, 1, (M, N))
geom = np.random.RandomState(seed=seed).normal(0, 1, (M, 2))
self._X = X
self._geom = geom
self._sampling_frequency = sampling_frequency
self.RX = se.NumpyRecordingExtractor(timeseries=X, sampling_frequency=sampling_frequency, geom=geom)
self.SX = se.NumpySortingExtractor()
L = 200
self._train1 = np.rint(np.random.RandomState(seed=seed).uniform(0, N, L)).astype(int)
self.SX.add_unit(unit_id=1, times=self._train1)
self.SX.add_unit(unit_id=2, times=np.random.RandomState(seed=seed).uniform(0, N, L))
self.SX.add_unit(unit_id=3, times=np.random.RandomState(seed=seed).uniform(0, N, L))
def test_empty_write(self):
sorting_empty = se.NumpySortingExtractor()
se.NpzSortingExtractor.write_sorting(sorting_empty, 'test_NpzSortingExtractors_empty.npz')