def cwatershed(surface, markers, Bc=None, return_lines=False): ''' W = cwatershed(surface, markers, Bc=None, return_lines=False) W,WL = cwatershed(surface, markers, Bc=None, return_lines=True) Seeded Watershed Parameters ---------- surface : image markers : image initial markers (must be a labeled image) Bc : ndarray, optional structuring element (default: 3x3 cross) return_lines : boolean, optional whether to return separating lines (in addition to regions) Returns ------- W : Regions image (i.e., W[i,j] == region for pixel (i,j)) WL : Lines image (`if return_lines==True`) ''' _verify_is_integer_type(surface, 'cwatershed') _verify_is_integer_type(markers, 'cwatershed') if surface.shape != markers.shape: raise ValueError('morph.cwatershed: Markers array should have the same shape as value array.') if markers.dtype != surface.dtype: markers = markers.astype(surface.dtype) Bc = get_structuring_elem(surface, Bc) return _morph.cwatershed(surface, markers, Bc, bool(return_lines))
def cwatershed(surface, markers, Bc=None, return_lines=False): ''' W = cwatershed(surface, markers, Bc=None, return_lines=False) W,WL = cwatershed(surface, markers, Bc=None, return_lines=True) Seeded Watershed Parameters ---------- * surface: image * markers: initial markers (must be a labeled image) * Bc: structuring element (default: 3x3 cross) * return_lines: whether to return separating lines (in addition to regions) ''' _verify_is_integer_type(surface, 'cwatershed') _verify_is_integer_type(markers, 'cwatershed') if surface.shape != markers.shape: raise ValueError('morph.cwatershed: Markers array should have the same shape as value array.') if markers.dtype != surface.dtype: markers = markers.astype(surface.dtype) Bc = get_structuring_elem(surface, Bc) return _morph.cwatershed(surface, markers, Bc, bool(return_lines))