def boundary_maximum_division(graph, xxx_todo_changeme5):
    r"""
    Boundary term processing adjacent voxels maximum value using a division relationship. 
    
    An implementation of a boundary term, suitable to be used with the
    `~medpy.graphcut.generate.graph_from_voxels` function.
    
    The same as `boundary_difference_division`, but working on the gradient image instead
    of the original. See there for details.
    
    Parameters
    ----------
    graph : GCGraph
        The graph to add the weights to.
    gradient_image : ndarray
        The gradient image.
    sigma : float
        The sigma parameter to use in the boundary term.
    spacing : sequence of float or False
        A sequence containing the slice spacing used for weighting the
        computed neighbourhood weight value for different dimensions. If
        `False`, no distance based weighting of the graph edges is performed.
        
    Notes
    -----
    This function requires the gradient image to be passed along. That means that
    `~medpy.graphcut.generate.graph_from_voxels` has to be called with ``boundary_term_args`` set to the
    gradient image.
    """
    (gradient_image, sigma, spacing) = xxx_todo_changeme5
    gradient_image = scipy.asarray(gradient_image)
    
    def boundary_term_division(intensities):
        """
        Implementation of a exponential boundary term computation over an array.
        """
        # apply 1 / (1  + x/sigma)
        intensities /= sigma
        intensities = 1. / (intensities + 1)
        intensities[intensities <= 0] = sys.float_info.min
        return intensities
    
    __skeleton_difference(graph, gradient_image, boundary_term_division, spacing)