Batching of Scout Projections

Hi everyone,

I've come across a potential feature that might be useful to others, and wanted to suggest it for future updates.

When performing group analyses at the source level, I often identify vertices/ROIs (e.g., based on PSD power contrasts in a template space) that I then want to use to test subsequent hypotheses with connectivity/PAC/other scout-based analyses. However, to do this I've had to first either (1) project the continuous source-imaged data from each participant to a template surface or (2) manually project my scouts from template space to each participant's individual anatomy with lots of tedious clicking.

As a work-around, I've written a script to automate the projection of a set of selected scouts to a group of participant's default anatomy surfaces, as there doesn't seem to be an existing batch function for this. Is this something that could be added to the GUI, for those less inclined to coding? @Raymundo.Cassani suggested "a process where the target surfaces (to be projected to) are placed in A, and the origin surface with the scouts (to project from) in B" which I think sounds like a good approach. Thoughts?

Thanks!
Alex

1 Like

As a work-around, I've written a script to automate the projection of a set of selected scouts to a group of participant's default anatomy surfaces, as there doesn't seem to be an existing batch function for this.

If you want to share this script, you can open a PR here:
https://github.com/brainstorm-tools/bst-users

@Raymundo.Cassani suggested "a process where the target surfaces (to be projected to) are placed in A, and the origin surface with the scouts (to project from) in B" which I think sounds like a good approach.

The major technical problem is that you can't select surfaces in the Process1/Process2 tabs. Only files containing signals can be handled in the batch scripts generated with Brainstorm.
A solution might be to select the input and output surfaces as the default cortex surfaces for both the source and the destination subjects, and then select as the process inputs the names of the source and destination subjects. Then you could write a loop to call the process for all the subjects.

I think that in the end, an well-documented and easy-to-edit Matlab script might be faster and easier to manipulate for everybody.

If you have any alternative idea, please open PRs to propose your code and we'll discuss your implementation frmo there. Or please ask if you need additional directions.

https://neuroimage.usc.edu/brainstorm/Tutorials/TutUserProcess

Thanks Francois - I agree that a shared script is the best way to go. I'll clean up the code a bit and open a PR once I get a chance.

1 Like