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图像

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理第6章-(计算机的运算方法)【上】

机器数与真值 把符号“数字化”的数称为机器数,而把带“+”、“-”符号的数称为真值。 原码表示法 原码是机器数中最简单的一种表示形式,0表示整数,1表示负数。 约定整数的符号位和数值位之间用“逗号”隔开。 在原码中,0有两种表示形式:“+0”和“-0”是不一样的。 反…

C++内存管理和模板初阶

C/C内存分布 请看代码: int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)mallo…

7.5组合总和②(LC40-M)

算法: 相比于上一题,数组candidates有重复元素,而要求不能有重复的组合,所以相对于39.组合总和 (opens new window)难度提升了不少。 如何去重? 先把candidates排序,让重复的元素都在一起 单层递归时&a…

二叉搜索树 --- C++实现

目录 1.二叉搜索树的概念 2.二叉搜索树的操作 3. 二叉树的实现 4.二叉搜索树的应用 5. 二叉树的性能分析 6. 二叉树进阶练习题 1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左…

LDO频率补偿

频率补偿 为了维持系统稳定的条件,一般的做法是建立一个低频几点,并把第二个极点放在单位增益频率 f0db 附近。在线性稳压器中,这两个极点是输出极点Po和误差放大器极点Pe。在确定了哪一个极点应该是主极点后,补偿的目的就是理解系…

(Mac上)使用Python进行matplotlib 画图时,中文显示不出来

【问题描述】 ①报错确缺失字体: ②使用matplotlib画图,中文字体显示不出来 【问题思考】 在网上搜了好多,关于使用python进行matplotlib画图字体显示不出来的,但是我试用了下,对我来说都没有。有些仅使用于windows系…

Laravel框架使用phpstudy本地安装的composer用Laravel 安装器进行安装搭建

一、首先需要安装Laravel 安装器 composer global require laravel/installer 二、安装器安装好后,可以使用如下命令创建项目 laravel new sys 三、本地运行 php artisan serve 四、 使用Composer快速安装Laravel5.8框架 安装指定版本的最新版本(推荐&a…

2023 年第四季度 Chainlink 产品更新

在回顾 2023 年时,可以明显看到 Chainlink 生态系统所取得的进步是非常显著的。 我们以三个优先事项开始了这一年: 推出了 CCIP(我们的跨链互操作协议),使得跨链交易和活动更加安全。推出数据流(Data Str…

管理 Jenkins 详细指南

目录 系统配置 安全 状态信息 故障 排除 工具和操作 系统配置 系统,配置全局设置和路径,端口更改,下载地址等。 工具,配置工具、其位置和自动安装程序。 插件,添加、删除、禁用或启用可以扩展 Jenkins 功能的插…

<JavaEE> 网络编程 -- 网络编程和 Socket 套接字

目录 一、网络编程的概念 1)什么是网络编程? 2)网络编程中的基本概念 1> 收发端 2> 请求和响应 3> 客户端和服务端 二、Socket套接字 1)什么是“套接字”? 2)Socket套接字的概念 3&…

跨平台应用程序开发软件,携RAD Studio 12新版上线

RAD Studio 是一款专为程序员而准备的跨平台应用程序开发软件,内置Delphi和CBuilder这两种开发工具,另外还提供了新的C功能,扩展了对ExtJS的RAD服务器支持,增强了对vcL的高dpi支持,提高了firemonk (FMX)的质量等等&…

长知识,Session强制账号下线,限制账号登录!

在Web开发中,会话管理是确保用户连续、安全地访问应用程序的关键。PHP中的会话机制(session)为我们提供了这种功能。通过会话,我们可以跟踪用户的状态,存储和检索用户特定的数据。然而,有时候我们需要强制用…

Python学习路线 - Python语言基础入门 - Python异常、模块与包

Python学习路线 - Python语言基础入门 - Python异常、模块与包 了解异常什么是异常bug单词的诞生异常演示 异常的捕获方法为什么要捕获异常捕获常规异常捕获指定异常捕获多个异常捕获异常并输出描述信息捕获所有异常异常 else异常的finally 异常的传递Python模块什么是模块模块…

C++ Qt开发:Charts折线图绘制详解

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QCharts折线图的常用方法及灵活运用。 折线图…

.raw 是一个 Anndata 包中的对象,用于存储原始的单细胞数据。scanpy种如何查看 .raw 对象的内容,

1查看 .raw 对象的内容,可以使用以下方法: .raw 是一个 Anndata 包中的对象,用于存储原始的单细胞数据。 使用 .X 属性查看原始数据矩阵:.raw.X 这将返回一个 Numpy 数组,其中包含原始数据的数值。 使用 .var_names 属…

LZW算法

LZW算法是一种流行且高效的无损数据压缩算法。它的名称来自于它的发明者Lempel、Ziv和Welch。LZW算法通过利用重复出现的字串来实现数据的可靠压缩,同时保证压缩后的数据能够精确还原为原始数据。 LZW算法的基本原理很简单,在压缩过程中,它维…

Python算法例24 落单的数Ⅱ

1. 问题描述 给出3n1个非负整数元素的数组,除其中一个数字之外,其他每个数字均出现三次,找到这个数字。 2. 问题示例 给出[1,1,2,3,3,3,2,2,4&…

2023年都找不到工作,软件测试已经崩了?

最近后台很多粉丝给我留言: 2023年软件测试已经崩盘了吗,为什么都找不到工作了? 确实,今年经济大环境不好,企业也都在降本增效,如果技术能力还在被应届生竞争岗位的阶段,只会越来越难。 找不…

网站怎么才能做好SEO?网站SEO指引!!

在当今互联网的激烈竞争中,SEO(搜索引擎优化)已成为提升网站流量和吸引更多用户的关键手段。为了帮助您更好地掌握SEO网站优化技巧,本文将深入探讨以下几个方面: 一、关键词策略 关键词策略是SEO优化的基石。正确选择…

fba海派和传统海运的区别,亚马逊 FBA货物包装技巧—站斧浏览器

fba海派和传统海运的区别 1、美国FBA海派是什么? 美国FBA海派即将商品通过海洋运输的方式运送到美国亚马逊FBA仓库的服务。这种方式主要适用于大批量或大件商品,因为相比其他物流方式,海派具备成本低和运载量大的优势。 2、传统海运是什么…