PET/MRI:技术和方法

前言

多模态信息通常用于诊断或研究的目的,因为每种成像技术提供了互补的信息,例如有关解剖学、生理学或代谢的信息。正电子发射断层扫描(PET)测量体内特定分子的分布和浓度,磁共振成像(MRI)反映质子密度和组织弛豫时间,计算机断层扫描(CT)绘制组织的电子密度。

成像硬件的不断发展能够适应不断变化的需求。这种技术上的进步带来了更快的采集速度、更高的空间分辨率和更好的图像对比度。与此同时,人们也努力开发一体化设备,可在同一成像过程中结合两种不同成像方式来获取互补信息,以解决各自的技术限制,最大限度地方便患者,并尽量减少两个数据集之间的空间失真。

最初,精确对准分子和解剖图像的需求促使了PET/CT扫描仪的发展。虽然PET/CT扫描仪在临床上迅速得到广泛应用,但由于技术和方法上的挑战,一体化PET/MRI的开发和应用进展却较慢。事实上,结合PET和MRI的可能性在1991年被首次提及,同步数据采集于1997年首次进行了在体实验演示。

一体化PET/MRI系统

人们考虑了几种整合PET和MRI的设计。最早的MR兼容PET系统采用光电倍增管(PMTs)与闪烁晶体相结合,将湮灭光子转换为电信号。然而,由于PMTs对磁场非常敏感,它们必须位于磁体外部,并使用长光纤将它们与放置在孔内的闪烁晶体耦合。Garlick等人(1997)使用该概念的小型动物扫描仪首次同时获得了PET图像和31P核磁共振谱。尽管随后提出了一些改进方法,但基于PMT的方法性能有限,并且仅用于小动物的概念验证成像研究。实际上,第一台基于PMT的人体全身PET/MRI扫描仪——Philips TF Ingenuity(Philips Healthcare,Amsterdam,Netherlands)仅允许顺序成像。为此,将单独的、经过最小改进的PET和MRI扫描仪放置在同一房间,共用一张转运床但保持足够的距离以最小化电磁干扰。利用软件将各模态独立采集的数据进行融合。

基于固态半导体的光电传感器(称为雪崩光电二极管,APDs)的发展保持了PMTs的光敏度,而且对磁场不敏感,允许PET探测器放置在MRI扫描仪的孔中。这使得同步数据采集成为可能,并最终将其扩展到人类被试。

首先开发了几种适用于高场小动物MRI系统的基于APD的PET/MRI插件。在临床前领域取得这些进展的同时,为了开发一个完全集成的PET/MRI扫描仪,西门子医疗(Erlangen,Germany)推出了一种用于人类脑成像的3T MR兼容PET插入物,名为BrainPET。BrainPET原型的内径为36cm,轴向视场约为19cm,可以在一个床位上对整个人脑进行成像。在BrainPET内放置两个MRI头部射频线圈,旨在使511 keV光子的衰减最小化。在2007年至2010年间,全球仅安装了四台BrainPET原型设备,分别位于德国的图宾根大学(Tübingen,Germany)、麻省总医院Athinoula A. Martinos生物医学成像中心(Charlestown,MA. USA)、德国于利希研究中心(Jülich,Germany)和埃默里大学(Atlanta,GA,USA)。

西门子还推出了第一个完全集成的全身PET/MRI系统,名为Biograph mMR。在这个扫描仪中,基于APD的PET探测器位于梯度线圈和射频线圈之间,数据采集软件也完全集成。PET探测器模块由8×8阵列的4×4×20 mm3 LSO晶体构成,由一个3×3 APDs阵列读出。这些模块排列成八个环,每个环有56个探测器,横向视野为59.4cm和轴向视野为25.8cm。该系统还集成了水基冷却系统,以确保即使在运行最苛刻的MRI序列时也能获得最佳PET性能。该MRI系统基于西门子Magnetom 3T Verio MRI扫描仪,孔径为70cm。在性能方面,mMR的PET成像组件与当时的PET/CT扫描仪(例如西门子mCT)相似。西门子Biograph mMR系统于2011年获得了CE标志和FDA批准。第一台系统于2010年安装在慕尼黑工业大学(Munich,Germany),第二台系统于2011年安装在麻省总医院Athinoula A. Martinos生物医学成像中心(Charlestown,MA. USA)。

虽然APDs允许开发用于人体成像的完全集成PET/MRI扫描仪,但其性能与PMTs相比较差,特别是在时间分辨率方面。因此,Biograph mMR不具备飞行时间(TOF)功能,TOF指的是能够非常准确地测量两个光子到达时间的差异(<1ns),从而估计沿响应线正电子-电子湮灭的位置。在图像重建中包含TOF信息将减少湮灭位置的不确定性,从整个响应线方向上的分布改变为围绕真实位置的高斯概率分布,该分布的形状由FWHM时间分辨率决定。TOF成像需要专门的重建算法,但得到的图像信噪比更高。

在Biograph mMR开发的同时,一种名为盖革模式APD(G-APD,也常被称为硅光电倍增器,SiPMs)的新型光子探测器成功地应用于PET。它们具有与PMT相当的性能特征,包括优良的时间性能,并且不易受磁场的影响。与基于PMT和APD系统的早期发展相似,一些基于SiPM的原型最初用于小动物成像。最终,通用电气医疗集团(Waukesha,WI,USA)推出了第一台TOF全身一体化PET/MRI扫描仪——Signa TOF PET/MRI。PET探测器机架的横向视野和轴向视野分别为60cm和25cm。它是为适应GE Discovery 750w 3T MRI扫描仪的机体射频线圈和MRI梯度集而设计的,由5个环和112个探测器模块(LYSO耦合到SiPMs阵列)组成。Signa TOF PET/MRI的PET成像组件在径向、切向和轴向空间分辨率分别为4.4、4.1和5.3mm FWHM,噪声等效计数率在17.8kBq/mL时达到峰值218kcps,散射分数为43.6%,灵敏度为23.3cps/kBq。时间分辨率<400ps。GE Signa TOF PET/MRI系统在2014年也获得了510K认证和CE标志,2014年首次安装在斯坦福大学(Palo Alto,CA,USA)、加州大学旧金山分校(San Francisco,CA,USA)和苏黎世大学(Zurich,Switzerland)。

在2017年左右,联影医疗(中国上海)推出的uPMR 790是具有高精度融合的一体化TOF PET/MR系统,该系统将具有TOF功能的SiPM探测器集成到3T MR扫描仪中。PET探测器的横向视野和轴向视野分别为60cm和32cm。PET探测器系统安装在uMR 780的梯度线圈和射频线圈之间,完整的PET环由20个模块组成,每个模块有5×14个blocks,其中14个blocks沿轴向方向;每个单独的block包含四个SiPM探测器通道,外加15.5×2.76×2.76 mm3的LYSO晶体组成的7×8阵列。uPMR 790 HD TOF PET/MRI的PET成像组件在径向、切向和轴向空间分辨率分别为2.72、2.86和2.81mm FWHM,噪声等效计数率在14.7kBq/mL时达到峰值129.2kcps,散射分数为37.9%,灵敏度为15.9cps/kBq,时间分辨率为474ps。uPMR 790 HD TOF PET/MRI扫描仪于2019年获得FDA批准。

综上所述,西门子、通用电气和联影是目前提供能够同时采集数据的一体化PET/MRI系统的设备制造商(图1)。表1总结了这些系统的主要技术和性能特点。

图片

图1.一体化PET/MRI扫描仪。

表1. 目前市场上三种一体化PET/MRI扫描仪的性能比较图。

图片

传统方法

衰减校正

湮灭光子在到达PET探测器之前很有可能与目标发生相互作用。因此,在特定的响应线中,检测到的光子数量会减少或“衰减”。这导致了对位于身体中心附近的结构中放射性药物浓度的低估,同时也产生了图像伪影。与此相关的是,湮灭光子可以发生康普顿散射,但仍能到达PET探测器。这些散射光子被分配到不同的响应线,导致对比度下降。为了生成反映放射性药物真实分布的定量图像并减少伪影,需要对这两种物理现象进行精确校正。如果已知物体的性质,则可以估计出沿每条响应线的光子衰减。然而,这在一体化PET/MRI系统中具有挑战性,因为组织线性衰减系数与MRI信号强度之间不存在直接关系。

磁头衰减校正

早期的研究主要集中在解决头部问题,可以根据分割和基于图谱的方法进行大致分类。前一种方法用于进行组织估计和分类。后一种方法用于生成详细的伪CT图。为此,人们提出了多种方法,如用于匹配MRI和CT数据的图像配准和模式识别技术;基于图谱的方法(依赖于参数图谱的非刚性配准);基于(非参数多图谱的)非刚性配准的增强方法;以及基于图像块的标签融合方法。

Ladefoged等人(2017)采用多中心337例脑PET/MRI和同日低剂量CT数据,对11种头部衰减图生成方法进行了评估。尽管这些方法在稳健性和异常值方面存在差异,但总的来说,所有测试的方法与基于CT方法的平均误差在5%以内。该研究表明,在正常解剖结构的成人大脑中提高MR(衰减校正)准确性的挑战已经达到了一个可接受的量化程度,这比PET成像中量化分析的可重复性要小(如图2所示)。

图片

图2.基于磁头MR的衰减校正方法。用不同方法生成的衰减图:(A)CT,(B)Dixon,(C)UTE,(D)Segbone,(E)Ontario,(F)Boston,(G)UCL,(H)MaxProb,(i)MLAA,(j)Munich,(K)CAR-RiDR,(L)RESOLUTE。

全身衰减校正

将这些方法应用到其他身体部位并非易事。因为在形态、体重指数、病理学、性别等方面,个体之间的差异更大,使得难以创建令人满意地能够描述整个人群的全身图谱。此外,利用图谱进行全身衰减校正需要结合刚性和非刚性配准。因此,当应用于全身衰减校正时,这些方法大多表现不佳。人们已经尝试使用各种方法来应对这一挑战。例如,使用多个MRI序列(Dixon和零回波时间,ZTE)获得的数据,采用半自动方法生成骨盆的伪CT图像。

使用上述方法生成胸部的衰减图时更具挑战性,因为胸部解剖结构更加复杂,且存在固有的心脏和呼吸运动。此外,肺的衰减特性在个体内部和个体之间都有差异,也受到呼吸相、患者体位、病理变化等因素的影响。呼吸和心脏运动可能会导致衰减图与发射数据之间的错位,从而导致PET数据量化不当。

虽然在校正过程中应考虑PET视野中所有身体部位的衰减情况,但由于MRI扫描仪的横轴向视野较小(通常限制在50cm以避免图像失真),手臂(甚至对于体型较大的患者,还可能有其他身体部位)通常被截断。这导致PET测量值被低估了10%-25%。可以使用衰减和活度的最大似然重建(MLAA),或使用专用MRI序列(如HUGE)来推断被截断的手臂。

还应该注意的是,金属植入物会导致基于MR的衰减图失真。这些问题可以通过使用专门的MRI序列(例如,MAVRIC或SEMAC序列)对金属植入物附近进行成像,通过图像后处理方法恢复丢失的信号,或基于发射和衰减的联合估计来完善衰减图,从而最小化这些问题。

运动校正

由于患者难以在长时间内保持静止,从而导致自主或非自主的运动,以及生理过程(例如,由于心脏收缩而发生的形变、呼吸引起的内脏位移、吞咽、膀胱充盈、蠕动等)所引起的运动。运动会导致PET图像模糊,从而抵消了使用高空间分辨率扫描仪带来的好处,造成定量结果偏差,当运动幅度较大时会产生严重的伪影,并造成PET和MRI数据之间不匹配的情况。同时采集的MRI数据可用于获得高时间分辨率的运动估计,并用于PET运动校正。为此,发射数据通常分为受运动影响最小的短frames/bins。利用MRI数据来表征感兴趣器官相对于每个无运动帧(参考位置)的位移。随后,使用各种算法在图像重建之前、期间或之后执行PET运动校正。

头动校正

脑成像主要受头部刚体运动的影响,该运动可以用六个自由度来描述(即沿主轴的三个平移和三个旋转)。虽然MRI射频线圈和一体化PET/MRI扫描仪中使用的头部约束装置(垫子和垫片)可以限制头部运动,但在常规研究中仍然可能出现高达20mm的平移和4度的旋转。

最初的MRI辅助PET运动校正研究是使用BrainPET原型进行的,该原型使用了从同时采集的回波平面成像(EPI)序列和嵌入式导航器中提取的运动估计。在这两种情况下,PET图像重建之前都使用运动估计对响应线进行变换。在运动校正后,PET图像得到了显著改善。运动估计也可以从在其他MRI序列之间获得的基于EPI的导航器或直接从标准形态学MRI序列获得的数据中推导出来。虽然这些方法只需要对标准数据采集协议进行最小改动,但运动估计的时间分辨率较低,并且无法考虑序列内的运动。

呼吸运动矫正

全身PET成像受呼吸运动的影响。在正常呼吸过程中,横隔膜在上下方向移动7-28mm,导致胸腹部内脏发生位移和变形。即使在自由呼吸时,心脏也会在4.9-9mm的范围内进行刚体运动。尽管呼吸具有明显的周期性,但胸腔器官在吸气和呼气过程中沿不同的路径移动,这使得呼吸建模更具挑战性。此外,在深吸气时,上述范围会大大增加。采用门控技术可以减轻呼吸运动带来的影响,但代价是增加了重建图像中的噪声或采集时间。

在早期的MR辅助PET运动校正方法中,使用从2D和3D MRI序列导出的运动估计来进行呼吸运动补偿已在模拟PET数据和体模研究中得到证实。然后,根据标记的MRI数据进行运动估计。为了增加这些方法的临床适用性,研究的重点已经转向开发既不增加总体MRI采集时间,也不降低MRI图像质量的技术上。例如,在PET呼吸运动校正过程中,可以使用耦合系统反演方法和由此产生的变形矩阵进行广义重建,从而在MRI图像重建过程中对运动进行联合估计。基于径向星堆VIBE序列的新方法已用于PET图像的运动校正。为了最小化径向k-空间数据的方位欠采样而导致的条纹伪影,需要在重建过程中应用抗伪影方法(如压缩感知)。或者,可以从每个床位1分钟的PET数据和动态2D多层MRI数据中获得联合PET/MRI呼吸运动模型。

深度学习方法

深度学习是机器学习的一个特定领域,它专注于开发基于全连接神经网络的模型,通过模式学习来解决问题。神经网络是处理输入信息并提取相关特征以生成或预测特定类型输出的一种计算系统。卷积神经网络(CNN)是专为图像数据而设计的神经网络。CNN的结构以层为特征,并执行卷积运算。卷积运算的结果被称为特征图,并成为下一个卷积层的输入。连续层中卷积的连接允许提取越来越抽象和复杂的特征和模式。其灵活性结合最新一代图形处理单元(GPU)的计算能力,使CNN能够成功应用于PET/MRI领域的多个应用,包括PET衰减校正、运动校正和图像增强。

衰减校正

如前所述的基于MR的标准衰减校正方法存在一些局限性,包括需要对模板空间进行准确的空间归一化、假定解剖结构基本正常,或者需要使用大量数据来创建图谱。作为替代方法,可以使用深度学习方法从MRI数据中生成衰减图。

深度学习方法最初被用于合成头部的分割衰减图或伪CT图像。使用多个序列收集的MRI数据已用于此目的。例如,使用标准U-net架构从Dixon图像中获得连续值衰减图。当将ZTE MRI图像作为输入添加到基于组卷积模块的改进U-net架构中时,可以获得更精确的衰减图。所有脑区PET重建图像的平均相对误差均小于~3%,使用多个对比度的方法产生了最佳结果。另一个以ZTE数据作为输入的3D U-net CNN显示,与基于图谱和标准ZTE方法相比,其PET数据量化偏差更小。使用基于U-net架构的网络,在儿童脑肿瘤患者中获得了临床可接受的衰减图。这些网络大多使用相对较少的数据集进行训练。最近,利用在Biograph mMR上扫描的1037名成年受试者的大型队列数据,评估了基于Dixon、T1加权MPRAGE和UTE数据的三种不同网络。尽管三个网络都取得了出色的结果(即与基于CT的方法相比,在所有脑区中的偏差小于1%),但异常值的数量取决于训练数据集的大小和MRI序列输入的选择。

运动校正

基于深度学习的运动校正在PET/MRI领域仍处于初级阶段。在最近一项关于大脑的研究中,使用基于MR的运动估计来对Biograph mMR上同时获得的PET数据进行对齐,以便在动态FDG大脑研究中训练一个PET数据驱动的运动估计网络。配准早期和晚期PET帧后,使用条件生成对抗网络计算低计数和高计数PET图像之间的映射关系。然后利用这些映射从动态数据中生成合成PET图像。最后,将人工生成的高计数图像进行配准以估计研究过程中的头部运动情况。

使用基于MR合成的FDG-PET体积训练了一个网络,用于估计PET体积中的呼吸运动。然而,这种方法并没有超越现有的方法,可能是由于可用的训练集较小,这也突出了基于深度学习方法的主要限制之一。其他研究致力于改进通过径向采集获得的自由呼吸MRI图像的质量。这些方法已经成功地学习了如何从高度欠采样的数据中重建清晰、无伪影和高对比度的呼吸运动图像,而无需真实值。

在心脏运动估计方面也取得了令人鼓舞的结果。例如,使用无监督的三维心脏运动估计网络(CarMEN)可以从常规的二维cine MRI图像中获取心脏的3D形变信息。模拟实验也证明了CarMEN推导的运动估计可用于在一体化PET/MRI扫描仪中同步采集的PET数据的心脏运动校正(图3)。

图片

图3.基于深度学习的心脏运动估计。

图像增强

卷积神经网络(CNNs)还可以用于提高数据的质量和信息内容,或者用于减少伪影。传统的解剖学辅助重建方法存在以下局限性:耗时较长,特别是应用于动态研究时;实施过程是特定于扫描仪的,并且需要访问原始数据。相比之下,深度学习方法可以在图像域中实现类似的改进。为此,使用标准和解剖导向的PET重建(使用不对称的Bowsher先验)以及形态学MRI图像作为输入来训练CNN。使用Biograph mMR和Signa PET/MRI扫描仪收集的数据,在三种不同的放射性药物上展示了优异的结果(图4)。

图片

图4.基于深度学习的脑图像增强。

在图像增强方面,提高图像表观空间分辨率(即超分辨率)的技术已被广泛应用于PET、MRI以及PET/MRI联合成像中。有研究表明,使用基于MR先验训练的CNNs来重建PET图像或PET/MRI联合数据的性能大大优于传统方法。许多深度学习方法也致力于减少MRI图像的采集和重建时间。这主要是因为MRI图像的采集过程比较耗时,比PET扫描时间更长。减少采集的原始数据量或对k空间进行欠采样可以加快采集速度,但会降低最终MRI图像的质量。而CNNs可以在不进行任何硬件调整的情况下增强图像分辨率,同时缩短总体扫描时间。

结论

经过几十年的技术发展,PET/MRI现已成为一种成熟的成像方式。一体化PET/MRI扫描仪的性能特征可与独立设备相媲美,能够在互不干扰的情况下获得高质量的数据。在业界主导整合全身同步PET/MRI硬件的同时,还需要方法学的发展来应对尚未解决的挑战。衰减校正从一开始就是PET/MRI领域中最大的方法学挑战。多年来,已经开发了许多方法,可以从MRI数据中生成更精确的衰减图。供应商提供的方法现已足够准确,可用于常规临床和研究应用。然而,对于某些应用(如骨病变的定量成像、儿科患者的成像、肺部成像等)来说仍需要更为先进的方法。深度学习在解决衰减校正挑战方面的作用可能会继续扩大,因为这些方法的优势是,一旦经过训练和验证,它们几乎可以立即生成非常准确的全身衰减图。MR辅助PET运动校正被视为是同步采集的主要方法学优势之一。但需要注意的是,这些方法在临床实践中的实际应用仍然有限,未来需要更多的努力来提高其稳健性和临床实用性。

参考文献:Angel Torrado-Carvajal, Ciprian Catana, PET/MRI: technical and methodological aspects, 2023, P1-33.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

非线性权重纵横交叉t分布改进麻雀算法

目录 1 横向交叉操作 2 纵向交叉操作 3 非线性惯性权重 4 基于t分布变异 5 实验结果 1 横向交叉操作 横向交叉操作类似于遗传算法中的交叉操作,是在不同 种群的相同维度中进行交叉运算。针对麻雀搜索算法全局 搜索能力不强的问题,本文应用横向交叉策…

VR酒店虚拟仿真情景实训教学演示

在传统的酒店管理教学过程中,学生往往缺乏实践操作经验,难以将理论知识与实际工作相结合。而VR酒店虚拟仿真情景实训教学应用可以为学生提供一个逼真的、沉浸式的酒店管理环境,使学生能够在模拟实践中掌握酒店管理的各项技能。 VR酒店虚拟仿真…

阿里云 腾讯云 配置二级域名并解析指向非80端口操作指南

目标:主域名 imps.com 已完成配置,新增配置 kpi.imps.com 等二级域名并指向 8083 端口。 (此操作需要主域名已经通过备案3天后,最好指向的IP地址网站也通过了备案申请,否则会提示域名没有备案。) 操作流程…

使用 nodejs,SpringBoot 两种方式实现 WebSocket

前言 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它可以让浏览器和服务器之间实现实时双向数据传输。 WebSocket 的优点是: 可以节省服务器资源和带宽,提高性能和效率可以让服务器主动向客户端推送数据,实现实时响…

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Stack

堆叠容器,子组件按照顺序依次入栈,后一个子组件覆盖前一个子组件。该组件从API Version 7开始支持。可以包含子组件。 一、接口 Stack(value?: { alignContent?: Alignment }) 从API version 9开始,该接口支持在ArkTS卡片中使用。 二、…

alsa pcm接口之pcm设备的状态STATE

应用和库之间的协作: ALSA pcm api设计使用状态来确定应用程序和库之间的通信阶段,实际的状态可以被决定通过使用snd_pcm_state调用,下面列举出来状态: SND_PCM_STATE_OPEN: 表示pcm设备被打开的状态,使用了snd_pcm_open()之后进入该状态,并且让snd_pcm_hw_params()调用失败后,…

linux,write:xxx has messages disabled 与 Ubuntu多用户同时登录的问题 ubuntu 20.04

write:xxx has messages disabled 问题 被这问题折磨了好久,搜都搜不到,还是灵机一动想到的。 很多 帖子说,要使用 mesg y用了还是没有用,后面我登录了很多用户,发现只有root用户可以给别的用户使用write…

各类高危漏洞介绍及验证方式教程(一)

本期整理的漏洞验证教程约包含50多类漏洞,分多个章节编写,可从以下链接获取全文: 各类高危漏洞验证方式.docx (访问密码: 1455) 搭建dvwa测试环境基础教程.docx(访问密码: 1455) web逻辑漏洞挖掘快速入门基础教程.docx(访问密码: 1455) 01 Ca…

实验1机器学习之线性回归实验

一、实验目的: (1)理解一元线性回归和多元线性回归的数学原理,能够利用sklearn中相关库解决现实世界中的各类回归问题; (2)掌握利用matplotlib对一元线性回归模型进行可视化的方法&#xff0c…

【数据结构初阶】七、非线性表里的二叉树(堆的实现 -- C语言顺序结构)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【数据结构初阶】六、线性表中的队列(链式结构实现队列)-CSDN博客 1 . 非线性表里的 树(Tree) 树的概念及结构: 树的概念 树是一种非线性的数据…

【计算机网络】高级IO初步理解

文章目录 1. 什么是IO?什么是高效 IO? 2. IO的五种模型五种IO模型的概念理解同步IO与异步IO整体理解 3. 阻塞IO4. 非阻塞IOsetnonblock函数为什么非阻塞IO会读取错误?对错误码的进一步判断检测数据没有就绪时,返回做一些其他事情完整代码myt…

黑马JVM总结(二十九)

(1)语法糖-重写桥接 (2)语法糖-匿名内部类 (3)类加载-加载 类加载可以分为3个阶段,加载、连接、初始化 我们知道java类编译成字节码以后,运行呢需要类加载器把类的字节码加载到方法…

git的基本使用

git地址 https://git-scm.com/ git首次安装必须设置签名代码,否则无法提交代码 git init git status 14 idea中连接gitee file-setting中安装gitee插件,安装gitee插件后可以在version control中看到gitee,点击 添加gitee账号&#xff…

Kafka和RabbitMQ的对比

Rabbitmq比kafka可靠,kafka更适合IO高吞吐的处理,比如ELK日志收集 Kafka和RabbitMq一样是通用意图消息代理,他们都是以分布式部署为目的。但是他们对消息语义模型的定义的假设是非常不同的。 a) 以下场景比较适合使用Kafka。如果有大量的事…

聊聊MySQL的聚簇索引和非聚簇索引

文章目录 1. 索引的分类1. 存储结构维度2. 功能维度3. 列数维度4. 存储方式维度5. 更新方式维度 2. 聚簇索引2.1 什么是聚簇索引2.2 聚簇索引的工作原理 3. 非聚簇索引(MySQL官方文档称为Secondary Indexes)3.1 什么是非聚簇索引3.2 非聚簇索引的工作原理…

Win10系统打开组策略编辑器的两种方法

组策略编辑器是Win10电脑中很实用的工具,它可以帮助用户管理和设置计算机的安全性、网络连接、软件安装等各种策略。但是,很多新手用户不知道打开Win10电脑中组策略编辑器的方法步骤,下面小编给大家介绍两种简单的方法,帮助打开快…

Gitlab+Jenkins自动化部署,解放双手

项目打包 ​ 在部署项目前需要对源码进行打包&#xff0c;一个简单的SpringBoot项目默认是打包为jar包&#xff0c;也就是在pom.xml中的<packaging>jar</packaging>方式&#xff0c;当然也会有一些打包成war包方式&#xff0c;使用外置的Tomcat应用服务器部署war包…

Python装饰器(一次搞清楚)

最重要的情绪管理是要明白&#xff0c;没有一种情绪是不应该的 一、简单装饰器 Python装饰器是一种语法糖&#xff0c;用于在不改变原有函数代码的情况下&#xff0c;为函数添加额外的功能。装饰器本质上是一个函数&#xff0c;它接收一个函数作为参数&#xff0c;并返回一个新…

【python】exec()内置函数释义

【python】exec内置函数释义 官方释义样例注意事项拓展感谢及参考博文 官方释义 官方Python API文档镇楼 exec(object, globalsNone, localsNone, /, *, closureNone) 支持动态执行 Python 代码&#xff0c; object 必须是字符串或者代码对象。 需要特别注意以下两点&#xff…

css自学框架之面板

面板是我们开发中经常用到&#xff0c;也就是页面版面中一块一块的板块&#xff0c;效果如下图&#xff1a; 一、css代码 .myth-panel {background-color: var(--white);border: solid 1px transparent;}.myth-panel .myth-panel-header {border-bottom: solid 1px transpar…