Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The order of mean WM, CSF timeseries and acompcor regressors, and slice number info for MB data #241

Open
sev-ince opened this issue Aug 13, 2023 · 1 comment
Assignees
Labels
physio Issues related to PhysIO Toolbox
Projects

Comments

@sev-ince
Copy link

Hi Lars,

Thank you for providing the toolbox.

I have two questions regarding the noise regressors produced by the toolbox and was hoping you can clarify them.

1)I am using acompcor regressors for denoising. The noise regressors outputted for the WM and CSF ROIs by the toolbox includes the mean WM and CSF timeseries along with the acompcor regressors. Could you please clarify what would be the order of these?

As in if I am extracting 5 acompcor regressors for WM and CSF, would the first column in the noise ROI regressors correspond to the mean WM, following with 1st , 2nd …acompcor regressors from column 2nd to 6th, OR would the first column be the 1st acompcor, with the very last column being the mean WM timeseries? I checked the physio.mat file and that has the name of these regressors as “Noise ROI” only so I am not sure which column is what.

2)For our functional images we have 84 slices in each volume (TR=0.8s ) acquired with an MB of 6. Our physio files are in Siemens Tics format ( RESP.log, PULS.log, Info.log). We have been having a discussion in our lab in deciding in how to define number of slices and onset slice in the toolbox (It seems like there have been a similar discussion around this here as well).

I tried a few different iterations and it seems like I get slightly different regressors when I define number of slices as 84 and onset slice as lets say 42 ( thinking it would be the midslice), and when I define the number of slices as 14 (84/6) and midslice as 7. When I run the second level results though, the difference between two approach is negligible.

I understand that it is expected considering we have such a fast TR but I don’t understand how the toolbox reads the files in terms of slice numbering. Siemens Tics files have the all the slice information. If the toolbox reads the multiband information somehow, then the 84 slices option should not work? If it does not and reads each slice separately, then inputting the slice number as 14 would mean only the first 14 slices are read? I am a bit confused why they would both work without an error.

Thank you in advance!

@mrikasper mrikasper self-assigned this Aug 29, 2023
@mrikasper mrikasper added the physio Issues related to PhysIO Toolbox label Aug 29, 2023
@mrikasper mrikasper added this to To do in PhysIO via automation Aug 29, 2023
@mrikasper
Copy link
Member

Dear @sev-ince,

My apologies for the late reply - I am happy you are using PhysIO! Please see my answers below:

1)I am using acompcor regressors for denoising. The noise regressors outputted for the WM and CSF ROIs by the toolbox includes the mean WM and CSF timeseries along with the acompcor regressors. Could you please clarify what would be the order of these?

For each specified ROI, the mean is provided first, followed by how many principal components you specified (see here). The order of the ROIs is equivalent to the order you specified the filenames in. For example, if you specified noise_roise.roi_files={'WM.nii', 'CSF.nii'} and noise_roise.n_components = {2}, you would get R = [WM_mean, WM_PC1, WM_PC2, CSF_mean, CSF_PC1, CSF_PC2] as regressor matrix.

2)For our functional images we have 84 slices in each volume (TR=0.8s ) acquired with an MB of 6. Our physio files are in Siemens Tics format ( RESP.log, PULS.log, Info.log). We have been having a discussion in our lab in deciding in how to define number of slices and onset slice in the toolbox (It seems like there have been a similar discussion around this here as well).

I tried a few different iterations and it seems like I get slightly different regressors when I define number of slices as 84 and onset slice as lets say 42 ( thinking it would be the midslice), and when I define the number of slices as 14 (84/6) and midslice as 7. When I run the second level results though, the difference between two approach is negligible.

I understand that it is expected considering we have such a fast TR but I don’t understand how the toolbox reads the files in terms of slice numbering. Siemens Tics files have the all the slice information. If the toolbox reads the multiband information somehow, then the 84 slices option should not work? If it does not and reads each slice separately, then inputting the slice number as 14 would mean only the first 14 slices are read? I am a bit confused why they would both work without an error.

The second variant you describe (14 slices = 84/6) is the correct work-around for now. But there have been concerns it is not quite accurate depending on the slice order and also a proposed bugfix by the community here. I hope to integrate this multiband support as soon as possible, but I am not sure I have the bandwidth for the upcoming release already. The reason why it works when specifying 84 slices in the first place is that PhysIO just subsamples your TR into 84 equal parts and assumes your first slice is acquired in the first of those parts, the second one in the second part etc. So you can be off by up to nearly a TR, but as you point out, since phase is estimated from the data for the RETROICOR regressors, and both HRV and RVT responses are slow (tens of seconds), this might not make a big difference for your results.

I hope that helps!

All the best,
Lars

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
physio Issues related to PhysIO Toolbox
Projects
PhysIO
  
To do
Development

No branches or pull requests

2 participants