Digital-Holographic-Microscopy

數位全息顯微術(Digital Holographic Microscopy, DHM):離軸全息記錄、角譜法數值重建演算法與定量相位成像技術。

從干涉條紋到定量相位

數位全息顯微術(DHM)是一種將全息攝影原理與顯微光學相結合的無標記定量相位成像技術。與傳統顯微術僅記錄光強度不同,DHM 同時記錄了光波的振幅與相位資訊。其核心思想是利用分束鏡將相干光源分為兩路:物光(經過樣本)與參考光(未經過樣本),兩者在影像感測器表面干涉,形成數位全息圖。這張干涉圖案同時包含了樣本的吸收與相位延遲資訊。

DHM 的關鍵優勢在於其定量相位成像能力。當光穿透透明生物樣本(如細胞)時,折射率的空間變化導致波前發生相位延遲——這一相位延遲與樣本的乾質量(乾物質面密度)成正比。通過數值重建提取相位圖,研究人員可以精確計算細胞的體積、折射率與乾質量,無需任何螢光標記或染色。這使得 DHM 成為活細胞動態觀測與藥物篩選的理想工具。

LATERAL RES. < 0.5 μm 高 NA 物鏡下 DHM 的橫向解析度
FIELD OF VIEW < 4.4 mm 低倍物鏡下的最大成像視野
FRAME RATE > 60 fps 高速相機支援的即時全息採集幀率
RECONSTRUCT < 100 ms GPU 加速下單幅全息圖重建時間

離軸全息記錄與數值重建

DHM 中最常用的記錄方式是離軸(Off-axis)配置:參考光相對於物光引入一個小角度 θ,使全息圖中的零級項、共軛像與實像在頻域中分離。全息圖的強度分佈為 I(x,y) = |E_obj|² + |E_ref|² + E_obj·E_ref*·exp(ikx sinθ) + E_obj*·E_ref·exp(−ikx sinθ)。透過傅立葉濾波可以提取交叉項(第三項),獲得物光的複數波場。

數值重建是 DHM 的核心計算步驟。最常用的重建方法是角譜法(Angular Spectrum Method),其基本原理是將全息平面的複數場分解為平面波分量,每個分量以不同的傳播角度傳播到再現平面。重建過程為:U_out(x,y) = F⁻¹{ F{U_in(x,y)} · H(f_x,f_y) },其中傳播函數 H(f_x,f_y) = exp[ i·(2πz/λ)·√(1 − (λf_x)² − (λf_y)²) ]。角譜法的優勢在於它在近場與遠場均適用,且在一次傅立葉變換中完成重建。

DHM Optical Setup
Fig 1. 離軸數位全息顯微鏡光路示意:分束鏡、物鏡與 CMOS 相機 Source: Unsplash

相位解包裹與定量分析

數值重建後得到的相位圖被包裹在 (−π, π] 區間內(即相位模 2π),當樣本厚度或折射率變化超過一個波長時,相位圖中出現不連續的跳變條紋。相位解包裹(Phase Unwrapping)的目標是恢復真實的連續相位分佈。最經典的演算法是 Itoh 條件:沿行與列積分包裹相位的差值,並在差值超過 ±π 時進行 2π 補償。

實際應用中,由於雜訊與陰影的存在,簡單的路徑積分法容易產生誤差傳播。因此常用的解包裹演算法包括最小範數法(最小化重建梯度與包裹梯度差異)與品質導引法(基於二階差分或調製度識別可靠區域,優先處理高品質像素)。解包裹後的相位圖 φ(x,y) 與樣本乾質量密度 ρ(x,y) 滿足線性關係:φ(x,y) = (2π/λ) · (n_c − n_m) · h(x,y),透過該式可以定量計算活細胞的厚度 h 與體積。

Phase Image of Cells
Fig 2. DHM 拍攝的活細胞定量相位圖(數值重建與解包裹後) Source: Unsplash

角譜法重建演算法實現

以下 Python 程式碼實現了 DHM 的角譜法數值重建演算法,包括傅立葉濾波提取物光場、角譜傳播重建與相位解包裹。

DHM_Reconstructor.py PYTHON 3.10 / OPTICS
import numpy as np

class DHMReconstructor:
    def __init__(self, wavelength, pixel_size, NA):
        self.lam = wavelength
        self.dp = pixel_size
        self.NA = NA

    def angular_spectrum_propagate(self, field, z):
        """Propagate complex field by distance z using angular spectrum method."""
        Ny, Nx = field.shape
        fx = np.fft.fftfreq(Nx, self.dp)
        fy = np.fft.fftfreq(Ny, self.dp)
        FX, FY = np.meshgrid(fx, fy)
        H = np.exp(1j * 2 * np.pi * z / self.lam *
                   np.sqrt(1 - (self.lam * FX)**2 - (self.lam * FY)**2))
        H[np.isnan(H)] = 0
        return np.fft.ifft2(np.fft.fft2(field) * H)

    def extract_object_field(self, hologram, filter_radius):
        """Extract object wave via Fourier filtering for off-axis holograms."""
        F = np.fft.fftshift(np.fft.fft2(hologram))
        Ny, Nx = hologram.shape
        cy, cx = Ny // 2, Nx // 2
        Y, X = np.ogrid[:Ny, :Nx]
        mask = (X - cx - filter_radius)**2 + (Y - cy)**2 < filter_radius**2
        return np.fft.ifft2(np.fft.fftshift(F * mask))

    def unwrap_phase(self, wrapped_phase):
        """Simple 2D phase unwrapping via row-column integration."""
        unwrapped = np.copy(wrapped_phase)
        for i in range(unwrapped.shape[0]):
            unwrapped[i] = np.unwrap(unwrapped[i])
        for j in range(unwrapped.shape[1]):
            unwrapped[:, j] = np.unwrap(unwrapped[:, j])
        return unwrapped

dhm = DHMReconstructor(wavelength=532e-9, pixel_size=5.86e-6, NA=0.4)
hologram = np.random.rand(1024, 1024)
obj_field = dhm.extract_object_field(hologram, filter_radius=80)
reconst = dhm.angular_spectrum_propagate(obj_field, z=10e-6)
phase = dhm.unwrap_phase(np.angle(reconst))
print(f"Phase range: [{phase.min():.2f}, {phase.max():.2f}] rad")

結語:無標記活細胞成像的未來

數位全息顯微術代表了光學顯微技術從「看得到」到「量得準」的重大躍進。其無標記、定量、即時的特性使其在生物醫學領域具有獨特的價值:從即時監測幹細胞分化過程中的形態變化,到量化腫瘤細胞對藥物的響應,從追蹤細胞內粒子運輸到測量紅血球的膜波動力學。隨著 CMOS 感測器解析度的提升與 GPU 即時重建演算法的成熟,DHM 正在從實驗室原型走向臨床診斷與工業檢測的廣闊應用市場。

免責聲明 (Disclaimer):
本文內容僅供技術探討與學術教育參考。成像參數(解析度、視場等)以學術文獻與公開產品規格為參考,實際系統表現因光學配置、感測器與演算法而異。