diff --git a/fsl/tests/__init__.py b/fsl/tests/__init__.py index c1b105dcd45052efeed7ebe6ba5afd0d1f188e93..a758db12e28746a44d9324a0b8a190590d87239c 100644 --- a/fsl/tests/__init__.py +++ b/fsl/tests/__init__.py @@ -288,7 +288,8 @@ def make_mock_feat_analysis(featdir, copes=True, zstats=True, residuals=True, - clustMasks=True): + clustMasks=True, + zfstats=True): if xform is None: xform = np.eye(4) @@ -346,6 +347,11 @@ def make_mock_feat_analysis(featdir, otherFiles .extend(files) otherShapes.extend([shape] * len(files)) + if zfstats: + files = glob.glob(op.join(featdir, 'stats', 'zfstat*nii.gz')) + otherFiles .extend(files) + otherShapes.extend([shape] * len(files)) + if residuals: files = glob.glob(op.join(featdir, 'stats', 'res4d.nii.gz')) otherFiles .extend(files) diff --git a/fsl/tests/test_featimage.py b/fsl/tests/test_featimage.py index 370e797366597d44afaf39414e81cdf7f185bd5e..05f5cf5e3f8e1517f28e0459723f0bc6a361cc01 100644 --- a/fsl/tests/test_featimage.py +++ b/fsl/tests/test_featimage.py @@ -88,7 +88,8 @@ def test_FEATImage_attributes(): copes=False, zstats=False, residuals=False, - clustMasks=False) + clustMasks=False, + zfstats=False) else: featdir = op.join(datadir, featdir) @@ -100,6 +101,7 @@ def test_FEATImage_attributes(): design = featdesign.FEATFSFDesign(featdir, settings) desmat = design.getDesign() evnames = [ev.title for ev in design.getEVs()] + ftests = featanalysis.loadFTests(featdir) contrastnames, contrasts = featanalysis.loadContrasts(featdir) assert np.all(np.isclose(fi.shape, shape)) @@ -115,8 +117,10 @@ def test_FEATImage_attributes(): assert fi.numEVs() == desmat.shape[1] assert fi.evNames() == evnames assert fi.numContrasts() == len(contrasts) + assert fi.numFTests() == len(ftests) assert fi.contrastNames() == contrastnames assert fi.contrasts() == contrasts + assert fi.ftests() == ftests assert np.all(np.isclose(fi.getDesign(), desmat)) assert fi.thresholds() == featanalysis.getThresholds(settings) @@ -153,9 +157,10 @@ def test_FEATImage_imageAccessors(): shape4D = shape shape = shape4D[:3] - fi = featimage.FEATImage(featdir) - nevs = fi.numEVs() - ncons = fi.numContrasts() + fi = featimage.FEATImage(featdir) + nevs = fi.numEVs() + ncons = fi.numContrasts() + nftests = fi.numFTests() # Testing the FEATImage internal cache for i in range(2): @@ -166,6 +171,9 @@ def test_FEATImage_imageAccessors(): assert fi.getCOPE( con).shape == shape assert fi.getZStats( con).shape == shape assert fi.getClusterMask(con).shape == shape + for ft in range(nftests): + assert fi.getZFStats( ft).shape == shape + assert fi.getFClusterMask(ft).shape == shape del fi fi = None diff --git a/fsl/tests/testdata/test_feat/1stlevel_3.feat/design.fts b/fsl/tests/testdata/test_feat/1stlevel_3.feat/design.fts new file mode 100644 index 0000000000000000000000000000000000000000..b243edb2198719d2935327395415915245f49746 --- /dev/null +++ b/fsl/tests/testdata/test_feat/1stlevel_3.feat/design.fts @@ -0,0 +1,5 @@ +/NumWaves 2 +/NumContrasts 1 + +/Matrix +1 1 diff --git a/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope1.feat/design.fts b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope1.feat/design.fts new file mode 100644 index 0000000000000000000000000000000000000000..129044f64ed86575c86dd60038bc7661b71a706d --- /dev/null +++ b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope1.feat/design.fts @@ -0,0 +1,5 @@ +/NumWaves 1 +/NumContrasts 1 + +/Matrix +1 diff --git a/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/cluster_mask_zfstat1.nii.gz b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/cluster_mask_zfstat1.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..f5bed2405c8ed254de724086c5c2ec03466297b9 --- /dev/null +++ b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/cluster_mask_zfstat1.nii.gz @@ -0,0 +1 @@ +./cluster_mask_zfstat1.nii.gz diff --git a/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/design.fts b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/design.fts new file mode 100644 index 0000000000000000000000000000000000000000..129044f64ed86575c86dd60038bc7661b71a706d --- /dev/null +++ b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/design.fts @@ -0,0 +1,5 @@ +/NumWaves 1 +/NumContrasts 1 + +/Matrix +1 diff --git a/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/stats/zfstat1.nii.gz b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/stats/zfstat1.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..b013ebacb3cd988aef40a9c41cda9aab568d58b5 --- /dev/null +++ b/fsl/tests/testdata/test_feat/2ndlevel_2.gfeat/cope2.feat/stats/zfstat1.nii.gz @@ -0,0 +1 @@ +./cope2.feat/stats/zfstat1.nii.gz