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

TEST: Basic unit tests for evalImage/evalVectorImage

parent 6db33eae
No related branches found
No related tags found
1 merge request!36MNT: Make vector field comparison routine programmatically accessible
......@@ -113,6 +113,13 @@ def maketest(filename, returnCode=0, inputs=None, outputs=None, stdout=None):
def makepyfeeds(**kwargs):
# simplest way of creating a dummy pyfeeds object
if len(kwargs) == 0:
kwargs['command'] = 'compare'
kwargs['inputDir'] = os.getcwd()
kwargs['benchmarkDir'] = os.getcwd()
args = argparse.Namespace(**kwargs)
cfg = argparse.Namespace()
return main.Pyfeeds(args, cfg)
......@@ -8,6 +8,9 @@
import os
import os.path as op
import numpy as np
import nibabel as nib
from . import tempdir, makepaths, maketest, makepyfeeds, CaptureStdout
from pyfeeds import testing, evaluate
......@@ -57,3 +60,41 @@ def test_evaluateTestAgainstBenchmark():
assert len(lines) == 3
for l in lines[1:]:
assert 'PASS' in l
def test_evalVectorImage():
vecarr1 = -1 + 2 * np.random.random((10, 10, 10, 3))
vecarr2 = -1 + 2 * np.random.random((10, 10, 10, 3))
with tempdir():
pyf = makepyfeeds()
fname1 = 'image1.nii.gz'
fname2 = 'image2.nii.gz'
nib.Nifti1Image(vecarr1, np.eye(4)).to_filename(fname1)
nib.Nifti1Image(vecarr2, np.eye(4)).to_filename(fname2)
assert evaluate.evalVectorImage(pyf, fname1, fname1) == 0
assert evaluate.evalVectorImage(pyf, fname2, fname2) == 0
assert evaluate.evalVectorImage(pyf, fname1, fname2) != 0
def test_evalImage():
arr1 = -1 + 2 * np.random.random((10, 10, 10, 10))
arr2 = -1 + 2 * np.random.random((10, 10, 10, 10))
with tempdir():
pyf = makepyfeeds()
fname1 = 'image1.nii.gz'
fname2 = 'image2.nii.gz'
nib.Nifti1Image(arr1, np.eye(4)).to_filename(fname1)
nib.Nifti1Image(arr2, np.eye(4)).to_filename(fname2)
assert evaluate.evalImage(pyf, fname1, fname1) == 0
assert evaluate.evalImage(pyf, fname2, fname2) == 0
assert evaluate.evalImage(pyf, fname1, fname2) != 0
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