scipy.ndimage.

maximum#

scipy.ndimage.maximum(input, labels=None, index=None)[Quelle]#

Berechnet das Maximum der Werte eines Arrays über gekennzeichnete Regionen.

Parameter:
inputarray_like

Array-ähnliche Werte. Für jede durch labels spezifizierte Region wird der maximale Wert von input über die Region berechnet.

labelsarray_like, optional

Ein Array von ganzen Zahlen, das verschiedene Regionen markiert, über die der Maximalwert von input berechnet werden soll. labels muss die gleiche Form wie input haben. Wenn labels nicht angegeben ist, wird das Maximum über das gesamte Array zurückgegeben.

indexarray_like, optional

Eine Liste von Regionen-Labels, die bei der Berechnung der Maxima berücksichtigt werden. Wenn index None ist, wird das Maximum über alle Elemente zurückgegeben, bei denen labels ungleich Null ist.

Rückgabe:
outputein Skalar oder eine Liste von ganzen Zahlen oder Gleitkommazahlen basierend auf dem Eingabetyp.

Liste der Maxima von input über die durch labels bestimmten Regionen, deren Index in index enthalten ist. Wenn index oder labels nicht angegeben sind, wird ein Gleitkommazahl zurückgegeben: der Maximalwert von input, wenn labels None ist, und der Maximalwert der Elemente, bei denen labels größer als Null ist, wenn index None ist.

Hinweise

Die Funktion gibt eine Python-Liste und kein NumPy-Array zurück. Verwenden Sie np.array, um die Liste in ein Array zu konvertieren.

Beispiele

>>> import numpy as np
>>> a = np.arange(16).reshape((4,4))
>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
>>> labels = np.zeros_like(a)
>>> labels[:2,:2] = 1
>>> labels[2:, 1:3] = 2
>>> labels
array([[1, 1, 0, 0],
       [1, 1, 0, 0],
       [0, 2, 2, 0],
       [0, 2, 2, 0]])
>>> from scipy import ndimage
>>> ndimage.maximum(a)
15
>>> ndimage.maximum(a, labels=labels, index=[1,2])
[5, 14]
>>> ndimage.maximum(a, labels=labels)
14
>>> b = np.array([[1, 2, 0, 0],
...               [5, 3, 0, 4],
...               [0, 0, 0, 7],
...               [9, 3, 0, 0]])
>>> labels, labels_nb = ndimage.label(b)
>>> labels
array([[1, 1, 0, 0],
       [1, 1, 0, 2],
       [0, 0, 0, 2],
       [3, 3, 0, 0]], dtype=int32)
>>> ndimage.maximum(b, labels=labels, index=np.arange(1, labels_nb + 1))
[5, 7, 9]