應用筆記|數字化儀在醫學SS-OCT中的應用

引言

近些年來,OCT(光學相干斷層掃描,Optical Coherence?Tomography)作為一種非破壞性3D光學成像技術逐漸在醫學眼科設備中流行起來。OCT可提供實時一維深度或二維截面或三維立體的圖像,分辨率可達微米(μm)量級,成像深度為毫米(mm)量級。如果以分辨率和成像深度兩個方面來討論,OCT成像技術填補了共焦顯微鏡和超聲技術之間的空白。由于OCT設備是一個相對比較復雜的光電系統,涉及到光學、光電轉換、機械、數據采集、信號與圖像處理等原理和技術,一般還分為SS-OCT(掃頻源OCT,具有更高成像速度、更深穿透深度)和SD-OCT(光譜域OCT,更傳統且更低成本),因此本文將結合高速數據采集部分,重點探討數字化儀的重采樣技術在SS-OCT中的應用。

數字化儀的重采樣技術

高速數字化儀(Digitizer,以下簡稱“數字化儀”)是一種專注于高速和高精度信號采集與捕獲的儀器設備,其核心功能是通過模數轉換器(ADC)將模擬信號轉換為數字信號,同時具有專業的信號處理算法與高速數據傳輸的能力。數字化儀在信號采集與處理中具有以下特點和優勢:

高速采樣與高精度:數字化儀基于高速ADC技術,能夠實現高采樣率(如10 GS/s)和高分辨率(如12bit),從而精確捕捉復雜的信號。

重采樣技術:數字化儀通過FPGA算法實現重采樣,包括插值和降采樣,以改變信號的采樣率或時間間隔。重采樣技術在數字信號處理中廣泛應用于信號轉換、濾波和優化。

實時處理與靈活性:數字化儀支持實時信號處理,通過FPGA算法在板載硬件上執行重采樣和插值,避免了復雜的后續軟件處理,同時提高了系統的靈活性和效率。

K時鐘重映射:在SS-OCT等應用中,數字化儀通過K時鐘重映射技術,利用固定頻率的高質量時鐘源,校正非線性,確保信號的準確性和穩定性。所謂K時鐘,就是隨掃頻激光器輸出光波長與對應K空間(K-space)變化的同步信號,用于觸發數字化儀對干涉信號進行等光程差間隔采樣,確保光譜數據在K空間上呈現線性分布。而K空間則是源自磁共振成像(MRI)的術語,即存儲原始數據的傅里葉變換空間。

1

圖1. 可查看原始數據和重采樣的軟件界面

2

圖2. 重采樣后對數據進行快速傅里葉變換(FFT)的軟件界面

SS-OCT的K時鐘問題

SS-OCT技術因其高分辨率和高速成像能力,現如今如要應用于醫學領域(眼科,鼻科,血液科等)和工業缺陷檢測等領域,表1總結了SS-OCT信號的典型特征及其應用參數。

表1

表1. SS-OCT技術的信號參數特征

在SS-OCT系統中,傳統的利用K時鐘作為數字化儀外部時鐘的方法存在以下缺點:

時鐘質量要求高:高性能數字化儀中的模數轉換器(ADC)需要極低抖動的高質量時鐘源。K時鐘無法滿足這些要求,導致ADC性能下降。

噪聲和尖峰問題:K時鐘可能出現噪聲或尖峰,有時甚至在掃描的某些部分完全關閉。

占空比影響:ADC內部采樣保持電路的設計通常就是需要使用具有恒定占空比的時鐘,所以不同的占空比可能導致ADC輸出樣本不良,甚至偶爾丟失數據。

接口限制:只有使用并行數據接口,如低壓差分信號(LVDS)的老一代ADC才能實現直接時鐘,但此類ADC僅支持有限的采樣率,限制了可實現的A掃描(Axis Scanning,軸向掃描/一維掃描)速率。

頻率非均勻性:K時鐘是不均勻的,頻率會發生變化。此外,?由于數字化儀的采樣時鐘與掃頻光源的K時鐘不能實現鎖相(PLL同步),導致K空間的零相位點(K=0)與數字化儀的采樣時刻存在隨機偏移,可能引入光譜域插值誤差。?

相比之下,K時鐘重映射或重采樣方法(如圖3的右側所示)通過以下方式解決了上述問題。

4

圖3. 左邊是直接K時鐘法,右邊是推薦的K空間重映射法

實時插值:重采樣過程通常包含插值運算,用于在K時鐘過零點處(K時鐘信號從正電壓跨越到負電壓,或反之由負電壓跨越到正電壓的瞬時時刻)實時估計OCT輸入信號的幅值。該插值與幅值估計由數字化儀的板載FPGA實時完成。

提高分辨率:通過插值,可以增加重采樣點數,從而顯著提高分辨率。

避免數據丟失:FPGA算法確保采樣保持電路的恒定占空比,避免因占空比變化導致的數據丟失。

支持高速采樣:該方法支持現代高速ADC,突破了傳統接口的采樣率限制,實現了更高的A掃描速率。

頻率一致性:通過FPGA實時算法,嚴格對齊K時鐘過零點與數字化儀的采樣時刻,消除掃頻激光器的頻率非均勻性影響。

由此可見,K時鐘重映射或重采樣方法在SS-OCT系統中展現出顯著優勢,解決了傳統方法的多種問題,成為理想的解決方案。

數字化儀重采樣方案的實現

重采樣原理為K-時鐘信號被ADC采樣,然后進行數字信號處理,以找到輸入信號穿越過零點的時間,如下圖4所示。

5

圖4. 重采樣原理圖

在SS-OCT中的具體采集流程如下圖5所示:

6

圖5. ?SS-OCT實際采集流程示意圖

圖6所示的數字化儀是具備重采樣固件的SP?Device?ADQ32,它具有2通道、每通道2.5GS/s采樣率、2.5GHz模擬帶寬的指標特性。將K時鐘和SS-OCT信號都連接到數字化儀上的模擬輸入通道1和通道2上,除了它們二者之外,A掃描和B掃描(二維橫斷面掃描)觸發器通常也由掃頻激光器提供給數字化儀,以實現同步數據采集。

7

圖6. ?具有重采樣算法的ADQ32數字化儀外觀示意圖

表2

表2. 基于K時鐘重采樣技術的選型方案規格表

其中,FWOCT固件包含可編程數字濾波器,用于阻斷直流和降低噪聲,否則會對重映射質量產生負面影響,而且FWOCT還可以幫助預處理數據,以簡化后續的GPU處理。?

通過上述表格對比可知,在SS-OCT應用中,數字化儀重采樣技術方案可完美符合各項指標和極具挑戰性的特殊需求。值得一提的是,上述表格里數字化儀在系統級劃分方面提供了極大的靈活性。用戶可以決定是在軟件中執行所有處理,還是利用板載FPGA來處理。由上文介紹FWOCT的作用可知,使用板載FPGA 的重映射可以簡化GPU的后續處理過程,甚至可以為了節省成本而將GPU排除在外。

采集驗證

在實驗現場,為了驗證現場產生的K時鐘信號波形,事先用另外一套高端臺式示波器來觀察信號的包絡狀況和周期數,如圖7所示。

9

圖7. 采用某高端數字示波器觀測到的K時鐘信號

然后將測試環境改用基于ADQ32數字化儀的方案進行相同信號產生條件下的信號采集,K時鐘的時域信號波形如圖8所示。

10

圖8. 采用基于ADQ32數字化儀采集的原始K時鐘信號

為了驗證重采樣技術,將K時鐘信號接到通道1,OCT信號接到通道2,觸發信號接到TRIG通道上,通過A掃描得到一系列數據,經過FFT算法將多次觸發采集的重采樣時域數據計算得出頻域結果,如圖9所示。

11

圖9. A掃描重采樣之后的時域和頻域波形

某國內醫療設備公司自主研發的OCT醫療設備,需要借助ADQ32的重采樣技術,實現對血液流動的精確監測和分析。圖10/11/12為實際的測試效果圖,采集深度可達13mm。

12(1)

圖10. 某國產OCT設備中實際測試重采樣的時域效果圖

13(1)

圖11. 某國產OCT設備中實際測試重采樣的頻域效果圖

14

圖12. 某國產OCT設備的測試影像效果圖

結論

現代數字化儀是基于高速ADC技術、專門用于實現高速數據采集的儀器設備。而且在特定應用領域,高效的FPGA算法處理可展現出獨特價值。坤馳科技國內獨家代理的ADQ32/ADQ33數字化儀(瑞典產)憑借以下卓越特性,成為K空間重采樣的理想選擇。

15

綜上所述,本文推薦的數字化儀作為靈活的產品系列,可支持各種性能需求,而且 API的可重復利用將簡化數字化儀的集成工作,因此基于成功案例的高性價比數字化儀解決方案非常適合國產SS-OCT設備的研發。

了解更多詳情,請訪問我們的官方網站:www.queentest.cn

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

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

相關文章

Ubuntu 22.04與24.04 LTS版本對比分析及2025年使用建議

Ubuntu 22.04與24.04 LTS版本對比分析及2025年使用建議 在2025年的技術環境下,Ubuntu 22.04和24.04 LTS各有優勢,選擇哪一個取決于具體應用場景和用戶需求。經過對系統內核、桌面環境、軟件生態、生命周期支持等多方面因素的綜合分析,本報告將…

Linux進程的生命周期:狀態定義、轉換與特殊場景

前言 在Linux系統中,進程是資源分配和調度的基本單位,而進程狀態則是理解進程行為的關鍵。從運行中的任務(TASK_RUNNING)到僵尸進程(EXIT_ZOMBIE),每個狀態都反映了進程在內核調度、資源等待或父…

神經網絡簡介

大腦的基本計算單位是神經元(neuron)。人類的神經系統中大約有860億個神經元,它們被大約10^14-10^15個突觸(synapses)連接起來。下面圖表的左邊展示了一個生物學的神經元,右邊展示了一個常用的數學模型。每…

多路由協議融合與網絡服務配置實驗(電視機實驗)

多路由協議融合與網絡服務配置實驗文檔 一、實驗用途和意義 (一)用途 本實驗模擬企業復雜網絡環境,整合 OSPF、RIPv2 動態路由協議,結合 DHCP、FTP、Telnet 服務配置及訪問控制策略,實現多區域網絡互聯、服務部署與…

在指定conda 環境里安裝 jupyter 和 python kernel的方法

在 Conda 的指定環境中安裝 Jupyter 和 Python Kernel 是一個常見操作,以下是詳細步驟,確保在指定環境中正確配置 Jupyter 和 Python Kernel: 1. 準備工作 確保已安裝 Anaconda 或 Miniconda,Conda 環境管理工具可用。確認已創建或計劃使用的 Conda 環境。2. 步驟:安裝 J…

【數據結構與算法】數據結構初階:詳解順序表和鏈表(四)——單鏈表(下)

🔥個人主頁:艾莉絲努力練劍 ?專欄傳送門:《C語言》、《數據結構與算法》、C語言刷題12天IO強訓、LeetCode代碼強化刷題 🍉學習方向:C/C方向 ??人生格言:為天地立心,為生民立命,為…

Java+AI精準廣告革命:實時推送系統實戰指南

? 廣告推送的世紀難題 用戶反感&#xff1a;72%用戶因無關廣告卸載APP 轉化率低&#xff1a;傳統推送轉化率<0.5% 資源浪費&#xff1a;40%廣告預算被無效曝光消耗 &#x1f9e0; 智能廣告系統架構 &#x1f525; 核心模塊實現&#xff08;Java 17&#xff09; 1. 實時…

JVM組成及運行流程 - 面試筆記

JVM整體架構 JVM&#xff08;Java Virtual Machine&#xff09;是Java程序運行的核心環境&#xff0c;主要由以下幾個部分組成&#xff1a;1. 程序計數器&#xff08;Program Counter&#xff09; 特點&#xff1a;線程私有&#xff0c;每個線程都有獨立的程序計數器作用&#…

JavaEE——線程池

目錄前言1. 概念2. 線程池相關參數3. Executors的使用總結前言 線程是為了解決進程太重的問題&#xff0c;操作系統中進程的創建和銷毀需要較多的系統資源&#xff0c;用了輕量級的線程來代替部分線程&#xff0c;但是如果線程創建和銷毀的頻率也開始提升到了一定程度&#xf…

3 c++提高——STL常用容器(一)

目錄 1 string容器 1.1 string基本概念 1.2 string構造函數 1.3 string賦值操作 1.4 string字符串拼接 1.5 string查找和替換 1.6 string字符串比較 1.7 string字符存取 1.8 string插入和刪除 1.9 string子串 2 vector容器 2.1 vector基本概念 2.2 vector構造函數…

手把手教你用【Go】語言調用DeepSeek大模型

1、首先呢&#xff0c;點擊 “DeepSeek”” 這個&#xff0c; 可以充1塊玩玩。 2、然后獲取api-key 3、替換apiKey const (apiURL "https://api.deepseek.com/v1/chat/completions"apiKey "your api key" // 替換為你的實際 API KeymodelName &…

自動化UI測試工具TestComplete的核心功能及應用

對桌面應用穩定性與用戶體驗的挑戰&#xff0c;手動測試效率低、覆蓋有限&#xff0c;而普通自動化工具常難以應對復雜控件識別、腳本靈活性和大規模并行測試的需求。 自動化UI測試工具TestComplete憑借卓越的對象識別能力、靈活的測試創建方式以及高效的跨平臺并行執行功能&a…

【C/C++】邁出編譯第一步——預處理

【C/C】邁出編譯第一步——預處理 在C/C編譯流程中&#xff0c;預處理&#xff08;Preprocessing&#xff09;是第一個也是至關重要的階段。它負責對源代碼進行初步的文本替換與組織&#xff0c;使得編譯器在后續階段能正確地處理規范化的代碼。預處理過程不僅影響編譯效率&…

快捷鍵——VsCode

一鍵折疊所有的代碼塊 先按 ctrl K&#xff0c;再ctrl 0 快速注釋一行 ctrl /

import 和require的區別

概念 import 是es6 規范&#xff0c;主要應用于瀏覽器和主流前端框架當中&#xff0c;export 導出&#xff0c; require 是 commonjs 規范&#xff0c;主要應用于nodejs環境中&#xff0c;module.exports 導出編譯規則 import 靜態導入是編譯時解析&#xff0c;動態導入是執…

8、鴻蒙Harmony Next開發:相對布局 (RelativeContainer)

目錄 概述 基本概念 設置依賴關系 設置參考邊界 設置錨點 設置相對于錨點的對齊位置 子組件位置偏移 多種組件的對齊布局 組件尺寸 多個組件形成鏈 概述 RelativeContainer是一種采用相對布局的容器&#xff0c;支持容器內部的子元素設置相對位置關系&#xff0c;適…

Linux命令的命令歷史

Linux下history命令可以對當前系統中執行過的所有shell命令進行顯示。重復執行命令歷史中的某個命令&#xff0c;使用&#xff1a;!命令編號&#xff1b;環境變量histsize的值保存歷史命令記錄的總行數&#xff1b;可用echo查看一下&#xff1b;需要大寫&#xff1b;環境變量hi…

【C++小白逆襲】內存管理從崩潰到精通的秘籍

目錄【C小白逆襲】內存管理從崩潰到精通的秘籍前言&#xff1a;為什么內存管理讓我掉了N根頭發&#xff1f;內存四區大揭秘&#xff1a;你的變量都住在哪里&#xff1f;&#x1f3e0;內存就像大學宿舍區 &#x1f3d8;?C語言的內存管理&#xff1a;手動搬磚時代 &#x1f9f1;…

【網絡安全】利用 Cookie Sandwich 竊取 HttpOnly Cookie

未經許可,不得轉載。 文章目錄 引言Cookie 三明治原理解析Apache Tomcat 行為Python 框架行為竊取 HttpOnly 的 PHPSESSID Cookie第一步:識別 XSS 漏洞第二步:發現反射型 Cookie 參數第三步:通過 Cookie 降級實現信息泄露第四步:整合攻擊流程修復建議引言 本文將介紹一種…

【工具】什么軟件識別重復數字?

網上的數字統計工具雖多&#xff0c;但處理重復數字時總有點不盡如人意。 要么只能按指定格式輸入&#xff0c;要么重時得手動一點點篩&#xff0c;遇上數據量多的情況&#xff0c;光是找出重復的數字就得另外花不少功夫。? 于是我做了個重復數字統計器&#xff0c;不管是零…