img_back = np.uint8(img_back) logging.debug('Writing shape: %s', str(img_back.shape)) logging.debug('Writing min: %s', np.min(img_back)) logging.debug('Writing max: %s', np.max(img_back)) vid_writer.write(img_back) vid_writer.release() if replace_vid: os.remove(vid_fpath) os.rename(os.path.join(denoised_dir, filename), vid_fpath) if replace_vid: os.rmdir(denoised_dir) if __name__ == '__main__': import miniscope_file from load_args import * session_fpaths = miniscope_file.list_session_dirs(local_miniscope_path, experiment_date, animal_name) for session_fpath in session_fpaths: logging.info('Removing noise in session dir %s', session_fpath) vid_fpaths = miniscope_file.list_vidfiles(session_fpath, vid_prefix) maskFFT = create_FFT_Mask(vid_fpaths) meanFrame = calc_mean_frame_vals(vid_fpaths) meanFrameFiltered = lowpass_filter_vals(meanFrame) denoise_vids(vid_fpaths, maskFFT, meanFrameFiltered, replace_vid=True)
if len(animal_roi) == 0: raise Exception('Roi definition not found for animal: ' + animal_name) x1 = animal_roi['x1'].values[0] x2 = animal_roi['x2'].values[0] y1 = animal_roi['y1'].values[0] y2 = animal_roi['y2'].values[0] rotation = 0 if 'rotation' in animal_roi.columns: rotation = animal_roi['rotation'].values[0] return (x1, x2, y1, y2), rotation if __name__ == '__main__': from load_args import * import miniscope_file local_rois_fpath = os.path.join(local_miniscope_path, 'rois.csv') logging.info('local miniscope path: ' + local_miniscope_path) crop_roi, rotation = get_roi_xy(local_rois_fpath, animal_name) session_fpaths = miniscope_file.list_session_dirs(local_miniscope_path, experiment_date, animal_name) for s_fpath in session_fpaths: vids_fpath = miniscope_file.list_vidfiles(s_fpath, vid_prefix) for video in vids_fpath: output_vid_path = crop_and_downsample(video, crop_roi, rotation, spatial_downsampling) if output_vid_path is None: logging.info('Video file unchanged: ' + video)