Données physiologiques

De façon générale, les données physiologiques sont acquises au moyen deux modules SIEMENS fournis avec l’imageur IRM

Ces modules, sans fil, sont simples a installer et permettent d’acquérir (et visualiser sur la console d’acquisition) les données relatives à l’activité cardiaque et à la respiration.

Les deux modules sont :

  • Le PPU098 (Physiological Pulse Unit) : Il s’agit d’une pléthysmographie optique permettant d’acquérir le rythme cardiaque.
  • Le PERU098 (Physiological ECG/Respiratory Unit) destiné à l’acquisition d’un électrocardiogramme (ECG) et de l’amplitude respiratoire (au moyen d’un système pneumatique et d’une ceinture de contention)

Enregistrement des données physiologiques

Lors des acquisitions d’images bold, la séquence utilisée au centre IRM enregistre automatiquement les tracés physiologiques lorsque les capteurs sont présents.

Pour l’utilisateur, lorsque que les images ont été converties au format BIDS, les données physiologiques sont disponibles dans deux dossiers:

  • Les formats bruts sont dans le dossier sourcedata. Il s’agit:
    – des images .ima (DICOM) qui encapsulent les deux traces RESP et PULS en un seul fichier:sub-SUB_task-TASK_bold.ima
    d’une série de 3 fichiers LOGPhysio_sub-SUB_task-TASK_bold_{PULS,RESP,Info}.log
  • Les enregistrements au format BIDS sont dans func:
    – sub-SUB_ses-YY_task-TASK_run-ZZ_recording-cardiac_physio{.json,.tsv.gz}
    – sub-SUB_ses-YY_task-TASK_run-ZZ_recording-respiratory_physio{.json,.tsv.gz}

Exploitation des données physiologiques

En ce qui concerne les fichiers dans sourcedata, on peut utiliser un type de fichier ou l’autre, ils contiennent les même informations.
Voici 3 pistes pour lire et exploiter ces traces:
– solution MATLAB qui peut lire les images .IMA (DICOM) ou les fichiers logs et afficher les traces de façon graphique.
https://github.com/CMRR-C2P/MB/blob/master/readCMRRPhysio.m
– solution python, que je trouve assez élégante avec un jupyter notebook explicatif, qui utilise les images .ima (DICOM):

https://github.com/adolphslab/mriphysio (j’ai repéré une petite erreur dans le code, voir « issues » sur github)

Figure: Exemple de visualisation des traces PULS et RESP avec le programme mriphysio.

la toolbox Physio TaPas qui lit directement les fichiers LOG et qui permet de calculer les régresseurs de nuisance associé (approche RETROICOR).

Echantillonnage temporel des signaux physiologiques:

Dans le fichier RESP, la fréquence d’échantillonnage est de 50Hz, 200Hz pour les fichiers PULS. Pour info, il est mentionné une unité en « tics » , un tic est égal à 2.5ms. Le fichier RESP fait une mesure tous les 8tics, c’est à dire toutes les 20ms, tou les 2 tics pour le PULS, soit toutes les 20ms.
Par ailleurs l’heure d’acquisition de chaque point (ACQ_TIME_TICS) est mentionnée en nombre de tics depuis minuit…
Le fichiers _Info permet de faire le lien entre le timing de l’acquisition et celui de la mesure de pouls ou respiration.
En ce qui concerne le signal respiratoire: inspiration = pics, expiration =creux. Voici un extrait de la documentation Siemens: