全视野数字切片(whole slide images, WSIs)的预处理 |
您所在的位置:网站首页 › 处理大量图像的格式是什么 › 全视野数字切片(whole slide images, WSIs)的预处理 |
update: 2019-4-10 系统化梳理以及增加详细内容 希望有深度学习、机器学习以及医学图像处理相关领域的老师、同学进行指导! 个人博客:WangW Blog 首发于CSDN 本文主要梳理了关于病理切片的处理,让刚进入病理图像处理领域的朋友能够将注意力放在深度学习、机器学习等算法上。本文主要包含KFB格式2TIFF(或SVS)、病理图像的标记、病理图像掩码(Mask)的生成以及病理切片补丁图像(Patches)的生成,最后介绍一个有关病理图像分类的repo。 1. KFB格式转成TIFF(或者SVS)格式KFB格式的全视野数字病理切片(Whole slide images, WSIs)是国内一种病理切片扫描仪扫描出来的私有格式,该扫描仪是宁波江丰生物信息技术有限公司的一款产品。如果您是病理医生,仅仅需要读取以及简单的标记KFB文件,只需要下载K-Viewer进行读取就好了。那如果需要对WSIs进行一系列操作,比如图像识别、分类、检测等等,那么就需要将该公司的私有KFB格式转成通用的TIFF或者SVS进行操作了。使用公司的软件进行格式转换,具体操作都在文档中,请下载使用。 1. 如果你有C币,请使用该链接下载; 2. 如果没有C币,请使用该链接免费下载,请给个star哦,笔芯; 2. 全视野数字切片(WSIs)的标记众所周知的是,WSI像素十分夸张,一般的图片浏览软件也打不开,那么标记就成了我们需要头疼的事了。但是铁头娃永远不会头疼…请看官接着往下看 2.1. 标记文件(XML)的获取假如你想对自己的数据进行标记(废话,不是自己的数据,就不需要转格式),尝试使用ASAP吧。 使用ASAP打开需要标注的WSI,选择你需要用的标注类型(包含点、矩形、多边形等),对数据进行标注,如下图:1表示标记类型,我这里选择了多边形;2表示标注的区域;3表示标注名字;4表示标注的种类(下面会用到) 注意: 请将同一类型的标注,通过图上4按钮新建group,并将标注们放到一个Group下。方便后续的程序处理; 实例: 我需要对WSI进行癌区域标注,如上图得到了4块区域,然后,我新建一个Goup,将同类型tumor 4 块区域都放入一个Goup下,进行保存。这样就完成了wsi的标记。 2.2 WSI标记掩码(mask)的获取其实,上面的标注文件**.xml已经完成满足平常DLer的需求了,但是有些同学可能想要WSI的掩码图,ASAP也为这些朋友提供了方便的API。如下: Configure your PYTHONPATH environment variable to contain the /bin directory path. 大体就是建立一个PYTHONPATH名字的环境变量,找到你安装ASAP的路径,将路径>>到/bin 这个路径放在PYTHONPATH环境变量中,这样,python就可以自动搜索到这个包了哦。 使用下面官方的demo进行掩码的生成。 import multiresolutionimageinterface as mir reader = mir.MultiResolutionImageReader() mr_image = reader.open('camelyon17/centre_0/patient_010_node_4.tif') annotation_list = mir.AnnotationList() xml_repository = mir.XmlRepository(annotation_list) xml_repository.setSource('camelyon17/centre_0/patient_010_node_4.xml') xml_repository.load() annotation_mask = mir.AnnotationToMask() camelyon17_type_mask = True # _0 等就是你自己设置的group,ASAP默认group为Annotation Group * label_map = {'metastases': 1, 'normal': 2} if camelyon17_type_mask else {'_0': 1, '_1': 1, '_2': 0} conversion_order = ['metastases', 'normal'] if camelyon17_type_mask else ['_0', '_1', '_2'] annotation_mask.convert(annotation_list, output_path, mr_image.getDimensions(), mr_image.getSpacing(), label_map, conversion_order)注意的是:自己的标注种类请与代码一致。 3. WSI补丁的生成以上的步骤已经完全将WSI处理成通用的格式了,但是在处理WSI图片识别问题上,目前,通用的方法是将WSI分成补丁图片(比如256*256像素),然后再利用深度学习、机器学习等方法对其进行处理。 4. 病理癌转移检测这是我做的第一个项目CAMELYON16,该项目的输入为WSIs以及其标注XML类型文件,输出为wsi热力图。主要分别采用了PyTorch, Keras框架进行训练。欢迎大家fork,如果对您有所用处,欢迎点赞哦,欢迎交流! 5. 后记主要分析了whole slide images的预处理~~~ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |