用法:
cucim.skimage.segmentation.relabel_sequential(label_field, offset=1)
将任意标签重新标记为 {
offset
, ...offset
+ number_of_labels}。此函数还返回正向映射(将原始标签映射到缩减标签)和反向映射(将缩减标签映射回原始标签)。
- label_field:numpy int 数组,任意形状
标签数组,必须是非负整数。
- offset:整数,可选
返回标签将从
offset
开始,这应该是严格的正数。
- relabeled:int的numpy数组,与
label_field
相同的形状 标签映射到 {offset, ..., number_of_labels + offset - 1} 的输入标签字段。数据类型将与
label_field
相同,除非 offset + number_of_labels 导致当前数据类型溢出。- forward_map:数组映射
从原始标签空间到返回标签空间的映射。可用于重新应用相同的映射。请参阅使用示例。输出数据类型将与
relabeled
相同。- inverse_map:数组映射
从新标签空间到原始空间的映射。这可用于从重新标记的标签字段中重建原始标签字段。输出数据类型将与
label_field
相同。
- relabeled:int的numpy数组,与
参数:
返回:
注意:
假定标签 0 表示背景并且从不重新映射。
对于某些输入,前向映射可能非常大,因为它的长度由标签字段的最大值给出。然而,在大多数情况下,
label_field.max()
比label_field.size
小得多,在这些情况下,前向映射保证小于输入或输出图像。例子:
>>> import cupy as cp >>> from cucim.skimage.segmentation import relabel_sequential >>> label_field = cp.array([1, 1, 5, 5, 8, 99, 42]) >>> relab, fw, inv = relabel_sequential(label_field) >>> relab array([1, 1, 2, 2, 3, 5, 4]) >>> print(fw) ArrayMap: 1 → 1 5 → 2 8 → 3 42 → 4 99 → 5 >>> cp.array(fw) array([0, 1, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]) >>> cp.array(inv) array([ 0, 1, 5, 8, 42, 99]) >>> (fw[label_field] == relab).all() True >>> (inv[relab] == label_field).all() True >>> relab, fw, inv = relabel_sequential(label_field, offset=5) >>> relab array([5, 5, 6, 6, 7, 9, 8])
相关用法
- Python cucim.skimage.segmentation.random_walker用法及代码示例
- Python cucim.skimage.segmentation.find_boundaries用法及代码示例
- Python cucim.skimage.segmentation.join_segmentations用法及代码示例
- Python cucim.skimage.feature.shape_index用法及代码示例
- Python cucim.skimage.restoration.richardson_lucy用法及代码示例
- Python cucim.skimage.util.invert用法及代码示例
- Python cucim.skimage.data.binary_blobs用法及代码示例
- Python cucim.skimage.filters.roberts_neg_diag用法及代码示例
- Python cucim.skimage.color.lch2lab用法及代码示例
- Python cucim.skimage.measure.label用法及代码示例
- Python cucim.skimage.color.rgb2gray用法及代码示例
- Python cucim.skimage.filters.gabor用法及代码示例
- Python cucim.skimage.transform.rescale用法及代码示例
- Python cucim.skimage.filters.roberts_pos_diag用法及代码示例
- Python cucim.skimage.filters.roberts用法及代码示例
- Python cucim.skimage.morphology.dilation用法及代码示例
- Python cucim.skimage.feature.corner_foerstner用法及代码示例
- Python cucim.skimage.measure.moments_coords用法及代码示例
- Python cucim.skimage.filters.gabor_kernel用法及代码示例
- Python cucim.skimage.color.hsv2rgb用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cucim.skimage.segmentation.relabel_sequential。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。