MATLAB | 绘制细胞迁移轨迹图

文摘   科学   2024-11-15 15:39   上海  

科 / 研 / 图 / 像 / 处 / 理



细胞迁移能力代表 细胞在体内或体外移动的能力。这种能力是细胞在多种生物学过程中必不可少的,如胚胎发育、组织修复和免疫反应等。


细胞迁移能力的高低可以影响许多生理和病理过程,如 癌症转移、伤口愈合和免疫反应等。



了解这些因素如何影响细胞迁移能力,可以有助于理解多种生理和病理过程,并为治疗和预防相关疾病提供新的思路。


这篇文章会 介绍怎样绘制如下图所示的细胞迁移轨迹图




1、实例代码,MATLAB 版本 R2021b:

%% load and pre-process dataclear; close all;
rawData = readtable("Position.xlsx",'VariableNamingRule','preserve');cellNum = (size(rawData,2) - 1) / 3;cellPos = cell(1,cellNum);
for ii = 1:cellNum tmpCellPos = table2array(rawData(:,ii*3:ii*3+1)); tmpCellPos(any(isnan(tmpCellPos),2),:) = []; % in case there is missing data tmpCellPos = tmpCellPos - tmpCellPos(1,:); % set start point as zero cellPos{ii} = tmpCellPos; end
%% Plot migrationfigureID = 1;figure(figureID);
set(gca, 'XAxisLocation', 'origin', 'YAxisLocation', 'origin')set(gcf,'position',[500,200,512,512]);
xlim([-100 100]);ylim([-100 100]);set(gca,'XTick',[]);set(gca,'yTick',[]);
for ii = 1:length(cellPos) tmpCellPos = cellPos{ii}; % plot traces for jj = 1:size(tmpCellPos,1)-1 tmpX = tmpCellPos(jj:jj+1,1); tmpY = tmpCellPos(jj:jj+1,2);
figure(figureID); hold on; plot(tmpX,tmpY,'k-'); end % plot end points figure(figureID); hold on; plot(tmpX(2),tmpY(2),'k.','MarkerSize',20);end


最终效果:

动画效果:


▲细胞迁移轨迹动画



2、关键代码分析
(1)读入数据,数据清洗
原始数据是一个 Excel 表格,记录了每个细胞的 XY 坐标:




根据规律可以通过表格的列数推算出细胞数:

cellNum = (size(rawData,2) - 1) / 3;


原始数据是 table 类型,需要先转成 array,double 类型,方便后续计算。

如果有些时间点的数据丢失,可以检测 NAN,并把这一数据删除。
tmpCellPos = table2array(rawData(:,ii*3:ii*3+1));tmpCellPos(any(isnan(tmpCellPos),2),:) = []; % in case there is missing data

(2)将坐标轴移动到图像中央
set(gca, 'XAxisLocation', 'origin', 'YAxisLocation', 'origin')


MATLAB 默认的坐标轴的起点是左下角,如果想要其他位置,可以修改XAxisLocation 和 YAxisLocation:




记得把 <科研图像处理> 设置为星标哦,避免错过精彩内容:





感谢关注和支持,我们下期见~ 

作者 | Treasure琛
排版 | 小乐喵喵   


往期回顾

◆ Western Blot 条带分析

◆ 荧光强度测量

◆ 比例尺的校准和添加

◆ 细胞分割神器Cellpose(自动计数篇)

◆ 基于ChatGPT快速编程

◆ ImageJ基础篇 | 成像注意事项

◆ 基于阈值分割的自动细胞计数

◆ OpenAI API的使用方法-附Python代码

◆ 利用Segment Anything进行细胞分割

◆ Python读取显微镜图像格式

◆ Python实现3D Slice Viewer

利用Track-Anything进行细胞追踪




科研图像处理
科研图像处理一站式解决方案,原知乎《ImageJ实用教程》
 最新文章