Skip to content

How exactly does PhysIO aligns MRI and Physio data? #43

Description

@stefan-200

Hi Lars & team,

thank you so much for creating and maintaining PhysIO

I am writing because we would like to use the PhysIO signals (particularly respiration) to analyse the effects of respiratory phase in our paradigm. (Same team as angelaaseo before, with the BIDS formatting).

Here again some info about our set up:
To give an overview, our physiological signals are recorded in one continuous run, while fMRI sequences are parsed into several runs. Therefore, I am attempting to use the PhysIO toolbox to both time-align the Physio & MRI modalities.

Setup:
• Scanner & sequence: Siemens 3 T (VB17), multi‑echo EPI (3 echoes/TR), multiband = 2
• ECG, Pulse-Oximetry, Respiration Data: Manual recording via Telnet MPCU (continuous across several fMRI blocks).

Particularly for the phase analysis, we need to be confident that the alignment works properly. Thus, I would like to double check that I understand it correctly.

As far as I found the code for aligning: PhysIO/code/readin/tapas_physio_read_physlogfiles_siemens.m :
Here a high level explanation from what I understood:

  1. For the MRI time: reads the DICOM header and gets the acquisition time + converts it into ms from midnight
  2. For the physio files: reads the footer and does convert it also into ms from midnight
  3. Then, the offset is calculated by MRI_onset – Physio_onset.
  4. This shift is then used to subtract the offset from every timepoint in the physiotime array, so time 0 is when the scanner starts.

Any clarification or also validation of the accurate aligning you might have run would be incredibly helpful!!

Many thanks in advance,
Stefan

Also, I am curious about if, at some point, also the trigger from the trigger files are used as a reference point in case the clocks are not perfectly synchronised.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions