regionprops3d_plgs.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:imagepy 作者: Image-Py 项目源码 文件源码
def run(self, ips, imgs, para = None):
        k = ips.unit[0]

        titles = ['ID']
        if para['center']:titles.extend(['Center-X','Center-Y','Center-Z'])
        if para['vol']:titles.append('Volume')
        if para['extent']:titles.extend(['Min-Z','Min-Y','Min-X','Max-Z','Max-Y','Max-X'])
        if para['ed']:titles.extend(['Diameter'])
        if para['fa']:titles.extend(['FilledArea'])

        buf = imgs.astype(np.uint16)
        strc = generate_binary_structure(3, 1 if para['con']=='4-connect' else 2)
        label(imgs, strc, output=buf)
        ls = regionprops(buf)

        dt = [range(len(ls))]

        centroids = [i.centroid for i in ls]
        if para['center']:
            dt.append([round(i.centroid[1]*k,1) for i in ls])
            dt.append([round(i.centroid[0]*k,1) for i in ls])
            dt.append([round(i.centroid[2]*k,1) for i in ls])
        if para['vol']:
            dt.append([i.area*k**3 for i in ls])
        if para['extent']:
            for j in (0,1,2,3,4,5):
                dt.append([i.bbox[j]*k for i in ls])
        if para['ed']:
            dt.append([round(i.equivalent_diameter*k, 1) for i in ls])
        if para['fa']:
            dt.append([i.filled_area*k**3 for i in ls])
        IPy.table(ips.title+'-region', list(zip(*dt)), titles)

# center, area, l, extent, cov
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号