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

一、寫在前面

機器學習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.pswp.cn/news/40606.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40606.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40606.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何用Apipost實現sign簽名?

我們平常對外的接口都會用到sign簽名,對不同的用戶提供不同的apikey ,這樣可以提高接口請求的安全性,避免被人抓包后亂請求。 如何用Apipost實現sign簽名? 可以在Apipost中通過預執行腳本調用內置的JS庫去實現預執行腳本是在發送請求之前自…

Wordcloud | 風中有朵雨做的‘詞云‘哦!~

1寫在前面 今天可算把key搞好了,不得不說🏥里手握生殺大權的人,都在自己的能力范圍內盡可能的難為你。😂 我等小大夫也是很無奈,畢竟奔波霸、霸波奔是要去抓唐僧的。 🤐 好吧,今天是詞云&#x…

【C++精華鋪】8.C++模板初階

目錄 1. 泛型編程 2. 函數模板 2.1 函數模板的概念及格式 2.2 函數模板的原理 2.3 模板的實例化 2.4 模板參數的匹配原則 3. 類模板 3.1 類模板格式 3.2 類模板的實例化 1. 泛型編程 什么是泛型編程?泛型編程是避免使用某種具體類型而去使用某種通用類型來進行…

mysql中INSERT INTO ... ON DUPLICATE KEY UPDATE的用法,以及與REPLACE INTO 語句用法的異同

INSERT INTO ... ON DUPLICATE KEY UPDATE 是 MySQL 中一種用于插入數據并處理重復鍵沖突的語法。與之相似的還有 REPLACE INTO 語句。以下是它們的用法和異同點的詳細說明: 一、INSERT INTO ... ON DUPLICATE KEY UPDATE INSERT INTO ... ON DUPLICATE KEY UPDAT…

NET域名的優勢

NET域名是互聯網上最常見的頂級域名之一,其開放使用日期遠比其他主要頂級域名早,始于1985年。其作為商業網絡服務提供者的域名,主要用于企業、組織和個人等在網絡上建立自己的網站。本文將從以下三個方面介紹NET域名。 一、NET域名的歷史 N…

帶你了解—使用內網穿透,公網遠程訪問本地硬盤文件

文章目錄 前言1. 下載cpolar和Everything軟件3. 設定http服務器端口4. 進入cpolar的設置5. 生成公網連到本地內網穿透數據隧道 總結 前言 隨著云概念的流行,不少企業采用云存儲技術來保存辦公文件,同時,很多個人用戶也感受到云存儲帶來的便利…

如何使用Java代碼收集網站所有功能

使用Java代碼收集網站所有功能的步驟可以這么實現: 1. 使用JSoup等工具解析網站首頁HTML,獲取超鏈接、表單等元素。 Document doc JSoup.connect("http://website.com").get(); Elements links doc.select("a[href]"); Elements forms doc.select(&qu…

學習ts(四)聯合類型、交叉類型、類型斷言

聯合類型 使用聯合類型定義屬性和方法,只要符合其中一種即可 let myPhone: string | number 010-7788 // let myPhone1: string | number true 因為沒有包含boolean值 會報錯const fn (something: number | boolean): boolean > {return !!something }con…

【CSS動畫01--登錄】

CSS動畫01--登錄 介紹代碼HTMLCSSJS 介紹 當鼠標不同方向的劃過時展示不同效果的登錄&#xff0c;以上是一個簡單的圖片展示 代碼 HTML <!DOCTYPE html> <html> <head><meta http-equiv"content-type" content"text/html; charsetutf-8&…

生物筆記——暑期學習筆記(四)

生物筆記——暑期學習筆記&#xff08;四&#xff09; 文章目錄 前言一、R篇1. unname()2. duplicated()3. 數據提取4. 分組 二、生信篇1. 文本處理常用命令2. 命令輸出1. 重定向2. 多命令執行 3. 文本工具4. 本地hmm鑒定1. hmmer軟件安裝2. 文件準備3. 基于hmm的鑒定 總結 前言…

【制作npm包5】npm包制作完整教程,我的第一個npm包

制作npm包目錄 本文是系列文章&#xff0c; 作者一個橙子pro&#xff0c;本系列文章大綱如下。轉載或者商業修改必須注明文章出處 一、申請npm賬號、個人包和組織包區別 二、了解 package.json 相關配置 三、 了解 tsconfig.json 相關配置 四、 api-extractor 學習 五、npm包…

MySQL的配置文件my.cnf與my.ini

一、my.cnf與my.ini win系統&#xff0c;MySQL配置文件為my.ini 其他系統&#xff08;Ubuntu、CentOS、macOS)MySQL配置文件為my.cnf 二、my.cnf與my.ini的路徑 2.1 默認路徑 MySQL 的配置文件 my.cnf 可能位于多個位置&#xff0c;具體取決于安裝方式和操作系統。以下是一…

Redis如何處理內存溢出的情況?

當Redis的內存使用達到上限時&#xff0c;會出現內存溢出的情況。Redis提供了幾種處理內存溢出的機制&#xff1a; 內存淘汰策略&#xff1a;Redis提供了多種內存淘汰策略&#xff0c;用于在內存不足時選擇要移除的鍵。常見的淘汰策略包括&#xff1a; LRU&#xff08;Least Re…

2023年國賽數學建模思路 - 案例:最短時間生產計劃安排

文章目錄 0 賽題思路1 模型描述2 實例2.1 問題描述2.2 數學模型2.2.1 模型流程2.2.2 符號約定2.2.3 求解模型 2.3 相關代碼2.4 模型求解結果 建模資料 0 賽題思路 &#xff08;賽題出來以后第一時間在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 最短時…

Kotlin開發筆記:使用委托進行拓展

Kotlin開發筆記&#xff1a;使用委托進行拓展 導言 在OO語言(面向對象)中&#xff0c;我們經常會用到委托或者代理的思想。委托和代理在乍一看很相似&#xff0c;其實其各有各的側重點&#xff0c;這里我引用ChatGpt的回答&#xff1a; 委托&#xff08;Delegation&#xff09…

探索C語言中的常見排序算法

探索C語言中的常見排序算法 排序算法是計算機科學中至關重要的基礎知識之一&#xff0c;它們能夠幫助我們對數據進行有序排列&#xff0c;從而更高效地進行搜索、插入和刪除操作。在本篇博客中&#xff0c;我們將深入探討C語言中的一些常見排序算法&#xff0c;包括它們的工作…

在C中使用Socket實現多線程異步TCP消息發送

目錄 基礎知識開始實現主要函數說明結束語 在本篇文章中&#xff0c;我們會探討如何在C語言中使用socket來實現多線程&#xff0c;異步發送TCP消息的系統。雖然C標準庫并沒有原生支持異步和多線程編程&#xff0c;但是我們可以結合使用POSIX線程&#xff08;pthread&#xff09…

Java解決四大查找(一)

Java解決四大查找 一.線性查找1.1 題目1.2 思路分析1.3 代碼演示 二.二分查找(雙指針法)2.1 題目2.2 思路分析(圖解加文字)2.3 代碼演示 一.線性查找 1.1 題目 在數組{1&#xff0c;8&#xff0c;1024&#xff0c;521&#xff0c;1889}中查找數字8&#xff0c;如果有&#xff…

【知識分享】高防服務器的防御機制

【知識分享】高防服務器的防御機制 易受到攻擊的網站選擇接入高防服務更安全&#xff0c;大家對于這個都清楚!但是對于高防服務如何實現防御來保障安全的&#xff0c;又了解多少呢?今天壹基比小源&#xff08;貳伍壹叁壹叁壹貳玖捌&#xff09;就來說說高防服務實現防御的常規…

地址解析協議-ARP

ARP協議 無論網絡層使用何種協議&#xff0c;在實際網絡的鏈路上傳輸數據幀時&#xff0c;最終必須使用硬件地址 地址解析協議&#xff08;Address Resolution Protocol&#xff0c;ARP&#xff09;&#xff1a;完成IP地址到MAC地址的映射&#xff0c;每個主機都有一個ARP高速緩…