bundles / skimage latest / skimage / util / _invert / invert
function
skimage.util._invert:invert
source: /dev/scikit-image/src/skimage/util/_invert.py :5
Signature
def invert ( image , signed_float = False ) Summary
Invert an image.
Extended Summary
Invert the intensity range of the input image, so that the dtype maximum is now the dtype minimum, and vice-versa. This operation is slightly different depending on the input dtype:
unsigned integers: subtract the image from the dtype maximum
signed integers: subtract the image from -1 (see Notes)
floats: subtract the image from 1 (if signed_float is False, so we assume the image is unsigned), or from 0 (if signed_float is True).
See the examples for clarification.
Parameters
image: ndarrayInput image.
signed_float: bool, optionalIf True and the image is of type float, the range is assumed to be [-1, 1]. If False and the image is of type float, the range is assumed to be [0, 1].
Returns
inverted: ndarrayInverted image.
Notes
Ideally, for signed integers we would simply multiply by -1. However, signed integer ranges are asymmetric. For example, for np.int8, the range of possible values is [-128, 127], so that -128 * -1 equals -128! By subtracting from -1, we correctly map the maximum dtype value to the minimum.
Examples
img = np.array([[100, 0, 200], [ 0, 50, 0], [ 30, 0, 255]], np.uint8) invert(img) img2 = np.array([[ -2, 0, -128], [127, 0, 5]], np.int8) invert(img2) img3 = np.array([[ 0., 1., 0.5, 0.75]]) invert(img3) img4 = np.array([[ 0., 1., -1., -0.25]]) invert(img4, signed_float=True)✓
Aliases
-
skimage.util.invert