From 2734f064af028ec2cd00c57b360115b4fe123083 Mon Sep 17 00:00:00 2001 From: Taylor Salo Date: Tue, 3 Sep 2024 15:25:16 -0400 Subject: [PATCH] Keep working. --- env.yml | 6 ++-- src/fmripost_rapidtide/_version.py | 4 +-- src/fmripost_rapidtide/cli/__init__.py | 13 ------- src/fmripost_rapidtide/config.py | 2 +- .../interfaces/rapidtide.py | 8 ++--- src/fmripost_rapidtide/workflows/rapidtide.py | 35 ++++++++++--------- 6 files changed, 29 insertions(+), 39 deletions(-) diff --git a/env.yml b/env.yml index de82acb..7924ee5 100644 --- a/env.yml +++ b/env.yml @@ -24,11 +24,11 @@ dependencies: - graphviz=9.0 - pandoc=3.1 # Workflow dependencies: FSL (versions pinned in 6.0.7.7) - # We need SUSAN and MELODIC for Rapidtide - fsl-bet2=2111.4 - - fsl-melodic=2111.3 - fsl-miscmaths=2203.2 - - fsl-susan=2111.0 + # Workflow dependencies: ANTs + - ants=2.5 + # Other dependencies - pip - pip: - templateflow==24.0 diff --git a/src/fmripost_rapidtide/_version.py b/src/fmripost_rapidtide/_version.py index 413eb73..0c86bb6 100644 --- a/src/fmripost_rapidtide/_version.py +++ b/src/fmripost_rapidtide/_version.py @@ -12,5 +12,5 @@ __version_tuple__: VERSION_TUPLE version_tuple: VERSION_TUPLE -__version__ = version = '0.1.dev73+g29d61b9' -__version_tuple__ = version_tuple = (0, 1, 'dev73', 'g29d61b9') +__version__ = version = '0.1.dev21+g8ddc181.d20240903' +__version_tuple__ = version_tuple = (0, 1, 'dev21', 'g8ddc181.d20240903') diff --git a/src/fmripost_rapidtide/cli/__init__.py b/src/fmripost_rapidtide/cli/__init__.py index 5a79e7b..e69de29 100644 --- a/src/fmripost_rapidtide/cli/__init__.py +++ b/src/fmripost_rapidtide/cli/__init__.py @@ -1,13 +0,0 @@ -# SPDX-FileCopyrightText: 2023-present Chris Markiewicz -# -# SPDX-License-Identifier: Apache-2.0 -import click - -from .. import __version__ - - -@click.group(context_settings={'help_option_names': ['-h', '--help']}, invoke_without_command=True) -@click.version_option(version=__version__, prog_name='fmripost-rapidtide') -@click.pass_context -def fmripost_rapidtide(ctx: click.Context): - click.echo('Hello world!') diff --git a/src/fmripost_rapidtide/config.py b/src/fmripost_rapidtide/config.py index bf1c4e4..f6742eb 100644 --- a/src/fmripost_rapidtide/config.py +++ b/src/fmripost_rapidtide/config.py @@ -594,7 +594,7 @@ class workflow(_Config): convergencethresh = None """Continue refinement until the MSE between regressors becomes <= THRESH.""" maxpasses = None - """Terminate refinement after MAXPASSES passes, whether or not convergence has occured.""" + """Terminate refinement after MAXPASSES passes, whether or not convergence has occurred.""" glmsourcefile = None """Regress delayed regressors out of FILE instead of the initial fmri file used to estimate delays.""" diff --git a/src/fmripost_rapidtide/interfaces/rapidtide.py b/src/fmripost_rapidtide/interfaces/rapidtide.py index c44a949..213a2a7 100644 --- a/src/fmripost_rapidtide/interfaces/rapidtide.py +++ b/src/fmripost_rapidtide/interfaces/rapidtide.py @@ -138,8 +138,8 @@ class _RapidtideInputSpec(CommandLineInputSpec): argstr='--globalsignalmethod %s', mandatory=False, ) - globalpcacomponents = traits.Int( - argstr='--globalpcacomponents %d', + globalpcacomponents = traits.Float( + argstr='--globalpcacomponents %f', mandatory=False, ) numskip = traits.Int( @@ -207,8 +207,8 @@ class _RapidtideInputSpec(CommandLineInputSpec): argstr='--sigmathresh %f', mandatory=False, ) - pcacomponents = traits.Int( - argstr='--pcacomponents %d', + pcacomponents = traits.Float( + argstr='--pcacomponents %f', mandatory=False, ) convergencethresh = traits.Float( diff --git a/src/fmripost_rapidtide/workflows/rapidtide.py b/src/fmripost_rapidtide/workflows/rapidtide.py index 02d36b9..afdacc7 100644 --- a/src/fmripost_rapidtide/workflows/rapidtide.py +++ b/src/fmripost_rapidtide/workflows/rapidtide.py @@ -34,6 +34,7 @@ def init_rapidtide_wf( *, bold_file: str, metadata: dict, + mem_gb: dict, ): """Build a workflow that runs `Rapidtide`_. @@ -87,6 +88,7 @@ def init_rapidtide_wf( confounds_file """ + from nipype.interfaces.base import Undefined from niworkflows.engine.workflows import LiterateWorkflow as Workflow from fmripost_rapidtide.interfaces.nilearn import SplitDseg @@ -146,45 +148,46 @@ def init_rapidtide_wf( datatstep=metadata['RepetitionTime'], autosync=config.workflow.autosync, filterband=config.workflow.filterband, - passvec=config.workflow.passvec, - stopvec=config.workflow.stopvec, - numestreps=config.workflow.numestreps, + filterfreqs=config.workflow.passvec or Undefined, + filterstopfreqs=config.workflow.stopvec or Undefined, + numnull=config.workflow.numestreps, detrendorder=config.workflow.detrendorder, - gausssigma=config.workflow.gausssigma, - confoundfilespec=config.workflow.confoundfilespec, - confound_power=config.workflow.confound_power, - confound_deriv=config.workflow.confound_deriv, + spatialfilt=config.workflow.gausssigma, + confoundfile=config.workflow.confoundfilespec or Undefined, + confoundpowers=config.workflow.confound_power, + confoundderiv=config.workflow.confound_deriv, globalsignalmethod=config.workflow.globalsignalmethod, globalpcacomponents=config.workflow.globalpcacomponents, numtozero=config.workflow.numtozero, timerange=config.workflow.timerange, corrweighting=config.workflow.corrweighting, simcalcrange=config.workflow.simcalcrange, - fixeddelayvalue=config.workflow.fixeddelayvalue, - lag_extrema=config.workflow.lag_extrema, - widthmax=config.workflow.widthmax, + fixdelay=config.workflow.fixeddelayvalue or Undefined, + searchrange=config.workflow.lag_extrema, + sigmalimit=config.workflow.widthmax, bipolar=config.workflow.bipolar, lagminthresh=config.workflow.lagminthresh, lagmaxthresh=config.workflow.lagmaxthresh, ampthresh=config.workflow.ampthresh, sigmathresh=config.workflow.sigmathresh, pcacomponents=config.workflow.pcacomponents, - convergencethresh=config.workflow.convergencethresh, + convergencethresh=config.workflow.convergencethresh or Undefined, maxpasses=config.workflow.maxpasses, - glmsourcefile=config.workflow.glmsourcefile, + glmsourcefile=config.workflow.glmsourcefile or Undefined, glmderivs=config.workflow.glmderivs, outputlevel=config.workflow.outputlevel, - territorymap=config.workflow.territorymap, - respdelete=config.workflow.respdelete, + territorymap=config.workflow.territorymap or Undefined, + autorespdelete=config.workflow.respdelete, ), name='rapidtide', + mem_gb=mem_gb['resampled'], ) workflow.connect([ (inputnode, rapidtide, [ ('bold_std', 'in_file'), ('brain_mask_std', 'brainmask'), - ('confounds', 'motpars'), - ('skip_vols', 'skip_vols'), + ('confounds', 'motionfile'), + ('skip_vols', 'numskip'), ]), (split_tissues, rapidtide, [ ('gm', 'graymattermask'),