diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 296f70df8da37eaaaca9c8313eb89e876ab422cf..a8164678633d10f397a1970d934643edc0cc9e16 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,17 @@ This document contains the ``fslpy`` release history in reverse chronological order. +3.18.3 (Saturday 4th May 2024) +------------------------------ + + +Fixed +^^^^^ + + +* Fixed an issue with :mod:``fsl.wrappers`` functions not finding output files + when ``$FSLOUTPUTTYPE`` is set to something other than ``NIFTI_GZ`` (!452). + 3.18.2 (Wednesday 3rd April 2024) --------------------------------- diff --git a/fsl/tests/test_assertions.py b/fsl/tests/test_assertions.py index 5d35f7507507503f353763619fc157f4132740f2..4215735ab839786eca1f69ae5aa04a637f723705 100644 --- a/fsl/tests/test_assertions.py +++ b/fsl/tests/test_assertions.py @@ -14,8 +14,8 @@ import pytest import fsl.utils.assertions as assertions import fsl.utils.tempdir as tempdir -from . import make_random_image -from . import testdir +from fsl.tests import make_random_image +from fsl.tests import testdir def test_assertFileExists(): diff --git a/fsl/tests/test_atlases_query.py b/fsl/tests/test_atlases_query.py index eb20641c6b12e21cae863fd3edd71fe2b0a3e33d..489d8ab4393a0f51b87f0ae2a8340b0560a97afa 100644 --- a/fsl/tests/test_atlases_query.py +++ b/fsl/tests/test_atlases_query.py @@ -17,7 +17,7 @@ import fsl.transform.affine as affine import fsl.utils.image.resample as resample import fsl.utils.cache as cache -from . import (testdir, make_random_mask) +from fsl.tests import (testdir, make_random_mask) pytestmark = pytest.mark.fsltest diff --git a/fsl/tests/test_dicom.py b/fsl/tests/test_dicom.py index 7808e271b0d23e68fdf223aba734da58ee77bcb9..dfda97f20a2236e8cfe27d3b1c68a0a84a9b71c5 100644 --- a/fsl/tests/test_dicom.py +++ b/fsl/tests/test_dicom.py @@ -22,7 +22,7 @@ import fsl.data.dicom as fsldcm import fsl.utils.tempdir as tempdir -from . import mockFSLDIR, touch +from fsl.tests import mockFSLDIR, touch datadir = op.join(op.dirname(__file__), 'testdata') diff --git a/fsl/tests/test_ensure.py b/fsl/tests/test_ensure.py index 0f63e7da08fd0e168602ec7f73b15de7d5fb42a3..fae0a453209e1af0834c56ac658c18757a639c48 100644 --- a/fsl/tests/test_ensure.py +++ b/fsl/tests/test_ensure.py @@ -13,7 +13,7 @@ import nibabel as nib import fsl.utils.tempdir as tempdir import fsl.utils.ensure as ensure -from . import make_random_image +from fsl.tests import make_random_image def test_ensureIsImage(): diff --git a/fsl/tests/test_filetree/test_query.py b/fsl/tests/test_filetree/test_query.py index a85ac5d8d441111f0ac4cde7bade392facc4735d..80b0213cf7cb1ab16160ecdd2c9df281e79d45cd 100644 --- a/fsl/tests/test_filetree/test_query.py +++ b/fsl/tests/test_filetree/test_query.py @@ -13,7 +13,7 @@ import contextlib import textwrap as tw import itertools as it -from .. import testdir +from fsl.tests import testdir import fsl.utils.filetree as filetree import fsl.utils.filetree.query as ftquery diff --git a/fsl/tests/test_freesurfer.py b/fsl/tests/test_freesurfer.py index ae173b0fa54f67c0b9e7b43c9ab661a1989e8ef1..c68e2f6237d30955c651d8726362507afc0e938d 100644 --- a/fsl/tests/test_freesurfer.py +++ b/fsl/tests/test_freesurfer.py @@ -19,9 +19,9 @@ import pytest import fsl.version as fslver import fsl.data.freesurfer as fslfs -from .test_mesh import (CUBE_VERTICES, CUBE_TRIANGLES_CCW) +from fsl.tests.test_mesh import (CUBE_VERTICES, CUBE_TRIANGLES_CCW) -from . import tempdir, touch +from fsl.tests import tempdir, touch def gen_freesurfer_geometry(fname, verts, tris): diff --git a/fsl/tests/test_fsl_data_utils.py b/fsl/tests/test_fsl_data_utils.py index 1ef030bd228dbc263a0b390329a646f162e186a3..f8cd626a2e5cdb948e7db039bcebb81f9e113919 100644 --- a/fsl/tests/test_fsl_data_utils.py +++ b/fsl/tests/test_fsl_data_utils.py @@ -26,10 +26,10 @@ import fsl.data.dtifit as dtifit import fsl.data.melodicanalysis as melanalysis import fsl.data.featanalysis as featanalysis -from . import (touch, - make_mock_feat_analysis, - make_mock_melodic_analysis, - make_mock_dtifit_analysis) +from fsl.tests import (touch, + make_mock_feat_analysis, + make_mock_melodic_analysis, + make_mock_dtifit_analysis) def test_guessType(): diff --git a/fsl/tests/test_fsl_utils_path.py b/fsl/tests/test_fsl_utils_path.py index fbf95953682951961db2078bdc26f04b98d310c5..6f9e08cb6caaafac17ee1765d96122892b0d5ae5 100644 --- a/fsl/tests/test_fsl_utils_path.py +++ b/fsl/tests/test_fsl_utils_path.py @@ -18,7 +18,7 @@ import pytest import fsl.utils.path as fslpath import fsl.data.image as fslimage -from . import testdir +from fsl.tests import testdir def make_dummy_file(path): diff --git a/fsl/tests/test_fslsub.py b/fsl/tests/test_fslsub.py index 38796cf05de29dc4e34a119718127b2684b8e3d1..b90abb9e6ff7d38303e604d646b9bd9a636296fb 100644 --- a/fsl/tests/test_fslsub.py +++ b/fsl/tests/test_fslsub.py @@ -19,7 +19,7 @@ import fsl.version as fv from fsl.utils import fslsub, run from fsl.utils.tempdir import tempdir -from . import mockFSLDIR +from fsl.tests import mockFSLDIR mock_fsl_sub = """ @@ -239,4 +239,4 @@ def test_info(): assert res2['1'] is None with pytest.raises(ValueError): - fslsub._parse_qstat(valid_job_ids[0], example_qstat_reply) \ No newline at end of file + fslsub._parse_qstat(valid_job_ids[0], example_qstat_reply) diff --git a/fsl/tests/test_gifti.py b/fsl/tests/test_gifti.py index ef9f0e970930ca183e498d1a020bd0740add3683..4a26eb2786fb1bdc789b94cb6c684c7c24e710c7 100644 --- a/fsl/tests/test_gifti.py +++ b/fsl/tests/test_gifti.py @@ -16,7 +16,8 @@ import pytest import fsl.data.gifti as gifti -from . import tempdir +from fsl.tests import tempdir +from fsl.tests import test_mesh def test_GiftiMesh_create(): @@ -364,7 +365,6 @@ def test_GiftiMesh_multiple_vertices(): def test_GiftiMesh_needsFixing(): - from . import test_mesh verts = test_mesh.CUBE_VERTICES idxs = test_mesh.CUBE_TRIANGLES_CW diff --git a/fsl/tests/test_image.py b/fsl/tests/test_image.py index 3efe06d3b9ef5603fec154fd9f645d3db17c7082..884fb92f4316f1705e0a5dde3c2949ab65ebf267 100644 --- a/fsl/tests/test_image.py +++ b/fsl/tests/test_image.py @@ -29,8 +29,8 @@ import fsl.transform.affine as affine from fsl.utils.tempdir import tempdir -from . import make_random_image -from . import make_dummy_file +from fsl.tests import make_random_image +from fsl.tests import make_dummy_file from unittest import mock diff --git a/fsl/tests/test_image_resample.py b/fsl/tests/test_image_resample.py index 6d6baf4e5cc18f749dfbf0a629f0a91c99c9895a..dbe219cb8134a41d68899fcfc18877ae7818694f 100644 --- a/fsl/tests/test_image_resample.py +++ b/fsl/tests/test_image_resample.py @@ -12,7 +12,7 @@ import fsl.data.image as fslimage import fsl.transform.affine as affine import fsl.utils.image.resample as resample -from . import make_random_image +from fsl.tests import make_random_image def random_affine(): return affine.compose( diff --git a/fsl/tests/test_immv_imcp.py b/fsl/tests/test_immv_imcp.py index 3e324841a118b16482d314251384188b78ad614b..7b3e3fcbe900927ef206e7bc5926f609b1797bec 100644 --- a/fsl/tests/test_immv_imcp.py +++ b/fsl/tests/test_immv_imcp.py @@ -20,9 +20,9 @@ import nibabel as nib import fsl.utils.imcp as imcp import fsl.data.image as fslimage -from . import make_random_image -from . import make_dummy_file -from . import looks_like_image +from fsl.tests import make_random_image +from fsl.tests import make_dummy_file +from fsl.tests import looks_like_image real_print = print diff --git a/fsl/tests/test_mesh.py b/fsl/tests/test_mesh.py index fa4f3d03c92a0f812ea2f5a204b74e4c9245bea3..294b80c7405cb86c2585c868dc64f2bb037bc7cd 100644 --- a/fsl/tests/test_mesh.py +++ b/fsl/tests/test_mesh.py @@ -14,7 +14,7 @@ import pytest import fsl.transform.affine as affine import fsl.data.mesh as fslmesh -from . import tempdir +from fsl.tests import tempdir # vertices of a cube diff --git a/fsl/tests/test_parse_data.py b/fsl/tests/test_parse_data.py index 786a1b7bdea7fe609f6a6762d9835736f95cc810..1d801db2a15739a2a9cc183e3a850463ce2a5776 100644 --- a/fsl/tests/test_parse_data.py +++ b/fsl/tests/test_parse_data.py @@ -13,7 +13,7 @@ from fsl.data.gifti import GiftiMesh from fsl.data.image import Image from fsl.data.atlases import Atlas from pytest import raises -from .test_image import make_image +from fsl.tests.test_image import make_image import os import pytest diff --git a/fsl/tests/test_run.py b/fsl/tests/test_run.py index 7efd34bd608dbc9e7bd34e88634c127db89710a2..ac802d5a2ee28cd742989811d0097009baf5ea47 100644 --- a/fsl/tests/test_run.py +++ b/fsl/tests/test_run.py @@ -22,7 +22,7 @@ from fsl.utils.platform import platform as fslplatform import fsl.utils.run as run import fsl.wrappers as wrappers -from . import make_random_image, mockFSLDIR, CaptureStdout, touch +from fsl.tests import make_random_image, mockFSLDIR, CaptureStdout, touch pytestmark = pytest.mark.unixtest diff --git a/fsl/tests/test_scripts/test_atlasq_list_summary.py b/fsl/tests/test_scripts/test_atlasq_list_summary.py index 6fbebb7b6ee19d9feb31e71e98923d18c03a2c08..b84e00a846299b0c622c7eea0097aafcc3ffeb26 100644 --- a/fsl/tests/test_scripts/test_atlasq_list_summary.py +++ b/fsl/tests/test_scripts/test_atlasq_list_summary.py @@ -13,7 +13,7 @@ import pytest import fsl.data.atlases as fslatlases import fsl.scripts.atlasq as fslatlasq -from .. import CaptureStdout +from fsl.tests import CaptureStdout pytestmark = pytest.mark.fsltest diff --git a/fsl/tests/test_scripts/test_atlasq_ohi.py b/fsl/tests/test_scripts/test_atlasq_ohi.py index 937a08f73765f1e4b36955cf940b43f7553dbc2f..2da2d1b73b8e2bdf103e227458acfb14080e54b2 100644 --- a/fsl/tests/test_scripts/test_atlasq_ohi.py +++ b/fsl/tests/test_scripts/test_atlasq_ohi.py @@ -18,9 +18,9 @@ import numpy as np import fsl.scripts.atlasq as fslatlasq import fsl.data.atlases as fslatlases -from .. import (tempdir, - make_random_mask, - CaptureStdout) +from fsl.tests import (tempdir, + make_random_mask, + CaptureStdout) pytestmark = pytest.mark.fsltest diff --git a/fsl/tests/test_scripts/test_atlasq_query.py b/fsl/tests/test_scripts/test_atlasq_query.py index c02392f9133cf43962b958370b009aa834148c79..1b478c3e90512eb9ff37e075f9e498564651d0c8 100644 --- a/fsl/tests/test_scripts/test_atlasq_query.py +++ b/fsl/tests/test_scripts/test_atlasq_query.py @@ -21,9 +21,9 @@ import fsl.utils.image.resample as resample import fsl.data.image as fslimage import fsl.scripts.atlasq as fslatlasq -from .. import (tempdir, - make_random_mask, - CaptureStdout) +from fsl.tests import (tempdir, + make_random_mask, + CaptureStdout) pytestmark = pytest.mark.fsltest diff --git a/fsl/tests/test_scripts/test_fsl_apply_x5.py b/fsl/tests/test_scripts/test_fsl_apply_x5.py index 8d83169dee9428613fb8748054c7b97b7f3da831..7aa39fec1805ff2b3b998681c34f5216551af7f0 100644 --- a/fsl/tests/test_scripts/test_fsl_apply_x5.py +++ b/fsl/tests/test_scripts/test_fsl_apply_x5.py @@ -13,7 +13,7 @@ import fsl.transform.x5 as x5 import fsl.transform.affine as affine import fsl.utils.tempdir as tempdir -from ..test_transform.test_nonlinear import _affine_field +from fsl.tests.test_transform.test_nonlinear import _affine_field def _random_affine(): diff --git a/fsl/tests/test_scripts/test_imglob.py b/fsl/tests/test_scripts/test_imglob.py index f54ce26b9ce0a71bd2af594b51e9233ba7371224..63454a45c9e95120825db831fe02e188b5b0311c 100644 --- a/fsl/tests/test_scripts/test_imglob.py +++ b/fsl/tests/test_scripts/test_imglob.py @@ -7,8 +7,8 @@ import pytest import fsl.scripts.imglob as imglob -from .. import testdir -from .. import CaptureStdout +from fsl.tests import testdir +from fsl.tests import CaptureStdout def test_imglob_shouldPass1(): diff --git a/fsl/tests/test_scripts/test_immv_imcp.py b/fsl/tests/test_scripts/test_immv_imcp.py index fdbc4df42e08a690f09e304aed4d48165c3593c6..5e5e38f5566b681187c77dd979e1fcd90453d6a2 100644 --- a/fsl/tests/test_scripts/test_immv_imcp.py +++ b/fsl/tests/test_scripts/test_immv_imcp.py @@ -23,8 +23,8 @@ import fsl.scripts.imcp as imcp_script import fsl.scripts.immv as immv_script import fsl.data.image as fslimage -from .. import cleardir -from ..test_immv_imcp import makeImage, checkImageHash, checkFilesToExpect +from fsl.tests import cleardir +from fsl.tests.test_immv_imcp import makeImage, checkImageHash, checkFilesToExpect def test_imcp_script_shouldPass(move=False): diff --git a/fsl/tests/test_scripts/test_resample_image.py b/fsl/tests/test_scripts/test_resample_image.py index 01063067d0836359999ec205b7e23a3d7dbcb518..1dcdc345f52648333d42083987aaaa729776dca0 100644 --- a/fsl/tests/test_scripts/test_resample_image.py +++ b/fsl/tests/test_scripts/test_resample_image.py @@ -12,7 +12,7 @@ import fsl.transform.affine as affine from fsl.utils.tempdir import tempdir from fsl.data.image import Image -from .. import make_random_image +from fsl.tests import make_random_image diff --git a/fsl/tests/test_transform/test_flirt.py b/fsl/tests/test_transform/test_flirt.py index d2dd68e29b114ca9813ebd1eb8511df825d8edaf..aa7b0b7387a46913a58879dfaa2d64241e86414c 100644 --- a/fsl/tests/test_transform/test_flirt.py +++ b/fsl/tests/test_transform/test_flirt.py @@ -15,9 +15,9 @@ import fsl.transform.flirt as flirt import fsl.transform.affine as affine import fsl.utils.tempdir as tempdir -from .test_affine import readlines +from fsl.tests.test_transform.test_affine import readlines -from .. import make_random_image +from fsl.tests import make_random_image datadir = op.join(op.dirname(__file__), 'testdata') diff --git a/fsl/tests/test_transform/test_fnirt.py b/fsl/tests/test_transform/test_fnirt.py index 27ceb40703e5e2506dffb762c59df562153feaf1..feeeec7c7edbf44a2c36046631e0dff72a8bd4eb 100644 --- a/fsl/tests/test_transform/test_fnirt.py +++ b/fsl/tests/test_transform/test_fnirt.py @@ -20,7 +20,7 @@ import fsl.transform.affine as affine import fsl.transform.nonlinear as nonlinear import fsl.transform.fnirt as fnirt -from .test_nonlinear import _random_affine_field +from fsl.tests.test_transform.test_nonlinear import _random_affine_field datadir = op.join(op.dirname(__file__), 'testdata', 'nonlinear') diff --git a/fsl/tests/test_transform/test_x5.py b/fsl/tests/test_transform/test_x5.py index 3a92ece655197f3fa77051c858b9fcd03bc7bb57..35716cdbe92acd8335235dce574936457ef35447 100644 --- a/fsl/tests/test_transform/test_x5.py +++ b/fsl/tests/test_transform/test_x5.py @@ -20,7 +20,7 @@ import fsl.transform.fnirt as fnirt import fsl.transform.nonlinear as nonlinear import fsl.transform.x5 as x5 -from .. import make_random_image +from fsl.tests import make_random_image def _check_metadata(group): diff --git a/fsl/tests/test_version.py b/fsl/tests/test_version.py index b52437f1894f159eb1643ce5279278d7de3264bf..09054cf54db4d5fc26cb69d7b717d2c621d776d3 100644 --- a/fsl/tests/test_version.py +++ b/fsl/tests/test_version.py @@ -10,7 +10,7 @@ import textwrap import pytest -from . import testdir +from fsl.tests import testdir import fsl.version as fslversion diff --git a/fsl/tests/test_wrappers/__init__.py b/fsl/tests/test_wrappers/__init__.py index 4dca534cd4278553f118b3ab4d0c7876735e9976..77022f28a34e01b736acd8ea3b82c32d2d42a52f 100644 --- a/fsl/tests/test_wrappers/__init__.py +++ b/fsl/tests/test_wrappers/__init__.py @@ -8,7 +8,7 @@ import itertools as it import fsl.utils.assertions as asrt import fsl.utils.run as run -from .. import mockFSLDIR +from fsl.tests import mockFSLDIR def checkResult(cmd, base, args, stripdir=None): diff --git a/fsl/tests/test_wrappers/test_cluster.py b/fsl/tests/test_wrappers/test_cluster.py index 6e0cfb8763b73922634ef4d1a0963f31435a6f14..5a7b710a8313385f5e0577b65c4d7d860a9fd141 100644 --- a/fsl/tests/test_wrappers/test_cluster.py +++ b/fsl/tests/test_wrappers/test_cluster.py @@ -21,8 +21,8 @@ from fsl.wrappers.cluster_commands import (cluster, smoothest, _smoothest) -from . import testenv -from .. import mockFSLDIR +from fsl.tests.test_wrappers import testenv +from fsl.tests import mockFSLDIR @contextlib.contextmanager diff --git a/fsl/tests/test_wrappers/test_fslmaths.py b/fsl/tests/test_wrappers/test_fslmaths.py index ce59982577f4dd0d85a26d92c7efcb04d2188ebc..9cc1c30e2f90dfd934e5a9a5941936e103892be1 100644 --- a/fsl/tests/test_wrappers/test_fslmaths.py +++ b/fsl/tests/test_wrappers/test_fslmaths.py @@ -14,8 +14,8 @@ from fsl.utils.tempdir import tempdir import fsl.wrappers as fw -from .. import mockFSLDIR, make_random_image -from . import testenv +from fsl.tests import mockFSLDIR, make_random_image +from fsl.tests.test_wrappers import testenv def test_fslmaths(): diff --git a/fsl/tests/test_wrappers/test_fslstats.py b/fsl/tests/test_wrappers/test_fslstats.py index d5d5b885d59a4dc1c7e2c26a4d317781752ad735..9f0d78c9f9e0686f2af90595d250e65cc86e6b2e 100644 --- a/fsl/tests/test_wrappers/test_fslstats.py +++ b/fsl/tests/test_wrappers/test_fslstats.py @@ -15,7 +15,7 @@ import fsl.utils.run as run import fsl.utils.tempdir as tempdir import fsl.wrappers as fw -from .. import mockFSLDIR as mockFSLDIR_base, make_random_image +from fsl.tests import mockFSLDIR as mockFSLDIR_base, make_random_image mock_fslstats = """ diff --git a/fsl/tests/test_wrappers/test_wrappers.py b/fsl/tests/test_wrappers/test_wrappers.py index 02177828c14db48301ebf08e8c56ef0eb8a32ce7..b391337069a23497eb84d18d4c509b69639745e9 100755 --- a/fsl/tests/test_wrappers/test_wrappers.py +++ b/fsl/tests/test_wrappers/test_wrappers.py @@ -11,7 +11,7 @@ import shlex import fsl.wrappers as fw -from . import checkResult, testenv +from fsl.tests.test_wrappers import checkResult, testenv def test_bet(): diff --git a/fsl/tests/test_wrappers/test_wrappers_run_arguments.py b/fsl/tests/test_wrappers/test_wrappers_run_arguments.py index 4e38cd1af96f5e7d2bfc79aa53465f449de93ac5..dc66026bacb09094d75d85e13be7abc8d3a94b6a 100644 --- a/fsl/tests/test_wrappers/test_wrappers_run_arguments.py +++ b/fsl/tests/test_wrappers/test_wrappers_run_arguments.py @@ -16,7 +16,7 @@ import fsl.utils.tempdir as tempdir import fsl.wrappers as wrappers import fsl.wrappers.wrapperutils as wutils -from .. import CaptureStdout +from fsl.tests import CaptureStdout mock_command = """ diff --git a/fsl/tests/test_wrappers/test_wrapperutils.py b/fsl/tests/test_wrappers/test_wrapperutils.py index d806cc9f7a738e90224efe942bcab34661f622c1..b9a86a2965c5b2ad0924bc5bc86f4509c6af133e 100644 --- a/fsl/tests/test_wrappers/test_wrapperutils.py +++ b/fsl/tests/test_wrappers/test_wrapperutils.py @@ -27,8 +27,8 @@ import fsl.data.image as fslimage import fsl.wrappers.wrapperutils as wutils -from .. import mockFSLDIR, cleardir, checkdir, testdir, touch -from ..test_run import mock_fsl_sub +from fsl.tests import mockFSLDIR, cleardir, checkdir, testdir, touch +from fsl.tests.test_run import mock_fsl_sub def test_applyArgStyle_default(): @@ -407,6 +407,54 @@ def test_fileOrImage(): assert np.all(np.asanyarray(result.dataobj)[:] == expected) + +# fsl/fslpy!452 +def test_fileOrImage_FSLOUTPUTTYPE(): + + @wutils.fileOrImage('img', 'output') + def func(img, output): + img = np.asanyarray(nib.load(img).dataobj) + + # Save without specifying file suffix, + # so the Image object uses $FSLOUTPUTTYPE + fslimage.Image(img * 5, xform=np.eye(4)).save(fslimage.removeExt(output)) + + fsloutputtypes = [fslimage.FileType.NIFTI, + fslimage.FileType.NIFTI2, + fslimage.FileType.NIFTI_GZ, + fslimage.FileType.NIFTI2_GZ] + + for fsloutputtype in fsloutputtypes: + with tempdir.tempdir(), \ + mock.patch.dict(os.environ, FSLOUTPUTTYPE=fsloutputtype.name): + + img = fslimage.Image( + np.array([[[1, 2], [ 3, 4]]], dtype=np.int32), xform=np.eye(4)) + expected = np.array([[[5, 10], [15, 20]]], dtype=np.int32) + + imgfname = op.join(os.getcwd(), f'image{fslimage.defaultExt()}') + + img.save(imgfname) + + result1 = func(imgfname, wutils.LOAD) + result2 = func(img, wutils.LOAD) + + r1data = np.asanyarray(result1['output'].dataobj) + r2data = result2['output'].data + + # first call will return a nibabel image, + # second a fsl Image + assert np.all(r1data == expected) + assert np.all(r2data == expected) + + for inarg in (img, imgfname): + with tempdir.tempdir(): + func(inarg, 'output') + assert op.exists(f'output{fslimage.defaultExt()}') + out = fslimage.Image('output') + assert np.all(out.data == expected.data) + + def test_fileOrThing_sequence(): @wutils.fileOrArray('arrs', 'out') diff --git a/fsl/wrappers/wrapperutils.py b/fsl/wrappers/wrapperutils.py index 0f9a1842527d6ee3998c71808878ee0da99762d1..09871c100cc49aed32aa51b5f9676a41398da539 100644 --- a/fsl/wrappers/wrapperutils.py +++ b/fsl/wrappers/wrapperutils.py @@ -1268,7 +1268,8 @@ def fileOrImage(*args, **kwargs): return infile def prepOut(workdir, name, val): - return op.join(workdir, '{}.nii.gz'.format(name)) + return op.join(workdir, f'{name}{fslimage.defaultExt()}') + def load(name, path):