Code interpreter生成无聊的APP:病理图像切割和提取

news2024/12/26 0:14:08

一、写在前面

机器学习100步不够分配了,所以开个新专栏,就叫做《Code interpreter生成无聊的APP》,旨在探索GPT-4官方插件Code interpreter的使用心路历程。

主要灵感来源:听户主说,她们在做病理组学图像标注和分割的时候,还得手动对标注区域进行提取和分割,费时费力废眼睛,严重不符合AI时代(躺平摸鱼)的生产方式。因此,我想能不能用Code interpreter帮我弄一个APP,一键搞定?

所以,干脆开一个专栏,记录我干这种无聊事情的前因后果。

二、任务和APP

(1)任务

先说说要干啥,有一张使用超高清扫描出来的病理图片,也就821M。

这种图片,PS也打不开。双击打开,电脑也要卡死。

只能在一个叫做“ImageScope x64”的软件打开和标注。那么,任务就是需要在这图片上圈出病变区域,比如病变区域1以及病变区域2

这个软件就会生成图层一图层二,其中图层一包含2个区域(红色多边形)图层二包含2个区域(黑色多边形)。该软件会保存为下面两个软件:

TIFF就是原始图片,后面这个叫做XML注释文件,保存着我们所做的注释信息。

最终,要做的也简单,把以上四张图切割出来,用于后续建模啥的。

手工操作的后果,苦不堪言吧。

(2)APP

因此,弄了一个丑萌丑萌的APP:

操作也简单粗暴:分别填入TIF文件、XML文件和选择结果输出的文件夹,点击提取。

这个过程耗时取决于你的CPU和内存,比如我的内存只有16g,花了18分钟,结果如下:

 

 

 

哈哈,不要在意命名是反的。

重要的是分割出来了,而且每一个图片也是几百M的大小。

三、制作花絮

全程基于Code interpreter开发,晒出咒语和对线过程:

四、APP安装和运行

(1)安装依赖库

上述脚本使用了以下Python库:

os:Python标准库,无需额外安装。

numpy:用于数值计算和数组操作。

xml.etree.ElementTree:Python标准库,用于XML解析,无需额外安装。

PIL(从 Pillow 包导入):用于图像操作。

skimage.draw:来自 scikit-image 包,用于绘制多边形。

所以,需要安装的依赖库有:

numpy

Pillow

scikit-image

其中,numpy在安装Anaconda环境的时候自动配有的,因此难点在于Pillow和scikit-image,介绍下手动安装:

(a)下载依赖安装包

Pillow的下载地址:Pillow · PyPI

比如我的是,Python3.8,系统是Win10 64位,就选择:

Pillow-10.0.0-cp38-cp38-win_amd64.whl (2.5 MB view hashes)

同样,

scikit-image的下载地址:scikit-image · PyPI

Python3.8,系统是Win10 64位,就选择:

scikit_image-0.21.0-cp38-cp38-win_amd64.whl (22.7 MB view hashes)

上述两个文件记得存在哪里啊,要移动的。

(b)安装

打开Anaconda Powershell Prompt,弹出黑框:

 切换环境,比如我的是tf2.6:

conda activate tf2.6

看到目前的工作路径了没:

C:\Users\Administrator>

把之前下载的

Pillow-10.0.0-cp38-cp38-win_amd64.whl 以及

scikit_image-0.21.0-cp38-cp38-win_amd64.whl

复制到C:\Users\Administrator中。

输入代码安装:

pip install Pillow-10.0.0-cp38-cp38-win_amd64.whl
pip install scikit_image-0.21.0-cp38-cp38-win_amd64.whl

回车,一般都能安装成功。要是翻车了,自行百度哈。

(2)运行脚本

把脚本丢到C:\Users\Administrator中:

 打开Anaconda Powershell Prompt,弹出黑框,切换到tf2.6环境,输入:

Python JET-TIF-EXTRACT-2.py

回车,弹出APP界面。

五、码源

见微信公众号

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

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

相关文章

作品集封面这样设计,提升个人竞争力!

随着毕业季、求职季陆陆续续的到来,许多毕业生和求职者都将踏上找工作的道路。作品集作为敲门砖,对设计师来说非常重要。而一套完整的作品集自然少不了一张精致吸睛的个人作品集封面,作品集封面的质量直接影响了整套作品的效果。那么&#xf…

Spring Clould 注册中心 - Eureka,Nacos

视频地址:微服务(SpringCloudRabbitMQDockerRedis搜索分布式) Eureka 微服务技术栈导学(P1、P2) 微服务涉及的的知识 认识微服务-服务架构演变(P3、P4) 总结: 认识微服务-微服务技…

原生实现koa框架连接mongoose数据库

1.首先新建一个初始化文件 npm init -y2.下载koa框架所依赖的插件 npm i koa koa-bodyparser koa-router mongoose3.新建一个server.js文件作为我们的服务器 const Koa require(koa) const Router require(koa-router) //可以接受post请求 const bodyParser require(koa-b…

【Spring Cloud 八】Spring Cloud Gateway网关

gateway网关 系列博客背景一、什么是Spring Cloud Gateway二、为什么要使用Spring Cloud Gateway三、 Spring Cloud Gateway 三大核心概念4.1 Route(路由)4.2 Predicate(断言)4.3 Filter(过滤) 五、Spring …

rabbitMQ服务自动停止(已解决

1、 在rabbitmq的sbin目录下操作 rabbitmq-plugins enable rabbitmq_management 2、 自己去rabbitmq_server-3.7.5文件夹下创建一个data,再执行这个命令(用自己的目录哈 set RABBITMQ_BASED:\RabbitTools\RabbitMQ\rabbitmq_server-3.7.5\data 然后去配…

PHP手术麻醉系统源码,自动生成麻醉和护理医疗文书

一套手术麻醉系统源码,可二次开发 手术室麻醉临床信息系统(AIMS)是应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期,对病人进行全程跟踪与信息管理,自动集成病人HIS、LIS、RIS、PACS信息&#xff0…

实现chatGPT 聊天样式

效果图 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Chat Example</title&g…

axios使用axiosSource.cancel取消请求后怎么恢复请求,axios取消请求和恢复请求实现

在前端做大文件分片上传&#xff0c;或者其它中断请求时&#xff0c;需要暂停或重新请求&#xff0c;比如这里大文件上传时&#xff0c;可能会需要暂停、继续上传&#xff0c;如下GIF演示&#xff1a; 这里不详细说文件上传的处理和切片细节&#xff0c;后续有时间在出一篇&a…

Viobot ROS主从机配置

本篇介绍如何配置Viobot的ROS主从机&#xff0c;设备已经默认配好了主机的大部分设置&#xff0c;由于涉及到开机自启动&#xff0c;所以主机必须是Viobot。 以虚拟机ubuntu20.04为例。 1.从机配置 虚拟机终端输入命令,输入密码&#xff0c;按下图修改文件&#xff0c;保存…

途乐证券-上证指数有哪些股票组成?

上证指数是我国股市最重要的指数之一&#xff0c;它由上海证券交易所根据必定的计算方法加权均匀得出来的数据&#xff0c;是我国股市中重要的股票指数之一。那么&#xff0c;上证指数有哪些股票组成呢&#xff1f;让我们从多个视点剖析。 首先&#xff0c;从职业散布视点看&am…

数据流中的中位数

解题思路一&#xff1a; import java.util.*;public class Solution {//用栈来存储所有数据Stack<Integer> s new Stack<Integer>();//入栈public void Insert(Integer num) {s.push(num);}//出栈public Double GetMedian() {Double result 0.0;if(s.size() <…

01_langchain

Langchain简介 LLM的诞生推动了自然语言处理领域的变革&#xff0c;让以前无法实现的一些应用成为了可能。然而仅仅利用LLM还无法完成真正强大的应用程序&#xff0c;还需要一些相关的资源和技术知识。 Langchain用于开发这些应用程序&#xff0c;可用于&#xff1a; 基于文…

认识docker+LNMP架构

目录 一、docker 1.安装&#xff0c;启动 2.docker相关命令 3.如何使用&#xff1f; 二、LNMP 1.认识LNMP 2.sql注入漏洞挖掘 3.如何绕过检测进行注入 一、docker 1.安装&#xff0c;启动 2.docker相关命令 docker search nginx 搜索镜像 docker pull docker.io/ngin…

Constanze‘s Machine

一、题目 二、分析 列表找规律&#xff0c;不同长度的u能够带来多少种不同的情况 发现规律&#xff0c;case满足斐波那契数列。 所以可以先预计算斐波那契数列fib。 #include<iostream> #include<cstring> #include<algorithm> #define int long long usi…

设置bootstrap的modal垂直居中

效果&#xff1a; 代码&#xff1a; updateEmpModal 指的是我的模态框id$("#updateEmpModal").modal("show"); // show 方法调用之后立即触发该事件 $(#updateEmpModal).on(shown.bs.modal, function(){let $this $(this);let $modal_dialog $this.fi…

elementui 修改日期选择器el-date-picker样式

1. 案例&#xff1a; 2. css /* 最外层颜色 */ .el-popper.is-pure {background: url("/assets/imgList/memuBG.png") no-repeat;border: none;background-size:100% 100%}/* 日期 1.背景透明 */ .el-date-picker{background: transparent; }/* 日期 2.标题、左右图…

C++碎知识点

二叉树 由 n个节点构成的形态不同的⼆叉树 同余符号 定义设m是大于1的正整数&#xff0c;a,b是整数&#xff0c;如果m|(a-b)&#xff0c;则称a与b关于模m同余,记作abmod(m)&#xff0c;读作a同余于b模m。 符号& 按位与 后赋值 C语言中计算优先级

业务数据“一站式”数据管理平台,从设备实时数据和业务应用数据两个方面要彻底解决“信息孤岛”的问题

1. 产品背景 工业数据大致分为两种数据&#xff1a;设备实时数据和业务应用数据。 设备实时数据的管理是iNeuOS工业互联网操作系统的基础平台重要组成部分&#xff0c;要求数据的实时性、稳定性&#xff0c;通过设备驱动&#xff08;数据交互驱动&#xff09;、服务驱动&…

[oneAPI] 图像分类CIFAR-10

[oneAPI] 图像分类CIFAR-10 图像分类参数与包加载数据模型训练过程结果 oneAPI 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI&#xff1a;https://devcloud.intel.com/oneapi/get_started/aiAnalyticsToolkitSam…

JVM——JVM 垃圾回收

文章目录 写在前面本节常见面试题本文导火索 1 揭开 JVM 内存分配与回收的神秘面纱1.1 对象优先在 eden 区分配1.2 大对象直接进入老年代1.3 长期存活的对象将进入老年代1.4 动态对象年龄判定1.5 主要进行 gc 的区域 2 对象已经死亡&#xff1f;2.1 引用计数法2.2 可达性分析算…