当前位置: 首页 > news >正文

【核磁共振成像】并行采集MRI

目录

  • 一、并行成像
  • 二、SENSE重建
  • 三、SMASH重建
  • 四、灵敏度校准
  • 五、AUTO-SMASH和VD-AUTO-SMASH
  • 六、GRAPPA重建
  • 七、SPACE RIP重建算法
  • 八、PILS重建算法
  • 九、PRUNO重建算法
  • 十、UNFOLD算法


一、并行成像

  并行MR成像(pMRI):相位阵列接受线圈不但各有自己专用的接受通道,而且以欠采样方式同时采集数据,利用接受线圈灵敏度的空间信息作为梯度相位编码行不足的补充,用特定的算法重建出无混叠的最终图像
  并行成像由于降低了扫描时间,SNR总是较低,另外还有额外的SNR惩罚在SENSE中图像混叠解卷绕进一步方法了图像噪声。在SMASH中,在复合K空间组合来自各个线圈的数据,产生部分信号对消导致在图像中某些部分SNR降低。在并行成像中,通常噪声方差也是空间变化的
  使用并行成像的另一种方式降低回波列脉冲序列(如EPI、fSE)的伪影EPI由于偏离共振效应遭受几何畸变伪影,而fSE由于T2衰减遭受模糊。对于固定的回波间隔,回波列越长,伪影越重。并行成像减少K空间行数,反过来降低了回波列长度,从而降低了伪影
  并行成像是从多线圈欠采样K空间数据重建图像,可通过与用此阵列线圈全采样K空间数据重建的图像进行比较、核对,以检验其一致性。
在这里插入图片描述
  (a)图为全采样空间
  (b)加速因子R=3并行成像K空间,虚线代表没有采的K空间行,两个测量的行Km和Km+1之间缺失的两行分别是Km+ΔK,Km+2ΔK(ΔK是奈奎斯特取样定理要求的相位编码步距)。

  在笛卡尔采集中扫描时间正比于相位编码步数利用多线圈以欠采样方式同时采集数据,从而节省了时间,提高了扫描速度。增大K空间行的间距R倍,而保持覆盖的最大K空间范围(空间分辨率)不变,则扫描时间将降低R倍,于是 在并行成像中R被称为“加速因子”或(扫描时间的)“降低因子”

  增大相位编码行的间距会导致FOV减小,如果物体延申到缩小的FOV外面,就会发生混叠或卷绕伪影

  并行成像可分为K空间方法图像空间方法SENSE重建在图像空间中处理数据解决问题,被称为“图像空间方法”;而 SMASH重建在K空间中处理数据解决问题,故被称为“K空间方法”。


二、SENSE重建

  SENSE方法将各个接受线圈的K空间数据分别进行离散傅里叶变换,得到有混叠的图像,然后在图像空间利用各个线圈的灵敏度map信息,将对应线圈的混叠图像通过解混叠算法而形成一帧帧无混叠的中间图像,最后 把这些中间图像用平方和方法拼成一帧全视野的完整的图像
  灵敏度编码(sensitivity encoding, SENSE)是一种技术图像域的重建方法SENSE方法 采用多个接收线圈用于信号采集,允许对K空间欠采样。欠采样的过程中会丢失一些空间编码信息,所以SENSE重建时,利用各个线圈的空间灵敏度对丢失的信息进行恢复,将混叠的图像进行展开,得到没有伪影的图像
  SENSE重建可以 减少K空间采集线数,缩短扫描时间。但是由于欠采样导致图像信噪比降低;而且SENSE重建需要估计线圈敏感度信息,重建过程比较麻烦;且线圈敏感度信息很难准确估计,其误差会导致重建图像伪影
在这里插入图片描述
  (a)图为正常的FOV
  (b)图为对于并行成像R=3降低的FOV。在y方向各位置混叠的复制数NA依赖于边缘位置和加速因子R。

  SENSE方法要求估计线圈灵敏度,灵敏度可用另外的校准扫描来估计,校准扫描要覆盖用并行成像扫描的整个体积。另一个做法是通过用全奈奎斯特采样测量K空间中央部分得到低分辨率灵敏度估计;而用欠采样测量K空间外围区域,以加速采集,可把这些步骤建立、集成在并行成像序列中。

  规则化就是说给损失函数加上一些限制,通过这种规则去规范他们再接下来的循环迭代中,不要自我膨胀(正则化是为了防止过拟合)。

  奇异值分解就是在低维空间中寻找最接近原矩阵A的低维矩阵M ,说白了就是 数据降维

  用传统平方和重建,由于各线圈欠采样,图像混叠程度或次数随R增大而增大。而用 SENSE重建的图像没有任何混叠伪影,只是在高R情况噪声分布不均匀。两个相位编码方向SENSE图像的噪声差很明显,源于其几何因子不同。对于下图所示线圈排列,显然选择竖直相位编码更优越。SENSE理论不对线圈构型、相对排列位置或者K空间采样提出任何限制
   SENSE 包括强重建技术弱重建技术两种,前者严格地对每个体素的形状进行优化,而后者更多地关注信噪比。因为两种算法都是 混合编码重建,故不能直接使用快速傅里叶变换(FFT)
  SENSE技术的第一步就是让线圈阵列的每个线圈数据经离散傅里叶变换,形成各个有混叠伪影的图像;第二步是要 将第一步所得到的混叠图像解混叠后拼合而形成一帧完整的图像
在这里插入图片描述
  时间降低因子从1到4,相位编码在水平方向,左列是传统平方和像;中列是同样数据SENSE重建的像;右列是SENSE理论预期的噪声水平map

  SENSE也可推广应用于非笛卡尔K空间轨迹,比如径向轨迹spiral轨迹等。对于spiral扫描和其他非直线K空间数据的具有最佳图像质量的并行成像重建算法要求矩阵求逆,被求逆矩阵比直线轨迹产生的矩阵大两个数量级。这样的矩阵一般要求迭代求逆方法,譬如共轭梯度法。

   共轭梯度法求解稀疏对称正定线性方程组的最流行和最著名的迭代技术之一。用来求解线性方程A x = b 的一种方法,特别是稀疏线性方程组迭代求解法里面最优秀的方法,其被称为线性共轭梯度法。后来,人们把这种方法慢慢推广到了非线性问题求解中,称为非线性共轭梯度法


三、SMASH重建

  SMASH方法线圈的灵敏度信息各线圈欠采样的数据均放在K空间中处理,通过拟合线圈灵敏度构造出低阶空间谐波成分,并利用各线圈欠采样的K空间数据建造对应全视野的复合K空间数据,然后经一次傅里叶变换得到无伪影的终像。
  SMASH重建算法通过线圈采集的原始数据灵敏度的线性组合恢复因欠采样而丢失的K空间相位编码行数据。利用线圈灵敏度提供接受信号的空间权重,线圈灵敏度的线性组合可近似给出缺失的空间编码行所对应的复指数函数
  与线圈阵列中线圈数目相等阶次的谐波有时难以构建出来,而推广SMASH可用靠近Km+1行的第一个负谐波来代替靠近Km行的第二个正谐波。因合成较低谐波,比合成高谐波更准确
  另一个推广是 块重建用多测量行合成缺失的谐波行Km+pΔK。这种推广提高了拟合精度,特别是对于难以用线圈灵敏度线性组合来逼近的复指数函数的线圈排列。构建缺失的K空间行所用测量行越多,图像质量越好,代价是重建速度越慢
在这里插入图片描述
  (a)图为可用于SMASH的四线圈阵列
  (b)图为线圈灵敏度
  ©图为线圈灵敏度之和(1)
  (d)、(e)、(f)为灵敏度组合

  对于SMASH最佳线圈几何或许是沿一直线放置的线圈阵列,虽然对于任意线圈几何SMASH也能产生高质量图像。并行成像也可应用到3D扫描的第二个相位编码。在高场SNR很高,并行成像最有用,最成功的应用之一是对比剂增强的MRA。降低扫描时间对于捕捉团注通过的峰值,缩短屏住呼吸时间是有利的。用SSFP梯度回波序列(比如True FISP)对心脏扫描给出足够的SNR允许加速因子R>=2。这导致较短的屏住呼吸时间、较好的空间分辨或时间分辨。

  大多数线圈阵列都专门设计得灵敏度之和近似是一常数,为的是能 给出近似均匀的图像信号(对于均匀物体)


四、灵敏度校准

  所有并行采集成像的图像质量都取决于线圈灵敏度的估计差的估计将导致有些混叠无法校正及SNR低
  (1)直接灵敏度测量:用较低空间分辨率测量数据,以节省时间采集的图像数据的体积必须包围用并行成像重建的整个区域,校准扫描通常是二维(2D)或三维(3D)梯度回波。也可在并行成像扫描时用可变密度采样,即 在靠近K空间中心的行用奈奎斯特频率采样,而高K空间区域用欠采样,低K空间数据用于重建低分辨率的灵敏度map
  (2)间接灵敏度测量:在间接灵敏度测量方法中,在K空间中央(额外)采样一或多个奈奎斯特行,类似于自校准方法。这组奈奎斯特采样行被称为自校准信号,避免了在校准扫描和并行成像扫描之间病人运动带来的不一致问题。
  间接灵敏度测量中,因为 校准行是全采样的比分开的校准扫描和并行成像扫描加起来的总时间短。自校准扫描也可用在并行成像重建中,从而减少了必须校正的固有混叠量并且给出更高的SNR。
  3)目标函数归一化:不论是SENSE还是SMASH,最终图像的强度权重可通过适当归一化表面线圈灵敏度数据而进行操纵。各终像是被目标灵敏度加权的,可让其表面线圈校准像被体线圈校准像除,乘以带体线圈灵敏度权重的SENSE像,将产生一个相对均匀的图像。目标函数归一化不影响SENSE图像中的SNR(相当于对其同时乘以信号和噪声)。
  灵敏度归一化问题:并行成像技术所重建的图像总有一些线圈灵敏度权重。因为所有MR数据都无法避免被线圈灵敏度加权,纯线圈灵敏度测量是不可能的。

  如果线圈的空间灵敏度map能够相当准确地得到,则应首选SENSE。如果采集的线圈灵敏度map较差,应选用自校准技术如GRAPPA(例如病人运动包括呼吸运动,导致采集的线圈灵敏度map很差,特别是在线圈边缘,其灵敏度变化比较急剧)。又譬如在单射EPI中,某些区域严重畸变,线圈灵敏度map也很差。
  最佳灵敏度校准取决于不同的应用。如果病人呼吸运动是关注的问题,为 最小化校准并行成像数据之间的不一致自校准可能是优越的。然而,如果运动不一致并不是主要问题,而扫描时间很重要,例如对比度增强的体MRA或实时成像,分开的校准可能是优越的
  如果用较高的加速因子(例如R>=4),也应该选择分开的校准扫描。因为随加速因子增大,在总扫描时间中自校准扫描占据较高百分数。GRAPPA和AUTO-SMASH本身被限制到自动校准。这种情况,在ACS行数与扫描时间之间必须这种。更多的ACS行一般导致更好的图像质量,但要付出扫描时间长的代价


五、AUTO-SMASH和VD-AUTO-SMASH

  AUTO-SMASHSMASH改进的具有自校准功能的变型。SMASH扫描时,采R-1行,用于自动校准。
  以K空间测量行和附近缺失行构成一块(block)的话,AUTO-SMASH只有K空间中心一块的采样是满足奈奎斯特判据的,而(变密度)VD-AUTO-SMASH则在K空间中央区域有不止一块的采样时满足奈奎斯特判据。
  在VD-AUTO-SMASH中,采一组或多组额外的ACS行以改进拟合的精确性,得到更好的线性权重因子aj,p。同一个aj,p可用来计算填充缺失的K空间行。像对传统SMASH那样,代替用Km的正谐波合成缺失的行,可用Km+1的负谐波合成这些缺失的行,以尽量提高拟合的准确性
在这里插入图片描述

对于AUTO-SMASH的K空间采样机制

  实线表示测量的K空间行,小点线表示缺失的K空间行,在中间区域额外测量的奈奎斯特采样行(大点线)即ACS行用来确定合成缺失行(小点线)的权重因子,相位编码在竖直方向
  ((a)R=2,(b)R=3,©R=4)
  这些额外采集的ACS行是用传统相位编码梯度编码的,这些参考行SjACS和通常SMASH信号行之间的关系可用来确定线性权重因子aj,p


六、GRAPPA重建

  GRAPPAAUTO-SMASHVD-AUTO-SMASH基础上改进的一个并行成像方法。不是从单一测量行合成缺失的K空间行,而是从一组测量行来合成缺失的K空间行;而且在GRAPPA中,合成的是各个单线圈的K空间行,而不是对应全视野的复合的K空间行
  这一过程对阵列中的各线圈重复进行,产生Nc个单线圈像,然后 用传统平方和(SOS)重建拼合成一帧完整的终像,这样就有更好的拟合准确度更高的SNR
  平方和(SOS)算法被认为是在不知道各个相控阵线圈确切的灵敏度情况下最优的图像合成方法。但平方和算法对各个线圈图像采用相等的权重进行合成,同时 对外部噪声不能很好地抑制,导致得到的最终图像存在信号偏差信噪比低等问题。

在这里插入图片描述
  AUTO-SMASHVD-AUTO-SMASHK空间ACS行数据重建机制,从多线圈测量行数据合成全视野的符合校正行数据(此例中采集的4行数据用于拟合出覆盖全视野的复合数据)。
  GRAPPA假设是:一个单线圈的K空间中每个数据点都可用所有线圈的K空间邻近数据点的线性组合来代表,并且线性组合权重集在K空间位移不变
在这里插入图片描述
  GRAPPA的K空间ACS行数据重建机制,阵列中各个线圈中采集的多块测量行被拟合到阵列中一个单线圈中采集的ACS行(此例中采集的4行数据用于拟合进4号线圈中一个单ACS行,各个圈代表在单一单线圈中采集的数据行)。
  用多块测量的K空间行来合成缺失行时,考虑到附近行贡献的信号起支配作用,往往 根据待合成的行的位置来移动测量行块,被称为“滑动块重建”。

  因为各块测量行一般对缺失行给出不同的估计,而这一估计可用加权平均组合,以给出更高的SNR和更好的拟合为选择组合的判据。

  GRAPPA是一种基于K空间的重建算法,它以满足奈奎斯特采样定律要求的频率采集K空间中心数据作为自动校正数据(Auto-Calibration Signal,ACS),利用多通道K空间相邻的点线性相关性进行每个通道的K空间欠采样的填充,得到每个通道的全K空间,最后通过通道融合(SOS or ACC)得到最终的无卷褶图像。
  为重建K空间中缺失的行数据,需要 分两步进行。第一步是校准,即利用K空间中心附近全采样数据行对重建权重A进行校准;第二步是利用校准的A(具有K空间位移不变性)和已测量的行数据合成高K空间缺失的数据
在这里插入图片描述

如果4行用于合成缺失行(虚线),粗虚线行可用测量行(0,1,2,3),(1,2,3,4)来合成。额外行(粗黑)允许确定权重因子,相位编码在数值方向

在这里插入图片描述
  (a)GRAPPA数据采集方式。四线圈中每一个K空间数据都是每隔一相位编码行采一行,以加速采集(R=2)。在K空间中心额外采若干ACS行,以形成全采样校准区域(Ⅱ)。高K空间(Ⅰ)是欠采样的,降低因子R=2。
  (b)假定采样方式如(a)所示,由GRAPPA产生的重建权重A的空间表象。

  位移不变性指的是 无论物体在图像中的什么位置,卷积神经网络的识别结果都应该是一样的如果物体在图像中所处的位置,对于模型的预测结果不会产生任何影响,那么就可以说它具备了 位移不变性。因为CNN就是利用一个kernel在整幅图像上不断步进来完成卷积操作的,而且在这个过程中kernel的参数是共享的。这样一来理论上就具备位移不变性了(当然,受限于 步进跨度卷积核大小 等因素的影响,某些条件下CNN也可能会存在“漏”的情况)。

  目标点总数Nt对于重建来说代表训练例数目。一般来说,训练例数目越大,拟合过程越精确。采更多的ACS行用于增大可利用的训练例数,但以牺牲效率为代价。因为重建是位移不变的,校准可在沿Kx方向所有Nx位置进行,这就进一步增大了Nt。我们称这样的校准策略为“全宽度读出校准”。

  原始GRAPPA重建,校准和合成都是在K空间进行的,因此称为“K空间重建”,而且原始GRAPPA重建用的是K空间1D邻居重建。为了提高精度,也可以推广到K空间的2D邻居重建。而且由于系统的线性和FT的可分离性,GRAPPA也可等价地在混合空间(x,Ky)中进行,只要把数据沿Kx进行1DFT,就可以变换进混合空间(x,Kx)中进行,只要把数据沿Kx进行1DFT,就可以变换进混合空间。在混合空间重建时,校准和合成的所有步骤都保持不变,权重系数也一样。对于K空间1D邻居coil-by-coil重建,在混合空间并没有精度或效率优势。然而,推广到K空间2D邻居[Dy*dx]的coil-by-coil重建时,一般是具有精度优势。


七、SPACE RIP重建算法

  SPACE RIP算法把pMRI重建表示成一个矩阵求逆问题。这个算法要求很大的矩阵求逆,因此有 很长的重建时间。其优点是灵活度高任何K空间轨迹都适用线圈排列也可以是任意的
  图像中的各列是分别重建的假若图像有N行M列,则矩阵方程中x应取1-M个离散值,对应有M个这样的方程。要重建M列图像,需要对M个灵敏度相位编码矩阵求逆。这里的矩阵不必是方阵,对每一列必须计算其广义逆矩阵。相位编码步数F的选择影响重建质量。增大F导致矩阵的秩增大,产生的广义逆矩阵的条件数好,噪声放大的程度低,信噪比高,但代价是 重建计算量增大
  由于 SPACE RIP对线圈阵列排布的要求不苛刻,所以很适合3D并行采集。
在这里插入图片描述
  左边的项是有Nc* F个元素的矢量,对于所有Nc个线圈,包含F个相位编码值;最右边的项是代表一列元素的像的N元矢量;中间项是一个有Nc*F行和N列的矩阵,是基于灵敏度轮廓和所用的相位编码构成的。
  对于沿x轴各个位置解方程产生图像诸列的重建

  相控阵线圈敏感度值并行编码重建(SPACE RIP)技术的优势是可以灵活机动地选择K空间的相位编码位置重建出来图像较其他种并行成像算法有更少的混叠伪影


八、PILS重建算法

  PILS重建算法依据线圈灵敏度区域的中心位置y0和沿相位编码方向的局部成像视野yc的先验知识,在加速因子R小于线圈数Nc的条件下,相位编码步数Ny对于全FOV来说是不满足奈奎斯特判据的欠采样,然而 对于每个单元线圈覆盖的局部FOV来说是满足奈奎斯特判据的全采样

  阵列中各单元线圈采得的数据主要是由近区贡献的仅在局部区域做傅里叶变换可得到几乎无混叠伪影的局部图像然后按照平方和方法拼成全视野图像(剪刀方法)。这种算法很适合 **线圈灵敏度没有交叠**的情况,对于非直线K空间轨迹比如spiral扫描的并行成像数据重建,为最快的算法。

  在通过利用线圈灵敏度编码补充梯度编码来加速数据采集这一点上,几乎所有方法都是相同的在如何解决重建问题以产生最后无混叠图像这方面,则是不同的。基于线圈灵敏度如何从多通道数据被编码可分为两类,即基于物理的重建和基于数据驱动的重建:
  第一类pMRI方法包括要求线圈灵敏度函数的明晰的认识以分离混叠信号,比如SENSE、空间谐波同时采集SMASH、改进的SMASH、推广的SMASH、SPACE RIP、PILS、任意K空间轨迹SENSE等。称这类pMRI为“基于物理”的重建,因为其模型与图像采集期间发生的物理过程紧密相关。SENSE是最典型的基于物理的重建算法所有线圈灵敏度map必须明确地估计出来,因为要用这些map在图像域对图像进行解混叠。基于物理的pMRI方法所重建的图像容易遭受线圈灵敏度校准造成的伪影,比较普遍的校正误差源包括不足够的SNR、Gibbs跳动、运动伪影或受限的FOV。

  第二类pMRI方法不要求明晰的线圈灵敏度信息,而是用数据拟合方法通过计算邻近源数据来重建目标数据的线性组合权重,然后利用已测量的数据和这些相应的权重重建出缺失的K空间数据称这类方法为“数据驱动”重建,因为这些方法基于有限的底层物理过程知识,而依靠训练数据来校准输入(源)数据和输出(目标)之间的关系。这类方法包括AUTO-SMASH、VD-AUTO-SMASH、GRAPPA等,都属于数据驱动重建方法。其中GRAPPA执行coil-by-coil重建,提供了改进的图像质量。由于不要求线圈灵敏度map,coil-by-coil data-driven(CCDD)方法比基于物理的方法更优越,尤其对于精确的线圈灵敏度估计十分困难的情况。


九、PRUNO重建算法

  GRAPPA重建在低加速因子能产生很好的图像质量,而加速因子很高时其性能显著退化,除非强加大数目的自校准行(ACS)。而PRUTO是迭代K空间数据驱动pMRI重建算法,比GRAPPA更灵活
  在PRUNO中,数据校准和图像重建化为线性代数问题迭代共轭梯度算法有效地用于解重建方程,得到的图像质量比GRAPPA更高,而要求的ACS行并不很多,尤其在高加速因子更具优势
  来自所有接受通道的K空间样本本质上是线性相关的,这是灵敏度编码固有性质的一个结果。一旦非零系统矩阵N可以确定,可利用方程ND=0来求解pMRI重建问题,这就是该步骤被命名为PRUNO(parallel reconstruction using null operations)的理由
在这里插入图片描述
  所用加速因子R=2-6,为便于比较差像夸大了10倍,ACS数据也包括在内导致Reff<R。对于GRAPPA,在R=3-4时伪影已经明显可见;而对于PRUNO,只要R<6(Reff<4),图像质量都不错,而且误差(aliasing)分布均匀

  关于线圈灵敏度编码,有两个重要假设如下:
  假设1:所有灵敏度map都是带限的,在K空间总宽度为ws,因为线圈灵敏度map在性质上是平滑的,ws通常近似为一个合理的小数目
  假设2:总的灵敏度编码产生良好的正交性。即如果Nc>R,pMRI重建可处理为一个过定问题,并且K空间采样是比较均匀的(R是加速因子,Nc是线圈数)

  这里的N表示非零系统矩阵,其各行通过乘所有线圈的K空间样本而化为零。


十、UNFOLD算法

  UNFOLD方法应用于快扫描,类似于并行成像。但只可用于时间序列图像,采样K-t空间,例如功能成像系列、动态成像系列或多相心脏成像序列。UNFOLD用空间混叠以减少扫描时间,在这一点上类似于并行成像,但转换空间混叠为时间混叠,并用时间滤波器消除。

  与并行成像不同,UNFOLD不要求多线圈。但UNFOLD也可以与并行成像结合,进一步提高扫描速度或者降低伪影

相关文章:

【核磁共振成像】并行采集MRI

目录 一、并行成像二、SENSE重建三、SMASH重建四、灵敏度校准五、AUTO-SMASH和VD-AUTO-SMASH六、GRAPPA重建七、SPACE RIP重建算法八、PILS重建算法九、PRUNO重建算法十、UNFOLD算法 一、并行成像 并行MR成像(pMRI):相位阵列接受线圈不但各有自己专用的接受通道&#xff0c;而且…...

深度图相关评测网站

文章目录 1 单目/Stereo相关测评网站介绍12 单目/Stereo相关测评网站介绍23 单目/Stereo相关测评网站介绍3 1 单目/Stereo相关测评网站介绍1 https://vision.middlebury.edu/stereo/eval3/ 2 单目/Stereo相关测评网站介绍2 http://www.cvlibs.net/datasets/kitti/eval_stereo…...

本地部署 CodeLlama 并在 VSCode 中使用 CodeLlama

本地部署 CodeLlama 并在 VSCode 中使用 CodeLlama 1. CodeLlama 是什么2. CodeLlama Github 地址3. 下载 CodeLlama 模型4. 部署 CodeLlama5. 在 VSCode 中使用 CodeLlama6. 使用WSGI启动服务7. 创建 start.sh 启动脚本 1. CodeLlama 是什么 Code Llama 是一个基于 Llama 2 的…...

Agilent33220A任意波形发生器

20MHz正弦波和方波脉冲、斜披、三角波&#xff0c;噪声和直流波形14-bit,50MSa/s&#xff0c;64K点任意波形AM、FM、PM、FSK和PWM凋制线性和对数扫描及脉冲串模式10mVpp至10Vpp幅苗范围图形化界面可以对信号设置进行可视化验证通过USB、GPIB和LAN连接 性能优异的各种函数的波形…...

springboot第37集:kafka,mqtt,Netty,nginx,CentOS,Webpack

image.png binzookeeper-server-start.shconfigzookeeper.properties.png image.png image.png 消费 image.png image.png image.png image.png image.png image.png image.png image.png image.png Netty的优点有很多&#xff1a; API使用简单&#xff0c;学习成本低。功能强大…...

NVIDIA DLI 深度学习基础 答案 领取证书

最后一节作业是水果分类的任务&#xff0c;一共6类&#xff0c;使用之前学习的知识在代码段上进行填空。 加载ImageNet预训练的基础模型 from tensorflow import kerasbase_model keras.applications.VGG16(weights"imagenet",input_shape(224, 224, 3),include_t…...

axios模拟表单提交

axios默认是application/json方式提交&#xff0c;controller接收的时候必须以RequestBody的方式接收&#xff0c;有时候不太方便。如果axios以application/x-www-form-urlencoded方式提交数据&#xff0c;controller接收的时候只要保证名字应对类型正确即可。 前端代码&#…...

智安网络|探索物联网架构:构建连接物体与数字世界的桥梁

物联网是指通过互联网将各种物理设备与传感器连接在一起&#xff0c;实现相互通信和数据交换的网络系统。物联网架构是实现这一连接的基础和框架&#xff0c;它允许物体与数字世界之间的互动和协作。 一、物联网架构的概述 物联网架构是一种分层结构&#xff0c;它将物联网系…...

胡歌深夜发文:我对不起好多人

胡歌的微博又上了热搜。 8月29日01:18分&#xff0c;胡歌微博发文称&#xff1a;“我尽量保持冷静&#xff0c;我对不起好多人&#xff0c;我希望对得起这短暂的一生”&#xff0c;并配了一张自己胡子拉碴的图&#xff0c;右眼的伤疤清晰可见。 不少网友留言称“哥你又喝多了吗…...

C++二级题

数字放大 #include<iostream> #include<string.h> #include<stdio.h> #include<iomanip> #include<cmath> #include<bits/stdc.h> int a[2000][2000]; int b[2000]; char c[2000]; long long n; using namespace std; int main() {cin>…...

NetApp AFF A900:适用于数据中心的超级产品

NetApp AFF A900&#xff1a;适用于数据中心的超级产品 AFF A 系列中的 AFF A900 高端 NVMe 闪存存储功能强大、安全可靠、具有故障恢复能力&#xff0c;提供您为任务关键型企业级应用程序提供动力并保持数据始终可用且安全所需的一切。 产品功能与特性 AFF A900&#xff1a…...

入海排污口水质自动监测系统,助力把好入河入海“闸门”

随着经济社会的不断发展&#xff0c;污水的排放强度不断加大&#xff0c;大量的污水排入河流、湖泊和海洋中&#xff0c;造成了水体污染&#xff0c;严重影响着我国的用水安全、公众健康、经济发展与社会稳定。入河入海排污口是污染物进入河流和海洋的最后关口&#xff0c;也是…...

AUTOSAR知识点 之 ECUM (一):基础知识梳理(概念部分)

目录 1、概述 2、ECUM的工作状态 2.1、Startup状态 2.2、UP状态 2.3、RUN状态 2.4、SLEEP状态...

leetcode分类刷题:哈希表(Hash Table)(二、数组交集问题)

1、当需要快速判断某元素是否出现在序列中时&#xff0c;就要用到哈希表了。 2、本文针对的总结题型为给定两个及多个数组&#xff0c;求解它们的交集。接下来&#xff0c;按照由浅入深层层递进的顺序总结以下几道题目。 3、以下题目需要共同注意的是&#xff1a;对于两个数组&…...

[Mac软件]Adobe After Effects 2023 v23.5 中文苹果电脑版(支持M1)

After Effects是动画图形和视觉效果的行业标准。由运动设计师、平面设计师和视频编辑用于创建复杂的动画图形和视觉上吸引人的视频。 创建动画图形 使用预设样式为文本和图形添加动画效果&#xff0c;或逐帧调整它们。编辑、添加深度、制作动画或转换为可编辑的路径&#xff…...

范德波尔方程详细介绍与Python实现(附说明)

引言: 在研究真空管放大器的过程中,写下了一个振动微分方程。当时人们并没有混沌或是对初始条件敏感的概念。不过,当混沌理论有一定发展后,人们重新回顾这个方程时发现它其实是个混沌方程。当时,范德波尔在 Nature 杂志报告了基于这个微分方程的霓虹灯实验,发现当驱动信号…...

常用的GPT插件

0.简介 随着chatgpt爆火&#xff0c;这玩意并不对国内用户开放&#xff0c;如果想要使用的话还要需要进行翻墙以及国外手机号才能进行注册。 对于国内来说有很多国内免费的方法&#xff0c;这里就整理一下&#xff0c;方便大家开发 1. 网站类型 下面的网站无需注册即可免费…...

智慧校园用电安全解决方案

随着科技的不断发展&#xff0c;智慧校园建设逐渐成为了教育行业的一大趋势。在这个过程中&#xff0c;电力系统作为校园基础设施的重要组成部分&#xff0c;其安全、稳定、高效的运行显得尤为重要。下面小编来为大家介绍下智慧校园用电安全解决方案吧! 一、智慧校园电力系统现…...

【教程】DGL中的子图分区函数partition_graph讲解

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 目录 函数形式 函数作用 函数内容 函数入参 函数返参 使用示例 实际上官方的函数解释中就已经非常详细了。 函数形式 def partition_graph(g, graph_name, num_parts, out_path, num_hops1, part…...

关于layui table回显以及选择下一页时记住上一页数据的问题

代码如下 <div class"layui-form-item"><label class"layui-form-label">选择商品</label><div class"layui-input-inline"><input type"text" name"keyword" id"keyword" placehold…...

kafka消息系统实战

kafka是什么&#xff1f; 是一种高吞吐量的、分布式、发布、订阅、消息系统 1.导入maven坐标 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.4.1</version></dependency&…...

Kafka3.0.0版本——Leader故障处理细节原理

目录 一、服务器信息二、服务器基本信息及相关概念2.1、服务器基本信息2.2、LEO的概念2.3、HW的概念 三、Leader故障处理细节 一、服务器信息 三台服务器 原始服务器名称原始服务器ip节点centos7虚拟机1192.168.136.27broker0centos7虚拟机2192.168.136.28broker1centos7虚拟机…...

BI系统框架模型

一 技术架构 二 数据源 主数据 &#xff1a;组织|岗位|人员|大区|三大主数据&#xff08;客户、物料、供应商&#xff09;财务主数据&#xff08;科目|成本中心|利润中心|资产&#xff09;|工作中心|工艺路线 业务数据 &#xff1a;线索|业务机会|合同|订单|采购|生产|发…...

双向交错CCM图腾柱无桥单相PFC学习仿真与实现(3)硬件功能实现

前言 前面介绍了双向交错CCM图腾柱的系统设计仿真实现&#xff0c;仿真很理想 双向交错CCM图腾柱无桥单相PFC学习仿真与实现&#xff08;1&#xff09;系统问题分解_卡洛斯伊的博客-CSDN博客 然后又介绍了SOG锁相环仿真实现的原理 双向交错CCM图腾柱无桥单相PFC学习仿真与实…...

微软用 18 万行 Rust 重写了 Windows 内核

微软正在使用 Rust 编程语言重写其核心 Windows 库。 5 月 11 日——Azure 首席技术官 Mark Russinovich 表示&#xff0c;最新的 Windows 11 Insider Preview 版本是第一个包含内存安全编程语言 Rust 的版本。 “如果你参加了 Win11 Insider 环&#xff0c;你将在 Windows 内…...

word 调整列表缩进

word 调整列表缩进的一种方法&#xff0c;在试了其他方法无效后&#xff0c;按下图所示顺序处理&#xff0c;编号和文字之间的空白就没那么大了。 即右键word上方样式->点击修改格式->定义新编号格式->字体->取消勾选 “……对齐到网格”->确定...

nginx学习

一、nginx常用版本 Nginx开源版&#xff1a; http://nginx.org/ nginx plus商业版本&#xff08;好像功能支持更多&#xff09; https://www.nginx.com/ openresty &#xff08;免费&#xff0c;用的也是这个&#xff09; https://openresty.org/cn/ Tengine https://tengine.…...

python+TensorFlow实现人脸识别智能小程序的项目(包含TensorFlow版本与Pytorch版本)(一)

pythonTensorFlow实现人脸识别智能小程序的项目&#xff08;包含TensorFlow版本与Pytorch版本&#xff09;&#xff08;一&#xff09; 一&#xff1a;TensorFlow基础知识内容部分&#xff08;简明扼要&#xff0c;快速适应&#xff09;1、下载Cifar10数据集&#xff0c;并进行…...

ChatGPT怎么用于政府和公共服务?

将ChatGPT用于政府和公共服务领域是一种创新的应用方式&#xff0c;可以改善政府与公众之间的互动&#xff0c;提升公共服务的效率和质量。ChatGPT作为一个自然语言处理模型&#xff0c;可以在政府信息传递、公共参与、服务支持等方面发挥积极作用。以下将详细探讨ChatGPT如何用…...

dvwa文件上传通关及代码分析

文章目录 low等级medium等级high等级Impossible等级 low等级 查看源码&#xff1a; <?phpif( isset( $_POST[ Upload ] ) ) {// Where are we going to be writing to?$target_path DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";$target_path . basename( …...

数字孪生:重塑政府决策与公共服务

在之前的文章中为大家分享了数字孪生在很多行业的应用场景&#xff0c;本文和大家一起探讨一下数字孪生在政务管理方面能有哪些应用&#xff0c;以及其对公共服务提供的积极影响。 1&#xff09;城市规划方面 数字孪生技术可用于模拟城市的发展和规划。政府可以建立城市的虚拟…...

Leetcode:【448. 找到所有数组中消失的数字】题解

题目 给你一个含 n 个整数的数组 nums &#xff0c;其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字&#xff0c;并以数组的形式返回结果。 难度&#xff1a;简单 题目链接&#xff1a;448. 找到所有数组中消失的数字 示例1 输入&…...

2023年中,量子计算产业现状——

2023年上半年&#xff0c;量子计算&#xff08;QC&#xff09;领域取得了一系列重要进展和突破&#xff0c;显示出量子计算技术的快速发展和商业应用的不断拓展。在iCV TAnk近期发表的一篇报告中&#xff0c;团队从制度进步、产业生态、投融资形势、总结与展望四个方面对量子计…...

微信小程序智慧流调微信小程序设计与实现

摘 要 自从2020年新冠疫情爆发以来&#xff0c;对全国人民的健康和全国各地区的经济发展都带来了很大的影响&#xff0c;并且新冠肺炎对各个领域带来的影响还未完全消除。近三年以来&#xff0c;全国各地区多次爆发新的疫情&#xff0c;导致许多人被隔离&#xff0c;也导致全国…...

分布式集群框架——有关zookeeper的面试考点

3.掌握Zookeeper的概念 当涉及到大规模分布式系统的协调和管理时&#xff0c;Zookeeper是一个非常重要的工具。 1. 分布式协调服务&#xff1a;Zookeeper是一个分布式协调服务&#xff0c;它提供了一个高可用和高性能的环境&#xff0c;用于协调和同步分布式系统中的各个节点…...

Spring Cloud Gateway的快速使用

环境前置搭建Nacos&#xff1a;点击跳转 Spring Cloud Gateway Docs 新建gateway网关模块 pom.xml导入依赖 <!-- 网关 --> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifact…...

VSCode-C++环境配置+Cmake

文章目录 一、环境配置二、Win10 Cmake 一、环境配置 转载链接 二、Win10 Cmake 创建CMakeLists.txt cmake_minimum_required(VERSION 3.26) project(graph_algorithm)set(CMAKE_CXX_STANDARD 17)add_executable(main main.cppshared_variable.cpp )cmake . -G "MinGW…...

python爬虫14:总结

python爬虫14&#xff1a;总结 前言 ​ python实现网络爬虫非常简单&#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点&#xff0c;方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论&#xff0c;并不会对网站产生不好…...

扩散模型实战(八):微调扩散模型

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 扩散模型实战&#xff08;四&#xf…...

Android 全局控件属性设置

一 使用需求&#xff1a; 如 设置全局字体、全局文本属性设置 二 实现方式&#xff1a; 在App使用的主题中&#xff0c;添加属性及属性值 如给所有的文本设置属性,注释部分作用是设置应用全局字体 <style name"Theme.AppDemo" parent"Base.Theme.AppDemo&q…...

下面是实践百度飞桨上面的pm2.5分类项目_logistic regression相关

part1:数据的引入&#xff0c;和前一个linear regression基本是一样 part2:数据解析——也就是数据的“规格化” 首先&#xff0c;打算用dataMat[]和labelMat[]数据存储feature和label&#xff0c;并且文件变量fr 然后&#xff0c;是这个for line in fr.readlines()循环&#…...

阿里云误删Python后域yum报错解决方案

阿里云误删Python后域yum报错解决方案 1:找回所有依赖 这里依赖可能很多,也搞不清楚有哪些,建议买一台临时服务器,系统选择跟你当前的系统一致的,配置选最低就行 2:登录临时服务器,创建临时文件夹 mkdir /usr/local/yum-fix cd /usr/local/yum-fix3:查找并下载所有云依赖 r…...

unordered-------Hash

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——哈希表☂️<3>开发环境&#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;哈希是一种映射的思想&#xff0c;哈希表即使利用这种思想&#xff0c;…...

数据仓库总结

1.为什么要做数仓建模 数据仓库建模的目标是通过建模的方法更好的组织、存储数据&#xff0c;以便在性能、成本、效率和数据质量之间找到最佳平衡点。 当有了适合业务和基础数据存储环境的模型&#xff08;良好的数据模型&#xff09;&#xff0c;那么大数据就能获得以下好处&…...

hadoop学习:mapreduce入门案例二:统计学生成绩

这里相较于 wordcount&#xff0c;新的知识点在于学生实体类的编写以及使用 数据信息&#xff1a; 1. Student 实体类 import org.apache.hadoop.io.WritableComparable;import java.io.DataInput; import java.io.DataOutput; import java.io.IOException;public class Stude…...

自学TypeScript-基础、编译、类型

自学TypeScript-基础、编译、类型 TS 编译为 JS类型支持类型注解基础类型typeof 运算符高级类型class 类构造函数和实例方法继承可见性只读 类型兼容性交叉类型泛型泛型约束多个泛型泛型接口泛型类泛型工具 索引签名类型映射类型索引查询(访问)类型 类型声明文件 TypeScript 是…...

nginx配置https

1.安装nginx 安装完成后检查 nginx -V2.申请证书与上传 阿里云申请免费的证书 然后上传到某个目录 3.修改nginx配置 #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid …...

windows Etcd的安装与使用

一、简介 etcd是一个分布式一致性键值存储&#xff0c;其主要用于分布式系统的共享配置和服务发现。 etcd由Go语言编写 二、下载并安装 1.下载地址&#xff1a; https://github.com/coreos/etcd/releases 解压后的目录如下&#xff1a;其中etcd.exe是服务端&#xff0c;e…...

【py】为什么用 import tkinter 不能运行

为什么用 import tkinter 不能运行 ━━━━━━━━━━━━━━━━━━━━━━ 要显示一个信息框&#xff0c;为什么用 import tkinter 不能运行&#xff0c;改成from tkinter import messagebox 就可以运行了&#xff1f; 可能是因为您的代码中只使用了 messagebox 这个模…...

【深度学习】实验04 交叉验证

文章目录 交叉验证划分自定义划分K折交叉验证留一交叉验证留p交叉验证随机排列交叉验证分层K折交叉验证分层随机交叉验证 分割组 k-fold分割留一组分割留 P 组分割随机分割时间序列分割 交叉验证 # 导入相关库# 交叉验证所需函数 from sklearn.model_selection import train_t…...