niworkflows icon indicating copy to clipboard operation
niworkflows copied to clipboard

Migrate tools from fMRIPrep (post-fit-apply restructure) to Niworkflows

Open tsalo opened this issue 4 months ago • 0 comments

What would you like to see added in this software?

This stems from today's NiPreps Technical Monitoring meeting. Recently, I updated ASLPrep to match fMRIPrep's fit-apply restructuring, and there are a number of functions, interfaces, and workflows that I had to import from fMRIPrep, or copy over to ASLPrep with minimal changes (especially to patch in ASLPrep's DerivativesDataSink). @effigies recommended I open an issue.

  • fmriprep.interfaces.confounds.aCompCorMasks
  • fmriprep.interfaces.reports.get_world_pedir
  • fmriprep.interfaces.resampling.DistortionParameters
  • fmriprep.interfaces.resampling.ReconstructFieldmap
  • fmriprep.interfaces.resampling.ResampleSeries
  • fmriprep.interfaces.workbench.MetricDilate
  • fmriprep.interfaces.workbench.MetricMask
  • fmriprep.interfaces.workbench.MetricResample
  • fmriprep.utils.bids.check_pipeline_version
  • fmriprep.utils.bids.extract_entities
  • fmriprep.workflows.bold.apply.init_bold_volumetric_resample_wf
  • fmriprep.workflows.bold.confounds._carpet_parcellation
  • fmriprep.workflows.bold.outputs.init_ds_hmc_wf
    • I have to patch in ASLPrep's DerivativesDataSink when creating this workflow.
  • fmriprep.workflows.bold.outputs.init_ds_registration_wf
    • I have to patch in ASLPrep's DerivativesDataSink when creating this workflow.
  • fmriprep.workflows.bold.outputs.init_func_fit_reports_wf
    • The only substantial changes I had to make to this for ASLPrep were to DerivativesDataSink suffixes.
  • fmriprep.workflows.bold.registration.init_bold_reg_wf
  • fmriprep.workflows.bold.resampling.init_bold_fsLR_resampling_wf
  • fmriprep.workflows.bold.resampling.init_bold_grayords_wf
  • fmriprep.workflows.bold.resampling.init_bold_surf_wf
    • I had to make an ASL-specific version of this. The two main changes for ASLPrep are: prepare_timing_parameters is dropped and DerivativesDataSink is imported outside the function. The former is because prepare_timing_parameters relies on fMRIPrep's config, which will be uninitialized when called by ASLPrep. ASLPrep can work around this with a context manager though. The latter is because, when DerivativesDataSink is imported within the function, ASLPrep can't use a context manager to override it with its own version.
  • fmriprep.workflows.bold.resampling.init_goodvoxels_bold_mask_wf

Do you have any interest in helping implement the feature?

Yes

Additional information / screenshots

No response

tsalo avatar Feb 13 '24 18:02 tsalo