FCP-INDI / C-PAC_GUI

A new GUI for C-PAC
https://fcp-indi.github.io/C-PAC_GUI/versions/nightly/browser/
Other
2 stars 4 forks source link

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

Open TingsterX opened 2 years ago

TingsterX commented 2 years ago

Describe the bug

C-PAC GUI

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

shnizzedy commented 2 years ago

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

shnizzedy commented 2 years ago

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

C-PAC individual pipeline

shnizzedy commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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

shnizzedy commented 2 years ago

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