Skip to content
Snippets Groups Projects
Commit baf811f3 authored by Paul McCarthy's avatar Paul McCarthy :mountain_bicyclist:
Browse files

Unit test for new Atlas.prepareMask method

parent 72da9475
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -18,8 +18,9 @@ import mock ...@@ -18,8 +18,9 @@ import mock
import pytest import pytest
import tests import tests
import fsl.data.atlases as atlases import fsl.utils.transform as transform
import fsl.data.image as fslimage import fsl.data.atlases as atlases
import fsl.data.image as fslimage
datadir = op.join(op.dirname(__file__), 'testdata') datadir = op.join(op.dirname(__file__), 'testdata')
...@@ -233,7 +234,7 @@ def test_load_atlas(): ...@@ -233,7 +234,7 @@ def test_load_atlas():
def test_find(): def test_find():
reg = atlases.registry reg = atlases.registry
reg.rescanAtlases reg.rescanAtlases()
probatlas = reg.loadAtlas('harvardoxford-cortical') probatlas = reg.loadAtlas('harvardoxford-cortical')
probsumatlas = reg.loadAtlas('harvardoxford-cortical', loadSummary=True) probsumatlas = reg.loadAtlas('harvardoxford-cortical', loadSummary=True)
...@@ -260,3 +261,36 @@ def test_find(): ...@@ -260,3 +261,36 @@ def test_find():
maxval = max([l.value for l in labels]) maxval = max([l.value for l in labels])
with pytest.raises(KeyError): with pytest.raises(KeyError):
atlas.find(value=maxval + 1) atlas.find(value=maxval + 1)
def test_prepareMask():
reg = atlases.registry
reg.rescanAtlases()
probatlas = reg.loadAtlas('harvardoxford-cortical')
probsumatlas = reg.loadAtlas('harvardoxford-cortical', loadSummary=True)
lblatlas = reg.loadAtlas('talairach')
for atlas in [probatlas, probsumatlas, lblatlas]:
ashape = list(atlas.shape[:3])
m2shape = [s * 1.5 for s in ashape]
goodmask1 = fslimage.Image(np.random.random(ashape),
xform=atlas.voxToWorldMat)
goodmask2, xf = goodmask1.resample(m2shape)
goodmask2 = fslimage.Image(goodmask2, xform=xf)
wrongdims = fslimage.Image(
np.random.random(list(ashape) + [10]))
wrongspace = fslimage.Image(
np.random.random((20, 20, 20)),
xform=transform.concat(atlas.voxToWorldMat, np.diag([2, 2, 2, 1])))
with pytest.raises(atlases.MaskError):
atlas.prepareMask(wrongdims)
with pytest.raises(atlases.MaskError):
atlas.prepareMask(wrongspace)
assert list(atlas.prepareMask(goodmask1).shape) == ashape
assert list(atlas.prepareMask(goodmask2).shape) == ashape
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment