def extract_wrapper(ops): for plane in range(ops[0]['nplanes']): curr_op = ops[plane] plane_dir = Path( curr_op['save_path0']).joinpath(f'suite2p/plane{plane}') plane_dir.mkdir(exist_ok=True, parents=True) extract_input = np.load(curr_op['data_path'][0].joinpath( 'detection', 'detect_output_{0}p{1}c{2}.npy'.format(curr_op['nplanes'], curr_op['nchannels'], plane)), allow_pickle=True)[()] #extraction.create_masks_and_extract(curr_op, extract_input['stat']) op, stat, F, Fneu, F_chan2, Fneu_chan2 = extraction.create_masks_and_extract( curr_op, extract_input['stat'], extract_input['cell_masks'], extract_input['neuropil_masks']) dF = F - curr_op['neucoeff'] * Fneu dF = extraction.preprocess( F=dF, baseline=curr_op['baseline'], win_baseline=curr_op['win_baseline'], sig_baseline=curr_op['sig_baseline'], fs=curr_op['fs'], prctile_baseline=curr_op['prctile_baseline']) spks = extraction.oasis(F=dF, batch_size=curr_op['batch_size'], tau=curr_op['tau'], fs=curr_op['fs']) np.save(plane_dir.joinpath('ops.npy'), op) np.save(plane_dir.joinpath('stat.npy'), stat) np.save(plane_dir.joinpath('F.npy'), F) np.save(plane_dir.joinpath('Fneu.npy'), Fneu) np.save(plane_dir.joinpath('F_chan2.npy'), F_chan2) np.save(plane_dir.joinpath('Fneu_chan2.npy'), Fneu_chan2) np.save(plane_dir.joinpath('spks.npy'), spks)
def extract_wrapper(ops): for plane in range(ops[0]['nplanes']): curr_op = ops[plane] plane_dir = utils.get_plane_dir(curr_op, plane) extract_input = np.load(curr_op['data_path'][0].joinpath( 'detection', 'detect_output_{0}p{1}c{2}.npy'.format(curr_op['nplanes'], curr_op['nchannels'], plane)), allow_pickle=True)[()] extraction.extract(curr_op, extract_input['cell_pix'], extract_input['cell_masks'], extract_input['neuropil_masks'], extract_input['stat']) F = np.load(plane_dir.joinpath('F.npy')) Fneu = np.load(plane_dir.joinpath('Fneu.npy')) dF = F - curr_op['neucoeff'] * Fneu dF = extraction.preprocess( F=dF, baseline=curr_op['baseline'], win_baseline=curr_op['win_baseline'], sig_baseline=curr_op['sig_baseline'], fs=curr_op['fs'], prctile_baseline=curr_op['prctile_baseline']) spks = extraction.oasis(F=dF, batch_size=curr_op['batch_size'], tau=curr_op['tau'], fs=curr_op['fs']) np.save(plane_dir.joinpath('spks.npy'), spks)
def run_preprocess(f: np.ndarray, test_ops): baseline_vals = ['maximin', 'constant', 'constant_prctile'] for bv in baseline_vals: pre_f = extraction.preprocess( F=f, baseline=bv, win_baseline=test_ops['win_baseline'], sig_baseline=test_ops['sig_baseline'], fs=test_ops['fs'], prctile_baseline=test_ops['prctile_baseline']) test_f = np.load('data/test_data/detection/{}_f.npy'.format(bv)) yield np.array_equal(pre_f, test_f)