Registering fROI masks to different functional runs, what should I expect?

Hi there,

I have posted a question before discussing how merging functional runs obtained from the same participant across different sessions (different days). I have been unsuccessful with that one.
How are flirt and mcflirt different?

So, now I am considering to analyze the sessions separately. After registering the ROI masks to a reference volume from a run collected at each session, I am ending up with slightly different masks, they differ in the number of voxels. Is this right? How can I avoid this problem and make the masks be exactly the same?

I used flirt to register the masks.

Thanks in advance for your time.


If the transformation from ROI space (is it in MNI?) to functional space is different and involves different expansion/compressions to conform to ROI space, that could explain the different voxel sizes across masks. How far apart are the days in the different sessions, and how different are the ROI volumes? You could imagine that if the sessions are far apart and the later session has a bigger brain (due to happening at a later time point), then the ROI for the later session will be bigger.

According to the registrations, these are the same masks, they just had to be warped differently to conform to the different session BOLD spaces. Is there a reason you need the masks to be the same size in each session?



Thank you for your response. The transformations are from the participants T1 space to the functional space. The brain images are from adult participants and the sessions are less then a week apart. So, no change in the size of the brain structures are expected.

The masks have different number of voxels, for example for the same participant, the number of voxels in session1 vs. session2 I get: 456 vs. 440, 43 vs. 37, 98 vs. 100, 78 vs. 62, and the final mask preserved its size as 67 vs. 67. Ultimately, I want to concatenate the signals from these sessions for each voxel, to run a decoding analysis. But if the number of voxels are different across sessions, then the rest of the analysis would not be valid, right?

How can I have the runs from different sessions concatenated properly?

I don’t know if you used fmriprep to preprocess your images, but you can output your BOLD images in T1w space, which sounds like it might save you some trouble.

I can’t speak to decoding specifically, but it tends to be rare that researchers will concatenate runs across sessions, due to differences that such as signal drift and other signal changes that may be present across sessions.

I don’t know what kind of decoding you are going for, so I cannot really say one way or the other.


I did not use fmriprep. I am using fsl for preprocessing which mainly involves motion correction. I was thinking to account for the changes in signal across sessions through preprocessing and modeling.
For the rest of the analysis, I would like to obtain the voxel-wise activity patterns. And this is why I need to concatenate the sessions. I appreciate your input on how I can address the problem.