Skip to content

FRET双杂交算法采用python计算流程处理流程,其中使用了多线程加速处理,实现批处理图像数据

License

Notifications You must be signed in to change notification settings

College-of-Biophotonics-SCNU/FRET-two-hybrid-processing-algorithm

Repository files navigation

1. E-FRET 计算公式流程

1.1 超参数介绍

a, b, c, d 表示就是对应的单供体或者供体的不同滤片组通道得到的参数

G因子,k因子表示的显微镜本身较为固定的恒定参数

expose_times表示的是对应的曝光时间长度

1.2 计算流程介绍

  • 我们输入的三个通道的图像,对应FRET三滤波片组得到的图像,分别是 IDA , IDD, IAA,三个都是单通道图像,也就是大于0的值
  • 对于背景模板图像的计算,本质上就是使用三种通道图片背景的交集计算,而背景的阈值判断,使用直方图找到最大的一个灰度值 maxvalue(hist(IDA)) 乘上对应的一个阈值,拓宽对应的背景值
  • 利用公式下面公式得到扣除背景的图,其中这里设计的是荧光图像三者通道的并集,也就是进行逐像素计算的时候,使用三通道有值的区域

IDA,IDD,IAA-maxvalue(hist(IDA,IDD,IAA)) (其中进行了利用阈值分类,保留大于0的值)

  • 得到背景图图像 BG_mould,为1和0的值进行输出
  • 得到只保留荧光像素的区域进行E效率和Rc浓度比计算
  • 其中E的公式

F = IDA - a * (IAA - c * IDD) - d * (IDD - b * IAA)

E = (F / (F + G * IDD + 1e-12)) * BG_mould

Rc = ((k * IAA) / (IDD + F / G + 1e-12)) * BG_mould

  • 计算完成上述公式,进行对应的图像结果输出

1.3 文件分布

  • E-FRET_gpu 基于cellpose网络和gpu加速处理的FRET效率计算程序
  • E-FRET_multiprocess_function 基于cpu多线程的FRET效率计算程序
  • example 对应的示例图像
  • verification_tool 人为书写的图像对照工具,方便验证生成图像的有效性

程序设计

1. 多线程cpu计算过程 —— 别用了,太垃了

  • 采用了阈值分割的方法,细胞区域存在一些像素点导致统计不到,FRET效率计算过程绝对强度没有意义,所以存在有效FRET被过滤掉
  • CPU多线程进行矩阵运算还是太慢了 使用多线程知识点,加速处理流程,其中对于以像素点为单位的多线程,发现点像素计算不如numpy的矩阵运算,后面将多线程改为以图片为单位的多线程计算过程

其中对于代码来说,伪彩图的生成耗费了大量的时间,建议可关闭

2. 基于 GPU 的 pytorch 加速处理 FRET 效率计算

2.1 细胞分割 ——使用cellpose进行加速

对应文件为 segmentation 文件中,需要修改参数为

  • min_box 单细胞最小区域
  • max_box 单细胞最大区域
  • diameter 模型识别的单细胞直径

处理基本流程

  • 采用cellpose深度学习框架进行单细胞区域的分割操作
  • 判断对应的细胞区域是否满足 (min_box * min_box, max_box * max_box)条件,不满足不采用
  • 判断对应的细胞区域是否是靠近图像边缘,靠近不采用

2.2 Ed 单细胞区域内提取 Ed 效率平均分布

对应文件为 compute 文件中,需要修改参数为

  • root 文件识别路径

处理基本流程

  • 利用mask掩码屏蔽对应的单细胞区域
  • 将AA、DA、DD三通道进行FRET效率计算
  • 输出单细胞区域的FRET效率

2.3 Ed 图像特征提取算法

对应文件为 feature_extraction

处理基本流程

  • 中值滤波,除去椒盐噪声,因为存在一些单像素计算的FRET不准确的情况

About

FRET双杂交算法采用python计算流程处理流程,其中使用了多线程加速处理,实现批处理图像数据

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages