CPAC 1.8.0 fALFF maps output issue

106 views
Skip to first unread message

TT

unread,
Jul 26, 2021, 12:07:38 PM7/26/21
to cpax_forum
Hello All,

I'm running/testing CPAC v1.8.0 on some subjects from ABIDEII, and especially interested in the ALFF, fALFF, and ReHo outputs.
The ALFF and ReHo outputs look reasonable, however the fALFF output looks like only noise in the shape of a brain, and the intensity looks bimodal. I'm using outputs from CPAC v1.3 as a reference for what a reasonable output looks like.
I've attached a screen shot of both the alff and falff, along with the intensity distribution. 

Here's the command I'm using to run the subject:
cpac run /path/to/ABIDEII_bids/ /path/to/derviatives/ participant --platform singularity --pipeline_file /path/to/pipelines/20210722_pipeline_DCG3.yml --participant_label 29562

Compared to the default pipeline yml file, I've only added censoring/scrubbing under  nuisance_corrections, as advised here:  https://groups.google.com/g/cpax_forum/c/Naob-tvhNjw
    Additionally, subject 29562 has only a single functional scan, however CPAC is outputting 2 files for each, one labeled 'desc-1' and the other 'desc-2'. These two files are pretty similar, but not the same.
    e.g. 
    • /path/to/derviatives/output/cpac_20210719_pipeline_DSG3/sub-29562_ses-1/func/sub-29562_ses-1_task-rest_run-1_desc-1_reho.nii.gz
    • /path/to/derviatives/output/cpac_20210719_pipeline_DSG3/sub-29562_ses-1/func/sub-29562_ses-1_task-rest_run-1_desc-2_reho.nii.gz
    Thank you for any help/info you can provide.
    Alex
    falff.png
    alff.png

    Jon Clucas

    unread,
    Aug 4, 2021, 4:02:23 PM8/4/21
    to cpax_forum
    Hi Alex,
    "please let me know if I’m contacting the wrong person/people"
    This forum is a good place to go for support; the development team, volunteer contributors and users can all see and respond to messages here. We do our best to respond in a timely manner, but "a timely manner" can vary a lot depending on the complexity of the questions, whether the answer is known, and what else developers are spending time on when the question arrives. We appreciate your patience when we don't immediately respond.
    "I'm running/testing CPAC v1.8.0 on some subjects from ABIDEII, and especially interested in the ALFF, fALFF, and ReHo outputs.
    The ALFF and ReHo outputs look reasonable, however the fALFF output looks like only noise in the shape of a brain, and the intensity looks bimodal. I'm using outputs from CPAC v1.3 as a reference for what a reasonable output looks like.
    I've attached a screen shot of both the alff and falff, along with the intensity distribution.

    Here's the command I'm using to run the subject:
    cpac run /path/to/ABIDEII_bids/ /path/to/derviatives/ participant --platform singularity --pipeline_file /path/to/pipelines/20210722_pipeline_DCG3.yml --participant_label 29562

    Compared to the default pipeline yml file, I've only added censoring/scrubbing under  nuisance_corrections, as advised here:  https://groups.google.com/g/cpax_forum/c/Naob-tvhNjw"
    Since you're using publicly available data and shared your config, I'm running the same configuration on our server to try to replicate and have access to the full range of outputs and working files.
    Additionally, subject 29562 has only a single functional scan, however CPAC is outputting 2 files for each, one labeled 'desc-1' and the other 'desc-2'. These two files are pretty similar, but not the same.
    e.g.

    •     /path/to/derviatives/output/cpac_20210719_pipeline_DSG3/sub-29562_ses-1/func/sub-29562_ses-1_task-rest_run-1_desc-1_reho.nii.gz
    •     /path/to/derviatives/output/cpac_20210719_pipeline_DSG3/sub-29562_ses-1/func/sub-29562_ses-1_task-rest_run-1_desc-2_reho.nii.gz
    We can see if we can determine the difference from these sidecar files, and we can compare to our replication run. Can you please share `/path/to/derviatives/output/cpac_20210719_pipeline_DSG3/sub-29562_ses-1/func/sub-29562_ses-1_task-rest_run-1_desc-1_reho.json` and `/path/to/derviatives/output/cpac_20210719_pipeline_DSG3/sub-29562_ses-1/func/sub-29562_ses-1_task-rest_run-1_desc-2_reho.json`?

    Thanks for bringing these issues to our attention, and apologies for taking longer than a week to reply,

    Jon Clucas, MIS
    Associate Software Developer
    Computational Neuroimaging Lab
    Child Mind Institute



    From: Alex Treacher
    Sent: Wednesday, August 4, 2021 11:15 AM
    To: Arno Klein
    Cc: Wil Van Auken; Jon Clucas
    Subject: RE: Question regarding CPAC and fALFF


    Hi @rno,

     

    Thank you for the quick response and forwarding the question to Jon.

    I look forward to hearing from Jon.

     

    Best,

    Alex




    On Wed, Aug 4, 2021 at 10:16 AM Alex Treacher wrote:

    Hello Wil Van Auken and Natalia Muzyka,

     

    Apologies for emailing you directly, and please let me know if I’m contacting the wrong person/people. I found your emails on the matter lab webpage.

     

    I just have a quick question regarding CPAC.

     

    Recently, I’ve been testing CPAC 1.8.0 to create derivative maps including fALFF. The ALFF and ReHo maps look reasonable, however the fALFF maps seem to be noise with a bi-variate distribution of intensities.  I see that CPAC has a forum, and I posted about a week ago on there (https://groups.google.com/g/cpax_forum/c/iMFemGgOw9k). Jon Clucas seems to be quite active answering questions over the years, but based on your website, he seems to not be working in your group any more.

     

    I wanted to know if this issue with fALFF is a known problem and if it has a solution before I try using one of the older CPAC versions.

     

    Thank you,

    Alex

     

    UT Southwestern
    PhD Candidate
    Montillo Lab
    Lyda Hill Dept of Bioinformatics

     


    UT Southwestern

    Medical Center


    The future of medicine, today.


    From: cpax_...@googlegroups.com
    Sent: Monday, July 26, 2021 12:07 PM
    To: cpax_forum
    Subject: [cpax_forum] CPAC 1.8.0 fALFF maps output issue

    --
    You received this message because you are subscribed to the Google Groups "cpax_forum" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to cpax_forum+...@googlegroups.com.
    To view this discussion on the web visit https://groups.google.com/d/msgid/cpax_forum/2df6c32b-f712-4c52-bf17-522edf860f13n%40googlegroups.com.

    TT

    unread,
    Aug 5, 2021, 6:01:58 PM8/5/21
    to cpax_forum
    Hi Jon Clucas,

    Thank you very much for your reply. 
    Interestingly I also tried the default pipeline and got a similar noisy fALFF output (also using the singularity container). 

    Thank you for pointing to the .json file. I looked through and it seems that the desc-1 and desc-2 are with and without global signal regression. (attached if you want to see them)

    Thank you again for your time, please let me know if you see similar results in fALFF.
    -Alex
    sub-29562_ses-1_task-rest_run-1_desc-1_falff.json
    sub-29562_ses-1_task-rest_run-1_desc-2_falff.json

    TT

    unread,
    Aug 25, 2021, 1:33:18 PM8/25/21
    to cpax_forum
    Hi Jon Clucas,

    I believe I've narrowed down the issue, and have a propsed solution. Looking though the code and default pipeline parameters of CPAC, a band pass is being applied prior to fALFF calculation. The problem is that the numerator for fALFF is bandpassed (as is done so in the ALFF pipeline), and the denominator is not supposed to be bandpassed (or at least to a lesser extent). However, as the bandpass is appled prior to fALFF caculation the dominator is almost exactly the same as the numerator, leading to a derivative map of all 1's, and 0's for the background. 

    I confirmed this by plotting the power spectral density of 10 random voxels from the "cleaned-1_bold.nii.gz"(which I believe is the inputs the the ALFF/fALFF calculation). See attached.

    To remedy this, I set the bandpass to 0-250Hz in the nuisance regression section of the pipeline yml file, and I'm now getting a reasonable fALFF output. Additionally, the PSD for the input to the fALFF calculation no longer looks band passed.

    I believe I have a fix for now, but perhaps the non-bandpassed input should be fed as the input to the ALFF/fALFF node in the nipype workflow? I might be completely missed something, if you get a chance, let me know what you think.

    Thank you,
    Alex
    PSD.png

    Jon Clucas, MIS

    unread,
    Aug 25, 2021, 2:46:09 PM8/25/21
    to cpax_forum
    Hi Alex,

    Thanks for continuing to dig in. A couple other team members have been looking into this issue as well. It does seem we're applying a bandpass twice here ― once in the nuisance regression and once in ALFF/fALFF. Your findings make sense to me but I don't understand ALFF/fALFF well enough to make the design decisions here. I've started that conversation with the team.

    We'll keep you updated as to when we've incorporated a fix. In the meantime, your workaround seems reasonable as long as you don't need the otherwise-bandpassed outputs.

    Thank you again for reporting the bug and narrowing down the solution space!

    Jon
    Reply all
    Reply to author
    Forward
    0 new messages