Python package for the analysis of data collected during the Cold Face Test (CFT) study.
This package contains various helper functions to work with the dataset (including tpcp
Dataset
representations) and to process data. Additionally, it contains different analysis experiments performed with the dataset.
The repository is structured as follows:
├── src/
│ └── cft_analysis/ # cft-analysis Python package
└── experiments/ # Folder with conducted analysis experiments; each experiment has its own subfolder
└── 2022_scientific_reports/ # Analysis for the 2022 Scientific Reports Paper (see below)
├── data/ # Processed data and extracted parameters
├── notebooks/ # Notebooks for data processing, analysis and plotting
│ ├── data_processing/
│ │ ├── ECG_Processing_Feature_Computation.ipynb # Processing and feature extraction from ECG data
│ │ ├── Questionnaire_Processing.ipynb # Processing of questionnaire data
│ │ └── Saliva_Processing.ipynb # Processing of saliva data
│ ├── analysis/
│ │ ├── Subject_Exclusion.ipynb # Checks whether (and which) subjects need to be excluded from further analysis
│ │ ├── Demographics.ipynb # Analysis of general information of study population: Age, Gender, BMI, ...
│ │ ├── ECG_Analysis.ipynb # Descriptive and statistical analysis of ECG data
│ │ ├── Questionnaire_Analysis.ipynb # Descriptive and statistical analysis of questionnaire data
│ │ └── Saliva_Analysis.ipynb # Descriptive and statistical analysis of saliva data
│ └── plotting/
├── results/ # Plots and statistical results exported by the notebooks in the "analysis" and "plotting" folders
└── config.json #
If you want to use this package to reproduce the analysis results then clone the repository and install the package via uv:
git clone [email protected]:mad-lab-fau/cft-analysis.git
cd cft-analysis
uv sync
This creates a new python venv in the cft-analysis/.venv
folder. Next, register a new IPython kernel for the venv:
cd cft-analysis
poe register_ipykernel
Finally, go to the experiments
folder and run the Jupyter Notebooks.
Currently, this repository contains the following experiments:
Analysis of the CFT Dataset for the paper Vagus Activation by Cold Face Test Reduces Acute Psychosocial Stress Responses, published in Scientific Reports.
In order to run the code, first download the CFT Dataset, e.g. from OSF. Then, create a file named config.json
in the folder /experiments/2022_scientific_reports
with the following content:
{
"base_path": "<path-to-dataset>"
}
This config file is parsed by all notebooks to extract the path to the dataset.
NOTE: This file is ignored by git because the path to the dataset depends on the local configuration!
The files in the data
folder are created by running the notebooks in the data_processing
folder. The files in the result
folder are created by running the notebooks in the analysis
and the plotting
folders.