kernel_er = np.ones((kernel[0], kernel[0]), np.uint8)
kernel_dil = np.ones((kernel[1], kernel[1]), np.uint8)
kernel_head = np.ones((9, 9), np.uint8)

# ----------------------
# Select videos to save
# ----------------------

file_loc = file_loc + save_vid_name
fourcc = cv2.VideoWriter_fourcc(
    *'XVID')  #LJPG for lossless, XVID or MJPG works for compressed

# write videos as selected above
if write_images:
    normal_video, normalized_video, cropped_mouse, stereo_input_L, stereo_input_R, threeD_combined, threeD_smooth = \
                    write_videos(file_loc, write_images, do_not_overwrite, fourcc, frame_rate, width, height, crop_size, border_size,
                     write_normal_video, write_normalized_video, write_cropped_mice, write_stereo_inputs, write_3D_combined, write_3D_smooth)

# save data for further analysis
if video_type == '2D':
    save_2D_data = True
if save_data == True:
    fourcc = cv2.VideoWriter_fourcc(*'LJPG')  #LJPG for lossless
    data_file = file_loc + '_data.avi'
    if os.path.isfile(data_file) and do_not_overwrite:
        raise Exception('File already exists')
    if save_2D_data and video_type == '2D':
        data_video_2D = cv2.VideoWriter(data_file, fourcc, frame_rate,
                                        (crop_size, crop_size), False)
    elif save_2D_data and not video_type == '2D':
        data_video_3D = cv2.VideoWriter(data_file, fourcc, frame_rate,
                                        (crop_size, crop_size), False)
    # ----------------------
    # Select videos to save
    # ----------------------
    session_name_tag_cur = session_name_tag + '_' + str(v)
    save_file_location_cur = save_folder_location + session_name_tag + "\\" + session_name_tag_cur
    if save_videos or save_data:
        print("saving to " + save_file_location_cur)

    fourcc_videos = cv2.VideoWriter_fourcc(
        *"XVID")  # LJPG for lossless, XVID for compressed
    # save the videos selected to be saved above
    if save_videos:
        normal_video, normalized_video, cropped_mouse, stereo_input, stereo_input_R, threeD_combined, threeD_smooth = \
            write_videos(save_file_location_cur, save_videos, do_not_overwrite,
                         fourcc_videos, frame_rate_saved_video, width, height, crop_size, crop_size, write_normal_video,
                         write_normalized_video, write_cropped_mouse_video, False, False, False)
    """-------------------------------------------------------------------------------------------------------------------------------------
     ------------------------                   Perform analysis                ------------------------------------------------------------
     --------------------------------------------------------------------------------------------------------------------------------------"""

    while True:
        # grab the frame
        ret, frame = vid.read()
        frame_num = vid.get(cv2.CAP_PROP_POS_FRAMES)
        if frame_num >= end_frame - 1:
            print("fin")
            break

        if ret:
            # ---------------------------------------------------------