Hi,
After seeing that HCP Pipelines v.4.8.0 supports multi-echo fMRI preprocessing we wanted to give the pipelines + QuNex a go with our ME-BOLD data. However, going through the QuNex-documentation I can’t find this feature mentioned anywhere. Is the functionality already implemented “under the hood” or is it premature to try pushing ME-BOLD through QuNex at this point in time?
Thanks a lot,
Markus
LCBC, UiO
Hello,
Qunex currently supports HCP pipelines, v4.7.0. I can’t comment on the integration schedule of v4.8.0. Jure, who is responsible for it, is currently on vacation. It won’t be integrated for a while.
Hi Markus,
The latest QuNex version (0.100.0) should have HCP pipelines v4.8.0 in there, meaning that QuNex should on paper support everything that HCP pipelines do. If you let me know a bit more about wha you are trying to do (which HCP pipelines commands you are trying to run and with which settings). I can help you prepare the appropriate chain of QuNex commands. If we find out that some functionalities are not yet supported by QuNex, we can promptly implement the support for them. But I think this won’t be necessary as we are tightly collaborating with HCP folks in order to support everything they are supporting.
Best, Jure
Hi Jure,
Yes, I peeked around a bit and found 4.8.0. in the latest QuNex-version.
When it comes to the multi-echo-relevant commands in the HCP pipelines it looks like they’re not fully documented yet (still, the feature was mentioned in the latest release notes).
My impression is that one needs to include an --echoTE
-flag to GenericfMRIVolumeProcessingPipeline.sh and supply the echo times used.
I suspect one also have to make a concatenated version of the individual echo timeseries data (so a 4D with NumFrames = 3 * nTRs if 3 echos).
Then:
Thanks!
- Markus
I have never done such processing myself, so I cannot really help you here in regards to preparing the data and parametrization. I also checked and we do not support the --echote
parameter on the QuNex side yet. But that would be easy to implement and I can add that quickly.
I propose the following course of action. I will add support for the --echote
parameter for QuNex. Meanwhile, you can ask the HCP folks at https://groups.google.com/a/humanconnectome.org/g/hcp-users how exactly such processing should be executed. If any additional changes QuNex side are needed based on that discussion, I will add them as well.
Best, Jure
Hi Jure,
The following thread from HCP-Users explains quite well how to achieve multi-echo fMRI processing via GenericfMRIVolumeProcessingPipeline.sh
So as assumed above the user has to produce a 4D-concatenated version of the individual timeseries images (number of images to concatenate equals number of echos collected) + the associated single-band reference images (if collected). If these are provided to the script, together with the new --echoTE
-flag, the rest should be taken care of within the pipeline.
Main issue I can think of on the Qunex side is how to achieve concatenation. In a BIDS-structure there will be nEcho _bold.nii.gz
per fMRI run (individual echos indicated by the _echo
-flag. Example below
Not sure how this will be picked up and handled by Qunex import_bids
. Easiest is perhaps to let the user fix concatenation before initiating Qunex – this way import_bids
will pick it up as one scan and one sbref rather than three (in the case of nEcho==3).
- Markus
Hi Markus,
I already added support for the HCO --echoTE
parameter:
--hcp_echo_te (str, default ''):
Comma delimited list of numbers which represent TE for each echo
(unused for single echo).
Yes, right now there is no support to concatenate echo-n
files together in import_bids
. Let us discuss internally how we want to tackle this and to what degree we want to automate it. Is there a use case where one would not want to concatenate these into 4D?
The immediate workaround (pending the release of the next version with --hcp_echo_te
) is like you describe, to concatenate these manually and then onboard the concatenated file with import_bids
.
Thanks for diving deep into this and helping us come up with a solution.
Best, Jure
Hi Jure,
The only use case I can think of right away is if someone wants to process one echo in isolation and compare it with the multi-echo ouput (typically the second echo which often resembles a single-echo scan due to similar TE).
But if a user activates the --echoTE
-parameter by providing a list of TEs one can safely assume that they want to run the full multi-echo pipeline which requires concatenation, yes.
- Markus
Hi Markus,
we are currently swamped with other obligations, so we cannot promise that a feature with automatic concatenation in import_bids
will be implemented any time soon. This means that you will have to concatenate this manually yourself and then onboard into the QuNex study. Let me know if you need any help there.
Support for --echoTE
will be released with the next QuNex version (probably in a couple of weeks).
Best, Jure
Hi again @demsarjure
I just discovered a small bug in the ME-implementation in 1.0.1
python/qx_utilities/hcp/process_hcp.py
(L5470):
echo_te = ("echoTE", options["hcp_echo_te"].replace("@", ","))
should be changed to
echo_te = ("echoTE", options["hcp_echo_te"].replace(",", "@"))
Cheers,
Markus
Thanks, we are just about to start testing and releasing the next patch, and I can quickly integrate this in.
Best, Jure