def matches_to_mos_info(input_matches_dict, def_sample_name = '',
                        def_zirc_size = 500, def_x_offset = 0,
                        def_y_offset = 0):
    """Converts a dict returned by check_scan_mos_matches() to a dict\
        with values and format {header: [data]} of a mos_info.csv file.

    Parameters
    ----------
    input_matches_dict : dict
        A dict of .scancsv files and corresponding possible .bmp files, \
        as returned by check_scan_mos_matches().
    def_sample_name : str, optional
        Default name for samples. The default is ''.
    def_zirc_size : int, optional
        Default max size for zircon crystals (µm). The default is 500.
    def_x_offset : int, optional
        Default x offset correction (µm) for scancsv files. The default is 0.
    def_y_offset : int, optional
        Default y offset correction (µm) for scancsv files. The default is 0.

    Returns
    -------
    new_mos_info_dict : dict
        A dict with format {header: [data]} (see below for headers). \
        Headers are those needed in mosaic_info.csv files for automatic \
        processing. The default .bmp files for each scancsv are simply \
        the first match found, so these should be verified by users. \
    act_matches_dict : dict
        A version of input_matches_dict with all samples without matches \
        removed.

    """
    #removes samples without matches
    no_matches_list = []
    act_matches_dict = {}
    for each_key, each_list in input_matches_dict.items():
        if each_list:
            act_matches_dict[each_key] = each_list
        else:
            no_matches_list.append(str(each_key))
    if no_matches_list:
        print('No matches found:', ', '.join(no_matches_list))


    headers = ['Sample', 'Scanlist', 'Mosaic',
               'Max_zircon_size', 'X_offset', 'Y_offset']

    def_exp_vals = {'Sample': def_sample_name,
                    'Max_zircon_size': def_zirc_size,
                    'X_offset': def_x_offset,
                    'Y_offset': def_y_offset}

    #creates new dict using new vals
    new_mos_info_dict = {}
    for each_column in headers:
        new_mos_info_dict[each_column] = []
        if each_column not in ['Scanlist', 'Mosaic']:
            for _ in range(0, len(list(act_matches_dict.keys()))):
                new_mos_info_dict[each_column].append(def_exp_vals[each_column])
        if each_column == 'Scanlist':
            for each_scanlist in act_matches_dict:
                new_mos_info_dict[each_column].append(each_scanlist)
        if each_column == 'Mosaic':
            for each_mosaics in act_matches_dict.values():
                new_mos_info_dict[each_column].append(each_mosaics[0])
    return new_mos_info_dict, act_matches_dict