医学图像跨模态转换:配准方法生成对图 + 扩散模型 + 成对配对方法

news2024/9/28 21:23:49

医学图像跨模态转换:配准方法生成对图 + 扩散模型 + 成对配对方法

    • MRI 到 CT 的高精度转换
      • X 光、核磁共振 MRI、CT 区别
      • 最关键的配准方法
        • 读后启发:Fundus 转 OCT (只是猜想,不一定)
      • 数据
      • 图像预处理
      • 5 个图像转换算法
      • 评估图像质量

 


MRI 到 CT 的高精度转换

X 光、核磁共振 MRI、CT 区别

  • X光:能看到大致的内部结构,特别适用于二维硬组织成像
  • CT扫描:能看到切片级别的内部结构,特别适用于三维硬组织成像
  • MRI:通过检测体内水分和软组织的微小变化,特别适用于三维软组织成像。

X光

  1. 骨科
    • 骨折
    • 骨质疏松
  2. 胸部疾病
    • 肺炎
    • 肿瘤
    • 肺结核
  3. 牙科
    • 牙齿检查
    • 颚骨问题

 
CT扫描

  1. 紧急情况
    • 脑出血
    • 内脏器官损伤
  2. 癌症检查
    • 多种癌症(如肺癌、肝癌)
  3. 骨折和外伤
    • 复杂骨折
    • 内部伤害
  4. 血管疾病
    • 动脉瘤
    • 血管堵塞
  5. 医疗程序辅助
    • 生物镜检查
    • 放射治疗规划

 
MRI

  1. 软组织和神经系统
    • 脑部
    • 脊髓
    • 神经系统
    • 肌肉
  2. 脑和脊髓疾病
    • 脑肿瘤
    • 脊髓损伤
    • 多发性硬化症
  3. 关节和韧带
    • 关节损伤(如膝、肩)
  4. 心脏病
    • 心脏结构和功能评估
  5. 癌症检查
    • 前列腺癌
    • 乳腺癌
       

最关键的配准方法

  • 论文:https://arxiv.org/ftp/arxiv/papers/2308/2308.09345.pdf
  • 模型:https://zenodo.org/records/8221159
  • 代码:https://doi.org/10.5281/zenodo.8198697

MR图像转换成CT图像。

  • MRI图像在精确地描绘脊柱后部结构,而CT图像在这方面更为精确和清晰。

作者用了:

  • 点配准技术-精准对齐:将两个图像对齐,使TA们的相应特征或区域相匹配。

    如果在MRI图像中发现了某种异常,也需要在CT图像中精确地定位同一异常。

  • 图像到图像转换方法:2D配对方法(Pix2Pix, DDIM图像模式, DDIM噪声模式)和非配对方法(CUT, SynDiff),发现配对的图像转换方法(有直接对应关系),在将 MRI 转换为 CT 时更为有效。

发现:

  • 去噪扩散模型在图像转换任务中优于传统GAN

  • 精确的图像对齐是成功图像转换的关键

关键方法:刚性地标配准方法

  • 选择地标:在每个待配准图像中选择显著的解剖标记作为地标。
  • 地标匹配:使用算法找到不同图像中相对应的地标。
  • 图像变换:通过旋转和平移操作,调整图像以使地标对齐。
  • 功能:把一个模态转成另一个模态

类似的算法和技术包括:

  1. 互相关配准
  • 通过最大化图像间的互相关来对齐图像。
  • 适用于具有高对比度和清晰边缘的图像,如胸部X光图像。
  1. 最小二乘配准
  • 通过最小化点对间距离的平方和来找到最佳配准。
  • 适用于需要高精度配准的情况,尤其是当配准点可靠且易于自动检测时。
  1. 迭代最近点算法
  • 用于迭代地寻找最佳配准,通常用于点云数据。
  • 适用于3D模型和图像的配准,如术前规划和患者特定模型的创建。
  1. 特征匹配和变换模型估计
  • 使用特征点检测、描述和匹配算法,如SIFT(尺度不变特征变换)、SURF(加速稳健特征)、ORB(Oriented FAST and Rotated BRIEF)等,配合RANSAC(随机抽样一致性)或其他模型估计方法来实现精确配准。
  • 适用于具有丰富特征点的图像,如在手术导航和多模态成像分析中。
  1. 仿射配准
  • 允许图像进行旋转、平移、缩放和倾斜变换。
  • 适用于需要调整图像尺度和方向的情况,尤其是在不同时间点获取的图像之间。
  1. 非刚性配准
  • 允许图像在局部进行弯曲或变形以更好地对齐,适用于软组织的成像对齐。
  • 适用于软组织图像,如腹部或胸部CT,MRI中器官间的相对位置可能会变化。
     

读后启发:Fundus 转 OCT (只是猜想,不一定)

将fundus图像转换为OCT图像,应该采用非刚性配准方法。

  • 非刚性配准:适用于眼底和OCT图像的配准,因为它可以适应这两种类型图像在形态上的差异。

    例如,fundus图像是眼底的二维投影图像,而OCT提供的是眼部结构的三维断层扫描。

    非刚性配准能够处理由于这种不同视角和成像技术导致的变形。

  • 弹性配准:由于眼底图像和OCT图像的空间关系复杂,可能需要在局部进行细微的调整来精确配准。

    例如,对于视网膜中的特定层面或特征,如视网膜血管和视盘的位置,在两种图像类型之间可能需要精确的局部对齐。

特殊情况的考虑

  • 视网膜层次的对应:OCT图像能够显示视网膜的多个层次,而这些在fundus图像中不是直接可见的。

    因此,配准算法需要能够识别这两种图像间的对应关系。

  • 疾病影响:如果患者有视网膜疾病,可能会导致图像间的形态差异增加,这时候非刚性配准方法能够提供更好的对齐效果。

可能还要结合特征匹配和变换模型估计方法,如使用特定的视网膜特征点来辅助非刚性配准,以提高配准的精度和可靠性。

 

MRI 到 CT 的高精度转换流程图:

  1. 原始数据(Raw Data)

    • 包含CT图像和T2w Dixon MRI图像。
    • 图中标出了椎体(蓝色)和棘突(红色)的中心点。
  2. CT刚性配准(CT rigid registration)

    • 利用CT图像和MRI图像的中心点数据,进行了刚性配准,以对齐这两种类型的图像。
    • 这意味着MRI图像中椎体和棘突的中心点与CT图像中相对应的点对齐。
  3. 训练数据(Training Data)

    • 经过配准的CT和MRI图像成为训练数据,用于后续的图像到图像转换模型训练。
    • 图中的绿色和白色框显示了自动生成的椎体和棘突的质心。
  4. 预测(Prediction)

    • 使用训练好的模型对MRI图像进行处理,以产生合成的CT图像。
    • 然后在这些合成的CT图像上进行分割操作。
  5. 分割(Segmentation)

    • 对合成的CT图像进行分割以识别和标注脊柱的不同部分。
    • 分割的结果与原始MRI图像完美对齐。
  6. 图像到图像模型(Image2Image Model)和CT分割模型(CT Segmentation Model)

    • 图像到图像模型用于将MRI图像转换为CT样式的图像。
    • CT分割模型则用于在合成的CT图像上进行椎骨的分割。

 


数据

  1. 数据来源

    • MRI数据来自12种不同的扫描仪,由3个不同的供应商提供。
    • 使用MRSpineSeg Challenge (MRSSegClg) 数据集进行外部测试。
  2. 数据准备

    • 对于2D训练,只考虑包含脊柱的2D切片。
    • 为了展示在本文中的图像,使用了德国国家队列(German National Cohort, GNC)数据集中的全身MRI。
  3. 数据集的分割

    • T1wT2w Dixon/CT数据分为两个组,用于包括和排除在配准流程中。
    • T1 加权图像对解剖细节有很好的分辨率,常用于评估脑和脊髓结构。
    • T2 加权图像对于显示液体和软组织,如肿瘤、炎症和感染等病理条件特别敏感。
    • 每个组中数据的描述包括了病人数量、性别分布和平均年龄。
  4. 配准方法

    • 使用了“Point-Rigid-Registration”(点刚性配准)方法,其中T1w组使用了从完整分割中提取的亚区域中心点,而T2w组使用了手动生成的椎体中心点和棘突中心点(可选)。
  5. 数据排除标准

    • 如果MR数据中后部脊椎结构不匹配,或者椎体不能由于运动而对齐,则排除该数据。
  6. 深度学习数据

    • 描述了不同数据集如何被用于深度学习的训练、验证和测试。
    • 例如,T1w组有790对2D图像用于训练,经过增强后变为7894对,用于验证的有176对图像,测试集有151对图像。
  7. 外部测试

    • 通过MRSpineSeg Challenge和德国国家队列(GNC)数据集进行,以展示算法的泛化能力。

整体来看,这张图为读者提供了一个数据处理流程的概览,从数据收集到最终的模型测试阶段,包括了各个阶段的详细信息和数据处理的决策点。

 


图像预处理

作者对CT和MR图像集进行了预处理,以促进成对的图像转换。

  1. 问题:CT和MRI图像的配准

    • 解法:刚性配准(Rigid registration)
    • 原因:使用标记点(landmarks)来促进成对图像的转换。
  2. 问题:脊柱图像的旋转错位

    • 解法:两地标配准方法(Two-landmark approach)
    • 原因:观察到经常发生绕头尾轴的旋转错位,因此除了椎体的质心,还加入了脊柱突出部分的质心。
  3. 问题:T1w和T2w图像间的自动配准和分割

    • 解法:图像合成和分割提取
    • 原因:通过调整T2w到CT的转换来合成T1w图像,并从中提取质心点。
  4. 问题:T1w图像中配准失败的情况

    • 解法:模型重新翻译
    • 原因:先排除失败案例,再使用其他T1w图像训练的模型进行转换,证明足以生成所有质心点。

 
举个例子,作者把 MRI 转 CT 的具体步骤:

  1. 配准问题:

    • 使用了刚性配准来对齐MRI和CT图像,因为它们来自于相同的患者但是成像位置可能有所偏差。
    • 解决方法: 对这些图像使用了刚性配准技术,通过选择椎体的质心(CM)作为地标点来实现。
    • 原因: 椎体的质心作为一个稳定的内部地标,有助于提供一个共同的参考点,以准确对齐两种模态的图像。
  2. 旋转错位问题:

    • 有时候单个地标不足以纠正绕头尾轴的旋转错位。
    • 解决方法: 引入了第二个地标点,即脊柱突出部分的质心。
    • 原因: 第二个地标有助于纠正因患者在成像过程中的不同位置而引起的旋转。
  3. 图像强度标准化问题:

    • MRI和CT图像具有不同的强度范围和对比特性。
    • 解决方法: 对CT图像的强度值除以1000 HU(Hounsfield单位),并将超出范围的值截断。对MRI数据进行线性重缩放到[-1, 1]的范围。
    • 原因: 这样可以确保在图像之间具有一致的强度测量,为图像翻译提供了一个共同的基础。
  4. 数据增强问题:

    • 需要模型能够处理现实世界中的变异,如不同的扫描条件下的图像。
    • 解决方法: 为MRI图像应用随机颜色抖动(亮度、对比度的随机化)。
    • 原因: 这样的增强手段可以模仿现实世界中的成像条件,增加数据的多样性,提高模型的泛化能力。

 
总结,作者遇到的问题和解法:

特征1:多模态图像配准需要:

  • 说明:多模态图像配准是指需要将不同成像技术获取的图像对齐,如将MRI图像与CT图像对齐。由于每种成像技术显示不同的身体组织信息,正确的对齐对于后续分析至关重要。
  • 问题:假设MRI显示了某个患者脊柱的软组织结构,而CT图像显示了相同脊柱区域的骨骼结构。为了在两种图像中准确识别对应的解剖位置,需要将它们对齐。

特征2:绕头尾轴的旋转错位:

  • 说明:这是指在成像过程中,尤其是在脊柱成像中,患者的位置可能会稍微旋转,导致图像之间存在绕长轴的旋转差异。
  • 问题:如果在进行MRI和CT扫描时,患者的脊柱在两次扫描中的位置不完全一致,就可能出现一个图像相对于另一个图像旋转了一定角度。

特征3:不同成像技术的强度标准化:

  • 说明:MRI和CT图像的像素强度值表示的是不同的物理量。标准化这些强度值使得它们在数值上具有可比性,是后续处理的重要步骤。
  • 问题:在CT图像中,骨骼可能显示为高像素值(亮),而在MRI中,根据不同的加权,同样的骨骼可能显示为不同的亮度。通过强度标准化,这些不同的亮度可以被转换成统一的范围,以便于比较和分析。

特征4:数据增强和空间分辨率的统一:

  • 说明:数据增强通过引入随机变化来增加图像数据的多样性,提高模型的泛化能力。空间分辨率的统一则确保所有图像都有相同的尺寸和比例。
  • 问题:通过对图像应用随机亮度和对比度调整,可以模仿不同的扫描条件。将所有图像调整到相同的像素尺寸和切片厚度,可以使得它们在空间上具有一致性,便于算法处理。

将这些特征组合起来,目的是为了创建一个标准化和一致的数据集,用于训练能够准确识别和分割脊柱结构的深度学习模型。

  • 关键步骤:强度标准化和空间分辨率调整

    • 定义:将CT图像的值范围变换到[-1, 1],并对MRI数据应用线性重缩放,同样转换到[-1, 1]范围内。这是为了处理不同成像技术产生的不同强度值,保证训练过程中数据的一致性。
  • 关键步骤:数据增强

    • 定义:为MRI图像应用随机颜色抖动,以模拟真实世界成像中的亮度和对比度变化,增强模型的鲁棒性。
  • 关键步骤:仿真弱脊柱侧弯和未对齐采集

    • 定义:通过引入3D图像变形来增强训练数据,模拟弱脊柱侧弯和未对齐采集的情况,提高模型对于实际临床情况的适应能力。

 


5 个图像转换算法

作者测了 5 个 图像转换算法:

  • 两种非配对方法(CUT和SynDiff)
  • 三种配对方法(Pix2Pix,DDIM噪声,和DDIM图像)

使用了单地标和双地标方法,处理的配准和未配准数据来训练模型。

关键方法

  • 方法:SA-UNet的使用
    • 定义:采用带有自注意力机制和时间步嵌入的UNet架构,以适应DDIM方法的需要。

非配对方法和配对方法的选择取决于数据是否已经配准,而SA-UNet架构和超参数搜索则是为了提高翻译后图像的质量和模型的性能。

 


评估图像质量

评估图像质量的方法是,通过比较实际的CT图像和合成的CT图像。

  1. 问题:如何评估合成CT图像的质量

    • 解法:使用峰值信噪比(PSNR)
    • 原因:需要一个量化指标来评估图像的质量,特别是合成图像与实际图像之间的相似度。
  2. 问题:如何在视觉上判断图像质量

    • 解法:PSNR值大于30分贝(dB)
    • 原因:大于30 dB的PSNR值通常表明图像间的差异对人眼来说是不可察觉的。
  • 关键步骤:评估过程中的像素掩码

    • 定义:为了专注于脊柱结构而忽略软组织的差异,在评估图像质量时,将距离分割的脊柱结构超过10个像素的像素掩码为零。
  • 方法:评估指标的应用

    • 定义:除了PSNR外,还计算了绝对差异(L1)、均方误差(MSE)、结构相似性指数(SSIM)和视觉信息保真度(VIFp)等其他指标,为了全面评估图像质量。

表格的上半部分是针对从 T1 加权MRI(T1w)到CT图像的转换。

下半部分是从 T2 加权 MRI(T2w)到CT图像的转换。

最后两行提供了 3D 图像到图像转换的数据。

性能指标包括:

  • L1 Loss:绝对差异的平均值,越低表示预测图像与目标图像的差异越小。
  • MSE (均方误差):预测值与实际值差异的平方的平均值,也是越低越好。
  • PSNR (峰值信噪比):用分贝(dB)表示,反映图像质量,较高的值通常表示较高的图像质量。
  • SSIM (结构相似性指数):衡量图像的视觉效果相似度,1为完全相同,越高越好。
  • VIFp (Visual Information Fidelity):视觉信息保真度,衡量图像保留的信息量,越高表示保留的信息越多,图像质量越好。

表格中使用箭头来指示每个指标更好的方向(向的箭头表示数值越越好,向的箭头表示数值越越好)。

  • 最佳的值在表格中用黑点标记。

通过这些指标,可以看出 DDIM image 模型在从T1w到CT的转换中,在PSNR和SSIM两个指标上表现最佳,而在从T2w到CT的转换中,DDIM image模型在所有指标上都有着较好的表现

这些技术包括:

  • CUT ResNN(对比学习的非配对翻译技术使用残差神经网络)
  • CUT SA-UNet(使用自注意力U-网络的对比学习的非配对翻译技术)
  • Pix2Pix UNet(使用U-网络的配对翻译技术)
  • Pix2Pix SA-UNet(使用自注意力U-网络的配对翻译技术)
  • SynDiff(未指明使用的网络架构的非配对翻译技术)
  • DDIM noise(去噪扩散隐式模型预测噪声)
  • DDIM image(去噪扩散隐式模型预测图像)
  • Pix2Pix 3D(3D图像到图像翻译技术)
  • DDIM 3D noise(3D去噪扩散隐式模型预测噪声)
  • DDIM 3D image(3D去噪扩散隐式模型预测图像)

最右边的列为“Reference”,即真实的CT图像,作为评估转换效果的标准。
 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1409821.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据建模分析与数仓维度建模规范

前言:数据建模是将定义现实世界的数据抽象成模型的过程,以便更好的分析,管理和操作数据实现需求。数据建模在数仓管理、数据库设计、算法模型训练等领域都有着重要的作用。在不同的领域,数据建模的关注点不同:在数据库…

K8S搭建(centos)七、节点加入集群

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

53-JS之BOM,打开,关闭窗口,screen对象,history对象,location对象,工作区尺寸,滚动距离

1.简介 BOM(Browser Object Model)---浏览器对象模型,提供JS当中对浏览器的各种操作对象 1.1BOM与DOM 2.打开窗口window.open(URL,name,features) 2.1 URL字符串:地址网址文件源 2.2name:指target属性,规定在哪个窗口打开新的url链接 blank:打开一个新窗口 _parent…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-4 轨迹追踪

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-4 轨迹追踪 1. 目标误差控制-误差的调节2. 稳态非零值控制3. 输入增量控制 1. 目标误差控制-误差的调节 2. 稳态非零值控制 3. 输入增量控制

Wpf 使用 Prism 实战开发Day14

备忘录接口增删(CURD)改查实现 一.添加备忘录控制器(MemoController) 备忘录控制器(MemoController)和待办事项控制器 (ToDoController)功能实现差不多一样。基本套路就是&#xff1…

用艺术陪伴困境群体活动在庐阳区双岗街道万小店社区开展

用艺术陪伴困境群体活动在庐阳区双岗街道万小店社区开展 1月23日上午9时,王莉老师带领“一欣工作室”的七位小朋友冒着严寒,来到位于万小店社区和煦园小区的合肥市庐阳区为民社会工作服务中心,慰问陪伴中心的兄弟姐妹。 大家一起唱歌、一起表…

【pyqt6】用pyqt做一个点菜小程序

用pyqt做一个点菜小程序 前言1.pyqt62. 功能介绍3.程序实现 前言 在本文中,我们将使用 PyQt6(Python的GUI库)创建一个简单的点菜小程序。该程序允许用户从菜单中选择菜品,将其添加到订单中,并通过点击“下单”按钮查看…

springboot121编程训练系统设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的编程训练系统设计与实现 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四…

Android Studio 之 菜单 Menu

选项菜单 OptionsMenu 用xml添加&#xff08;更建议使用&#xff09; 创建一个菜单布局 : 在 res文件下新建一个menu 目录&#xff0c;此时的菜单id为&#xff1a;R.menu.option <?xml version"1.0" encoding"utf-8"?> <menu xmlns:android&…

构建库函数雏形(以GPIO为例)

构建库函数雏形 进行外设结构体定义构建置位和复位函数进行库函数的自定义 step I&#xff1a; \textbf{step I&#xff1a;} step I&#xff1a; 对端口进行输出数据类型枚举 step II&#xff1a; \textbf{step II&#xff1a;} step II&#xff1a;对端口进行结构化描述 step…

k8s---helm

Helm是什么&#xff1f; 在没有helm之前。部署一个服务&#xff0c;需要deployment、service、ingress、挂在卷等等相关配置都需要人工来配置。 helm的作用就是通过打包的方式&#xff0c;把需要人工编写的配置集成在一起。是一键式的部署服务。类似于yum功能。 由官方提供的…

通过Android Logcat分析firebase崩溃

参考&#xff1a;UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书 一、安装Android Logcat插件 1、新建空白unity工程&#xff0c;打开PackageManager窗口&#xff0c;菜单栏Window/PackageManager 2、PackageManager中安装Android Logcat日志工具 3、安…

Leetcode1143. 最长公共子序列

解题思路 求两个数组或者字符串的最长公共子序列问题&#xff0c;肯定是要用动态规划的。下面的题解并不难&#xff0c;你肯定能看懂。 首先&#xff0c;区分两个概念&#xff1a;子序列可以是不连续的&#xff1b;子数组&#xff08;子字符串&#xff09;需要是连续的&#xf…

威联通QNAP NAS结合cpolar内网穿透实现公网远程访问NAS中存储的文件

文章目录 推荐 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣…

蓝桥杯备赛 week 3 —— 高精度(C/C++,零基础,配图)

目录 &#x1f308;前言&#xff1a; &#x1f4c1; 高精度的概念 &#x1f4c1; 高精度加法和其模板 &#x1f4c1; 高精度减法和其模板 &#x1f4c1; 高精度乘法和其模板 &#x1f4c1; 高精度除法和其模板 &#x1f4c1; 总结 &#x1f308;前言&#xff1a; 这篇文…

WinSCP下载安装并实现远程SSH本地服务器上传文件

文章目录 1. 简介2. 软件下载安装&#xff1a;3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件&#xff0c;它的主要功能是在本地与远程计…

中仕教育:公务员省考和国考分别是什么时候?

1. 国考&#xff1a;国考时间基本上是固定的。报名时间一般在每年的10月中下旬&#xff0c;考试时间在11月下旬或12月上旬&#xff0c;面试时间在次年的2—3月。 2. 省考&#xff1a;大部分省份集中在3月至5月&#xff0c;部分省份还会有春秋两次考试。 省考和国考能都报名吗…

Obsidian笔记软件结合cpolar实现安卓移动端远程本地群晖WebDAV数据同步

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

C#,最小生成树(MST)博鲁夫卡(Boruvka)算法的源代码

Otakar Boruvka 本文给出Boruvka算法的C#实现源代码。 Boruvka算法用于查找边加权图的最小生成树&#xff08;MST&#xff09;&#xff0c;它早于Prim和Kruskal的算法&#xff0c;但仍然可以被认为是两者的关联。 一、Boruvka算法的历史 1926年&#xff0c;奥塔卡博鲁夫卡&…

【Flink-1.17-教程】-【四】Flink DataStream API(1)源算子(Source)

【Flink-1.17-教程】-【四】Flink DataStream API&#xff08;1&#xff09;源算子&#xff08;Source&#xff09; 1&#xff09;执行环境&#xff08;Execution Environment&#xff09;1.1.创建执行环境1.2.执行模式&#xff08;Execution Mode&#xff09;1.3.触发程序执行…