医学影像 心脏收缩和舒张视频追踪项目

概述

该项目旨在使用计算机视觉技术追踪心脏收缩和舒张过程中的某些关键点的周期性运动轨迹。输入数据是一个以 500 fps 拍摄的心脏收缩和舒张视频分解成的 TIFF 图像序列。输出结果是一个视频文件,展示了心脏上关键点的运动轨迹。
效果展示

技术原理

图像序列提取

首先,我们使用 tifffile 库来读取 image.tif 文件,并逐帧提取图像。每帧图像的形状为 (159, 202),维度为 2,数据类型为 uint8。提取的图像被保存到 image_folder 目录中,文件名格式为 image_0000.tif, image_0001.tif, …, image_1999.tif

关键点检测和追踪

接下来,我们使用 opencv 库来检测和追踪心脏上的关键点。具体步骤如下:

  1. 读取第一帧图像:使用 cv2.imread 读取 image_folder 目录中的第一帧图像,并将其转换为灰度图像。
  2. 检测关键点:使用 cv2.goodFeaturesToTrack 函数在第一帧图像中检测关键点。
  3. 初始化 HSV 图像:创建一个与第一帧图像相同大小的 HSV 图像,用于绘制运动轨迹。
  4. 追踪关键点:遍历 image_folder 目录中的剩余帧图像,使用 cv2.calcOpticalFlowPyrLK 函数计算光流。
  5. 绘制轨迹:对于每个检测到的关键点,使用 cv2.line 函数在 HSV 图像上绘制运动轨迹,并使用 cv2.circle 函数在当前帧图像上绘制关键点的位置。
  6. 写入视频帧:将当前帧图像与 HSV 图像叠加后写入视频文件。
  7. 更新前一帧图像和点:将当前帧图像和关键点位置更新为前一帧图像和关键点位置,以便继续追踪。

视频生成

使用 cv2.VideoWriter 函数生成最终的视频文件 heart_tracking.avi。视频的帧率为 500 fps,与输入图像序列的帧率一致。帧率也可以根据情况自行设定。

使用方法

  1. 安装依赖库

    pip install tifffile opencv-python
    
  2. 运行图像提取脚本

    python extract_images.py
    
  3. 运行关键点追踪脚本

    python track_heart_points.py
    
  4. 查看结果视频

    open heart_tracking.avi
    

文件结构

  • image.tif: 输入的 TIFF 图像序列文件。
  • image_folder/: 存储提取的单帧图像文件的目录。
  • extract_images.py: 提取 TIFF 图像序列中的单帧图像并保存到 image_folder 目录中的脚本。
  • track_heart_points.py: 检测和追踪心脏上关键点的运动轨迹,并生成 heart_tracking.avi 视频文件的脚本。
  • heart_tracking.avi: 输出的视频文件,展示了心脏上关键点的运动轨迹。
  • print_image_info.py: 打印图像信息的脚本。
  • print_all_frames_info.py: 打印所有帧图像信息的脚本。
  • print_first_frame_info.py: 打印第一帧图像信息的脚本。
  • print_all_frames_info_tifffile.py: 使用 tifffile 库打印所有帧图像信息的脚本。

注意事项

  • 确保 opencv-pythontifffile 库已正确安装。

联系方式

如有任何问题、建议或合作,请联系项目维护者:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值