MINC/工具/emma/emma-rat
本文件演示了如何使用 MATLAB 对从大鼠收集的数据进行双室分析。此方法也可扩展到在 PET 研究中找到 K1 和 k2 的局部值。
所使用的双室模型由以下公式表示
其中 K1 是从血管到组织的流动速率常数,k2 是从组织到血管的流动速率常数,A(t) 是脑部的活性,Ca(t) 是血液中的活性。
我们希望根据给定的 A(t) 和 Ca(t) 曲线求解 K1 和 k2。通常,血液活性 (Ca) 和脑部活性 (A) 曲线通过测量其在大约十个时间点上的值来表示。以下图形显示了一个示例血液活性曲线
以及一个示例脑部活性曲线
由于 MATLAB 能够读取包含数字列的文本文件,因此可以轻松地将这些数据输入到 MATLAB 中。例如,上面的脑部曲线由两列数字表示
3 127 10 231 15 167 30 167 45 98 60 77 90 54 120 35 150 26 180 31
其中第一列是样本的时间(以分钟为单位),第二列是样本的活性。如果将此数据保存在名为ratbrainact.txt的文件中,则可以使用以下命令将其加载到 MATLAB 中
load ratbrainact.txt
这将加载数据,并创建一个名为ratbrainact的 10x2 矩阵(有关读取数据文件的更多详细信息,请参阅MATLAB 用户手册)。然后可以使用以下命令创建前面的图
plot (ratbrainact(:,1), ratbrainact(:,2))
这将绘制第二列相对于第一列的值。
但是,为了执行双室分析,我们需要脑部数据和血液数据。血液数据可以像脑部数据一样加载。假设我们已将血液活性数据存储在一个名为ratbloodact.txt:
load ratbloodact.txt
的文件中,则可以使用以下命令加载数据。
现在数据已加载,分析变得容易。该ratbrain函数将对数据执行分析,并返回许多有用的变量
[K1, k2, conf, ts_even, new_brain, theta, Vd, new_Vd] = ratbrain ... (ratbloodact(:,1), ratbloodact(:,2), ratbrainact(:,1), ratbrainact(:,2));
可以使用以下命令非常简单地检索这些变量的值
>> K1 K1 = 0.0477 >> k2 k2 = 0.0765 >> conf conf = 0.0470 0.0484 0.0753 0.0778
该ratbrain函数还返回几个其他感兴趣的变量。例如,它返回一个基于计算出的 K1 和 k2 值的新脑部活性曲线。可以将其与测量的脑部活性曲线叠加在一起绘制,以便直观地检查曲线拟合的质量。在以下图中,测量的脑部活性曲线以红色(虚线)显示,计算出的脑部活性曲线以黄色显示。
此图由以下 MATLAB 命令序列生成(在运行上述ratbrain命令之后)
plot (ts_even,new_brain); hold on; plot (ratbrainact(:,1), ratbrainact(:,2),'r--');
请注意,计算出的脑部活性曲线在均匀采样的时间尺度 ts_even 中表示。
由于 Vd 和 theta 也由ratbrain函数返回,因此也可以绘制这些曲线。与脑部活性曲线一样,还返回基于计算出的脑部活性的 Vd 曲线。因此,可以绘制 Vd 相对于 theta 的曲线,显示测量的 Vd 相对于 theta 的曲线以及基于计算出的 K1 和 k2 值的 Vd 相对于 theta 的曲线。在以下图中,测量的 Vd 相对于 theta 的曲线以红色(虚线)显示,计算出的 Vd 相对于 theta 的曲线以黄色显示
此图由以下 MATLAB 命令序列生成(在运行上述ratbrain命令之后)
plot (theta,new_Vd); hold on; plot (theta,Vd,'r--');