<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _extract_local_histogram(image, mask=slice(None), bins=19, rang="image", cutoffp=(0.0, 100.0), size=None, footprint=None, output=None, mode="ignore", origin=0):
 """ Internal, single-image version of @see local_histogram Note: Values outside of the histograms range are not considered. Note: Mode constant is not available, instead a mode "ignore" is provided. Note: Default dtype of returned values is float. """

    if "constant" == mode:
        raise RuntimeError('boundary mode not supported')
    elif "ignore" == mode:
        mode = "constant"
    if 'image' == rang:
        rang = tuple(numpy.percentile(image[mask], cutoffp))
    elif not 2 == len(rang):
        raise RuntimeError('the rang must contain exactly two elements or the string "image"')
        
    _, bin_edges = numpy.histogram([], bins=bins, range=rang)
    output = _get_output(numpy.float if None == output else output, image, shape = [bins] + list(image.shape))

    # threshold the image into the histogram bins represented by the output images first dimension, treat last bin separately, since upper border is inclusive
    for i in range(bins - 1):
        output[i] = (image >= bin_edges[i]) & (image < bin_edges[i + 1])
    output[-1] = (image >= bin_edges[-2]) & (image <= bin_edges[-1])

    # apply the sum filter to each dimension, then normalize by dividing through the sum of elements in the bins of each histogram
    for i in range(bins):
        output[i] = sum_filter(output[i], size=size, footprint=footprint, output=None, mode=mode, cval=0.0, origin=origin)
    divident = numpy.sum(output, 0)
    divident[0 == divident] = 1
    output /= divident
    
    # Notes on modes:
    # mode=constant with a cval outside histogram range for the histogram equals a mode=constant with a cval = 0 for the sum_filter
    # mode=constant with a cval inside  histogram range for the histogram has no equal for the sum_filter (and does not make much sense)
    # mode=X for the histogram equals mode=X for the sum_filter

    # treat as multi-spectral image which intensities to extracted
    return _extract_feature(_extract_intensities, [h for h in output], mask)