Skip to content
Snippets Groups Projects
Select Git revision
  • main
1 result

README.md

Blame
  • Nadege  MARIN's avatar
    Nadege MARIN authored
    99426356
    History

    ThereWillBeBeeps


    Predictable sequential structure augments auditory sensitivity at threshold

    Nadège Marin1, Grégory Gérenton1, Hadrien Jean2, Nihaad Paraouty2, Nicolas Wallaert2, Diane S. Lazard1,3, Keith B. Doelling1*, Luc H. Arnal1*
    1. Université Paris Cité, Institut Pasteur, AP-HP, Inserm, Fondation Pour l'Audition, Institut de l’Audition, IHU reConnect, F-75012 Paris, France
    2. My Medical Assistant SAS, Reims, F-51100, France
    3. Princess Grace Hospital, ENT & Maxillo-facial Surgery Department, Monaco

    * These authors jointly supervised this work

    Abstract

    Human hearing is highly sensitive and allows us to detect acoustic events at low levels. However, sensitivity is not only a function of the integrity of cochlear transduction mechanisms, but also constrained by central processes such as attention and expectation. While the effects of distraction and attentional orienting are generally acknowledged, the extent to which probabilistic expectations influence sensitivity at threshold is not clear. Classical audiometric tests, commonly used to assess hearing thresholds, do not distinguish between bottom-up sensitivity and top-down processes. In this study, we aim to decipher the influence of various types of expectations on hearing thresholds and how this information can be used to improve the assessment of hearing sensitivity. Our results raise important questions regarding the conventional assessment of hearing thresholds, both in fundamental research and in audiological clinical assessment.


    This repo

    The project is organized as Jupyter notebooks, which contain the steps and output of the analysis. These notebooks call functions located in separate Python files.

    Usage

    Notebooks are meant to be run in increasing order (1_, 2_, etc), starting with preprocessing and then analysis. Each notebook contains detailed comments about what each section of code is doing.

    The preprocessing and analysis directories contain subdirectories named funcs, which contain Python scripts for various functions that the notebooks call.

    Note: you need an extra python script API_access.py with private access codes for the automated pure-tone audiometry API to run some of the code (preprocessing 2-3, analysis 2).

    The free-est way to run these notebooks is with jupyter notebook. Here is one way to load this repo to run smoothly

    Clone code and move into folder

    git clone git@gitlab.pasteur.fr:ida-public/PredAudio.git
    cd PredAudio

    Create conda environment and install necessary packages

    conda create -n beepbeep python=3.10
    conda activate beepbeep
    pip install -r requirements.txt
    conda install jupyter

    Include project directory as path in conda env and deactivate environment to go do something else.

    conda develop .
    conda deactivate

    Then when you are ready to run your notebooks just do the following while in the project directory:

    conda activate beepbeep
    jupyter notebook

    Requirements

    This repo relies on commonly used python packages for data analysis and visualization, as well as the 'requests' module for communication with the pure-tone audiometry API.

    See requirements.txt for the detailed short list.


    Pipeline

    Preprocessing

    Analysis


    Repository structure:

    .
    ├── data
    │   ├── audiograms
    │   ├── dataframes
    │   └── raw_data
    │       └── one folder/participant
    │           ├── Bayesian
    │           ├── Continuous
    │           ├── Cluster
    │           └── 3AFC
    
    ├── figures
    
    ├── README.md
    ├── requirements.txt
    
    └── scripts
        ├── __init__.py
        ├── figure_params.py
        ├── stats.py
        ├── utils.py
        ├── API_access.py **** PRIVATE ****
    
        ├── preprocessing
        │   ├── __init__.py
        │   │
        │   ├── funcs
        │   │   ├── __init__.py
        │   │   ├── fix_continuous_responses.py
        │   │   └── resample_audiograms.py
        │   │
        │   ├── 1_3AFC_thresholds.ipynb
        │   ├── 2_fix_continuous_responses.ipynb
        │   └── 3_resample_audiograms.ipynb
    
        └── analysis
            ├── __init__.py
    
            ├── funcs
            │   ├── __init__.py
            │   ├── global_random_audiogram.py
            │   ├── linear_models.py
            │   ├── p50_analysis.py
            │   ├── performance_correlation.py
            │   ├── plots.py
            │   └── threshold_analysis.py
    
            ├── 1_threshold_analysis.ipynb
            ├── 2_global_random_audiogram.ipynb
            ├── 3_fig2C_p50_example_data.ipynb
            ├── 4_p50_analysis.ipynb
            ├── 5_performance_correlation.ipynb
            ├── 6_clustering_paradigms.ipynb
            ├── 7_catch_trials.ipynb
            ├── 8_linear_models.ipynb
            └── SupplFig_example_data.ipynb  - in construction