zjb.main.manager.project.Project#

class zjb.main.manager.project.Project(**traits)[源代码]#

项目类,用于管理和组织与工作空间中项目相关的所有元素,如子项目、被试、DTB模型、DTB等。

name#

项目的名称。

Type:

Str

parent#

父项目的引用。

Type:

ProjectInstance

children#

子项目列表。

Type:

List(ProjectInstance)

subjects#

项目中包含的被试列表。

Type:

List(Instance(Subject))

models#

项目中包含的DTB模型列表。

Type:

List(Instance(DTBModel))

dtbs#

项目中包含的DTB列表。

Type:

List(Instance(DTB))

data#

项目中包含的其他数据,入分析结果等

Type:

List

add_dtb(name: str, subject: Subject, model: DTBModel, connectivity: SpaceCorrelation, **kwargs: Any) DTB[源代码]#

新建并添加一个DTB

参数:
  • name (str) – DTB名称

  • subject (Subject) – DTB关联的被试

  • model (DTBModel) – DTB所用的模型

  • connectivity (SpaceCorrelation) – DTB所用的连接矩阵

  • **kwargs (Any) – DTB的其他特征

返回:

新建并添加的DTB实例

返回类型:

DTB

add_model(name: str, atlas: Atlas, dynamics: DynamicsModel, monitors: list[Monitor] | None = None, **kwargs: Any) DTBModel[源代码]#

新建并添加一个DTB模型

参数:
  • name (str) – 模型名

  • atlas (Atlas) – 模型所用的图谱

  • dynamics (DynamicsModel) – 模型所用的动力学

  • monitors (list[Monitor] | None, optional) – 模型输出结果的监测器列表, None表示使用默认的监测器, by default None

  • **kwargs (Any) – DTB模型的其他特征

返回:

新建并添加的DTB模型实例

返回类型:

DTBModel

add_project(name: str, **kwargs: Any) Project[源代码]#

新建并添加一个子项目

参数:
  • name (str) – 子项目名

  • **kwargs (Any) – 子项目的其他特征

返回:

新建并添加的子项目实例

返回类型:

Project

add_subject(name: str, **kwargs: Any) Subject[源代码]#

新建并添加一个被试

参数:
  • name (str) – 被试名

  • **kwargs (Any) – 被是的其他特征

返回:

新建并添加的被试实例

返回类型:

Subject

available_dtbs() list[DTB][源代码]#

列出项目中所有可用的数字孪生脑(包括父项目中的可用数字孪生脑)

返回:

可用数字孪生脑列表

返回类型:

list[DTB]

available_models() list[DTBModel][源代码]#

列出项目中所有可用的DTB模型(包括父项目中的可用DTB模型)

返回:

可用DTB模型列表

返回类型:

list[DTBModel]

available_subjects() list[Subject][源代码]#

列出项目中所有可用的被试(包括父项目中的可用被试)

返回:

可用被试列表

返回类型:

list[Subject]

remove_dtb(dtb: DTB)[源代码]#

移除一个DTB

参数:

dtb (DTB) – 要移除的DTB

抛出:

ValueError – 要移除的DTB不属于本项目

remove_model(model: DTBModel)[源代码]#

移除一个DTB模型

参数:

model (DTBModel) – 要移除的DTB模型

抛出:

ValueError – 要移除的DTB模型不属于本项目

remove_project(project: Project)[源代码]#

移除一个子项目

参数:

project (Project) – 要移除的项目

抛出:

ValueError – 要移除的项目不属于本项目

remove_subject(subject: Subject)[源代码]#

移除一个被试

参数:

subject (Subject) – 要移除的被试

抛出:

ValueError – 要移除的被试不属于本项目

unbind()[源代码]#

解除项目与其子元素的绑定关系