Source code for histomicstk.segmentation.label.condense

import numpy as np


[docs] def condense(im_label): """ Shifts labels in a label image to fill in gaps corresponding to missing values. Parameters ---------- im_label : array_like A label image generated by segmentation methods. Returns ------- Condensed : array_like A label image where all values > 0 are shifted down to fill gaps. See Also -------- histomicstk.segmentation.label.shuffle """ import scipy.ndimage as ndi # initialize output Condensed = im_label.copy() # get extent of each object Locations = ndi.find_objects(Condensed) # initialize counter Counter = 1 # fill in new values for i in np.arange(1, len(Locations) + 1): if Locations[i - 1] is not None: Patch = Condensed[Locations[i - 1]] Patch[Patch == i] = Counter Counter += 1 return Condensed