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

🐛 home page / tabs / order of processing / nuisance regression / how to fork #131

Open
TingsterX opened this issue Dec 13, 2021 · 7 comments
Labels
bug Something isn't working Epic user-reported

Comments

@TingsterX
Copy link

TingsterX commented Dec 13, 2021

Describe the bug

C-PAC GUI

  • It seems that GUI would save the config whoever used the GUI most recently. When open https://fcp-indi.github.io/C-PAC_GUI/, it showed a lot of config “Default (2), Default (3), ... ” which were created by someone else earlier. If the earlier user duplicated the default one but changed something, the name is still “Default something”. This could be confusing to the new user. It would be good to have a 🚸 Clean home page #132 with only “Default” config showing there.

  • 🚸 The order of Tabs #133. Is the order of Tab somewhat reflect the order of the processing? For example. currently, nuisance regression is at the relative end of the options. Does it mean that all the Tabs before nuisance regression will run before nuisance regression? If not, it's probably better to arrange tabs, for example, from minimal preprocessing, preprocessing, postprocessing, to post-analysis.

  • Time series extraction: It is not clear at which step the time series is extracted,e.g. after minimal preprocessing, after nuisance regression, etc.? 📝 Clarify sequence of steps fcp-indi.github.io#267

  • Network centrality, ReHo, ALFF. Similar question, at which step these will be calculated?

  • Longitudinal template. No document for this option. I guess it is for the anatomical image across sessions?

  • Nuisance regression. 2-nuisance regression. What is the bandPass option here? Is it band-pass filtering on the regressor or just adds band-pass filtering to filter the data? Doesn’t matter if selected or not, it always shows as selected.

  • Nuisance regression - Regressor mask. No document for this option. are the options “csf_erosion_prop”, “csf_mask_erosion_mm”, “csf_erosion_mm” OR or AND? What does it mean “csf_erosion_prop”? Use the probability map to threshold the mask? Or it means that keep e.g. 0.6 proportion of a given tissue mask that defined in the earlier step? And, default 30mm for “GM_mask_erosion_mm” seems off, too big.

  • How can we select fork GSR and noGSR in the GUI? If can’t do it in GUI, could we have 📝 More documentation / more links to documentation #134 in GUI to tell the user how to fork this option in the config?

Ting

To reproduce

  1. Go to https://fcp-indi.github.io/C-PAC_GUI/#/

Expected behavior

clear document/note

Acceptance criteria

clear document/note

Screenshots

Some one left the configs there
Screen Shot 2021-12-13 at 12 49 54 PM

C-PAC version

No response

Container platform

Docker

Docker and/or Singularity version(s)

No response

Additional context

No response

@TingsterX TingsterX added the bug Something isn't working label Dec 13, 2021
@shnizzedy shnizzedy changed the title 🐛 [User-reported Bug] home page / tabs / order of processing / nuisance regression / how to folk 🐛 home page / tabs / order of processing / nuisance regression / how to fork Dec 13, 2021
@shnizzedy shnizzedy added the Epic label Dec 13, 2021
@shnizzedy
Copy link
Member

shnizzedy commented Dec 14, 2021

Thanks for the feedback! I promoted this issue to an epic and opened a few smaller issues (#100, #130, #132, #133, #134, FCP-INDI/fcp-indi.github.io#267) so we can make these improvements piece by piece (and I linked them in the relevant text here).

@shnizzedy
Copy link
Member

There's a flowchart in the user documentation here that shows the sequence of steps that C-PAC follows:

C-PAC individual pipeline

@shnizzedy
Copy link
Member

shnizzedy commented Dec 14, 2021

Time series extraction: It is not clear at which step the time series is extracted,e.g. after minimal preprocessing, after nuisance regression, etc.?

After functional preprocessing is complete by default

@shnizzedy
Copy link
Member

Network centrality, ReHo, ALFF. Similar question, at which step these will be calculated?

Also after functional preprocessing (and anatomical to template registration and functional to template warp) is complete, and in parallel to each other

@shnizzedy
Copy link
Member

Longitudinal template. No document for this option. I guess it is for the anatomical image across sessions?

There is some (although not much beyond a flowchart) documentation at https://fcp-indi.github.io/docs/user/longitudinal and some in the comments included in the default pipeline YAML:

longitudinal_template_generation:

  # If you have multiple T1w's, you can generate your own run-specific custom
  # T1w template to serve as an intermediate to the standard template for
  # anatomical registration.

  # This runs before the main pipeline as it requires multiple T1w sessions
  # at once.
  run: Off

  # Freesurfer longitudinal template algorithm using FSL FLIRT
  # Method to average the dataset at each iteration of the template creation
  # Options: median, mean or std
  average_method: median

  # Degree of freedom for FLIRT in the template creation
  # Options: 12 (affine), 9 (traditional), 7 (global rescale) or 6 (rigid body)
  dof: 12

  # Interpolation parameter for FLIRT in the template creation
  # Options: trilinear, nearestneighbour, sinc or spline
  interp: trilinear

  # Cost function for FLIRT in the template creation
  # Options: corratio, mutualinfo, normmi, normcorr, leastsq, labeldiff or bbr
  cost: corratio

  # Number of threads used for one run of the template generation algorithm
  thread_pool: 2

  # Threshold of transformation distance to consider that the loop converged
  # (-1 means numpy.finfo(np.float64).eps and is the default)
  convergence_threshold: -1

We intend to include those comments in the GUI, but that work has not yet been completed.

@shnizzedy
Copy link
Member

Nuisance regression. 2-nuisance regression. What is the bandPass option here? Is it band-pass filtering on the regressor or just adds band-pass filtering to filter the data? Doesn’t matter if selected or not, it always shows as selected.

The documentation for the bandpass filter is at https://fcp-indi.github.io/docs/latest/user/nuisance#temporal-filtering. It's filtering the data, and the always-selected thing is a bug. Until that bug is resolved, you can either

  • in the GUI: delete regressors that include a bandpass, and create the ones you want without ever enabling a bandpass

    no-bandpass.mp4

    , or

  • in your YAML file: after you download from the GUI, delete the bandpass from the regressors where they are unwanted

@shnizzedy
Copy link
Member

Nuisance regression - Regressor mask. No document for this option. are the options “csf_erosion_prop”, “csf_mask_erosion_mm”, “csf_erosion_mm” OR or AND? What does it mean “csf_erosion_prop”? Use the probability map to threshold the mask? Or it means that keep e.g. 0.6 proportion of a given tissue mask that defined in the earlier step? And, default 30mm for “GM_mask_erosion_mm” seems off, too big.

The documentation for erosion is pretty scattered. There's some in https://fcp-indi.github.io/docs/user/anat#anatomical-tissue-segmentation and some in https://fcp-indi.github.io/docs/user/nuisance#configuration-without-the-gui (the second link replicates the comments in the default pipeline YAML)

Also,

btw 30mm I believe was adapted from niflows and/or fmriprep- those erosion features were built in as part of the harmonization project
it does not run 30mm erosion as part of CPAC's default pipeline
actually we don't erode at all in the default pipeline
our seg masks are already a bit on the conservative side

― @sgiavasis Slack CMI-CNL#general

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Epic user-reported
Projects
None yet
Development

No branches or pull requests

2 participants