def get_movie_data_both_channels (data, movie_ID):
    """Pull out track data in both channels for one movie out of a dataframe.

    Args:
        data (Pandas dataframe): Parsed tracks for each movie, as created by the
            read_2color_data function of the parse_trackmate module. Contains
            the following columns:
                'parsed', which is the tracks_df dataframe with the actual data,
                'color', numerical value of the channel (typically 1 or 2),
                'movie_ID', full name of the source movie minus channel prefix,
                'file_name' and 'file_path', self-explanatory.
        'movie_ID': movie for which data needs to be pulled

    Returns:
        df_C1 (Pandas dataframe): Parsed tracks for channel 1.
        df_C2 (Pandas dataframe): Parsed tracks for channel 2.
        names_paths (dict): filenames and paths of all associated movies.
    """

    print("Processing movie:", movie_ID)

    # Get indices of the movies of both colors, denoted by C1 and C2
    movie_idx = data['movie_ID'] == movie_ID
    idx_C1 = data.index[movie_idx & (data['color'] == 'C1')]
    idx_C2 = data.index[movie_idx & (data['color'] == 'C2')]

    # Locate data for each color of the current movie
    df_C1 = data.loc[idx_C1, 'parsed'].iat[0]
    df_C2 = data.loc[idx_C2, 'parsed'].iat[0]

    # Locate corresponding file names and paths
    filename_C1 = data.loc[idx_C1, 'file_name'].iat[0]
    file_path_C1 = data.loc[idx_C1, 'file_path'].iat[0]
    filename_C2 = data.loc[idx_C2, 'file_name'].iat[0]
    file_path_C2 = data.loc[idx_C2, 'file_path'].iat[0]

    names_paths = {'name_C1' : filename_C1, 'path_C1' : file_path_C1,
                    'name_C2' : filename_C1, 'path_C2' : file_path_C2}

    return df_C1, df_C2, names_paths