codecov[bot]: # [Codecov](https://codecov.io/gh/HBClab/NiBetaSeries/pull/298?src=pr&el=h1) Report
> Merging [#298](https://codecov.io/gh/HBClab/NiBetaSeries/pull/298?src=pr&el=desc) into [master](https://codecov.io/gh/HBClab/NiBetaSeries/commit/e9d8c2a9607a65cfcfbc910444b5ae41224912be&el=desc) will **increase** coverage by `0.09%`.
> The diff coverage is `100.00%`.


```diff
@@            Coverage Diff             @@
##           master     #298      +/-   ##
==========================================
+ Coverage   89.76%   89.85%   +0.09%     
==========================================
  Files          10       10              
  Lines         752      759       +7     
  Branches      114      115       +1     
==========================================
+ Hits          675      682       +7     
  Misses         45       45              
  Partials       32       32              
```

diff --git a/docs/workflows.rst b/docs/workflows.rst
index b244d3a..da8a1c2 100644
--- a/docs/workflows.rst
+++ b/docs/workflows.rst
@@ -26,6 +26,7 @@ Participant Workflow
         output_dir='.',
         preproc_img_list=[''],
         selected_confounds=[''],
+        signal_scaling=0,
         smoothing_kernel=None)
 
 The general workflow for a participant models the beta series
@@ -54,6 +55,7 @@ Least Squares- Separate (LSS)
         hrf_model='glover',
         high_pass=0.008,
         smoothing_kernel=0.0,
+        signal_scaling=0,
         selected_confounds=[''])
 
 nistats is used for modeling using the
@@ -75,6 +77,7 @@ Finite BOLD Response- Separate (FS)
         hrf_model='fir',
         high_pass=0.008,
         smoothing_kernel=0.0,
+        signal_scaling=0,
         selected_confounds=[''])
 
 Additionally, NiBetaSeries can be used to perform
@@ -97,6 +100,7 @@ Least Squares- All (LSA)
         hrf_model='glover',
         high_pass=0.008,
         smoothing_kernel=0.0,
+        signal_scaling=0,
         selected_confounds=[''])
 
 For completeness, NiBetaSeries also implements least squares- all (LSA),
diff --git a/src/nibetaseries/cli/run.py b/src/nibetaseries/cli/run.py
index b19b65c..5a0a81b 100644
--- a/src/nibetaseries/cli/run.py
+++ b/src/nibetaseries/cli/run.py
@@ -102,6 +102,10 @@ def get_parser():
                            'are stored (i.e. non-essential files). '
                            'This directory can be deleted once you are reasonably '
                            'certain nibs finished as expected.')
+    proc_opts.add_argument('--no-signal-scaling', action='store_true', default=False,
+                           help='do not scale every voxel with respect to time meaning'
+                                ' beta estimates will be in the same units as the bold'
+                                ' signal')
 
     # Image Selection options
     bids_opts = parser.add_argument_group('Options for selecting images')
@@ -237,6 +241,12 @@ def main():
     else:
         atlas_img = atlas_lut = None
 
+    # check if --no-signal-scaling is set
+    if opts.no_signal_scaling:
+        signal_scaling = False
+    else:
+        signal_scaling = 0
+
     # running participant level
     if opts.analysis_level == "participant":
         nibetaseries_participant_wf = init_nibetaseries_participant_wf(
@@ -252,6 +262,7 @@ def main():
             high_pass=opts.high_pass,
             output_dir=output_dir,
             run_label=opts.run_label,
+            signal_scaling=signal_scaling,
             selected_confounds=opts.confounds,
             session_label=opts.session_label,
             smoothing_kernel=opts.smoothing_kernel,
diff --git a/src/nibetaseries/interfaces/nistats.py b/src/nibetaseries/interfaces/nistats.py
index 43fef26..225efff 100644
--- a/src/nibetaseries/interfaces/nistats.py
+++ b/src/nibetaseries/interfaces/nistats.py
@@ -27,6 +27,9 @@ class LSSBetaSeriesInputSpec(BaseInterfaceInputSpec):
                        desc="File that contains all events from the bold run")
     confounds_file = traits.Either(None, File(exists=True),
                                    desc="File that contains all usable confounds")
+    signal_scaling = traits.Enum(False, 0,
+                                 desc="Whether (0) or not (False) to scale each"
+                                      " voxel's timeseries")
     selected_confounds = traits.Either(None, traits.List(),
                                        desc="Column names of the regressors to include")
     hrf_model = traits.String(desc="hemodynamic response model")
@@ -70,7 +73,7 @@ class LSSBetaSeries(NistatsBaseInterface, SimpleInterface):
             hrf_model=self.inputs.hrf_model,
             mask=self.inputs.mask_file,
             smoothing_fwhm=self.inputs.smoothing_kernel,
-            signal_scaling=0,
+            signal_scaling=self.inputs.signal_scaling,
             high_pass=self.inputs.high_pass,
             drift_model='cosine',
             verbose=1,
@@ -156,6 +159,9 @@ class LSABetaSeriesInputSpec(BaseInterfaceInputSpec):
                        desc="File that contains all events from the bold run")
     confounds_file = traits.Either(None, File(exists=True),
                                    desc="File that contains all usable confounds")
+    signal_scaling = traits.Enum(False, 0,
+                                 desc="Whether (0) or not (False) to scale each"
+                                      " voxel's timeseries")
     selected_confounds = traits.Either(None, traits.List(),
                                        desc="Column names of the regressors to include")
     hrf_model = traits.String(desc="hemodynamic response model")
@@ -196,7 +202,7 @@ class LSABetaSeries(NistatsBaseInterface, SimpleInterface):
             hrf_model=self.inputs.hrf_model,
             mask=self.inputs.mask_file,
             smoothing_fwhm=self.inputs.smoothing_kernel,
-            signal_scaling=0,
+            signal_scaling=self.inputs.signal_scaling,
             high_pass=self.inputs.high_pass,
             drift_model='cosine',
             verbose=1,
diff --git a/src/nibetaseries/workflows/base.py b/src/nibetaseries/workflows/base.py
index 78dc6a1..b3da68d 100644
--- a/src/nibetaseries/workflows/base.py
+++ b/src/nibetaseries/workflows/base.py
@@ -32,8 +32,8 @@ from ..interfaces.nilearn import CensorVolumes
 def init_nibetaseries_participant_wf(
     estimator, atlas_img, atlas_lut, bids_dir,
     database_path, derivatives_pipeline_dir, exclude_description_label,
-    fir_delays, hrf_model, high_pass,
-    output_dir, run_label, selected_confounds, session_label, smoothing_kernel,
+    fir_delays, hrf_model, high_pass, output_dir, run_label,
+    selected_confounds, session_label, signal_scaling, smoothing_kernel,
     space_label, subject_list, task_label, description_label, work_dir,
         ):
 
@@ -69,6 +69,8 @@ def init_nibetaseries_participant_wf(
             Include bold series containing this run label
         selected_confounds : list
             List of confounds to be included in regression
+        signal_scaling : False or 0
+            Whether (0) or not (False) to scale each voxel's timeseries
         session_label : str or None
             Include bold series containing this session label
         smoothing_kernel : float or None
@@ -173,6 +175,7 @@ It is released under the [CC0]\
             output_dir=output_dir,
             preproc_img_list=preproc_img_list,
             selected_confounds=selected_confounds,
+            signal_scaling=signal_scaling,
             smoothing_kernel=smoothing_kernel,
         )
 
@@ -191,8 +194,8 @@ It is released under the [CC0]\
 def init_single_subject_wf(
     estimator, atlas_img, atlas_lut, bold_metadata_list, brainmask_list,
     confound_tsv_list, events_tsv_list, fir_delays, hrf_model, high_pass,
-    name, output_dir,
-    preproc_img_list, selected_confounds, smoothing_kernel
+    name, output_dir, preproc_img_list, selected_confounds,
+    signal_scaling, smoothing_kernel,
         ):
     """
     This workflow completes the generation of the betaseries files
@@ -217,6 +220,7 @@ def init_single_subject_wf(
             output_dir='.',
             preproc_img_list=[''],
             selected_confounds=[''],
+            signal_scaling=0,
             smoothing_kernel=0.0)
 
     Parameters
@@ -249,6 +253,8 @@ def init_single_subject_wf(
             list of preprocessed bold files
         selected_confounds : list or None
             the list of confounds to be included in regression
+        signal_scaling : False or 0
+            Whether (0) or not (False) to scale each voxel's timeseries
         smoothing_kernel : float or None
             the size of the smoothing kernel (full width/half max) applied to the bold file (in mm)
 
@@ -308,6 +314,7 @@ def init_single_subject_wf(
                                        hrf_model=hrf_model,
                                        high_pass=high_pass,
                                        selected_confounds=selected_confounds,
+                                       signal_scaling=signal_scaling,
                                        smoothing_kernel=smoothing_kernel)
 
     # initialize the analysis workflow
diff --git a/src/nibetaseries/workflows/model.py b/src/nibetaseries/workflows/model.py
index 16b5b5a..fb13b15 100644
--- a/src/nibetaseries/workflows/model.py
+++ b/src/nibetaseries/workflows/model.py
@@ -23,8 +23,9 @@ def init_betaseries_wf(name="betaseries_wf",
                        fir_delays=None,
                        hrf_model='glover',
                        high_pass=0.0078125,
-                       smoothing_kernel=None,
+                       signal_scaling=0,
                        selected_confounds=None,
+                       smoothing_kernel=None,
                        ):
     """Derives Beta Series Maps
     This workflow derives beta series maps from a bold file.
@@ -54,10 +55,12 @@ def init_betaseries_wf(name="betaseries_wf",
     high_pass : float
         high pass filter to apply to bold (in Hertz).
         Reminder - frequencies _lower_ than this number are kept.
-    smoothing_kernel : float or None
-        The size of the smoothing kernel (full width/half max) applied to the bold file (in mm)
     selected_confounds : list or None
         the list of confounds to be included in regression.
+    signal_scaling : False or 0
+        Whether (0) or not (False) to scale each voxel's timeseries
+    smoothing_kernel : float or None
+        The size of the smoothing kernel (full width/half max) applied to the bold file (in mm)
 
     Inputs
     ------
@@ -89,6 +92,7 @@ def init_betaseries_wf(name="betaseries_wf",
         hrf=hrf_model,
         hpf=high_pass,
         selected_confounds=selected_confounds,
+        signal_scaling=signal_scaling,
         estimator=estimator,
         fir_delays=fir_delays,
     )
@@ -105,6 +109,7 @@ def init_betaseries_wf(name="betaseries_wf",
         betaseries_node = pe.Node(LSSBetaSeries(
                 fir_delays=fir_delays,
                 selected_confounds=selected_confounds,
+                signal_scaling=signal_scaling,
                 hrf_model=hrf_model,
                 smoothing_kernel=smoothing_kernel,
                 high_pass=high_pass),
@@ -112,6 +117,7 @@ def init_betaseries_wf(name="betaseries_wf",
     elif estimator == 'lsa':
         betaseries_node = pe.Node(LSABetaSeries(
                 selected_confounds=selected_confounds,
+                signal_scaling=signal_scaling,
                 hrf_model=hrf_model,
                 smoothing_kernel=smoothing_kernel,
                 high_pass=high_pass),
@@ -134,16 +140,17 @@ def init_betaseries_wf(name="betaseries_wf",
 
 
 def gen_wf_description(nistats_ver, fwhm, hrf, hpf,
-                       selected_confounds, estimator,
-                       fir_delays=None):
+                       selected_confounds, signal_scaling,
+                       estimator, fir_delays=None):
     from textwrap import dedent
 
     smooth_str = ('smoothed with a Gaussian kernel with a FWHM of {fwhm} mm,'
                   ' '.format(fwhm=fwhm)
                   if fwhm != 0. else '')
+    signal_scale_str = ', and mean-scaled over time.' if signal_scaling == 0 else '.'
 
-    preproc_str = ('Prior to modeling, preprocessed data were {smooth_str}masked,'
-                   'and mean-scaled over time.'.format(smooth_str=smooth_str))
+    preproc_str = ('Prior to modeling, preprocessed data were {smooth_str}masked{signal_scale_str}'
+                   .format(smooth_str=smooth_str, signal_scale_str=signal_scale_str))
 
     beta_series_tmp = dedent("""
         After fitting {n_models} model, the parameter estimate (i.e., beta) map

Option to not scale voxel timeseries
**Is your feature request related to a problem? Please describe.**
I'm trying to measure how the BOLD amplitude relates to noise amplitude/standard deviation, and I want the time series to not be transformed so the units are in the original units of the voxels (not a percentage).

**Describe the solution you'd like**
An option to say that there will be no signal scaling performed (so that behavior from previous runs will remain the same)

**Describe alternatives you've considered**
Transform the betas instead of the timeseries.

**Additional context**
N/A

diff --git a/src/nibetaseries/cli/tests/test_run.py b/src/nibetaseries/cli/tests/test_run.py
index 6ea05ce..c205561 100644
--- a/src/nibetaseries/cli/tests/test_run.py
+++ b/src/nibetaseries/cli/tests/test_run.py
@@ -36,14 +36,15 @@ def test_conditional_arguments(monkeypatch):
         get_parser().parse_args(no_img)
 
 
-@pytest.mark.parametrize("use_atlas,estimator,fir_delays,hrf_model,part_label",
-                         [(True, 'lsa', None, 'spm', '01'),
-                          (False, 'lss', None, 'spm', 'sub-01'),
-                          (True, 'lss', [0, 1, 2, 3, 4], 'fir', None)])
+@pytest.mark.parametrize("use_atlas,estimator,fir_delays,hrf_model,part_label,use_signal_scaling",
+                         [(True, 'lsa', None, 'spm', '01', True),
+                          (False, 'lss', None, 'spm', 'sub-01', False),
+                          (True, 'lss', [0, 1, 2, 3, 4], 'fir', None, False)])
 def test_nibs(
         bids_dir, deriv_dir, sub_fmriprep, sub_metadata, bold_file, preproc_file,
         sub_events, confounds_file, brainmask_file, atlas_file, atlas_lut,
-        estimator, fir_delays, hrf_model, monkeypatch, part_label, use_atlas):
+        estimator, fir_delays, hrf_model, monkeypatch, part_label, use_atlas,
+        use_signal_scaling):
     import sys
     bids_dir = str(bids_dir)
     out_dir = os.path.join(bids_dir, 'derivatives')
@@ -64,6 +65,8 @@ def test_nibs(
             out_dir,
             "participant",
             "-c", ".*derivative.*"]
+    if use_signal_scaling:
+        args.extend(["--no-signal-scaling"])
     if use_atlas:
         args.extend(["-a", str(atlas_file), "-l", str(atlas_lut)])
     if fir_delays:
diff --git a/src/nibetaseries/interfaces/tests/test_nistats.py b/src/nibetaseries/interfaces/tests/test_nistats.py
index 6b1c367..b1f7a94 100644
--- a/src/nibetaseries/interfaces/tests/test_nistats.py
+++ b/src/nibetaseries/interfaces/tests/test_nistats.py
@@ -46,6 +46,7 @@ def test_lss_beta_series(sub_metadata, preproc_file, sub_events,
                                 events_file=str(sub_events),
                                 confounds_file=str(confounds_file),
                                 selected_confounds=selected_confounds,
+                                signal_scaling=0,
                                 hrf_model=hrf_model,
                                 smoothing_kernel=None,
                                 high_pass=0.008)
@@ -98,6 +99,7 @@ def test_fs_beta_series(sub_metadata, preproc_file, sub_events,
                                 events_file=str(sub_events),
                                 confounds_file=str(confounds_file),
                                 selected_confounds=selected_confounds,
+                                signal_scaling=0,
                                 hrf_model=hrf_model,
                                 fir_delays=fir_delays,
                                 smoothing_kernel=None,
@@ -149,6 +151,7 @@ def test_lsa_beta_series(sub_metadata, preproc_file, sub_events,
                                 mask_file=mask_file,
                                 events_file=str(sub_events),
                                 confounds_file=str(confounds_file),
+                                signal_scaling=0,
                                 selected_confounds=selected_confounds,
                                 hrf_model=hrf_model,
                                 smoothing_kernel=None,
diff --git a/src/nibetaseries/workflows/tests/test_base.py b/src/nibetaseries/workflows/tests/test_base.py
index 7a10b27..c5f2c6f 100644
--- a/src/nibetaseries/workflows/tests/test_base.py
+++ b/src/nibetaseries/workflows/tests/test_base.py
@@ -8,14 +8,14 @@ import pytest
 from ..base import init_nibetaseries_participant_wf, _check_bs_len
 
 
-@pytest.mark.parametrize("estimator,fir_delays,hrf_model",
-                         [('lsa', None, 'spm'),
-                          ('lss', None, 'spm'),
-                          ('lss', [0, 1, 2, 3, 4], 'fir')])
+@pytest.mark.parametrize("estimator,fir_delays,hrf_model,signal_scaling",
+                         [('lsa', None, 'spm', 0),
+                          ('lss', None, 'spm', False),
+                          ('lss', [0, 1, 2, 3, 4], 'fir', False)])
 def test_valid_init_nibetaseries_participant_wf(
         bids_dir, deriv_dir, sub_fmriprep, sub_top_metadata, bold_file, preproc_file,
         sub_events, confounds_file, brainmask_file, atlas_file, atlas_lut, bids_db_file,
-        estimator, fir_delays, hrf_model):
+        estimator, fir_delays, hrf_model, signal_scaling):
 
     output_dir = op.join(str(bids_dir), 'derivatives', 'atlasCorr')
     work_dir = op.join(str(bids_dir), 'derivatives', 'work')
@@ -43,6 +43,7 @@ def test_valid_init_nibetaseries_participant_wf(
         run_label=None,
         selected_confounds=['white_matter', 'csf'],
         session_label=None,
+        signal_scaling=signal_scaling,
         smoothing_kernel=None,
         space_label=None,
         subject_list=["01"],
@@ -87,6 +88,7 @@ def test_filters_init_nibetaseries_participant_wf(
             run_label=run_label,
             selected_confounds=['white_matter', 'csf'],
             session_label=session_label,
+            signal_scaling=False,
             smoothing_kernel=None,
             space_label=space_label,
             subject_list=["01"],

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-xdist
apt-get update apt-get install -y gcc
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
bids-validator==1.14.0
build==0.10.0
certifi @ file:///croot/certifi_1671487769961/work/certifi
charset-normalizer==3.4.1
check-manifest==0.50
ci-info==0.3.0
citeproc-py==0.6.0
click==8.1.8
codecov==2.1.13
coverage==7.2.7
cycler==0.11.0
docopt==0.6.2
duecredit==0.6.5
etelemetry==0.3.1
exceptiongroup==1.2.2
execnet==2.0.2
filelock==3.12.2
flake8==5.0.4
greenlet==3.1.1
idna==3.10
imageio==2.31.2
importlib-metadata==4.2.0
iniconfig==2.0.0
isodate==0.6.1
Jinja2==3.1.6
kiwisolver==1.4.5
lxml==5.3.1
MarkupSafe==2.1.5
matplotlib==2.2.5
mccabe==0.7.0
mne==0.18.2
networkx==2.6.3
neurdflib==5.0.1
nibabel==2.4.1
-e git+https://github.com/HBClab/NiBetaSeries.git@e9d8c2a9607a65cfcfbc910444b5ae41224912be#egg=nibetaseries
nilearn==0.4.2
nipype==1.4.2
nistats==0.0.1b2
niworkflows==1.0.4
num2words==0.5.14
numpy==1.21.6
packaging==24.0
pandas==0.24.2
patsy==1.0.1
Pillow==9.5.0
pluggy==1.2.0
prov==2.0.1
pybids==0.9.5
pycodestyle==2.9.1
pydot==2.0.0
pydotplus==2.0.2
pyflakes==2.5.0
pyparsing==3.1.4
pyproject_hooks==1.2.0
pytest==7.4.4
pytest-cov==4.1.0
pytest-xdist==3.5.0
python-dateutil==2.9.0.post0
pytz==2025.2
PyWavelets==1.3.0
PyYAML==6.0.1
rdflib==6.3.2
requests==2.31.0
scikit-image==0.19.3
scikit-learn==0.19.2
scipy==1.7.3
seaborn==0.11.2
simplejson==3.20.1
six==1.17.0
SQLAlchemy==2.0.40
svgutils==0.3.4
templateflow==0.4.2
tifffile==2021.11.2
tomli==2.0.1
tqdm==4.67.1
traits==6.4.3
transforms3d==0.4.2
typing_extensions==4.7.1
urllib3==2.0.7
zipp==3.15.0

name: NiBetaSeries
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - bids-validator==1.14.0
      - build==0.10.0
      - charset-normalizer==3.4.1
      - check-manifest==0.50
      - ci-info==0.3.0
      - citeproc-py==0.6.0
      - click==8.1.8
      - codecov==2.1.13
      - coverage==7.2.7
      - cycler==0.11.0
      - docopt==0.6.2
      - duecredit==0.6.5
      - etelemetry==0.3.1
      - exceptiongroup==1.2.2
      - execnet==2.0.2
      - filelock==3.12.2
      - flake8==5.0.4
      - greenlet==3.1.1
      - idna==3.10
      - imageio==2.31.2
      - importlib-metadata==4.2.0
      - iniconfig==2.0.0
      - isodate==0.6.1
      - jinja2==3.1.6
      - kiwisolver==1.4.5
      - lxml==5.3.1
      - markupsafe==2.1.5
      - matplotlib==2.2.5
      - mccabe==0.7.0
      - mne==0.18.2
      - networkx==2.6.3
      - neurdflib==5.0.1
      - nibabel==2.4.1
      - nibetaseries==0.4.3.post5+ge9d8c2a
      - nilearn==0.4.2
      - nipype==1.4.2
      - nistats==0.0.1b2
      - niworkflows==1.0.4
      - num2words==0.5.14
      - numpy==1.21.6
      - packaging==24.0
      - pandas==0.24.2
      - patsy==1.0.1
      - pillow==9.5.0
      - pluggy==1.2.0
      - prov==2.0.1
      - pybids==0.9.5
      - pycodestyle==2.9.1
      - pydot==2.0.0
      - pydotplus==2.0.2
      - pyflakes==2.5.0
      - pyparsing==3.1.4
      - pyproject-hooks==1.2.0
      - pytest==7.4.4
      - pytest-cov==4.1.0
      - pytest-xdist==3.5.0
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - pywavelets==1.3.0
      - pyyaml==6.0.1
      - rdflib==6.3.2
      - requests==2.31.0
      - scikit-image==0.19.3
      - scikit-learn==0.19.2
      - scipy==1.7.3
      - seaborn==0.11.2
      - simplejson==3.20.1
      - six==1.17.0
      - sqlalchemy==2.0.40
      - svgutils==0.3.4
      - templateflow==0.4.2
      - tifffile==2021.11.2
      - tomli==2.0.1
      - tqdm==4.67.1
      - traits==6.4.3
      - transforms3d==0.4.2
      - typing-extensions==4.7.1
      - urllib3==2.0.7
      - zipp==3.15.0
prefix: /opt/conda/envs/NiBetaSeries

src/nibetaseries/interfaces/tests/test_nistats.py::test_lss_beta_series[True-spm] src/nibetaseries/interfaces/tests/test_nistats.py::test_lss_beta_series[False-spm src/nibetaseries/interfaces/tests/test_nistats.py::test_fs_beta_series[True] src/nibetaseries/interfaces/tests/test_nistats.py::test_fs_beta_series[False] src/nibetaseries/interfaces/tests/test_nistats.py::test_lsa_beta_series[True] src/nibetaseries/interfaces/tests/test_nistats.py::test_lsa_beta_series[False] src/nibetaseries/workflows/tests/test_base.py::test_valid_init_nibetaseries_participant_wf[lsa-None-spm-0] src/nibetaseries/workflows/tests/test_base.py::test_valid_init_nibetaseries_participant_wf[lss-None-spm-False] src/nibetaseries/workflows/tests/test_base.py::test_valid_init_nibetaseries_participant_wf[lss-fir_delays2-fir-False] src/nibetaseries/workflows/tests/test_base.py::test_filters_init_nibetaseries_participant_wf[these-are-not-valid-filters] src/nibetaseries/workflows/tests/test_base.py::test_filters_init_nibetaseries_participant_wf[123-123-123-123-123]
src/nibetaseries/cli/tests/test_run.py::test_nibs[True-lsa-None-spm-01-True] src/nibetaseries/cli/tests/test_run.py::test_nibs[False-lss-None-spm-sub-01-False] src/nibetaseries/cli/tests/test_run.py::test_nibs[True-lss-fir_delays2-fir-None-False]
src/nibetaseries/cli/tests/test_run.py::test_get_parser src/nibetaseries/cli/tests/test_run.py::test_conditional_arguments src/nibetaseries/cli/tests/test_run.py::test_init src/nibetaseries/cli/tests/test_run.py::test_deriv_directory src/nibetaseries/cli/tests/test_run.py::test_fir_delays src/nibetaseries/interfaces/tests/test_nistats.py::test_lss_events_iterator src/nibetaseries/interfaces/tests/test_nistats.py::test_lsa_events_converter src/nibetaseries/interfaces/tests/test_nistats.py::test_select_confounds_error src/nibetaseries/interfaces/tests/test_nistats.py::test_select_confounds[selected_confounds0-nan_confounds0-expanded_confounds0] src/nibetaseries/interfaces/tests/test_nistats.py::test_select_confounds[selected_confounds1-None-expanded_confounds1] src/nibetaseries/interfaces/tests/test_nistats.py::test_select_confounds[selected_confounds2-nan_confounds2-expanded_confounds2] src/nibetaseries/interfaces/tests/test_nistats.py::test_calc_beta_map[glover] src/nibetaseries/interfaces/tests/test_nistats.py::test_calc_beta_map[glover src/nibetaseries/workflows/tests/test_base.py::test_check_bs_len[fnames0-lengths0-expected_out0] src/nibetaseries/workflows/tests/test_base.py::test_check_bs_len[fnames1-lengths1-expected_out1] src/nibetaseries/workflows/tests/test_base.py::test_check_bs_len[fnames2-lengths2-None]
src/nibetaseries/workflows/model.py docs/workflows.rst src/nibetaseries/interfaces/nistats.py src/nibetaseries/cli/run.py src/nibetaseries/workflows/base.py
src/nibetaseries/workflows/model.py docs/workflows.rst src/nibetaseries/interfaces/nistats.py src/nibetaseries/cli/run.py src/nibetaseries/workflows/base.py