schema

datamodel.schema

Classes

Name Description
Aggregation Specifies how to aggregate values across a dimension. Used for loss functions to define per-element loss with
AggregationType How to aggregate time series data
Algorithm A complete specification of an iterative parameter tuning algorithm. Combines update rules, objectives,
AlgorithmInclude Reference to an included algorithm with optional argument overrides. Allows combining algorithms with different
Argument A function argument with explicit value specification. Value can be: literal (number/string), reference to input
BidsEntities BIDS filename entities (BEP017-aligned) for provenance and data discovery. Reusable on Network, BrainAtlas,
BrainAtlas A schema for representing a version of a brain atlas.
BrainRegionSeries A series whose values represent latitude
BranchSwitch Specification for switching from a detected bifurcation point to a new branch (periodic orbits from Hopf, fold
ClassReference Reference to a class that can be instantiated and called. Used for external library classes (e.g., tvboptim.Bold,
ClinicalImprovement Relative improvement on a defined clinical score.
ClinicalScale A clinical assessment inventory or structured scale composed of multiple scores or items.
ClinicalScore Metadata about a clinical score or scale.
CommonCoordinateSpace A schema for representing a version of a common coordinate space.
ConditionalBlock A single condition and its corresponding equation segment.
Contact Individual contact on a DBS electrode.
Continuation Complete specification of a numerical continuation / bifurcation analysis. All universal solver settings live
ContinuationAlgorithm Predictor-corrector algorithm for numerical continuation.
Coordinate A 3D coordinate with X, Y, Z values.
CouplingInput Specification of a coupling input channel for multi-coupling dynamics
DBSProtocol A protocol describing DBS therapy, potentially bilateral or multi-lead.
DataSource Specification for loading external/empirical data.
Dataset Collection of data related to a specific DBS study.
DerivedObservation Observation derived from one or more other observations. Examples: - fc (from bold) - single source transformation
DimensionType Dimensions along which operations can be applied
Discretization Discretization method for boundary value problems in continuation (periodic orbits, connecting orbits,
Distribution A probability distribution for sampling parameters or initial conditions. Standard distributions (Uniform,
EField Simulated electric field from DBS modeling.
Edge An edge in a network. Two modes: explicit (source+target set, scalar parameters in YAML) or template (no
Electrode Implanted DBS electrode and contact geometry.
Event A discrete or continuous event that modifies the system during simulation. Generalizes Stimulus: can represent
EventType Type of event triggering mechanism.
ExecutionConfig Configuration for computational execution (parallelization, precision, hardware).
Exploration Parameter space exploration (grid search, sweep).
Function A function with explicit input -> transformation -> output flow. Can be equation-based (symbolic) or
FunctionCall Invocation of a function in a pipeline. Can reference a defined Function by name, OR inline a callable directly
GraphGenerator Backend-agnostic graph generator specification. Captures the mathematical family (type) and its parameters so that
InitialState How to obtain the starting equilibrium or periodic orbit for continuation. Most robust: time-integrate to steady
InitialStateMethod Strategy for obtaining the starting equilibrium or periodic orbit.
Integrator Fixed-step or adaptive ODE integrator with TVB-specific extensions (noise, transient time, etc.). Inherits
LossFunction A loss function for optimization with optional aggregation. Extends Function with aggregation specification for
Matrix Adjacency matrix of a network.
ModelType Coarse classification of a Dynamics model by its mathematical/biological origin. Used for filtering and display in
Network Network specification with nodes, edges, and reusable coupling configurations. Supports both explicit node/edge
Node A node in a network with its own dynamics and properties
NumericalDiscretizationMethod Numerical discretization method for boundary value problems (periodic orbits, connecting orbits, quasi-periodic
Observation Unified class for all observation/measurement specifications. Covers monitors (BOLD, EEG), tuning observables, and
Optimization Configuration for parameter optimization. Inherits single-stage fields from OptimizationStage. For multi-stage
OptimizationStage A single stage in a multi-stage optimization workflow. Stages run sequentially, with each stage potentially using
Option A toolkit-specific key-value option (string name + string value). Used for backend settings that are not universal
PDE Partial differential equation problem definition.
ParcellationEntity A schema for representing a parcellation entity, which is an anatomical location or study target.
ParcellationTerminology A schema for representing a parcellation terminology, which consists of parcellation entities.
PhysicalDimension Physical dimension categories for LEMS and dimensional analysis. Each dimension decomposes into SI base dimensions
Provenance W3C PROV-O aligned provenance. Reusable on any entity (Network, TimeSeries, Dynamics, etc.).
Range Specifies a range for array generation, parameter bounds, or grid exploration.
ReductionType Operations for reducing/aggregating values across dimensions
RegionMapping Maps vertices to parent regions for hierarchical/aggregated coupling
SamplingAxis Dimension along which a distribution is sampled.
SoftwarePackage Identity information about a software package independent of a specific version requirement.
Solver Lightweight specification of a numerical ODE solver / integrator. Covers adaptive solvers (Vern9, Rodas5, Tsit5,
SpecimenEnum A set of permissible types for specimens used in brain atlas creation.
StandardGraphType Well-known graph generator families with automatic backend mapping. The type field on GraphGenerator is a free
StateValue A named state variable value for per-node initialization.
StimulationSetting DBS parameters for a specific session.
Subject Human or animal subject receiving DBS.
TimeSeries Time series data from simulations or measurements. Supports BIDS-compatible export for computational modeling
Tractogram Reference to tractography/diffusion MRI data used to derive structural connectivity
TuningObjective Defines what the tuning algorithm optimizes for. Can be an activity target (FIC) or a connectivity target (EIB).
UnitEnum Physical units of measurement for model parameters, state variables, and integration settings. Uses conventional
UpdateRule Defines how a parameter is updated based on observables. Represents iterative learning rules like FIC or EIB

Aggregation

datamodel.schema.Aggregation(over=None, type='mean')

Specifies how to aggregate values across a dimension. Used for loss functions to define per-element loss with reduction.

AggregationType

datamodel.schema.AggregationType()

How to aggregate time series data

Algorithm

datamodel.schema.Algorithm(
    name=None,
    description=None,
    execution=None,
    type=None,
    includes=empty_list(),
    objective=None,
    observations=empty_list(),
    update_rules=empty_dict(),
    hyperparameters=empty_dict(),
    learning_rate=None,
    learning_rate_warmup=False,
    n_iterations=None,
    learning_rate_schedule=None,
    simulation_period=None,
    apply_every=1,
    functions=empty_list(),
    depends_on=empty_list(),
)

A complete specification of an iterative parameter tuning algorithm. Combines update rules, objectives, observations, and hyperparameters.

AlgorithmInclude

datamodel.schema.AlgorithmInclude(algorithm=None, arguments=empty_dict())

Reference to an included algorithm with optional argument overrides. Allows combining algorithms with different hyperparameter values.

Argument

datamodel.schema.Argument(name=None, description=None, value=None, unit=None)

A function argument with explicit value specification. Value can be: literal (number/string), reference to input (input.key), or cross-observation reference (observation_name.output_key).

BidsEntities

datamodel.schema.BidsEntities(
    template=None,
    cohort=None,
    reconstruction=None,
    segmentation=None,
    scale=None,
    atlas=None,
    acquisition=None,
)

BIDS filename entities (BEP017-aligned) for provenance and data discovery. Reusable on Network, BrainAtlas, Tractogram, or any dataset with BIDS-conformant naming.

BrainAtlas

datamodel.schema.BrainAtlas(
    name=None,
    coordinateSpace=None,
    abbreviation=None,
    author=empty_list(),
    isVersionOf=None,
    versionIdentifier=None,
    terminology=None,
)

A schema for representing a version of a brain atlas.

BrainRegionSeries

datamodel.schema.BrainRegionSeries(values=empty_list())

A series whose values represent latitude

BranchSwitch

datamodel.schema.BranchSwitch(
    name=None,
    description=None,
    parameters=empty_dict(),
    source_point=None,
    delta_p=None,
    continuation=None,
    discretization=None,
    bothside=None,
    options=empty_dict(),
)

Specification for switching from a detected bifurcation point to a new branch (periodic orbits from Hopf, fold continuation, etc.). Each BranchSwitch says: “from which special point on the parent branch, continue what kind of object, with what settings.” Override parent solver settings via the inline continuation field — only explicitly set attributes take effect; everything else is inherited from the parent Continuation.

ClassReference

datamodel.schema.ClassReference(
    name=None,
    description=None,
    module=None,
    software=None,
    constructor_args=empty_dict(),
    call_args=empty_dict(),
    warmup_source=None,
)

Reference to a class that can be instantiated and called. Used for external library classes (e.g., tvboptim.Bold, custom monitors). The class is instantiated with constructor_args, then called with call_args. Generalizable pattern: works for tvboptim, TVB, or any Python class.

ClinicalImprovement

datamodel.schema.ClinicalImprovement(
    score=None,
    baseline_value=None,
    absolute_value=None,
    percent_change=None,
    time_post_surgery=None,
    evaluator=None,
    timepoint=None,
)

Relative improvement on a defined clinical score.

ClinicalScale

datamodel.schema.ClinicalScale(
    acronym=None,
    name=None,
    version=None,
    domain=None,
    reference=None,
)

A clinical assessment inventory or structured scale composed of multiple scores or items.

ClinicalScore

datamodel.schema.ClinicalScore(
    acronym=None,
    name=None,
    description=None,
    domain=None,
    reference=None,
    scale=None,
    parent_score=None,
)

Metadata about a clinical score or scale.

CommonCoordinateSpace

datamodel.schema.CommonCoordinateSpace(
    name=None,
    abbreviation=None,
    unit=None,
    license=None,
    anatomicalAxesOrientation=None,
    axesOrigin=None,
    nativeUnit=None,
    defaultImage=empty_list(),
)

A schema for representing a version of a common coordinate space.

ConditionalBlock

datamodel.schema.ConditionalBlock(condition=None, expression=None)

A single condition and its corresponding equation segment.

Contact

datamodel.schema.Contact(contact_id=None, coordinate=None, label=None)

Individual contact on a DBS electrode.

Continuation

datamodel.schema.Continuation(
    name=None,
    label=None,
    description=None,
    dynamics=None,
    free_parameters=empty_dict(),
    ds=None,
    ds_min=None,
    ds_max=None,
    max_steps=None,
    newton_tol=None,
    newton_max_iterations=None,
    nev=None,
    tol_stability=None,
    detect_bifurcation=None,
    detect_fold=None,
    n_inversion=None,
    max_bisection_steps=None,
    algorithm='PALC',
    initial_state=None,
    branches=empty_dict(),
    bothside=None,
    execution=None,
    software=None,
    options=empty_dict(),
)

Complete specification of a numerical continuation / bifurcation analysis. All universal solver settings live directly here. Toolkit-specific string options go in the options slot. When used inside a BranchSwitch, only explicitly set attributes override the parent’s values.

ContinuationAlgorithm

datamodel.schema.ContinuationAlgorithm()

Predictor-corrector algorithm for numerical continuation.

Coordinate

datamodel.schema.Coordinate(coordinateSpace=None, x=None, y=None, z=None)

A 3D coordinate with X, Y, Z values.

CouplingInput

datamodel.schema.CouplingInput(
    name=None,
    description=None,
    dimension=1,
    keys=empty_list(),
)

Specification of a coupling input channel for multi-coupling dynamics

DBSProtocol

datamodel.schema.DBSProtocol(
    name=None,
    electrodes=empty_list(),
    settings=empty_list(),
    timing_info=None,
    notes=None,
    clinical_improvement=empty_list(),
)

A protocol describing DBS therapy, potentially bilateral or multi-lead.

DataSource

datamodel.schema.DataSource(
    name=None,
    label=None,
    description=None,
    path=None,
    loader=None,
    format=None,
    key=None,
    preprocessing=None,
)

Specification for loading external/empirical data.

Dataset

datamodel.schema.Dataset(
    label=None,
    dataset_id=None,
    subjects=empty_dict(),
    clinical_scores=empty_list(),
    coordinate_space=None,
)

Collection of data related to a specific DBS study.

DerivedObservation

datamodel.schema.DerivedObservation(
    name=None,
    acronym=None,
    label=None,
    description=None,
    equation=None,
    parameters=empty_dict(),
    environment=None,
    time_scale='ms',
    source=None,
    period=None,
    downsample_period=None,
    voi=None,
    imaging_modality=None,
    warmup_source=None,
    data_source=None,
    skip_t=None,
    tail_samples=None,
    aggregation=None,
    window_size=None,
    pipeline=empty_list(),
    class_reference=None,
    source_observations=None,
)

Observation derived from one or more other observations. Examples: - fc (from bold) - single source transformation - fc_corr (from fc and fc_target) - multi-source comparison Unlike regular Observations, these don’t generate monitor classes but are computed from existing observation values.

DimensionType

datamodel.schema.DimensionType()

Dimensions along which operations can be applied

Discretization

datamodel.schema.Discretization(
    parameters=empty_dict(),
    method='collocation',
    ode_solver=None,
    linear_solver=None,
    mesh_intervals=50,
    degree=4,
    n_sections=3,
    options=empty_dict(),
)

Discretization method for boundary value problems in continuation (periodic orbits, connecting orbits, quasi-periodic tori). Specifies the method; method-specific numerics go in parameters.

Distribution

datamodel.schema.Distribution(
    name='Uniform',
    parameters=empty_dict(),
    domain=None,
    function=None,
    seed=None,
    axis='space',
    correlation=None,
)

A probability distribution for sampling parameters or initial conditions. Standard distributions (Uniform, Gaussian) are specified by name and domain/parameters. Custom distributions use a Function for the PDF/sampling rule. Default name is Uniform when only domain is given.

EField

datamodel.schema.EField(
    volume_data=None,
    coordinate_space=None,
    threshold_applied=None,
)

Simulated electric field from DBS modeling.

Edge

datamodel.schema.Edge(
    label=None,
    description=None,
    parameters=empty_dict(),
    source=None,
    target=None,
    unit=None,
    format=None,
    weighted=True,
    valid_diagonal=False,
    non_negative=True,
    source_var=None,
    target_var=None,
    coupling=None,
    directed=False,
    target_network=None,
    dimension_labels=empty_list(),
    dynamics=None,
    events=empty_dict(),
)

An edge in a network. Two modes: explicit (source+target set, scalar parameters in YAML) or template (no source/target, N×N matrix measure in HDF5). Both coexist in the same edges list.

Electrode

datamodel.schema.Electrode(
    electrode_id=None,
    manufacturer=None,
    model=None,
    hemisphere='left',
    contacts=empty_list(),
    head=None,
    tail=None,
    trajectory=empty_list(),
    target_structure=None,
    coordinate_space=None,
    recon_path=None,
)

Implanted DBS electrode and contact geometry.

Event

datamodel.schema.Event(
    name=None,
    label=None,
    description=None,
    parameters=empty_dict(),
    event_type='stimulus',
    condition=None,
    condition_states=empty_list(),
    condition_parameters=empty_list(),
    affect=None,
    affect_states=empty_list(),
    affect_parameters=empty_list(),
    affect_negative=None,
    trigger_times=empty_list(),
    target_component=None,
    equation=None,
    regions=empty_list(),
    weighting=empty_list(),
    duration=None,
)

A discrete or continuous event that modifies the system during simulation. Generalizes Stimulus: can represent external inputs (stimulus type), threshold-triggered state changes (continuous/discrete type), or time-scheduled interventions (preset_time type). Attaches to components (nodes/edges) or to the experiment level.

EventType

datamodel.schema.EventType()

Type of event triggering mechanism.

ExecutionConfig

datamodel.schema.ExecutionConfig(
    n_workers=1,
    n_threads=-1,
    precision='float64',
    accelerator='cpu',
    batch_size=None,
    random_seed=42,
    find_fixpoint=False,
)

Configuration for computational execution (parallelization, precision, hardware).

Exploration

datamodel.schema.Exploration(
    name=None,
    label=None,
    description=None,
    execution=None,
    parameters=empty_dict(),
    mode='product',
    observable=None,
    n_parallel=1,
    n_trials=1,
    average=None,
)

Parameter space exploration (grid search, sweep).

Function

datamodel.schema.Function(
    name=None,
    acronym=None,
    label=None,
    equation=None,
    definition=None,
    description=None,
    requirements=empty_list(),
    input=None,
    output=None,
    iri=None,
    arguments=empty_dict(),
    output_equation=None,
    source_code=None,
    callable=None,
    apply_on_dimension=None,
    aggregate=None,
    time_range=None,
)

A function with explicit input -> transformation -> output flow. Can be equation-based (symbolic) or software-based (callable). In a pipeline, functions are chained: output of one becomes input of next.

FunctionCall

datamodel.schema.FunctionCall(
    acronym=None,
    label=None,
    equation=None,
    description=None,
    name=None,
    function=None,
    callable=None,
    class_call=None,
    input=None,
    output=None,
    apply_on_dimension=None,
    aggregate=None,
    arguments=empty_dict(),
    time_range=None,
    source_code=None,
)

Invocation of a function in a pipeline. Can reference a defined Function by name, OR inline a callable directly for external library functions, OR inline an equation, OR use class_call for class instantiation. Mirrors Function attributes so pipeline steps can be self-contained.

GraphGenerator

datamodel.schema.GraphGenerator(
    name=None,
    type=None,
    description=None,
    seed=None,
    directed=False,
    parameters=empty_dict(),
)

Backend-agnostic graph generator specification. Captures the mathematical family (type) and its parameters so that each backend can emit the correct constructor call (Graphs.jl, NetworkX, etc.). The number of nodes is always taken from Network.number_of_nodes.

InitialState

datamodel.schema.InitialState(
    method='time_integration',
    duration=2000.0,
    abs_tol=1e-10,
    rel_tol=1e-10,
    solver=None,
    source_branch=None,
    source_point=None,
)

How to obtain the starting equilibrium or periodic orbit for continuation. Most robust: time-integrate to steady state.

InitialStateMethod

datamodel.schema.InitialStateMethod()

Strategy for obtaining the starting equilibrium or periodic orbit.

Integrator

datamodel.schema.Integrator(
    method='euler',
    abs_tol=1e-10,
    rel_tol=1e-10,
    time_scale='ms',
    unit=None,
    parameters=empty_dict(),
    duration=1000,
    description=None,
    step_size=0.01220703125,
    steps=None,
    noise=None,
    state_wise_sigma=empty_list(),
    transient_time=0,
    scipy_ode_base=False,
    number_of_stages=1,
    intermediate_expressions=empty_dict(),
    update_expression=None,
    delayed=True,
)

Fixed-step or adaptive ODE integrator with TVB-specific extensions (noise, transient time, etc.). Inherits abs_tol, rel_tol from Solver. Overrides method default to ‘euler’.

LossFunction

datamodel.schema.LossFunction(
    name=None,
    acronym=None,
    label=None,
    equation=None,
    definition=None,
    description=None,
    requirements=empty_list(),
    input=None,
    output=None,
    iri=None,
    arguments=empty_dict(),
    output_equation=None,
    source_code=None,
    callable=None,
    apply_on_dimension=None,
    aggregate=None,
    time_range=None,
)

A loss function for optimization with optional aggregation. Extends Function with aggregation specification for per-element losses.

Matrix

datamodel.schema.Matrix(
    label=None,
    description=None,
    dataLocation=None,
    x=None,
    y=None,
    values=empty_list(),
    format=None,
    shape=empty_list(),
    dtype='float32',
)

Adjacency matrix of a network.

ModelType

datamodel.schema.ModelType()

Coarse classification of a Dynamics model by its mathematical/biological origin. Used for filtering and display in list_db().

Network

datamodel.schema.Network(
    label=None,
    description=None,
    parameters=empty_dict(),
    nodes=empty_list(),
    edges=empty_list(),
    coupling=empty_dict(),
    dynamics=empty_dict(),
    number_of_nodes=1,
    coordinate_space=None,
    parcellation=None,
    tractogram=None,
    transforms=empty_dict(),
    data_file=None,
    descriptor=None,
    bids_dir=None,
    bids=None,
    structural_measures=empty_list(),
    observational_measures=empty_list(),
    provenance=None,
    parent_network=None,
    node_mapping=None,
    distance_unit='mm',
    time_unit='ms',
    edge_matrix_files=empty_list(),
    graph_generator=None,
)

Network specification with nodes, edges, and reusable coupling configurations. Supports both explicit node/edge representation and matrix-based connectivity (Connectome compatibility).

Node

datamodel.schema.Node(
    id=None,
    label=None,
    description=None,
    parameters=empty_dict(),
    dynamics=None,
    position=None,
    region=None,
    state=empty_dict(),
    events=empty_dict(),
)

A node in a network with its own dynamics and properties

NumericalDiscretizationMethod

datamodel.schema.NumericalDiscretizationMethod()

Numerical discretization method for boundary value problems (periodic orbits, connecting orbits, quasi-periodic tori).

Observation

datamodel.schema.Observation(
    name=None,
    acronym=None,
    label=None,
    description=None,
    equation=None,
    parameters=empty_dict(),
    environment=None,
    time_scale='ms',
    source=None,
    period=None,
    downsample_period=None,
    voi=None,
    imaging_modality=None,
    warmup_source=None,
    data_source=None,
    skip_t=None,
    tail_samples=None,
    aggregation=None,
    window_size=None,
    pipeline=empty_list(),
    class_reference=None,
)

Unified class for all observation/measurement specifications. Covers monitors (BOLD, EEG), tuning observables, and derived quantities. Pipeline is a sequence of Functions with input -> output flow.

Optimization

datamodel.schema.Optimization(
    name=None,
    label=None,
    description=None,
    free_parameters=empty_list(),
    algorithm='adam',
    learning_rate=0.001,
    max_iterations=100,
    hyperparameters=empty_dict(),
    freeze_parameters=empty_list(),
    warmup_from=None,
    execution=None,
    integration=None,
    loss=None,
    stages=empty_dict(),
    depends_on=None,
)

Configuration for parameter optimization. Inherits single-stage fields from OptimizationStage. For multi-stage workflows, use ‘stages’ (ignores inherited single-stage fields). Loss equation references observations directly by name.

OptimizationStage

datamodel.schema.OptimizationStage(
    name=None,
    label=None,
    description=None,
    free_parameters=empty_list(),
    algorithm='adam',
    learning_rate=0.001,
    max_iterations=100,
    hyperparameters=empty_dict(),
    freeze_parameters=empty_list(),
    warmup_from=None,
)

A single stage in a multi-stage optimization workflow. Stages run sequentially, with each stage potentially using different parameters, shapes, learning rates, and algorithms.

Option

datamodel.schema.Option(name=None, value=None)

A toolkit-specific key-value option (string name + string value). Used for backend settings that are not universal numeric parameters (e.g., solver name, tangent method, jacobian type).

PDE

datamodel.schema.PDE(
    label=None,
    description=None,
    parameters=empty_dict(),
    domain=None,
    mesh=None,
    state_variables=empty_dict(),
    field=None,
    operators=empty_list(),
    sources=empty_list(),
    boundary_conditions=empty_list(),
    solver=None,
    derived_parameters=empty_list(),
    derived_variables=empty_list(),
    functions=empty_list(),
)

Partial differential equation problem definition.

ParcellationEntity

datamodel.schema.ParcellationEntity(
    name=None,
    abbreviation=None,
    alternateName=empty_list(),
    lookupLabel=None,
    hasParent=empty_list(),
    ontologyIdentifier=empty_list(),
    versionIdentifier=None,
    relatedUBERONTerm=None,
    originalLookupLabel=None,
    hemisphere=None,
    center=None,
    color=None,
)

A schema for representing a parcellation entity, which is an anatomical location or study target.

ParcellationTerminology

datamodel.schema.ParcellationTerminology(
    label=None,
    dataLocation=None,
    ontologyIdentifier=empty_list(),
    versionIdentifier=None,
    entities=empty_dict(),
)

A schema for representing a parcellation terminology, which consists of parcellation entities.

PhysicalDimension

datamodel.schema.PhysicalDimension()

Physical dimension categories for LEMS and dimensional analysis. Each dimension decomposes into SI base dimensions (M, L, T, I, K, N).

Provenance

datamodel.schema.Provenance(
    derived_from=None,
    references=empty_list(),
    date_created=None,
    license=None,
    generated_by=None,
)

W3C PROV-O aligned provenance. Reusable on any entity (Network, TimeSeries, Dynamics, etc.).

Range

datamodel.schema.Range(
    lo='0',
    hi=None,
    step=None,
    n=None,
    log_scale=False,
    explored_values=empty_list(),
    element=None,
)

Specifies a range for array generation, parameter bounds, or grid exploration.

ReductionType

datamodel.schema.ReductionType()

Operations for reducing/aggregating values across dimensions

RegionMapping

datamodel.schema.RegionMapping(
    label=None,
    description=None,
    dataLocation=None,
    vertex_to_region=empty_list(),
    n_vertices=None,
    n_regions=None,
)

Maps vertices to parent regions for hierarchical/aggregated coupling

SamplingAxis

datamodel.schema.SamplingAxis()

Dimension along which a distribution is sampled.

SoftwarePackage

datamodel.schema.SoftwarePackage(
    name=None,
    description=None,
    homepage=None,
    license=None,
    repository=None,
    doi=None,
    ecosystem=None,
)

Identity information about a software package independent of a specific version requirement.

Solver

datamodel.schema.Solver(method='Tsit5', abs_tol=1e-10, rel_tol=1e-10)

Lightweight specification of a numerical ODE solver / integrator. Covers adaptive solvers (Vern9, Rodas5, Tsit5, etc.) used in shooting methods, initial-state integration, and other contexts where only the algorithm and tolerances matter.

SpecimenEnum

datamodel.schema.SpecimenEnum()

A set of permissible types for specimens used in brain atlas creation.

StandardGraphType

datamodel.schema.StandardGraphType()

Well-known graph generator families with automatic backend mapping. The type field on GraphGenerator is a free string; this enum lists common types that get automatic code generation for Julia (Graphs.jl) and Python (NetworkX).

StateValue

datamodel.schema.StateValue(name=None, value=None)

A named state variable value for per-node initialization.

StimulationSetting

datamodel.schema.StimulationSetting(
    electrode_reference=None,
    amplitude=None,
    frequency=None,
    pulse_width=None,
    mode=None,
    active_contacts=empty_list(),
    efield=None,
)

DBS parameters for a specific session.

Subject

datamodel.schema.Subject(
    subject_id=None,
    age=None,
    sex=None,
    diagnosis=None,
    handedness=None,
    protocols=empty_list(),
    coordinate_space=None,
)

Human or animal subject receiving DBS.

TimeSeries

datamodel.schema.TimeSeries(
    label=None,
    description=None,
    dataLocation=None,
    data=None,
    time=None,
    sampling_rate=None,
    sampling_period=None,
    sampling_period_unit='ms',
    unit=None,
    labels_ordering=empty_list(),
    labels_dimensions=None,
    source_experiment=None,
    generated_at=None,
    software_environment=None,
    task_name=None,
    subject_id=None,
    session_id=None,
    run_id=None,
    modality=None,
    model_equation_ref=None,
    model_param_ref=None,
    connectivity_ref=None,
)

Time series data from simulations or measurements. Supports BIDS-compatible export for computational modeling (BEP034).

Tractogram

datamodel.schema.Tractogram(
    name=None,
    label=None,
    description=None,
    data_source=None,
    number_of_subjects=None,
    acquisition=None,
    processing_pipeline=None,
    reference=None,
)

Reference to tractography/diffusion MRI data used to derive structural connectivity

TuningObjective

datamodel.schema.TuningObjective(
    label=None,
    description=None,
    type=None,
    target_variable=None,
    target_value=None,
    target_data=None,
    metric=None,
)

Defines what the tuning algorithm optimizes for. Can be an activity target (FIC) or a connectivity target (EIB).

UnitEnum

datamodel.schema.UnitEnum()

Physical units of measurement for model parameters, state variables, and integration settings. Uses conventional abbreviations as values, mapped to the QUDT ontology (http://qudt.org/vocab/unit/) with UO cross-references where available.

UpdateRule

datamodel.schema.UpdateRule(
    name=None,
    target_parameter=None,
    equation=None,
    description=None,
    bounds=None,
    warmup=None,
    requires=empty_list(),
)

Defines how a parameter is updated based on observables. Represents iterative learning rules like FIC or EIB updates. Functions from experiment.functions are available in the equation.