def make_merge_list(hdf5names, stitch_list, max_labels):
"""
Creates a merge list from a stitch list by mapping all connected ids to
one id
Parameters
----------
hdf5names: list of str
List of names/ labels to be extracted and processed from the prediction
file
stitch_list: dictionary
Contains pairs of overlapping component ids for each hdf5name
max_labels dictionary
Contains the number of different component ids for each hdf5name
Returns
-------
merge_dict: dictionary
mergelist for each hdf5name
merge_list_dict: dictionary
mergedict for each hdf5name
"""
merge_dict = {}
merge_list_dict = {}
for hdf5_name in hdf5names:
this_stitch_list = stitch_list[hdf5_name]
max_label = max_labels[hdf5_name]
graph = nx.from_edgelist(this_stitch_list)
cc = nx.connected_components(graph)
merge_dict[hdf5_name] = {}
merge_list_dict[hdf5_name] = np.arange(max_label + 1)
for this_cc in cc:
this_cc = list(this_cc)
for id in this_cc:
merge_dict[hdf5_name][id] = this_cc[0]
merge_list_dict[hdf5_name][id] = this_cc[0]
return merge_dict, merge_list_dict
objectextraction.py 文件源码
python
阅读 28
收藏 0
点赞 0
评论 0
评论列表
文章目录