def rm_regions(a, b, a_start_ind, a_stop_ind):
    """Remove contiguous regions in `a` before region `b`

    Boolean arrays `a` and `b` should have alternating occuances of regions of
    `True` values. This routine removes additional contiguous regions in `a`
    that occur before a complimentary region in `b` has occured

    Args
    ----
    a: ndarray
        Boolean array with regions of contiguous `True` values
    b: ndarray
        Boolean array with regions of contiguous `True` values
    a_start_ind: ndarray
        indices of start of `a` regions
    a_stop_ind: ndarray
        indices of stop of `a` regions

    Returns
    -------
    a: ndarray
        Boolean array with regions for which began before a complimentary
        region in `b` have occured
    """
    import numpy
    for i in range(len(a_stop_ind)):
        next_a_start = numpy.argmax(a[a_stop_ind[i]:])
        next_b_start = numpy.argmax(b[a_stop_ind[i]:])
        if next_b_start > next_a_start:
            a[a_start_ind[i]:a_stop_ind[i]] = False
        return a
