예제 #1
0
            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)
예제 #2
0
    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)