SciPy

scipy.ndimage.morphology.iterate_structure

scipy.ndimage.morphology.iterate_structure(structure, iterations, origin=None)[source]

Iterate a structure by dilating it with itself.

Parameters:

structure : array_like

Structuring element (an array of bools, for example), to be dilated with itself.

iterations : int

number of dilations performed on the structure with itself

origin : optional

If origin is None, only the iterated structure is returned. If not, a tuple of the iterated structure and the modified origin is returned.

Returns:

iterate_structure : ndarray of bools

A new structuring element obtained by dilating structure (iterations - 1) times with itself.

Examples

>>> struct = ndimage.generate_binary_structure(2, 1)
>>> struct.astype(int)
array([[0, 1, 0],
       [1, 1, 1],
       [0, 1, 0]])
>>> ndimage.iterate_structure(struct, 2).astype(int)
array([[0, 0, 1, 0, 0],
       [0, 1, 1, 1, 0],
       [1, 1, 1, 1, 1],
       [0, 1, 1, 1, 0],
       [0, 0, 1, 0, 0]])
>>> ndimage.iterate_structure(struct, 3).astype(int)
array([[0, 0, 0, 1, 0, 0, 0],
       [0, 0, 1, 1, 1, 0, 0],
       [0, 1, 1, 1, 1, 1, 0],
       [1, 1, 1, 1, 1, 1, 1],
       [0, 1, 1, 1, 1, 1, 0],
       [0, 0, 1, 1, 1, 0, 0],
       [0, 0, 0, 1, 0, 0, 0]])