CT圖像重建原理

一、CT到底測了什么?

  1. 硬件動作

  • X 射線源與探測器陣列對置,圍著物體旋轉。

  • 每轉到一個角度 θ(也叫一個視角 / view),源發射扇形/平行的射線束,探測器陣列上有很多“通道/像素/bin”(記作索引 n)。

  • 每個探測器通道在該角度接收一條射線穿過物體后的強度 I_{\theta}[n]

  1. 衰減物理(Beer–Lambert)
    沿射線路徑\ell(\theta,n),物體的線性衰減系數為\mu(x,y)。理想單色下:

這一個標量p_{\theta}[n] 就是一條射線對物體的線積分(也稱射線和 / ray sum)。

結論:一個角度的一個探測器通道 = 一條射線 = 一個測量值 pθ[n]

CT 單色理想模型里,探測器在角度 θ、通道位置 s 測到的對數強度,正是把待求的衰減系數 μ(x,y)在直線 L(θ,s) 上的積分。也就是說:

正弦圖 = Radon 變換的離散采樣。

這里的 RRR(Radon 變換)是線性算子:對任意常數 a,b:

“CT 是線性的”指的就是:測量 ppp 與未知圖像 μ 的關系是線性的線積分關系,因此可用 FBP 這類線性逆重建。

二、把所有測量排成“正弦圖(sinogram)”

  • 固定角度 θ,把該角度下所有通道 n=1…Ns 的 p_{\theta}[n] 放成一行,叫一條投影

  • 旋轉到下一個角度\theta_{k+1}?,得到下一行。

  • 堆疊所有角度 k=1…Nθ,得到一個二維數組:

這個二維數組就是正弦圖
直覺:圖像中的一個點 (x0,y0)在正弦圖里會沿角度畫出一條正弦曲線,因此得名“sinogram”。

小例子:如果你有 600 個視角 × 641 個探測器通道,那正弦圖就是一個 600×641的二維矩陣。

三、從正弦圖回到圖像:Radon 變換與 FBP

  • 數學上,μ(x,y) 經Radon 變換 R 變成 p(θ,s)(連續版,s 是探測器橫向坐標)。

  • 我們手里有的就是它的離散采樣 P[k,n]。

  • 重建就是求“逆 Radon 變換”。最經典的解析法是 FBP(Filtered BackProjection,濾波反投影)

    1. 濾波:對每個角度的投影在探測器方向做 1D 濾波(斜坡濾波 + 窗函數),補償模糊;

    2. 反投影:把每個角度、每個通道的濾波后數值,按幾何關系“抹回去”加到圖像像素上,所有角度累加,得到 \hat\mu(x,y)

Radon 變換把“圖像”映成“所有直線上的積分”;在 CT 里這就是“每條射線的對數測量”。拿到它(正弦圖)后,用 FBP 等逆方法就能把線積分“還原”為衰減系數圖像。

FBP = “按 Radon 反演公式實現”的工程算法:先濾波補償頻譜,再反投影還原圖像。

四、流程一圖流(2D 切片情形)

角度 θ1:  Iθ1[n] →  -ln(Iθ1[n]/I0[n])  → pθ1[n]  →  作為正弦圖第1行
角度 θ2:  Iθ2[n] →  -ln(Iθ2[n]/I0[n])  → pθ2[n]  →  作為正弦圖第2行...
角度 θK:  IθK[n] →  -ln(IθK[n]/I0[n])  → pθK[n]  →  作為正弦圖第K行↓P[k,n](sinogram)↓FBP(每行先濾波,再把所有角度反投影求和)↓μ?(x,y)(重建圖像)

CT 就是:機器在很多角度上,用很多條射線穿過物體,探測器測到每條射線的強度 I;用同通道的空氣強度 I0 歸一化后做 ?ln?(I/I0),得到每條射線對衰減圖的線積分;把所有角度與通道排成正弦圖,再用 FBP/迭代法逆 Radon 變換,重建出 μ(x,y)也就是斷層重建的圖像。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/98077.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/98077.shtml
英文地址,請注明出處:http://en.pswp.cn/web/98077.shtml

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

相關文章

【pycharm】 ubuntu24.04 搭建uv環境

通過uv配置python環境 一直是conda環境 現在有個開源項目說用uv更快更好 所以在pycharm搞起。 一開始在在一個conda項目的里面某個項目里搞 發現會被conda 環境影響。 導致deepseed 安裝不了。 python 環境不對 # NOTE: We must explicitly request them as `dependencies` abo…

從軟件工程角度談企業管理

從軟件工程角度談企業管理企業管理,本質上是人與人之間的博弈。 管理的最大難題,不是定目標、不是寫流程,而是:如何讓個體的利益最大化路徑,與組織的整體目標一致? 這就是經濟學里的“激勵相容”。 在互聯網…

vue3 實現前端生成水印效果

vue3 實現前端生成水印效果首先一點哈,就是單純web前端生成水印只能作為警示使用,如果享徹底防住幾乎是不可能的,有無數種方式去掉web前端生成的水印,所以這種方式只當是一個君子協議吧。編寫水印組件 首先直接把這部分封裝成一個…

Armonia Mall超級數字生態WEB3商城的引領者

Armonia Mall是一個基于Web3技術的超級數字生態商城,旨在打造全球首家Web3數字普惠商城,幫助千萬行銷人實現數字生態創業,讓全球一億家庭共享數字經濟紅利。 Armonia Mall商城創始人:石玉華Armonia Mall七大超級機制(模…

Axios與Java Spring構建RESTful API服務集成指南

1 前后端分離時代的技術選擇 現在的Web開發,前后端分離已經不是什么新鮮事了。前端用什么?很多團隊選擇Axios。后端呢?Java Spring依然是企業級應用的首選。 Axios這個JavaScript庫確實好用,Promise-based的設計讓異步請求變得簡單…

Django ORM多對多關系實戰指南

一、Django 多對多關系的原理 在關系型數據庫中,多對多關系通常需要 第三張中間表 來維護兩張表之間的對應關系。 在 Django 中,你只需要定義 ManyToManyField,Django 會自動幫你創建這張中間表。 特點: 可以雙向查詢(…

STM32 單片機開發 - TIM 定時器(PWM)

一、硬件定時器高級控制定時器 Advanced Control Timers (TIM1/TIM8)通用定時器 General Purpose Timers (TIM2/TIM3/TIM4/TIM5)通用定時器 General Purpose Timers (TIM15/TIM16/TIM17)基本定時器 Basic Timers (TIM6/TIM7)表 1 定時器種類二、TIM 中 PWM 概念PWM 的基本原理就…

OpenCV內置分類器實現簡單的人臉識別

引言 人臉檢測是計算機視覺領域的基礎任務之一,廣泛應用于安防監控、人機交互、圖像美化等場景。今天我們將通過一段簡潔的Python代碼,使用OpenCV庫實現實時攝像頭人臉檢測功能。無論你是計算機視覺新手還是有經驗的開發者,這篇文章都能幫你理…

Tomcat 性能優化與高并發調優

Tomcat 性能優化與高并發調優1. 引言 經過前幾篇文章的學習,我們已經掌握了 Tomcat 的核心原理: Connector 連接器容器體系(Engine → Host → Context → Wrapper)Servlet 執行鏈路線程模型(Executor Worker&#xf…

MacOS M1安裝face_recognition

MacOS M1安裝face_recognition一致失敗,嘗試網上各種方法還是失敗,遂分享自己安裝成功的經歷。 conda虛擬環境python版本:3.9.23準備工作確保 Homebrew 已安裝 Homebrew 是 macOS 的包管理器,用于安裝依賴項。如果尚未安裝&#x…

動態庫和靜態庫的鏈接加載

靜態庫的鏈接與加載靜態庫(如.a或.lib文件)在編譯時直接鏈接到可執行文件中。編譯器會將靜態庫中實際用到的代碼復制到最終的可執行文件,生成獨立的二進制文件。優點是不依賴外部庫文件,但會導致可執行文件體積較大。生成靜態庫的…

如何處理在pytorch環境中已經安裝的matplotlib無法使用的問題

1 問題已經安裝好的matplotlib包無法在pytorch環境中使用。2 方法方法一:用命令安裝matplotlib :方法二:打開cmd,使用conda install matplotlib命令安裝matplotlib庫#輸入以下代碼段,查詢當前執行路徑import osos.sys.…

Linux基礎命令匯總

系統基礎指令 ls:列出目錄內容 ls -a:顯示所有文件(包括隱藏文件) ls -l:顯示詳細文件信息 ls /etc:列出 /etc 目錄內容 示例: cat:查看文件內容 cat /etc/os-release:查看系統版本信息 cat file1:顯示文件內容 cat file1 file2 > merged.txt:合并文件并輸出到新…

一場史詩級的冒險——Docker命令大航海!

各位親愛的開發者、運維勇士、以及所有對現代化軟件部署充滿好奇的小伙伴們!今天,我們將開啟一場史詩級的冒險——Docker命令大航海!我們將乘坐“Docker號”巨輪,駛向容器化技術的星辰大海。 這不是一篇枯燥的說明書,而…

告別依賴混亂:Spring IoC 容器與 DI 依賴注入入門精講

目錄 什么是 IoC IoC 介紹 傳統開發思路 解決方法 IoC 優勢 DI IoC & DI 使用 IoC 詳解 Bean 的存儲 Controller(控制器存儲) 獲取 bean 對象的其他方法 bean 命名 面試題之 ApplicationContext pk BeanFactory Service(服…

視頻理解學習筆記

目錄 VideoRefer VideoPrism 核心解密:通用視頻編碼器的力量 VideoRefer VideoRefer 是由浙江大學和阿里達摩院聯合推出的視頻對象感知與推理技術,增強視頻大型語言模型(Video LLMs)的空間-時間理解能力。簡單一點來說就是可以…

P1198題解

題目鏈接 開題第一件事看數據范圍.這里的范圍是二十萬,支持O(nlogn). 這是一個RMQ問題,同時要加點,我們因此考慮ST表或者線段樹.這里用線段樹是核彈打蚊子,沒有意義,我們因此考慮ST表.我們注意到如果加點操作需要改動ST表原來的東西ST表就會炸掉,我們就要考慮更高級的數據結構…

使用yolov8對視頻進行目標檢測

使用 Ultralytics 的 YOLO 模型對視頻進行逐幀目標檢測非常簡單,以下是完整的實現方法: 我們的輸入視頻是這樣的 視頻目標檢測輸入視頻這里是天津市和平區天津大學附近,感興趣的小伙伴來天津玩哈!! 1. 安裝依賴 確保已…

Edge瀏覽器的自動化點擊系統

Tag_click_openclose_V6 開發與使用注意事項 網頁自動化點擊系統 一個基于Python和CustomTkinter開發的桌面應用程序,通過Selenium實現對Edge瀏覽器的自動化控制。點擊Tag_click_openclose_V6進入Github自取,記得點贊收藏嗷。 功能介紹 連接到已打開…

Python股票數據分析與預測系統 LSTM神經網絡算法 股票價格預測 Tensorflow深度學習 機器學習 Flask框架 東方財富(建議收藏)?

博主介紹:?全網粉絲50W,前互聯網大廠軟件研發、集結碩博英豪成立軟件開發工作室,專注于計算機相關專業項目實戰6年之久,累計開發項目作品上萬套。憑借豐富的經驗與專業實力,已幫助成千上萬的學生順利畢業,…