docs: def local_histogram(image, bins=19, rang="image", cutoffp=(0.0, 100.0), size=None, footprint=None, output=None, mode="ignore", origin=0, mask=slice(None)):
      r"""
      Computes multi-dimensional histograms over a region around each voxel.
      
      Supply an image and (optionally) a mask and get the local histogram of local
      neighbourhoods around each voxel. These neighbourhoods are cubic with a sidelength of
      size in voxels or, when a shape instead of an integer is passed to size, of this
      shape.
      
      If not argument is passed to output, the returned array will be of dtype float.
      
      Voxels along the image border are treated as defined by mode. The possible values are
      the same as for scipy.ndimage filter without the ''constant'' mode. Instead "ignore"
      is the default and additional mode, which sets that the area outside of the image are
      ignored when computing the histogram.
      
      When a mask is supplied, the local histogram is extracted only for the voxels where
      the mask is True. But voxels from outside the mask can be incorporated in the
      compuation of the histograms.
      
      The range of the histograms can be set via the rang argument. The 'image' keyword can
      be supplied, to use the same range for all local histograms, extracted from the images
      max and min intensity values. Alternatively, an own range can be supplied in the form
      of a tuple of two numbers. Values outside the range of the histogram are ignored.
      
      Setting a proper range is important, as all voxels that lie outside of the range are
      ignored i.e. do not contribute to the histograms as if they would not exists. Some
      of the local histograms can therefore be constructed from less than the expected
      number of voxels.
      
      Taking the histogram range from the whole image is sensitive to outliers. Supplying
      percentile values to the cutoffp argument, these can be filtered out when computing
      the range. This keyword is ignored if rang is not set to 'image'.
      
      Setting the rang to None causes local ranges to be used i.e. the ranges of the
      histograms are computed only over the local area covered by them and are hence
      not comparable. This behaviour should normally not be taken.
      
      The local histograms are normalized by dividing them through the number of elements
      in the bins.
      
      Parameters
      ----------
      image : array_like or list/tuple of array_like 
          A single image or a list/tuple of images (for multi-spectral case).
      bins : integer
          The number of histogram bins.
      rang : 'image' or tuple of numbers or None
          The range of the histograms, can be supplied manually, set to 'image' to use
          global or set to None to use local ranges.
      cutoffp : tuple of numbers
          The cut-off percentiles to exclude outliers, only processed if ``rang`` is set
          to 'image'.
      size : scalar or tuple of integers
          See footprint, below
      footprint : array
          Either ``size`` or ``footprint`` must be defined. ``size`` gives the shape that
          is taken from the input array, at every element position, to define the input to
          the filter function. ``footprint`` is a boolean array that specifies (implicitly)
          a shape, but also which of the elements within this shape will get passed to the
          filter function. Thus ``size=(n,m)`` is equivalent to
          ``footprint=np.ones((n,m))``. We adjust ``size`` to the number of dimensions of
          the input array, so that, if the input array is shape (10,10,10), and ``size``
          is 2, then the actual size used is (2,2,2).
      output ndarray or dtype
          The ``output`` parameter passes an array in which to store the filter output.
      mode : {'reflect', 'ignore', 'nearest', 'mirror', 'wrap'}
          The ``mode`` parameter determines how the array borders are handled. Default is 'ignore'
      origin : number
          The ``origin`` parameter controls the placement of the filter. Default 0.
      mask : array_like
          A binary mask for the image.
          
      Returns
      -------
      local_histogram : ndarray
          The bin values of the local histograms for each voxel as a multi-dimensional image.
  
      """    
      return _extract_feature(_extract_local_histogram, image, mask, bins=bins, rang=rang, cutoffp=cutoffp, size=size, footprint=footprint, output=output, mode=mode, origin=origin)