不同时间尺度上的静息态脑动力学捕获人类行为习惯的不同方面

article/2025/10/3 4:41:44

将人类行为与静息态脑功能联系起来是系统神经科学的核心问题。特别是捕获不同类型行为要素的功能时间尺度在很大程度上仍未被探索。科学家们已研究过几分钟的分辨率下的静态功能连接(Functional Connectivity,FC)的行为相关性,但在几秒钟的分辨率下,FC动态指标的行为相关性仍不清楚。本文通过研究静息态fMRI和人类连接组项目(HCP)的58个表型度量指标,我们发现动态FC可以捕获基于任务的一些指标(例如,处理速度或流体智力的得分),而静态和动态FC都可以很好地解释自我报告的度量指标(例如,孤独或生活满意度)。此外,行为相关的动态FC产生于所有静息态网络之间的相互联系,而不是在网络内部或成对的网络之间。我们的发现为包含不同方面行为的认知过程的时间尺度研究提供了新线索。本文发表在NATURE COMMUNICATIONS杂志。

大脑活动在空间和时间上高度组织化,即使在静息状态下也是如此。这种内在的组织结构常用静息态功能连接(FC)来评估,而且已被证明可以捕获各种行为如认知与情绪的整合、对外部环境的监测、智力表现和与刺激无关思想的出现等。FC也被用作某些疾病的神经影像学标记物,包括阿尔茨海默症、重度抑郁症、帕金森症、精神分裂症和自闭症等。最近,大型神经影像集和行为数据集的出现使得FC行为对应物的进一步探索成为可能,表现为认知、情感、社会和人口统计学方面的复杂贡献。

但重要的是,所有这些研究都使用FC的静态度量值,只反映了整个神经成像记录的平均功能组织,而且通常运行至少几分钟。然而最新的研究表明,静息态下的大脑其功能连接网络以更快的时间尺度秒的级别变换。根据这个发现,人们提出了新的静息态功能连接的动态度量指标,并依次研究了它们的行为对应指标,并发现了这些指标与认知灵活性、药物使用和思想变化的联系。然而,FC的静态和动态度量指标的比较仅在某些特定的应用中被提及,如颞叶癫痫或进食行为的描述,不同时间尺度的功能交互中涌现出哪些行为的研究尚未进行。

我们使用一个测试数据集(N=419)和一个验证数据集(N=328)来研究这个问题,该数据集包括高分辨率的静息态功能磁共振成像(functional magnetic resonance imaging,fMRI)的时间序列和人类连接组(Human Connectome Project,HCP)中跨越认知、情感、社会和个性特征的58个行为度量指标。首先,我们比较了静态和动态FC捕获行为信息的程度。然后我们研究FC的行为相关性是否优先在网络内或网络间的连接上捕获。最后,我们检验静态和动态FC是否捕获了互补的行为信息。用静息态fMRI数据的一阶自回归(AR-1)模型来评估FC动力学。AR-1模型利用fMRI时间序列的时间顺序来捕获发生在几秒钟分辨率下的动态FC,而静态方法不受经典滑动窗口法的限制。然后使用方差成分模型将FC动态与58个行为指标联系起来。该模型已广泛用于全基因组复杂性状分析,最近还被用于研究性状的神经解剖学特征,如认知或临床测量。

我们发现动态FC专门捕获评估基于任务的行为度量指标,静态和动态FC都可以解释自我报告的度量指标。我们认为,这反映了相应行为实验涉及的功能过程的本质。一方面,基于任务的度量指标在时间尺度上以秒的级别参与认知过程,这可以被动态FC捕获。另一方面,自我报告的度量可能反映了在几秒钟内不太可能改变的类似特质的属性,因此静态FC中较长时间内平均的功能连接也能很好地解释。此外,我们的结果还表明基于任务表现的得分是由涉及多个静息态网络之间相互作用的全脑FC动力学定义的。总之,这些发现不仅提供了一个“任务-表现”的统计度量,而且为执行各种任务所涉及的认知过程的时间尺度提供了新的见解,从而也支持了近年来出现的"网络-大脑"范式。

结果

静态和动态FC对应的行为指标

我们使用来自419名无血缘关系的HCP中被试的数据来研究行为信息在静息态功能连接(Functional Connectivity,FC)的动态FC中的被捕获的程度,不仅仅是传统FC的静态度量。我们从HCP数据集中选取了58个行为测量指标,涵盖了认知、社会、情绪和人格特质(见附表2),并从中回归了年龄、性别、种族、教育和运动(平均FD)。附表2 HCP在过去工作中使用过的58项行为指标的列表

FC从HCP的静息态fMRI数据中估计。首先进行一般的预处理,然后划分为400个皮层感兴趣区域(ROIs)和19个皮层下感兴趣区域。通过对多次扫描得到的fMRI时间序列相关矩阵进行平均来计算每个被试静态功能连接。动态FC是从每个被试的连续试验中确定的AR-1模型中得到的。由于以下原因我们选择使用AR-1模型来表示FC动力学。首先,我们最近的研究表明,AR-1模型通过利用连续时间点之间的统计联系来捕获FC动态特征明显优于用同样的参数显式表示不同状态之间切换的隐马尔可夫模型。其次,通过fMRI时间序列的AR-1模型重现了脑网络动力学的层级结构。最后,同样利用的序列排序信息的滞后线程时间序列(尽管他们重点识别传播活动的时间序列,而不是连通性模式)被证明可以提供有意义的内在脑功能标记

使用方差成分模型研究FC与行为度量指标之间的联系。模型输入为(i)一个包含N = 419名被试的58个行为度量指标的矩阵和(ii)至少一个N×N矩阵,称为相似矩阵,用K表示,其第i,j项编码了受试者i和j的(静态或动态) FC之间的相似性。注意,静态FC矩阵是对称的,而动态FC矩阵是非对称的。该模型估计了FC变异性所解释的行为变异水平,包括所有行为度量指标的平均值以及每个行为度量指标的平均值。

动态FC捕获更多的行为信息。我们首先比较了静态和动态FC标记所解释的行为变异水平。为此,我们进行了两次多元方差成分模型的分析:一次使用编码静态FC模式的被试间相似性的相似矩阵,一次使用动态FC模式的相似性。

如图1a所示,在58个行为度量指标中,平均而言,动态FC标记比静态FC捕获了更多的行为变异(p= 8.31×10-4;双边t检验),图1b显示了8项度量的结果。其余50项HCP度量的结果见附图1。

图1 动态FC比静态FC能解释更多的行为差异。

a.对58项行为指标上平均,动态FC(蓝色, 37 %)比静态FC (红色,19 %)解释了更多的行为变异(p=8.31×10-4;双边t检验)。b.方差解释了8个代表性指标。其中,静态FC利用皮尔逊相关性,动态FC利用一阶自回归模型的系数矩阵。误差条表示标准差(SD)

附图1 58项HCP行为度量指标中50项结果的方差解释。

静态FC利用Pearson相关性,而动态FC利用一阶自回归模型的系数矩阵。误差条表示结果的标准差。

动态FC专门捕获基于任务的度量指标。即使动态FC比静态FC捕获了更多的行为信息,图1b的结果表明动态FC并不能更好地解释一些行为度量指标(例如,生命意义、孤独或压力知觉)。为了探究FC动态是否具体捕获了某些类型的行为度量指标,我们根据动态FC是否比静态FC解释更多的变异对58个HCP度量指标进行了排序。为此,我们重复了度量58个指标的过程,计算了每个度量指标的静态和动态FC解释的行为差异的58个t统计量,用T表示。t统计量的负值表明静态FC能更好地解释度量指标,而正值表示该行为度量指标可被动态FC更好解释,如图2a所示。 这一排序似乎在"任务表现"和"自我报告"的测量之间分出两类。一方面,第一类是使用被试在任务中的表现来评估特质的指标(例如,工作记忆、空间定向等),并在图2a中用绿色圆点标记。另一方面,"自我报告"的度量指标(图2a中的橙色点)依赖于对状态的主观评价(例如,孤独感、生活满意度等)。不属于这两类的指标没有被分类。我们发现动态FC更好地解释了基于任务-成绩的指标(p=1.75×10-3 ,图2c),而两种标记对自我报告指标的解释能力没有显著差异(图2b)。我们还发现,图2b,c中观察到的静态和动态可解释方差之差本身是非零的(p=3.62×10;双边t检验)。这种交互影响验证了图2c中观察到的差异与任务条件有关的结果,而不仅仅受图1a所示的影响。此外,图2c的结果使用基于任务的指标(附图3)的子类别进行了重现。总体而言,动态FC对行为度量指标较好的平均解释能力似乎是由其对基于任务度量指标解释能力的提高所导致的。

图2 在任务-表现度量中,动态FC比静态FC解释了更大的行为差异。

a行为指标是根据动态FC是否比静态FC解释了更多的变异而排序的。正的t统计量T表明动态FC比静态FC能解释更多的方差。任务-表现对应的行为度量指标用绿色圆点标记,自我报告测量用橙色圆点标记。

b自我报告测量中静态和动态FC解释的平均方差没有发现显著统计差异(p > 0.10,双边t检验)。

c动态FC在平均意义上能更好的解释任务表现的度量指标(p= 1.75×10-3 ;双边t检验)。误差条表示结果的标准差。

附图2 在58个HCP行为度量中,包括组合模型在内,其中50个指标的方差解释。静态FC利用Pearson相关性,而动态FC利用一阶自回归模型的系数矩阵。

误差条表示结果的标准差。结合静态和动态FC时解释的方差也被表示(深蓝色)。

行为相关的FC动力学产生于网络交互。脑网络之间的功能相互作用已被证明在执行任务和特征描述中发挥关键作用。我们测试静息态网络之间的相互作用对于从FC中提取行为信息是否也是至关重要的。为此,使用了与上述相同的模型,但相似度矩阵不是从整个静态或动态FC矩阵中计算的。相反,只使用了已知的静息态网络对应的FC矩阵的子块。换句话说,我们测试了行为变异性是如何在静息态网络连接模式的变异性中被捕获的。我们在7个皮层静息态网络中使用了共同的分区,包括皮层下区域,如图3所示。

静态和动态功能连接仅限于网络内或网络间,对几乎所有网络对的平均行为方差解释均在10%以下。并不奇怪,这低于全脑连接模式所解释的行为变异(静态FC为19% ,动态FC为37%),正如先前的研究结果所预测的那样,个体的FC指纹分布在整个大脑。更令人意想不到的是这种情况下FC动态似乎并没有比静态FC捕获更多的行为信息相反,平均而言,在所有网络间连接上(图3,无阴影示意图),静态功能连接比动态功能连接解释了更多的行为变异(p=8.31×10-3;双边t检验),而在网络内连接上没有发现统计上的显著差异(图3,阴影图)。

图3 在网络中,动态FC并没有比静态FC解释更多的行为变化。

a.行为差异由网络内(阴影图)和网络间(无阴影图)的静态和动态FC解释。使用7个皮层网络:视觉(VIS)、躯体运动(SM)、背侧注意(D-Att)、突显(Sal)、边缘(Lim)、额顶(FP)、默认网络(DMN)和19个皮层下区域(Sub)。b.网络内静态FC和网络间动态FC解释的行为方差无统计学差异。c.网络间静态FC比网络间动态FC 解释更多的行为方差(p = 8.31 × 10-3;双边t检验)。误差条表示结果的标准差

静态与动态FC的互补性检验。我们发现,平均而言动态FC比静态FC捕获了更多的行为信息(图1),尤其是对任务表现的度量(图2)。然而,这并不意味着静态FC没有捕获到除动态FC捕获信息之外的额外行为信息。为了检验这一点,我们使用了多元方差成分模型的一个改进版本,该模型使用了多个相似度矩阵,在我们的情况二中,即由静态和动态FC计算的相似度矩阵作为初始输入矩阵,并估计由这些相似度矩阵联合的行为方差水平。

结合静态和动态FC的平均行为方差如图4a中深蓝色所示。8个代表性指标的结果见图4b,其余50个指标的结果见附图2。图4a中,组合值明显高于静态FC(p=4.73×10-4 ;双边t检验),证实了动态FC包含了静态FC之上和之外的信息。然而,平均组合的结果与动态FC没有发现统计学差异(p> 0.10,详见附表1),这表明静态FC捕获的信息在很大程度上也被动态FC捕获。

图4 静态和动态FC结合并没有比单独使用动态FC捕获更多的行为变化。

a.使用静态FC (红色)、动态FC (浅蓝色)以及两者的组合(深蓝色)在58个行为指标中的平均可解释方差。b.方差解释了8个代表性指标。误差条表示结果的标准差

动态FC交互作用驱动捕获任务-表现型指标。我们研究哪些动态FC交互作用有助于与任务-表现的整体关联(图2c)。我们使用了定义在公式(2)中的方差分量模型的重新表述,该模型揭示了每对(子)网络之间的相互作用对总体可解释方差的相对贡献(补充方程(10)。结果见图5。可见,默认C区和额顶C区与皮层下区域都对动态FC与任务表现之间的关联贡献较大。

图5 动态FC交互作用对任务-表现的关联贡献最大。

网络及对应颜色同图3,子网络按照Schaefer等人划分的网络,如附图4所示。边的颜色由它们的节点位置定义,并且只显示在q=0.05水平上经过FDR校正的连接。

附图4 (左)两两ROI交互作用对任务-行为可解释方差的贡献。颜色对应图3和图5中使用的7-网络分块。(右)对应17-网络的子网络分割

附加条件的分析。我们进行了一系列的对照分析来评估初始实验中各种处理步骤的影响。更具体地说,我们测试了: (i)在方差分量模型中包括平均皮层灰质信号的方差作为协变量的影响。(ii)从未回归平均皮层灰质信号的fMRI时间序列中评估静态和动态FC矩阵(iii)将头部运动指标作为协变量加入方差分量模型(iv)从完整的(即未预处理的) fMRI时间序列中评估静态和动态FC矩阵(v)方差分量模型中考虑的行为指标的数量(vi)静态和动态FC对总体方差的相对贡献在联合方差分量模型中解释方差分量模型对这些变化似乎是稳健的,在每一种情况下,我们的主要研究结果都再现了(见附图10-12)。

附图10 在预处理设置不同变量的实验中再现了主要结论。

(A)原始实验的主要结果(B)将平均灰度信号的方差作为协变量时的主要结果。(C)未对fMRI时间序列进行灰度均值处理时,计算静态和动态功能连接矩阵的主要结果。(D)将头部运动指标(平均FWD、最大FWD)作为方差分量模型的协变量时的主要结果。(E)全体 fMRI时间序列计算静态和动态FC矩阵的主要结果。

附图11 方差分量模型考虑的维度数的影响。

(A)使用100个样本,在N个随机选择的维度上,平均可解释方差的平均值(直线)和标准差(虚线)。(B-C)在静态(B)和动态(C)情况下,使用N-1个其他随机选择的维度计算的所有个体维度的平均可解释方差。(D-F)使用N = 18 (虚线灰色线条)重复我们的主要结果。均值和标准差由100点估计值计算得到,而不是通过折刀法。误差条表示结果的标准差。

附图12 比较单个模型的可解释方差(每组的前两条)和组合模型的方差分布(每组的第3条)。

(A)平均超过58个行为指标。(B) 8项个体行为度量指标结果。误差条表示结果的标准差。

讨论

研究静息态功能组织如何与各种行为特征相联系是一个中枢神经影像学的研究问题。功能连接(FC)是评价这种组织的经典方法,最近的研究表明,利用FC的动态特性而不是经典的静态FC指标可以为解释不同时间尺度的大脑功能提供新的方法。在本研究中,我们旨在细化对FC动力学所捕获的行为信息的理解。为此,我们探讨了静息态静态和动态FC指标与涵盖认知、社会、情绪和人格特征的大量指标的相关程度。我们的研究首先表明,在超过58个选择的行为指标中,动态FC捕获的行为信息显著多于普通的静态FC。这证实了目前的发现,强调了静息态动态功能连接比静态功能连接在描述正念、疾病和饮食行为方面的优势。

有趣的是,在已知的静息态网络中,或者在成对网络之间,FC动力学并没有捕获比同一网络中静态FC更多的行为信息(图3)。例如,平均而言静态网络间FC解释了比动态网络间FC更多的行为变异。这些结果乍看起来似乎是和直觉相反的,表明由FC局部模式得到的相似性度量在静态和动态情况下并不是以相同的方式相互补充的。换句话说,动态FC在解释图1中观察到的行为信息方面的优势被编码在全局动态FC交互模式中。从方法学的角度来看,这也表明即使动态FC通过放宽与此度量相关的静态假设而使用比静态FC更丰富的统计信息,也不应该先验地、主观地认为是比静态FC更好的神经影像学标记。

在图2中,我们表明动态FC专门捕获任务中表现的指标,如工作记忆任务,而静态和动态FC同样很好地解释了自我报告的指标,如孤独感。这种额外的信息被发现分布在全局动态FC模式中,并且不局限于单一区域或网络(图3)。更确切地说,图5表明默认网络和额顶网络驱动来自其他网络的动态FC的整合。这与以前的研究结果一致,将这些区域定义为动态功能连接组的枢纽,并进一步支持了在任务执行过程中耦合默认网络和额顶活动的重要性

总的来说,这些研究结果支持了当下的研究成果,表明不同类型的指标,如疼痛、感知和警觉,都是在多个脑区之间的动态相互作用中被捕获的,而不是在单一网络内。然后,即使它们涉及到静息态网络之间的相互作用,我们的结果也反映了任务条件下网络相互作用的本质。事实上,任务的执行依赖于不同网络在更快时间尺度上的协调激活,而这可以被动态所捕获,并且这对静态FC来说是很难实现的。相反,自我报告的度量可被认为是类似于特质的属性,因此可以用静态FC来解释。研究结果还表明,简单任务呈现分离的激活模式,而涉及多个认知过程的复杂任务(例如,工作记忆或视觉空间注意)需要多个内在网络的整合激活,并激活如连接枢纽的灵活脑区。假设任务-表现指标比自我报告的指标捕获了更复杂的行为特征,正如上文所定义的那样,似乎并不是不合理的,任务-表现指标是指被试在经常涉及多个或协调行动的测试中达到高分。更一般地,这些结果构成了支持近年来兴起的"网络大脑"范式的有力证据。该范式本质上将大脑视为一个产生复杂时空活动模式的多尺度网络,而不是具有局部特异性的神经元群体的集合。

动态FC似乎比静态FC捕捉到更复杂的网络相互作用,这也得到了FC与潜在的大脑解剖结构或结构连接(SC)之间联系的支持。由于静态FC更接近SC,因此动态FC库也捕获了来自SC的游移,表现为更高的效率和更低的模块度。这些在动态FC中编码的模块化组织的波动被证明在不同的时间尺度上运行,并支持静息态网络的周期性耦合,可能构成了意识的特征,并允许更有效的神经元信息传递。

其他研究表明,与静态相比,任务期间动态FC变异性的振幅降低。结合图2和图3的结果,表明基于任务的行为指标是由静息态的动态FC专门捕获的,我们可能假设存在一个静息态的"动态库",它定义了任务表现。这种由动态FC编码的动态库,而不是如图4所示的简单的静态FC,来自涉及多个内在网络的高度集成连接。因此,我们也可以将这种动态连接性结构解释为人类连接组进化的标志,即倾向于获得高效的组织来执行复杂的任务。

图2中提出的行为指标的“二分类法”目的是研究静态和捕获了不同的行为属性动态FC之间的统计差异。这种“二分类法”存在一定的局限性。首先,在所提出的两个类别中,"任务表现"或"自我报告"中的行为指标的分类并不是那么简单的。例如,“滞后思考”任务的指标没有被分类,因为人们可以认为它既不是与一个感知真理相关联的表现也不是像工作记忆任务等经典任务一样最佳分数相关的指标。同样其他类似指标(握力、气味识别、步行速度、对比敏感度、味觉强度、步行耐力)也没有被分类 (附表2)。然而,我们注意到,将这些指标分为一类或两类并没有明显改变图2中的结果。也就是说,只考虑两类行为指标忽略了行为的多因素性质,所以行为指标的组合也可以使用其他分类标准,如遗传特征和精神状态或内在和外在。

根据系统理论文献,我们将BOLD时间序列的AR模型称为"动态的"。这一命名的出发点在于,考虑到时间序列中存在的记忆性(如xt取决于xt-1),这类模型能够比无记忆的(或'静态',遵循相同的命名规则)模型更好地再现多元时间序列中的经验波动。AR模型也被用来计算塑造静息态脑功能的主导动态模式。总体而言,该模型可以被看作是一种简洁的方法来概括BOLD和由时变模型直接导出的FC时间序列的时间波动。

总结:

总之,静态FC提供了大脑功能在几分钟内的平均度量。这是一种过度简化,我们提出了新的动态FC捕获大脑功能在几秒钟内的时间变化。虽然这些新的度量被证明可以捕获fMRI数据的更多统计特性,但它们在静态FC之上和之外的行为相关性仍然不清楚。在这里,我们使用747名HCP被试和58个行为度量指标表明功能连接动力学通过利用多重网络交互中编码的动态信息来专门捕获基于任务表现的指标。相反,自我报告的指标可同时被静态和动态FC捕获。总的来说,我们相信我们的工作为更好地描述塑造人类行为各个方面的认知过程开辟了未来的可能性。

补充:方法部分:

数据及预处理

我们使用了HCP中1200名被试的数据,包括结构MRI、静息态功能MRI和来自兄弟姐妹群体中比较年轻(年龄22-35岁)和健康参与者的行为指标。所有成像数据均在3-T Siemens Skyra扫描仪上采集多波段序列。功能图像的时间分辨率为0.72 s,空间分辨率为2 mm,而结构图像的空间分辨率为0.7 mm。每个被试可得到4个14.4 min(1200帧)的函数时间序列。静息态fMRI数据采用多模态表面匹配方法将静息态fMRI数据投影到fs _ LR表面空间( MSM- All.皮层和皮层下数据均使用ICA-FIX方法进行处理,并以CIFTI灰度格式保存。该过程包括24个运动相关参数的回归(6个经典运动参数,它们的导数,以及这12个参数的平方))。然后移除FD>0.2 mm或DVARS>75处的信息,以及这些位置之前的一帧和后的两帧。回归线性和平均皮层灰质信号并舍去删除的帧来计算回归系数。进行平均皮层灰度信号回归,以加强FC指标和行为指标之间的联系

然而,我们注意到未回归平均皮层灰质信号也得到了类似的结论(附图10)。最后,将fMRI时间序列分割成419个感兴趣区域(region of interest,ROI),包括Freesurfer定义的400个皮层区域和19个皮层下区域。每个受试者的静态功能连接是基于pearson相关矩阵获得的,这些相关矩阵是由每个试验的未删除任何信息所计算的,都经过Fisher-z变换、平均和变换回r空间。动态功能连接由fMRI时间序列的一阶自回归表示的模型参数估计:

我们选取了58个行为指标,包括认知、社会、情绪和人格特质(附表2)。这些指标包括来自NIH Toolbox的指标和一些著名的非NIH指标(例如,NEO-FFI)。如果没有明确属于"任务-表现"、"自我报告"两个类别之一,则将这些指标分为"未分类"。

在HCP的1200名被试中,1029名被试在预处理后至少有一次实验的数据未被丢弃。剔除部分行为指标条目缺失或有问题的被试,数据集进一步缩减为419个家庭的953名被试。为了避免遗传和环境因素的影响,我们保留每个家庭的第一个被试,最终得到N = 419个不相关的被试。在用于初始集的419个家庭中,有91个家庭只包含一名被试,因此在构建包含328个被试的重复实验时舍弃了这些家庭。

方差分量模型

我们从58个指标中回归了年龄、性别、种族、教育和运动(平均FD),然后进行了分位数标准化。我们采用Ge等人提出的多变量方差成分模型将功能连接和行为指标联系起来:

然后使用Jackknife方法计算静态或动态FC解释的行为方差的平均值和标准差(SD)。重要的是,从式(5)可以看出,"delete-1"估计的SD并不是图1-4中误差条表示行为方差的SD。更准确地说,delete-1估计的标准差比被解释方差的标准差小得多。这是因为delete-1估计值是由除一个被试外的所有共享(N-1)大小的子集计算得到的,因此delete-1估计值彼此接近。在(5)式中考虑了这种冗余来计算解释方差的标准差。由于这些原因,delete-1估计值不能作为点叠加到图1-4所示的柱形图上。首先,缩小的范围会使点难以可视化。第二,正如上面详细介绍的,我们的条形图的误差条表示估计的解释方差的标准差,不代表delete-1估计值的标准差。因此,将被解释方差(图中的误差条)的delete-1估计和SD估计都画出来会产生误导,因为它们只是通过(5)式间接相关。


http://chatgpt.dhexx.cn/article/qN5MGAQf.shtml

相关文章

Fabric链码入门案例(go语言版本)

在Fabric中,新的链码类要重新实现Init()和Invoke()这2个方法。这里以fabone.go为例,Fabric版本为 v1.4.0,进行说明。 Fabric GitHub官网 Fabric v1.4.0源码下载 1、定义一个空类 type HelloChainCode struct {}2、重写Init()方法 实现链码…

fabric链码安装失败

chaincode install failed with status: 500 - error in simulation: failed to execute transaction 233fe94f75fc7a6614e08de88b9d262de4f65a73b8f66f7de48b4b698e48e6b6: error sending: timeout expired while executing transaction 链码安装失败,状态&#x…

Fabric 2.2.0 链码交互

根据fabric 官方文档记录https://hyperledger-fabric.readthedocs.io/en/release-2.2/write_first_app.html https://hyperledger-fabric.readthedocs.io/en/release-2.2/test_network.html 1.在test-network目录进行操作 将二进制文件(fabric-samples/bin/目录下)添加到CLI路…

freeman链码

参考链接:https://baike.baidu.com/item/%E9%93%BE%E7%A0%81/4272744?fraladdin 链码(又称为freeman码)是用曲线起始点的坐标和边界点方向代码来描述曲线或边界的方法,常被用来在图像处理、计算机图形学、模式识别等领域中表示曲…

使用go语言开发部署链码

使用go语言开发部署链码 需要提前部署好测试网络,以下安装操作是基于测试网络的安装,fabric版本为2.4.1 注ps:链码在go版本1.13环境下会出问题,本文是在1.18环境下执行的,可以自行升级版本 第一步编写go链码 packag…

【fabric】部署链码

链码开发好后 参考文章:https://blog.csdn.net/taifei/article/details/85234632 1:启动网络后,查看容器 docker ps -a 部署链码是在cli容器里面。第一步我们可以先查看一下cli有没有成功启动,他的ID是什么。后续可以通过ID或者名字进入容器…

fabric2.0 概念,链码和私有数据

1.智能合约和链码 管理员将相关智能合约组织起来用于部署–链码。 智能合约中存储各方交易的业务模型,定义了术语、处理流程等。利用区块链可以将智能合约转换为可执行程序。应用通过调用智能合约来产生交易与在账本进行记录。使用智能合约可以实现自动化&#xf…

matlab计算图片链码,MATLAB--数字图像处理 计算图像链码及其相似多边形

题目 计算下面图像 边界阶数为20的形状数及其相应的近似多边形 在这里插入图片描述 概念 形状数:链码的最小一阶差分码 简单说来求形状数就是:先求出图像的链码 ,再求其一阶差分码,最后找一阶差分码的最小值 在这里插入图片描述 在…

链码的打包与升级

目录 1、链码的打包与签名 ​编辑 对链码的签名 1、安装已经添加签名的链码 2、安装成功之后进行链码的实例化操作,同时指定其背书策略 测试 1、查询链码 2、调用链码 3、查询链码 链码的升级 1、安装链码 2、升级链码 3、测试 1、查询 2、调用 3、…

fabric链码的编写-入门

链码的编写 前言:fabric链码的编写较简单,在熟悉了基本结构和相关API之后就可上手编写,但是要多多练习,提高编写链码的速度和正确度。 学习步骤: 1.熟悉链码的基本结构 2.熟练链码相关API 3.练习,练习&#xff0c…

Hyperledger Fabric 链码

懂哪写哪,随时补充 链码结构 链码API 链码在开发过程中需要实现链码接口,交易的类型决定了哪个接口函数将会被调用,链码的接口定义如下: type Chaincode interface {Init(stub ChaincodeStubInterface) pb.ResponseInvoke(stu…

fabric2.3链码对比1.4链码小记

最近实验室的项目要部署到fabric2.0以上版本,之前写的都是1.4的链码,现在看2.0版本的链码还是有些不一样的,主要是链码api改了: 前提:如果想在fabric2.0以上环境中还是想用shim和peerAPI的话:也就是&#…

Hyperledger Fabric 链码生命周期

目录 一、什么是链码 二、部署链码 2.1 安装和定义链码 2.1.1 打包智能合约 2.1.2 peer节点安装链码 2.1.3 组织批准链码 2.1.4 将链码提交到通道 2.2 升级链码 总结 一、什么是链码 ChainCode(链码)是一个程序,用Go、Node.js或Java编…

matlab freeman链码,对Freeman链码分析的角点检测算法

图像中的角点是图像的重要特征, 具有旋转不变性, 决定了图像形状, 可以降低图像信息的存储效率, 在目标跟踪, 目标检测, 图像匹配, 图像轮廓拟合等领域都有重要的应用价值. 近几十年来, 国内外学者提出的图像角点检测算法[, 各有各的优缺点, 大致可分为三大类: 基于灰度强度的角…

Fabric链码升级

一、修改链码,上传 二、打包链码 1、设置组织1环境变量 export PATH${PWD}/../bin:$PATH export FABRIC_CFG_PATH$PWD/../config/ # Environment variables for Org1 export CORE_PEER_TLS_ENABLEDtrue export CORE_PEER_LOCALMSPID"Org1MSP" export C…

图像特征-链码(Freeman code)

目录 引言链码编程实现轮廓提取链码计算 总结 引言 本文介绍了图像的形状特征–链码,以及通过python和opencv实现的链码提取方法。所有opencv的版本为3.4.2,已经移除了直接返回链码的选项。 链码 链码用于描述图像的形状特征,首先需要获得图像…

Java知识扫盲——向上转型(类向上转型、接口向上转型)以及向上转型的优势、灵活运用

目录 普通类示例 抽象类的向上转型, 接口向上转型: 作用:使用向上转型可以,提高代码的简洁性、灵活性、适用性。 普通类示例 父类: package 普通类向上转型;public class Father {public int age 48;public void…

java 向上转换_java的向上转型总结

在《think of java》中对向上转型有着如下的描述 看完之后很蒙圈,所以自己在网上找了一些描述,并自己做了简单的总结 简单的例子 class A{ public void A1(){ System.out.println("父类方法1"); } public void A2(){ System.out.println("…

JAVA中多态以及向上转型向下转型、重写的讲解

重写 重写(override):也称为覆盖。重写是子类对父类非静态、非private修饰,非final修饰,非构造方法等的实现过程 进行重新编写, 注意!!!返回值和形参都不能改变。 重写的好处在于子类可以根据需要&#x…

JAVA中的向上转型和向下转型

一、向上转型和向下转型 向上转型和向下转型是在JAVA继承操作中用到的东西,在讲到转型之前我们需要认识到继承过程中的对象类型转换,这种转换有两个特点: 1.这是继承过程中发生的操作 2.新类是现有类的一种类型。这种说法主要是因为现有类的方…