From 89a66f89948aad03fd16a9710c9f373fb63d84c2 Mon Sep 17 00:00:00 2001 From: AnnaD <45283972+AnnaD15@users.noreply.github.com> Date: Mon, 10 Feb 2020 10:50:01 +0100 Subject: [PATCH 1/7] Update model.py --- nipype/interfaces/fsl/model.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/nipype/interfaces/fsl/model.py b/nipype/interfaces/fsl/model.py index b4e04c690e..dc28f919a4 100644 --- a/nipype/interfaces/fsl/model.py +++ b/nipype/interfaces/fsl/model.py @@ -1573,9 +1573,8 @@ def _run_interface(self, runtime): convals = np.zeros((ntcons, 1)) for tcon in con[2]: convals[tconmap[self.inputs.contrasts.index(tcon)]] = 1 - fcon_txt.append(" ".join(["%d" % val for val in convals])) - fcon_txt = "\n".join(fcon_txt) - fcon_txt += "\n" + fcon_txt.append(" ".join(["%d" % val for val in convals])) + fcon_txt = "\n".join(fcon_txt) + "\n" # write group file grp_txt = ["/NumWaves 1", "/NumPoints %d" % npoints, "", "/Matrix"] for i in range(npoints): From 6ee5f9ec1f4a32a27c140ac18cf4f1b8a561056d Mon Sep 17 00:00:00 2001 From: AnnaD <45283972+AnnaD15@users.noreply.github.com> Date: Mon, 10 Feb 2020 11:14:02 +0100 Subject: [PATCH 2/7] Update .zenodo.json --- .zenodo.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zenodo.json b/.zenodo.json index 8431a53a3b..f55021c890 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -761,6 +761,11 @@ "name": "Mihai, Paul Glad", "orcid": "0000-0001-5715-6442" }, + { + "affiliation": "Department of Psychology, University of Bielefeld, Bielefeld, Germany.", + "name": "Doll, Anna", + "orcid": "0000-0002-0799-0831" + }, { "name": "Lai, Jeff" }, From d338883df0e766f476b016be34b6fd73fb138533 Mon Sep 17 00:00:00 2001 From: AnnaD <45283972+AnnaD15@users.noreply.github.com> Date: Mon, 10 Feb 2020 11:50:40 +0100 Subject: [PATCH 3/7] Update model.py remove whitespace --- nipype/interfaces/fsl/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/interfaces/fsl/model.py b/nipype/interfaces/fsl/model.py index dc28f919a4..e06377cb4d 100644 --- a/nipype/interfaces/fsl/model.py +++ b/nipype/interfaces/fsl/model.py @@ -1573,7 +1573,7 @@ def _run_interface(self, runtime): convals = np.zeros((ntcons, 1)) for tcon in con[2]: convals[tconmap[self.inputs.contrasts.index(tcon)]] = 1 - fcon_txt.append(" ".join(["%d" % val for val in convals])) + fcon_txt.append(" ".join(["%d" % val for val in convals])) fcon_txt = "\n".join(fcon_txt) + "\n" # write group file grp_txt = ["/NumWaves 1", "/NumPoints %d" % npoints, "", "/Matrix"] From cb08b18717ddbf340b38b2dcb84b44a1a38bfd8f Mon Sep 17 00:00:00 2001 From: AnnaD <45283972+AnnaD15@users.noreply.github.com> Date: Thu, 13 Feb 2020 14:07:00 +0100 Subject: [PATCH 4/7] Update test_model.py --- nipype/interfaces/fsl/tests/test_model.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/nipype/interfaces/fsl/tests/test_model.py b/nipype/interfaces/fsl/tests/test_model.py index ea86d8f628..aaef99889f 100644 --- a/nipype/interfaces/fsl/tests/test_model.py +++ b/nipype/interfaces/fsl/tests/test_model.py @@ -6,23 +6,23 @@ import pytest import nipype.interfaces.fsl.model as fsl from nipype.interfaces.fsl import no_fsl +from pathlib import Path @pytest.mark.skipif(no_fsl(), reason="fsl is not installed") def test_MultipleRegressDesign(tmpdir): - tmpdir.chdir() foo = fsl.MultipleRegressDesign() foo.inputs.regressors = dict( voice_stenght=[1, 1, 1], age=[0.2, 0.4, 0.5], BMI=[1, -1, 2] ) con1 = ["voice_and_age", "T", ["age", "voice_stenght"], [0.5, 0.5]] con2 = ["just_BMI", "T", ["BMI"], [1]] - foo.inputs.contrasts = [con1, con2, ["con3", "F", [con1, con2]]] + foo.inputs.contrasts = [con1, con2, ["con3", "F", [con1, con2]], ["con4", "F", [con2]]] res = foo.run() for ii in ["mat", "con", "fts", "grp"]: assert ( - getattr(res.outputs, "design_" + ii) == tmpdir.join("design." + ii).strpath + os.path.exists(eval('res.outputs.design_'+ii)) ) design_mat_expected_content = """/NumWaves 3 @@ -48,10 +48,11 @@ def test_MultipleRegressDesign(tmpdir): """ design_fts_expected_content = """/NumWaves 2 -/NumContrasts 1 +/NumContrasts 2 /Matrix 1 1 +0 1 """ design_grp_expected_content = """/NumWaves 1 @@ -63,6 +64,4 @@ def test_MultipleRegressDesign(tmpdir): 1 """ for ii in ["mat", "con", "fts", "grp"]: - assert tmpdir.join("design." + ii).read() == eval( - "design_" + ii + "_expected_content" - ) + assert Path(eval('res.outputs.design_'+ii)).read_text() in eval( "design_" + ii + "_expected_content") From cffcbb69ea42e49644f6e2bffb08d77a73fd4cdc Mon Sep 17 00:00:00 2001 From: AnnaD <45283972+AnnaD15@users.noreply.github.com> Date: Thu, 13 Feb 2020 18:43:28 +0100 Subject: [PATCH 5/7] Update nipype/interfaces/fsl/tests/test_model.py Co-Authored-By: Chris Markiewicz --- nipype/interfaces/fsl/tests/test_model.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nipype/interfaces/fsl/tests/test_model.py b/nipype/interfaces/fsl/tests/test_model.py index aaef99889f..c057b8262c 100644 --- a/nipype/interfaces/fsl/tests/test_model.py +++ b/nipype/interfaces/fsl/tests/test_model.py @@ -25,7 +25,9 @@ def test_MultipleRegressDesign(tmpdir): os.path.exists(eval('res.outputs.design_'+ii)) ) - design_mat_expected_content = """/NumWaves 3 + expected_content = {} + + expected_content["design_mat"] = """/NumWaves 3 /NumPoints 3 /PPheights 3.000000e+00 5.000000e-01 1.000000e+00 From 830b2bf17a2d4d07b9b34c507b923329a79ac074 Mon Sep 17 00:00:00 2001 From: AnnaD <45283972+AnnaD15@users.noreply.github.com> Date: Thu, 13 Feb 2020 18:44:27 +0100 Subject: [PATCH 6/7] Update nipype/interfaces/fsl/tests/test_model.py Co-Authored-By: Chris Markiewicz --- nipype/interfaces/fsl/tests/test_model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nipype/interfaces/fsl/tests/test_model.py b/nipype/interfaces/fsl/tests/test_model.py index c057b8262c..f86cfb7eec 100644 --- a/nipype/interfaces/fsl/tests/test_model.py +++ b/nipype/interfaces/fsl/tests/test_model.py @@ -66,4 +66,5 @@ def test_MultipleRegressDesign(tmpdir): 1 """ for ii in ["mat", "con", "fts", "grp"]: - assert Path(eval('res.outputs.design_'+ii)).read_text() in eval( "design_" + ii + "_expected_content") + outfile = "design_" + ii + assert Path(outputs[outfile]).read_text() == expected_content[outfile] From aa069c0d27aa0767b2fe56e1c49e207a428a7ea3 Mon Sep 17 00:00:00 2001 From: AnnaD <45283972+AnnaD15@users.noreply.github.com> Date: Thu, 13 Feb 2020 19:01:19 +0100 Subject: [PATCH 7/7] Update test_model.py --- nipype/interfaces/fsl/tests/test_model.py | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/nipype/interfaces/fsl/tests/test_model.py b/nipype/interfaces/fsl/tests/test_model.py index f86cfb7eec..456e7b6492 100644 --- a/nipype/interfaces/fsl/tests/test_model.py +++ b/nipype/interfaces/fsl/tests/test_model.py @@ -7,23 +7,23 @@ import nipype.interfaces.fsl.model as fsl from nipype.interfaces.fsl import no_fsl from pathlib import Path +from ....pipeline import engine as pe @pytest.mark.skipif(no_fsl(), reason="fsl is not installed") def test_MultipleRegressDesign(tmpdir): - foo = fsl.MultipleRegressDesign() - foo.inputs.regressors = dict( + designer = pe.Node(fsl.MultipleRegressDesign(), name='designer', base_dir=str(tmpdir)) + designer.inputs.regressors = dict( voice_stenght=[1, 1, 1], age=[0.2, 0.4, 0.5], BMI=[1, -1, 2] ) con1 = ["voice_and_age", "T", ["age", "voice_stenght"], [0.5, 0.5]] con2 = ["just_BMI", "T", ["BMI"], [1]] - foo.inputs.contrasts = [con1, con2, ["con3", "F", [con1, con2]], ["con4", "F", [con2]]] - res = foo.run() + designer.inputs.contrasts = [con1, con2, ["con3", "F", [con1, con2]], ["con4", "F", [con2]]] + res = designer.run() + outputs = res.outputs.get_traitsfree() - for ii in ["mat", "con", "fts", "grp"]: - assert ( - os.path.exists(eval('res.outputs.design_'+ii)) - ) + for ftype in ["mat", "con", "fts", "grp"]: + assert Path(outputs["design_" + ftype]).exists() expected_content = {} @@ -37,7 +37,7 @@ def test_MultipleRegressDesign(tmpdir): 2.000000e+00 5.000000e-01 1.000000e+00 """ - design_con_expected_content = """/ContrastName1 voice_and_age + expected_content["design_con"] = """/ContrastName1 voice_and_age /ContrastName2 just_BMI /NumWaves 3 /NumContrasts 2 @@ -49,7 +49,7 @@ def test_MultipleRegressDesign(tmpdir): 1.000000e+00 0.000000e+00 0.000000e+00 """ - design_fts_expected_content = """/NumWaves 2 + expected_content["design_fts"] = """/NumWaves 2 /NumContrasts 2 /Matrix @@ -57,7 +57,7 @@ def test_MultipleRegressDesign(tmpdir): 0 1 """ - design_grp_expected_content = """/NumWaves 1 + expected_content["design_grp"] = """/NumWaves 1 /NumPoints 3 /Matrix @@ -65,6 +65,6 @@ def test_MultipleRegressDesign(tmpdir): 1 1 """ - for ii in ["mat", "con", "fts", "grp"]: - outfile = "design_" + ii + for ftype in ["mat", "con", "fts", "grp"]: + outfile = "design_" + ftype assert Path(outputs[outfile]).read_text() == expected_content[outfile]