def __skeleton_maximum(graph, image, boundary_term, spacing):
    """
    A skeleton for the calculation of maximum intensity based boundary terms.
    
    This function is equivalent to energy_voxel.__skeleton_difference(), but uses the
    maximum intensity rather than the intensity difference of neighbouring voxels. It is
    therefore suitable to be used with the gradient image, rather than the original
    image.
    
    The computation of the edge weights follows
    
    .. math::
    
        w(p,q) = g(max(I_p, I_q))
    
    ,where :math:`g(\cdot)` is the supplied boundary term function.
    
    @param graph An initialized graph.GCGraph object
    @type graph.GCGraph
    @param image The image to compute on
    @type image numpy.ndarray
    @param boundary_term A function to compute the boundary term over an array of
                         maximum intensities
    @type boundary_term function
    @param spacing 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.
    @param spacing sequence | False    
    
    @see energy_voxel.__skeleton_difference() for more details.
    """
    def intensity_maximum(neighbour_one, neighbour_two):
        """
        Takes two voxel arrays constituting neighbours and computes the maximum between
        their intensities.
        """
        return scipy.maximum(neighbour_one, neighbour_two)
        
    __skeleton_base(graph, numpy.abs(image), boundary_term, intensity_maximum, spacing)
def __skeleton_maximum ( graph , image , boundary_term , spacing ) : def intensity_maximum ( neighbour_one , neighbour_two ) : return scipy . maximum ( neighbour_one , neighbour_two ) __skeleton_base ( graph , numpy . abs ( image ) , boundary_term , intensity_maximum , spacing )
A skeleton for the calculation of maximum intensity based boundary terms.
    
    This function is equivalent to energy_voxel.__skeleton_difference(), but uses the
    maximum intensity rather than the intensity difference of neighbouring voxels. It is
    therefore suitable to be used with the gradient image, rather than the original
    image.
    
    The computation of the edge weights follows
    
    .. math::
    
        w(p,q) = g(max(I_p, I_q))
    
    ,where :math:`g(\cdot)` is the supplied boundary term function.
    
    @param graph An initialized graph.GCGraph object
    @type graph.GCGraph
    @param image The image to compute on
    @type image numpy.ndarray
    @param boundary_term A function to compute the boundary term over an array of
                         maximum intensities
    @type boundary_term function
    @param spacing 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.
    @param spacing sequence | False    
    
    @see energy_voxel.__skeleton_difference() for more details.