luna.py 文件源码

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

项目:lung-cancer-detector 作者: YichenGong 项目源码 文件源码
def _construct_mask_values(self, ids):
        mask_vals = {}
        print("Creating Mask Values...")

        size = len(self._annotations)
        for idx, annotation in enumerate(self._annotations):
            print(str(idx) + "/" + str(size))
            series, z, y, x, d = annotation #Order as given in the tutorial for LUNA-16
            r = d/2.0
            try:
                img, o, s = p.load(open(os.path.join(self._target_directory, series + ".pick"), "rb"))
            except:
                continue
            if series not in mask_vals:
                mask_vals[series] = {}
            voxelCenter = dp.world_to_voxel_coord(np.array([x, y, z]), o, s)
            x, y, z = voxelCenter
            y = int(y)
            z = int(z)
            sliceRange = range(max(0, int(x - r/s[0])), int(x + r/s[0] + 1)) #1 so that we don't loose any information
            for sliceIdx in sliceRange:
                center = (z, y)
                radius = math.sqrt(max(0, r*r - ((s[0] * math.fabs(x - sliceIdx))**2)))
                if sliceIdx not in mask_vals[series]:
                    mask_vals[series][sliceIdx] = []
                mask_vals[series][sliceIdx].append((center, max(radius/s[1], radius/s[2])))

        print("Mask values created!")
        return mask_vals
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号