Source code for florin.reconstruction

"""Reconstruct connected components as an array of pixel-wise class labels.

Functions
---------
reconstruct
    Create a labeled image or volume from classified connected components.
"""

import numpy as np

from skimage.color import label2rgb

from florin.closure import florinate


[docs]@florinate def reconstruct(objs): """Create a labeled image or volume from classified connected components. Parameters ---------- objs : list of obj : skimage.measure._regionprops.RegionProperties Classified objects to be labeled. """ out = None classes = {} # Enumerate the class labels of the connected components and assign each # pixel an integer label. for obj in objs: if out is None: out = np.zeros(obj.original_image_shape, dtype=np.uint8) coords = tuple([i for i in obj.coords.T]) try: out[coords] += classes[obj.class_label] except KeyError: classes[obj.class_label] = len(classes) + 1 out[coords] += classes[obj.class_label] # Convert the class labels to colors for visualization. return label2rgb(out, bg_label=0).astype(np.uint8)