Source code for histomicstk.segmentation.label.delete_border

import numpy as np

from .condense import condense
from .delete import delete


[docs] def delete_border(im_label): """ Deletes objects touching the border of the image and relabel Parameters ---------- im_label : array_like A label mask generated by segmentation methods. Returns ------- im_label_del : array_like A label mask where in all the objects touching the image border have been deleted See Also -------- histomicstk.segmentation.label.delete """ if not np.any(im_label): return im_label im_border_mask = np.zeros_like(im_label) im_border_mask[:, 0] = 1 im_border_mask[:, -1] = 1 im_border_mask[0, :] = 1 im_border_mask[-1, :] = 1 border_indices = np.unique(im_label[im_border_mask > 0]) border_indices = border_indices[border_indices > 0] if len(border_indices) == 0: return im_label # Condense and delete the border regions from the image label im_label_del = np.zeros_like(im_label) im_label_del = condense(delete(im_label, border_indices)) return im_label_del