def METHOD_NAME(image):
    """Determine nonstandard properties of an input image.
    Parameters
    ----------
    image : array
        The input image.
    Returns
    -------
    ip : ImageProperties named tuple
        The properties of the image:
        - signed: whether the image has negative values.
        - out_of_range_float: if the image has floating point data
          outside of [-1, 1].
        - low_data_range: if the image is in the standard image
          range (e.g. [0, 1] for a floating point image) but its
          data range would be too small to display with standard
          image ranges.
        - unsupported_dtype: if the image data type is not a
          standard skimage type, e.g. ``numpy.uint64``.
    """
    immin, immax = np.min(image), np.max(image)
    imtype = image.dtype.type
    try:
        lo, hi = dtypes.dtype_range[imtype]
    except KeyError:
        lo, hi = immin, immax
    signed = immin < 0
    out_of_range_float = (np.issubdtype(image.dtype, np.floating) and
                          (immin < lo or immax > hi))
    low_data_range = (immin != immax and
                      is_low_contrast(image))
    unsupported_dtype = image.dtype not in dtypes._supported_types
    return ImageProperties(signed, out_of_range_float,
                           low_data_range, unsupported_dtype)