Python-Vektorisierung verschachtelt für Schleifen

Ich würde mich über Hilfe bei der Suche und dem Verständnis einer pythonischen Methode zur Optimierung der folgenden Array-Manipulationen in verschachtelten for-Schleifen freuen:

def _func(a, b, radius):
    "Return 0 if a>b, otherwise return 1"
    if distance.euclidean(a, b) < radius:
        return 1
    else:
        return 0

def _make_mask(volume, roi, radius):
    mask = numpy.zeros(volume.shape)
    for x in range(volume.shape[0]):
        for y in range(volume.shape[1]):
            for z in range(volume.shape[2]):
                mask[x, y, z] = _func((x, y, z), roi, radius)
    return mask

Wovolume.shape (182, 218, 200) undroi.shape (3,) sind beidendarray types; undradius ist einint

Antworten auf die Frage(4)

Ihre Antwort auf die Frage