Skip to content

Commit

Permalink
Making fetch_localizer_button_task backwards compatibile (#2182)
Browse files Browse the repository at this point in the history
  • Loading branch information
kchawla-pi committed Oct 21, 2019
1 parent 510e724 commit 58ded60
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 17 deletions.
4 changes: 2 additions & 2 deletions examples/01_plotting/plot_dim_plotting.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@

localizer_dataset = datasets.fetch_localizer_button_task()
# Contrast map of motor task
localizer_tmap_filename = localizer_dataset.tmaps[0]
localizer_tmap_filename = localizer_dataset.tmap
# Subject specific anatomical image
localizer_anat_filename = localizer_dataset.anats[0]
localizer_anat_filename = localizer_dataset.anat
###########################################################################
# Plotting with enhancement of background image with dim=-.5
# --------------------------------------------------------------------------
Expand Down
14 changes: 5 additions & 9 deletions nilearn/datasets/func.py
Original file line number Diff line number Diff line change
Expand Up @@ -1073,7 +1073,7 @@ def fetch_localizer_calculation_task(n_subjects=1, data_dir=None, url=None,
return data


def fetch_localizer_button_task(n_subjects=None, data_dir=None, url=None,
def fetch_localizer_button_task(data_dir=None, url=None,
verbose=1):
"""Fetch left vs right button press contrast maps from the localizer.
Expand Down Expand Up @@ -1116,18 +1116,14 @@ def fetch_localizer_button_task(n_subjects=None, data_dir=None, url=None,
nilearn.datasets.fetch_localizer_contrasts
"""
if n_subjects is None:
n_subjects = [2]
data = fetch_localizer_contrasts(["left vs right button press"],
n_subjects=n_subjects,
n_subjects=[2],
get_tmaps=True, get_masks=False,
get_anats=True, data_dir=data_dir,
url=url, resume=True, verbose=verbose)
# TODO: remove -> only here for compatibility
if len(data["tmaps"]) == 1:
setattr(data, "tmap", data["tmaps"][0])
if len(data["anats"]) == 1:
setattr(data, "anat", data["anats"][0])
# Additional keys for backward compatibility
data['tmap'] = data['tmaps'][0]
data['anat'] = data['anats'][0]
return data


Expand Down
23 changes: 17 additions & 6 deletions nilearn/datasets/tests/test_func.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,12 +281,23 @@ def test_fetch_localizer_calculation_task():
@with_setup(tst.setup_tmpdata, tst.teardown_tmpdata)
@with_setup(setup_localizer, teardown_localizer)
def test_fetch_localizer_button_task():
# 2 subjects
dataset = func.fetch_localizer_button_task(
data_dir=tst.tmpdir,
verbose=1)
assert_true(isinstance(dataset.tmaps[0], _basestring))
assert_true(isinstance(dataset.anats[0], _basestring))
local_url = "file://" + tst.datadir

# Disabled: cannot be tested without actually fetching covariates CSV file
# Only one subject
dataset = func.fetch_localizer_button_task(data_dir=tst.tmpdir,
url=local_url,
verbose=1)

assert_true(isinstance(dataset.tmaps, list))
assert_true(isinstance(dataset.anats, list))

assert len(dataset.tmaps) == 1
assert len(dataset.anats) == 1

assert_true(isinstance(dataset.tmap, str))
assert_true(isinstance(dataset.anat, str))

assert_not_equal(dataset.description, '')


Expand Down

0 comments on commit 58ded60

Please sign in to comment.