def setup(): # Special setup fixture to create a data set with 2 shanks. # No need for teardown as the 'mockdata' folder will be cleared at the # end of the tests anyway. # Create mock directory if needed. dir = TEST_FOLDER if not os.path.exists(dir): os.mkdir(dir) # Create mock data. waveforms = create_waveforms(nspikes, nsamples, nchannels) features = create_features(nspikes, nchannels, fetdim, duration, freq) clusters = create_clusters(nspikes, nclusters) cluster_colors = create_cluster_colors(nclusters) masks = create_masks(nspikes, nchannels, fetdim) xml = create_xml(nchannels, nsamples, fetdim) probe = create_probe(nchannels) # Create mock files. save_binary(os.path.join(dir, 'test.spk.2'), waveforms) save_text(os.path.join(dir, 'test.fet.2'), features, header=nchannels * fetdim + 1) save_text(os.path.join(dir, 'test.aclu.2'), clusters, header=nclusters) save_text(os.path.join(dir, 'test.clu.2'), clusters, header=nclusters) save_text(os.path.join(dir, 'test.fmask.2'), masks, header=nclusters, fmt='%.6f') save_text(os.path.join(dir, 'test.xml'), xml) save_text(os.path.join(dir, 'test.probe'), probe)
def setup(): # Create mock directory if needed. dir = TEST_FOLDER # Create mock data. waveforms = create_waveforms(nspikes, nsamples, nchannels) features = create_features(nspikes, nchannels, fetdim, duration, freq) clusters = create_clusters(nspikes, nclusters) cluster_colors = create_cluster_colors(nclusters) cluster_groups = create_cluster_groups(nclusters) cluster_info = pd.DataFrame( {'color': cluster_colors, 'group': cluster_groups}, dtype=np.int32, index=np.unique(clusters)) group_colors = create_group_colors(ngroups) group_names = create_group_names(ngroups) group_info = pd.DataFrame( {'color': group_colors, 'name': group_names}, index=np.arange(ngroups)) # channel_colors = create_channel_colors(nchannels) # channel_groups = create_channel_groups(nchannels) # channel_names = create_channel_names(nchannels) # channel_info = pd.DataFrame( # {'color': channel_colors, # 'group': channel_groups}, # dtype=np.int32, # index=np.unique(channels)) # # channel_group_colors = create_channel_group_colors(ngroups) # channel_group_names = create_channel_group_names(ngroups) # channel_group_info = pd.DataFrame( # {'color': channel_group_colors, # 'name': channel_group_names}, # index=np.arange(ngroups)) masks = create_masks(nspikes, nchannels, fetdim) xml = create_xml(nchannels, nsamples, fetdim) probe = create_probe(nchannels) # Create mock files. save_binary(os.path.join(dir, 'test.spk.1'), waveforms) save_text(os.path.join(dir, 'test.fet.1'), features, header=nchannels * fetdim + 1) save_text(os.path.join(dir, 'test.aclu.1'), clusters, header=nclusters) # save_cluster_info(os.path.join(dir, 'test.acluinfo.1'), cluster_info) # save_group_info(os.path.join(dir, 'test.groupinfo.1'), group_info) save_text(os.path.join(dir, 'test.clu.1'), clusters, header=nclusters) save_text(os.path.join(dir, 'test.fmask.1'), masks, header=nclusters, fmt='%.6f') save_text(os.path.join(dir, 'test.xml'), xml) save_text(os.path.join(dir, 'test.probe'), probe)
def setup(): # Create mock directory if needed. dir = TEST_FOLDER if not os.path.exists(dir): os.mkdir(dir) dat = create_trace(nsamples, nchannels) # Create mock DAT file. save_binary(os.path.join(dir, 'test.dat'), dat)
def setup(): # Create mock directory if needed. dir = TEST_FOLDER if not os.path.exists(dir): os.mkdir(dir) # Create 2 DAT files with nsamples and 2*nsamples samples, respectively. # The generated KWD file must have 3*nsamples samples. dat1 = create_trace(nsamples, nchannels) dat2 = create_trace(nsamples * 2, nchannels) # Create mock DAT file. save_binary(os.path.join(dir, 'test1.dat'), dat1) save_binary(os.path.join(dir, 'test2.dat'), dat2)
def setup(): # Create mock directory if needed. dir = TEST_FOLDER # Create mock data. waveforms = create_waveforms(nspikes, nsamples, nchannels) features = create_features(nspikes, nchannels, fetdim, duration, freq) clusters = create_clusters(nspikes, nclusters) cluster_colors = create_cluster_colors(nclusters) cluster_groups = create_cluster_groups(nclusters) cluster_info = pd.DataFrame( { 'color': cluster_colors, 'group': cluster_groups }, dtype=np.int32, index=np.unique(clusters)) group_colors = create_group_colors(ngroups) group_names = create_group_names(ngroups) group_info = pd.DataFrame({ 'color': group_colors, 'name': group_names }, index=np.arange(ngroups)) masks = create_masks(nspikes, nchannels, fetdim) xml = create_xml(nchannels, nsamples, fetdim) probe = create_probe(nchannels) # Create mock files. save_binary(os.path.join(dir, 'test.spk.1'), waveforms) save_text(os.path.join(dir, 'test.fet.1'), features, header=nchannels * fetdim + 1) save_text(os.path.join(dir, 'test.aclu.1'), clusters, header=nclusters) save_text(os.path.join(dir, 'test.clu.1'), clusters, header=nclusters) save_text(os.path.join(dir, 'test.fmask.1'), masks, header=nclusters, fmt='%.6f') save_text(os.path.join(dir, 'test.xml'), xml) save_text(os.path.join(dir, 'test.probe'), probe)
def test_memmap_numpy(): folder = tempfile.gettempdir() filename = os.path.join(folder, 'memmapb') dtype = np.int16 freq = 20000. duration = 10. nchannels = 32 nsamples = int(freq * duration) x = np.random.randint(size=(nsamples, nchannels), low=0, high=1000).astype(dtype) save_binary(filename, x) m = read_dat(filename, nchannels=nchannels, dtype=dtype) slices = (slice(1000, 10000, 4), slice(2, 30, 3)) assert m.shape == x.shape np.testing.assert_equal(x[slices], m[slices])
"""Generate a DAT file with random raw data.""" from kwiklib.dataio import save_binary from kwiklib.dataio.tests.mock_data import create_trace nsamples = 20000. * 60 nchannels = 32 filename = "myexperiment.dat" dat = create_trace(nsamples, nchannels) save_binary(filename, dat)