12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- ops.NchanTOT = 32; % total number of channels (omit if already in chanMap file)
- ops.Nchan = 32; % number of active channels (omit if already in chanMap file)
- ops.fs = 32000.0; % sampling rate
- ops.datatype = 'dat'; % binary ('dat', 'bin') or 'openEphys'
- ops.fbinary = fullfile('/net/bs-filesvr01/export/group/hierlemann/Temp/Alessio/make_test_sorted_data/sorting_output/kilosort2_5/recording.dat'); % will be created for 'openEphys'
- ops.fproc = fullfile(fpath, 'temp_wh.dat'); % residual from RAM of preprocessed data
- ops.root = fpath; % 'openEphys' only: where raw files are
- % define the channel map as a filename (string) or simply an array
- ops.chanMap = fullfile('chanMap.mat'); % make this file using createChannelMapFile.m
- % frequency for high pass filtering (300)
- ops.fshigh = 150; % high-pass more aggresively
- % minimum firing rate on a "good" channel (0 to skip)
- ops.minfr_goodchannels = 0.1;
- % number of blocks to use for nonrigid registration
- ops.nblocks = 5;
- % spatial smoothness constant for registration
- ops.sig = 20;
- % threshold on projections (like in Kilosort1, can be different for last pass like [10 4])
- ops.Th = [10, 4];
- % how important is the amplitude penalty (like in Kilosort1, 0 means not used, 10 is average, 50 is a lot)
- ops.lam = 10;
- % splitting a cluster at the end requires at least this much isolation for each sub-cluster (max = 1)
- ops.AUCsplit = 0.9;
- % minimum spike rate (Hz), if a cluster falls below this for too long it gets removed
- ops.minFR = 0.1;
- % number of samples to average over (annealed from first to second value)
- ops.momentum = [20 400];
- % spatial constant in um for computing residual variance of spike
- ops.sigmaMask = 30;
- % threshold crossings for pre-clustering (in PCA projection space)
- ops.ThPre = 8;
- %% danger, changing these settings can lead to fatal errors
- % options for determining PCs
- ops.spkTh = -6; % spike threshold in standard deviations (-6)
- ops.reorder = 1; % whether to reorder batches for drift correction.
- ops.nskip = 25; % how many batches to skip for determining spike PCs
- ops.CAR = 1; % perform CAR
- ops.GPU = 1; % has to be 1, no CPU version yet, sorry
- % ops.Nfilt = 1024; % max number of clusters
- ops.nfilt_factor = 4; % max number of clusters per good channel (even temporary ones) 4
- ops.ntbuff = 64; % samples of symmetrical buffer for whitening and spike detection 64
- ops.NT = 65600; % must be multiple of 32 + ntbuff. This is the batch size (try decreasing if out of memory). 64*1024 + ops.ntbuff
- ops.whiteningRange = 32; % number of channels to use for whitening each channel
- ops.nSkipCov = 25; % compute whitening matrix from every N-th batch
- ops.scaleproc = 200; % int16 scaling of whitened data
- ops.nPCs = 3; % how many PCs to project the spikes into
- ops.useRAM = 0; % not yet available
- %%
|