Pytorch项目,肺癌检测项目之四

# 安装图像处理 的两个包 simpleITK 和 ipyvolume 

# 安装缓存相关的两个包  diskcache 和 cassandra-driver

import gzip
from diskcache import FanoutCache, Disk
from cassandra.cqltypes import BytesType

from diskcache import FanoutCache,Disk,core
from diskcache.core import io
from io import BytesIO
from diskcache.core import MODE_BINARY
from util.logconf import logging
log+ logging.getLogger(_name_)
log.setLevel(logging.INFO)

import matplotlib
matplotlib.use('nbagg')
import numpy as np
import matplotlib.pyplot as plt
from codel.dsets import Ct ,LunaDataset
clim = (-1000.0,300)

def findPositiveSamples(start_ndx=0,limit=100):
    ds = LinaDataset()
    positiveSample_list = []
    for sample_tup in ds.candidateInfo_list:
        if sample_tup.isNodule_bool:
            #print(len(positiveSanple_list),sample_tup)
        if len(positiveSample_list)>=linit:
            break
    return positiveSample_list


def showCandidate(series_uid,batch_ndx=None, **kwargs):
    ds = LunaDataset(series_uid=series_uid,**kwargs)
    pos_list = [i for i, x in enumerate(ds.candidateInfo_list) if x.isNodule_bool]
    
    if batch_ndx is None:
        if pos_list:
            batch_ndx = pos_list[0]
        else:
            print("Warning: no positive samples found : using frist negative sample.")
            
            batch_ndx = 0
    cd = Ct(series_uid)
    cd_t,pos_t,series_uid,center_irc = ds[batch_ndx]
    ct_a = ct_t[0].numpy()
    #图像的设置问题,设置图片的大小
    fig = plt.figure(figsize=(30,50))
    #设置切片位置
    group_list = [[9,11,13],[15,16,17],[19,21,23]]
    
    # add_subplot(3,4,,9) 写在三行四列第九个位置
    subplot = fig.add_subplot(len(grooup_list)+2,3,1)
    
    sub.set_title('index {}'.format(int(center_irc[0])),fontsize=30)
    
    for label in (subplot.get_xticklabels()+ subplot.get_yticklabels()):
        label.set_fontsize(20)
    plt.imshow(ct.hu_a[int(center_irc[0])],clim=clim,cmap='gray')

for row index_list in enumerate(group_list):
    for col,index in enumerate(index_list):
        subplot=fig.add_subplot(len(group_list)+2,3,row*3+clo+7)
        subplot.set_title('sicle {}'.format(index),fontsize=30)
        for label in (subplot.get_xticklabels() + subplot.get_vticklabels()):
            label.set_fontsize(20)
            plt.imshow(ct_a[index],clim=clim,cmap='gary')
print(series_uid,batch_ndx,bool(pos_t[0]),pos_list)

总结:

(1)肺部肿瘤检测项目介绍

(2)了解CT数据,定制方案

(3)下载项目中使用的数据集

(4)对数据集进行处理

(5)如何可视化CT数据

问题挑战和思考调研

(1)缓存部分去掉加载数据集需要多长时间

(2)网站grand-challenge网站上还有木有以CT数据作为数据源的项目

(3)了解下除了CT图像数据,还有什么3D图像

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/241619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW在横向辅助驾驶系统开发中的应用

LabVIEW在横向辅助驾驶系统开发中的应用 随着横向辅助驾驶技术的快速发展,越来越多的研究致力于提高该系统的效率和安全性。项目针对先进驾驶辅助系统(ADAS)中的横向辅助驾驶进行深入研究。在这项研究中,LabVIEW作为一个强大的系…

刷题第五十一天 84. 柱状图中最大矩形

好难,看解析: # 双指针 class Solution:def largestRectangleArea(self, heights: List[int]) -> int:size len(heights)# 两个DP数列储存的均是下标indexmin_left_index [0] * sizemin_right_index [0] * sizeresult 0# 记录每个柱子的左侧第一…

【并发设计模式】聊聊两阶段终止模式如何优雅终止线程

在软件设计中,抽象出了23种设计模式,用以解决对象的创建、组合、使用三种场景。在并发编程中,针对线程的操作,也抽象出对应的并发设计模式。 两阶段终止模式- 优雅停止线程避免共享的设计模式- 只读、Copy-on-write、Thread-Spec…

vmware安装中标麒麟高级服务器操作系统软件 V7.0操作系统

vmware安装中标麒麟高级服务器操作系统软件 V7.0操作系统 1、下载中标麒麟高级服务器操作系统软件 V7.0镜像2、安装中标麒麟高级服务器操作系统软件 V7.0操作系统 1、下载中标麒麟高级服务器操作系统软件 V7.0镜像 官方提供使用通道 访问官网 链接: https://www.kylinos.cn/ 下…

C/C++图型化编程

一、创建图形化窗口: 1.包含头文件: graphics.h:包含已经被淘汰的函数easyx.h:只包含最新的函数 2.两个函数就可以创建窗口: 打开:initgraph(int x,int y,int style);关闭:closegraph(); 3.窗口坐标的设置&#…

2023年浙大城市学院新生程序设计竞赛(同步赛)G

登录—专业IT笔试面试备考平台_牛客网 题意 思路 首先想法非常单一,一定是去枚举操作点,然后看它染白和不染的价值差值 也就是说,把一个黑色结点染白之后,对哪些结点的价值会影响 不难想象其实就是操作结点的子树和该点连通的…

在 linux 服务器上安装Redis数据库

先打开我们的Linux服务器 终端执行 安装redis sudo yum install redis然后 他会提示你要占多少磁盘空间 例如 我这里是 1.7 M 没问题就 y 然后回车就可以了 然后 我们这里执行 redis-cli --version这样 就能看到版本了 然后 我们可以根据版本选择启动命令 使用systemctl命…

SpringMVC:整合 SSM 上篇

文章目录 SpringMVC - 03整合 SSM 上篇一、准备工作二、MyBatis 层1. dao 层2. service 层 三、Spring 层四、SpringMVC 层五、执行六、说明 SpringMVC - 03 整合 SSM 上篇 用到的环境: IDEA 2019(JDK 1.8)MySQL 8.0.31Tomcat 8.5.85Maven…

期末加油站-图像处理期末知识点汇总

第三章:图像增强 一、概念 1.图像增强是通过某种技术有选择地突出对某一具体应用有用的信息,削弱或抑制一些无用的信息。 2. 图像增强处理不是无损处理,不能增加原图像的信息。 3. 图像增强按所处理的对象不同可分为: 灰度图像增…

用C的递归函数求n!-----(C每日一编程)

用递归函数求n! 有了上面这个递归公式就能写C代码了。 参考代码: int fac(int n) {if (n 1 || n 0)return 1;else return n * fac(n - 1); } void main() {int n;scanf("%d",&n);int f fac(n);printf("\n%d!%d\n", n, f); …

Druid源码阅读-DruidStatInterceptor实现

上次我们在druid-spring-boot-starter里面看到有一个DruidSpringAopConfiguration的配置类,然后引入了DruidStatInterceptor这样一个切面逻辑。今天我们就来看一下这个类的实现。 DruidStatInterceptor 这个类的包路径下入com.alibaba.druid.support.spring.stat。…

常见激活函数

激活函数是神经网络中的一种非线性变换,它在神经元的输出上引入了非线性性质,使神经网络能够更好地学习和适应复杂的数据模式。以下是一些常见的激活函数: Sigmoid 函数 Sigmoid 函数将输入映射到(0,1)之间…

第4章 | 安徽某高校《统计建模与R软件》期末复习

第4章 参数估计 参数估计是统计建模的关键步骤之一,它涉及根据样本数据推断总体参数的过程。在统计学中,参数通常用于描述总体的特征,如均值、方差等。通过参数估计,我们可以利用样本信息对这些未知参数进行推断,从而…

JoySSL诚招SSL证书代理

不久前,阿里云宣布了一个让人稍感唏嘘的消息——它们的一年期免费SSL证书服务将停步,转而提供三个月期限的证书。这一变化,无疑会使得网站开发的公司在维持用户信任和网站安全上多出心思。然而,免费的午餐并没有彻底消失&#xff…

有关List的线程安全、高效读取:不变模式下的CopyOnWriteArrayList类、数据共享通道:BlockingQueue

有关List的线程安全 队列、链表之类的数据结构也是极常用的,几乎所有的应用程序都会与之相关。在java中, ArrayList和Vector都使用数组作为其内部实现。两者最大的不同在与Vector是线程安全的。 而ArrayList不是。此外LinkedList使用链表的数据结构实现…

Java多线程技术四——定时器

1 定时器的使用 在JDK库中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,Timer类的方法列表如下: Timer类的主要作用就是设置计划任务,封装任务的类却是TimerTask,该类的结构如下图 因为TimerT…

Flink 数据序列化

为 Flink 量身定制的序列化框架 大家都知道现在大数据生态非常火,大多数技术组件都是运行在JVM上的,Flink也是运行在JVM上,基于JVM的数据分析引擎都需要将大量的数据存储在内存中,这就不得不面临JVM的一些问题,比如Ja…

【小白攻略】php 小数转为百分比,保留两位小数的函数

php 小数转为百分比 首先,最简单直观的方法是利用PHP内置的number_format函数。该函数可以对一个数字进行格式化,并可以设置小数点后的精度。通过将小数乘以100,再用number_format函数将结果格式化为百分比形式,即可达到将小数转为…

【线性代数】决定张成空间的最少向量线性无关吗?

答1: 是的,张成空间的最少向量是线性无关的。 在数学中,张成空间(span space)是一个向量空间,它由一组向量通过线性组合(即每个向量乘以一个标量)生成。如果这组向量是线性无关的&…

HackTheBox - Medium - Linux - Format

Format Format 是一种中等难度的 Linux 机器,它突出显示了由解决方案的结构方式引起的安全问题。立足点涉及PHP源代码审查,发现和利用本地文件读/写漏洞,并利用Nginx中的错误配置在Redis Unix套接字上执行命令。横向移动包括浏览 Redis 数据…