biopsykit.protocols.mist module

Module representing the Montreal Imaging Stress Task (MIST) protocol.

class biopsykit.protocols.mist.MIST(name=None, structure=None, **kwargs)[source]

Bases: BaseProtocol

Class representing the Montreal Imaging Stress Task (MIST) protocol and data collected within a MIST study.

The general structure of the MIST can be specified by passing a structure dict to the constructor.

Up to three nested structure levels are supported:

  • 1st level: study part: Different parts of the study where the MIST was conducted, such as: “Pre”, “MIST”, and “Post”

  • 2nd level: phase: Different MIST phases that belong to the same study part, such as: “MIST1”, “MIST2”, “MIST3” (for study part “MIST”) or “Questionnaires”, “Rest”, “Training” (for study part “Pre”)

  • 3rd level: subphase: Different MIST subphases that belong to the same phase, such as: “Baseline”, “Arithmetic Task”, “Feedback”

Parameters
  • name (str, optional) – name of protocol or None to use “MIST” as default name. Default: None

  • structure (dict, optional) –

    nested dictionary specifying the structure of the MIST study.

    Up to three nested structure levels are supported:

    • 1st level: study part: Different parts of the study where the MIST was conducted, such as: “Pre”, MIST”, and “Post”

    • 2nd level: phase: Different MIST phases that belong to the same study part, such as: “MIST1”, “MIST2”, “MIST3” (for study part “MIST”) or “Questionnaires”, “Rest”, “Training” (for study part “Pre”)

    • 3rd level: subphase: Different MIST subphases that belong to the same phase, such as: “Baseline”, “Arithmetic Task”, “Feedback”

    If a study part has no division into finer phases (or a phase has no division into finer subphases) the dictionary value can be set to None.

  • **kwargs

    additional parameters to be passed to MIST and its superclass, BaseProtocol, such as:

Examples

>>> from biopsykit.protocols import MIST
>>> # Example: MIST study consisting of three parts. Only the MIST part consists of different
>>> # phases and subphases
>>> structure = {
>>>     "Before": None,
>>>     "MIST": {
>>>         "MIST1": {"BL": 60, "AT": 240, "FB": 120},
>>>         "MIST2": {"BL": 60, "AT": 240, "FB": 120},
>>>         "MIST3": {"BL": 60, "AT": 240, "FB": 120}
>>>     },
>>>     "After": None
>>> }
>>> MIST(name="MIST", structure=structure)

References

Dedovic, K., Renwick, R., Mahani, N. K., Engert, V., Lupien, S. J., & Pruessner, J. C. (2005). The Montreal Imaging Stress Task: Using functional imaging to investigate the effects of perceiving and processing psychosocial stress in the human brain. Journal of Psychiatry and Neuroscience, 30(5), 319-325.

hr_ensemble_plot(ensemble_id, subphases=None, **kwargs)[source]

Draw heart rate ensemble plot.

Parameters
  • ensemble_id (str) – identifier of the ensemble data to be plotted. Ensemble data needs to be computed using compute_hr_ensemble() first.

  • subphases (dict, optional) – dictionary with phases (keys) and subphases (values - dict with subphase names and subphase durations) or None to retrieve MIST information from structure dict. When passing None, it is assumed that the study part containing the MIST is named MIST.

  • **kwargs (dict, optional) – optional arguments for plot configuration to be passed to hr_ensemble_plot().

Returns

Return type

tuple[matplotlib.figure.Figure, matplotlib.axes._axes.Axes]

See also

compute_hr_ensemble()

compute heart rate ensemble data

hr_ensemble_plot()

Heart rate ensemble plot