def _split(matrix):
    """
    Splits matrix into 4 equally sized rectangles:
    upper {left|right} and lower {left|right}.

    Arg:
        matrix: NumPy 2D depth matrix
    Returns:
        4 matrices in list
    """
    h, w = matrix.shape
    h_prime = int(h/2.0)
    w_prime = int(w/2.0)

    # quarter matrices
    upper_left = matrix[:h_prime, :w_prime]
    upper_right = matrix[:h_prime, w_prime:]
    lower_left = matrix[h_prime:, :w_prime]
    lower_right = matrix[h_prime:, w_prime:]

    return [upper_left, upper_right,\
        lower_left, lower_right]