首页 > 其他分享 >WSI病理图片的Level和放大倍数的对应关系以及获取代码

WSI病理图片的Level和放大倍数的对应关系以及获取代码

时间:2023-09-16 16:33:28浏览次数:41  
标签:level WSI 病理 slide magnification Level 放大

WSI病理图片的Level信息获取,以及和放大倍数的对应关系的获取代码:

import openslide
import numpy as np
from IPython.display import display

def display_wsi_info_and_level(wsi_path, level):
    # 打开 WSI 文件
    slide = openslide.open_slide(wsi_path)

    # 获取 WSI 的尺寸
    width, height = slide.dimensions
    print("WSI尺寸:{}x{}".format(width, height))

    # 获取 WSI 的 level 数量
    num_levels = slide.level_count
    dimensions = slide.level_dimensions[3]
    print("WSI Level数量:", num_levels)
    print("WSI Level明细:", dimensions)
    
    #获取WSI元数据,读取相关信息
    if 'aperio.AppMag' in slide.properties.keys():
        level_0_magnification = int(slide.properties['aperio.AppMag'])
    elif 'openslide.mpp-x' in slide.properties.keys():
        level_0_magnification = 40 if int(np.floor(float(slide.properties['openslide.mpp-x']) * 10)) == 2 else 20
    else:
        level_0_magnification = 40
        
    #输出level0对应的放大倍数
    print("level_0对应的放大倍数为:",level_0_magnification)
    
    magnification = 5
    # 根据levle0放大倍数和指定需要的放大倍数计算放大倍率,比如level0的放大倍数如果是40倍,那么想要5倍的话,下采样率就是40/5=8
    downsample = level_0_magnification/5

    # 获取与该下采样率对应的放大倍数最接近的 Level级别
    level = slide.get_best_level_for_downsample(downsample)

    # 打印 Level
    print("{}倍放大倍率对应Level_{}:".format(magnification,level))
    

    # 显示出对应 level 的图像数据
    image = slide.read_region((0, 0), 8, slide.level_dimensions[8])

    # 调用电脑相册显示图像
    image.show()
    
    # 直接在notebook上显示图像
    display(image)

# 指定 WSI 文件路径和选择的 level
wsi_path = r'E:\BaiduNetdiskDownload\CAMELYON16\training\tumor_066.tif'
selected_level = 2

# 调用函数进行显示
display_wsi_info_and_level(wsi_path, selected_level)

 

标签:level,WSI,病理,slide,magnification,Level,放大
From: https://www.cnblogs.com/xjkj/p/17706906.html

相关文章

  • shardingdb:支持分片和并发读写的 GoLevelDB
    概述shardingdb是一个开源包,旨在为GoLevelDB增加分片和并发读写功能。它可以作为LevelDB的替代品,方便地集成到现有项目中。本博客将介绍shardingdb及其功能,并介绍如何在您的项目中使用它。特点-分片支持:shardingdb使您能够将数据分布在多个LevelDB实例中,提高性能和......
  • linux DVWA 文件上传之 Security level set to high
    --总体步骤1、生成图片木马2、上传图片木马3、通过文件包含执行图片马一、生成图片木马1、随便准备一张图片——football.png2、test.php写入内容:<?php@eval($_GET['x']);?>3、生成图片木马,命令行执行:catfootball.pngtest.php>>my.png二、把DVWA的安全级别......
  • 逆向通达信Level-2 续四 (调试level2数据接口)
       ......
  • IDEA设置JAVA使用的编译语言Language level为8
       设置这个为8不然每次pom文件修改都会变更为5pom.xml增加<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>8</java.version></properties>  增加插件配置<!--打包配置--&g......
  • 论文解读(DEAL)《DEAL: An Unsupervised Domain Adaptive Framework for Graph-level Cl
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:DEAL:AnUnsupervisedDomainAdaptiveFrameworkforGraph-levelClassification论文作者:NanYin、LiShen、BaopuLi、MengzhuWang、论文来源:2023aRxiv论文地址:download 论文代码:download视屏讲解:click1......
  • StandardXAPoolDataSource的CheckLevelObject属性
    调用StandardPoolDataSource或者StandardXAPoolDataSource的setCheckLevelObject(int)方法设置连接检查级别,参数取值如下:0:不检查1:对unlocked池中获取的连接进行Closed检查2:对unlocked池中获取的连接进行sql测试,需要设置setJdbcTestStmt(TestSQL)......
  • android apilevel和android系统版本对应关系
    apilevel是每个android系统提供给开发者的api版本对应关系:Android6.0=APILevel23Android5.1.1=APILevel22Android5.0.1=APILevel21Android4.4W(L)=APILevel20Android4.4.2=APILevel19Android4.3=APILevel18Android4.2-4.2.2=APILevel17......
  • Keep English Level-04
    firm--坚定的,坚固的;公司share--n股份,份额executive--执行官Thereisnochance,nodensity,nofate,thatcanhinderorcontrolthefirmresolveofadeterminedsoul.--EllaWheelerwilcoxresolve--n决定;决心resolution--决定,决心resolute--a.......
  • GO、KO、EGGNOG、RXN、PFAM和Level4EC
    这些数据库在生物学和分子生物学领域中发挥着关键作用,用于注释和分类基因和蛋白质功能,以及理解生物系统的运作方式。GeneOntology(GO):简介:GO是一种用于描述基因和蛋白质功能的标准化分类体系。它将基因和蛋白质的功能划分为分子功能、细胞组分和生物学过程三个大类,每个类别......
  • 0×03 Vulnhub 靶机渗透总结之 KIOPTRIX: LEVEL 1.2 (#3) SQL注入+sudo提权
    0×03Vulnhub靶机渗透总结之KIOPTRIX:LEVEL1.2(#3)......