def get_image_frames_2d(img, regions, regionlist=None):
    """Split out the arrays for the serial_overscan, parallel_overscan, and imaging regions

    Parameters
    ----------
    img : `ImageF`
        Image Data
    regions : `dict`
        Bounding boxes for the regions
    regionlist : `list` or `None`
        Names of the regions to extract data for

    Returns
    -------
    o_dict : `dict`
        Dictionary mapping name to data array for each region
    """
    step_x = regions['step_x']
    step_y = regions['step_y']

    if regionlist is None:
        regionlist = ['imaging', 'serial_overscan', 'parallel_overscan']

    try:
        o_dict = {key:img[regions[key]].getArray()[::step_x, ::step_y] for key in regionlist}
    except AttributeError:
        o_dict = {key:img[regions[key]].getImage().getArray()[::step_x, ::step_y]
                  for key in regionlist}
    return o_dict