Skip to content

mopipe.core.data.experiment

Experiment structure classes.

LDType Objects

class LDType(StrEnum)

Type of data associated with a level.

ExperimentLevel Objects

class ExperimentLevel()

Base class for experiment structure classes.

This class can be used to drop in data that applies to specific levels of an experiment, e.g. experiment-wide data, group-level, condition-level, trial-level etc.

__init__

def __init__(level_name: str,
             level_id: t.Optional[str] = None,
             level_metadata: t.Optional[MetaData] = None) -> None

Initialize an ExperimentLevel.

level_name

@property
def level_name() -> str

Name of the level.

level_id

@property
def level_id() -> str

ID of the level.

parent

@property
def parent() -> t.Optional["ExperimentLevel"]

Parent level.

parent

@parent.setter
def parent(parent: "ExperimentLevel") -> None

Set the parent level.

child

@property
def child() -> t.Optional["ExperimentLevel"]

Child level.

child

@child.setter
def child(child: "ExperimentLevel") -> None

Set the child level.

depth

@property
def depth() -> int

Depth of the level.

leveldata

@property
def leveldata() -> list["EmpiricalData"]

Level data.

leveldata

@leveldata.setter
def leveldata(leveldata: t.Iterable["EmpiricalData"]) -> None

Set the level data.

add_leveldata

def add_leveldata(leveldata: "EmpiricalData") -> None

Add level data to the level.

timeseries

@property
def timeseries() -> list["EmpiricalData"]

Timeseries data.

timeseries

@timeseries.setter
def timeseries(timeseries: t.Iterable["EmpiricalData"]) -> None

Set the timeseries data.

add_timeseries

def add_timeseries(timeseries: "EmpiricalData") -> None

Add a timeseries to the level.

level_metadata

@property
def level_metadata() -> "MetaData"

Level metadata.

level_metadata

@level_metadata.setter
def level_metadata(level_metadata: "MetaData") -> None

Set the level metadata.

climb

def climb() -> t.Iterator["ExperimentLevel"]

Climb the experiment structure.

descend

def descend() -> t.Iterator["ExperimentLevel"]

Descend the experiment structure.

top

def top() -> "ExperimentLevel"

Get the top level.

bottom

def bottom() -> "ExperimentLevel"

Get the bottom level.

relevel_stack

def relevel_stack()

Relevel the experiment structure.

This method will relevel the experiment structure, so that the top level is at depth 0, and each level below it is at depth 1. If the top level is not an Experiment, then the depth of the top level will be 1.

relevel_children

def relevel_children() -> None

Relevel the children of the experiment structure.

Experiment Objects

class Experiment(ExperimentLevel)

__init__

def __init__(experiment_id: str) -> None

Initialize an Experiment.

parent

@property
def parent() -> ExperimentLevel | None

Parent level.

parent

@parent.setter
def parent(parent: t.Any) -> None

Set the parent level.

Trial Objects

class Trial(ExperimentLevel)

__init__

def __init__(trial_id: str) -> None

Initialize a Trial.

child

@property
def child() -> ExperimentLevel | None

Child level.

child

@child.setter
def child(child: t.Any) -> None

Set the child level.