From 98e9ddeb328811ca11a69a485b09541e9de8c205 Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Mon, 1 Jul 2019 15:03:41 +0930
Subject: [PATCH] TEST: Move transform test data, add test for coef->disp field
 conversion

---
 tests/test_transform/test_affine.py           |  2 +-
 tests/test_transform/test_flirt.py            |  2 +-
 tests/test_transform/test_nonlinear.py        | 27 +++++++++++++++++++
 .../test_transform_test_axisBounds.txt        |  0
 .../testdata/test_transform_test_compose.txt  |  0
 .../testdata/test_transform_test_concat.txt   |  0
 ...test_transform_test_flirtMatrixToSform.txt |  0
 .../testdata/test_transform_test_invert.txt   |  0
 .../test_transform_test_scaleoffsetxform.txt  |  0
 .../test_transform_test_transform_00.txt      |  0
 .../test_transform_test_transform_01.txt      |  0
 .../test_transform_test_transform_02.txt      |  0
 .../test_transform_test_transform_03.txt      |  0
 .../test_transform_test_transform_04.txt      |  0
 .../test_transform_test_transform_05.txt      |  0
 .../test_transform_test_transform_06.txt      |  0
 .../test_transform_test_transform_07.txt      |  0
 .../test_transform_test_transform_08.txt      |  0
 .../test_transform_test_transform_09.txt      |  0
 .../test_transform_test_transform_10.txt      |  0
 .../test_transform_test_transform_11.txt      |  0
 .../test_transform_test_transform_12.txt      |  0
 .../test_transform_test_transform_13.txt      |  0
 .../test_transform_test_transform_14.txt      |  0
 .../test_transform_test_transform_15.txt      |  0
 .../test_transform_test_transform_16.txt      |  0
 .../test_transform_test_transform_17.txt      |  0
 .../test_transform_test_transform_18.txt      |  0
 .../test_transform_test_transform_19.txt      |  0
 .../test_transform_test_transform_20.txt      |  0
 .../test_transform_test_transform_coords.txt  |  0
 31 files changed, 29 insertions(+), 2 deletions(-)
 rename tests/{ => test_transform}/testdata/test_transform_test_axisBounds.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_compose.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_concat.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_flirtMatrixToSform.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_invert.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_scaleoffsetxform.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_00.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_01.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_02.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_03.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_04.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_05.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_06.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_07.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_08.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_09.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_10.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_11.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_12.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_13.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_14.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_15.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_16.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_17.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_18.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_19.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_20.txt (100%)
 rename tests/{ => test_transform}/testdata/test_transform_test_transform_coords.txt (100%)

diff --git a/tests/test_transform/test_affine.py b/tests/test_transform/test_affine.py
index 90901c6ba..73ec93c4c 100644
--- a/tests/test_transform/test_affine.py
+++ b/tests/test_transform/test_affine.py
@@ -22,7 +22,7 @@ import pytest
 import fsl.transform  as transform
 
 
-datadir = op.join(op.dirname(__file__), '..', 'testdata')
+datadir = op.join(op.dirname(__file__), 'testdata')
 
 
 def readlines(filename):
diff --git a/tests/test_transform/test_flirt.py b/tests/test_transform/test_flirt.py
index 98ebc08a2..c301fc75c 100644
--- a/tests/test_transform/test_flirt.py
+++ b/tests/test_transform/test_flirt.py
@@ -16,7 +16,7 @@ import fsl.utils.tempdir as tempdir
 from .test_affine import readlines
 
 
-datadir = op.join(op.dirname(__file__), '..', 'testdata')
+datadir = op.join(op.dirname(__file__), 'testdata')
 
 
 def test_read_write():
diff --git a/tests/test_transform/test_nonlinear.py b/tests/test_transform/test_nonlinear.py
index 2017bb55c..59a6d7d63 100644
--- a/tests/test_transform/test_nonlinear.py
+++ b/tests/test_transform/test_nonlinear.py
@@ -1,6 +1,7 @@
 #!/usr/bin/env python
 
 import itertools as it
+import os.path   as op
 
 import numpy   as np
 import nibabel as nib
@@ -8,6 +9,10 @@ import nibabel as nib
 import fsl.data.image          as fslimage
 import fsl.transform           as transform
 import fsl.transform.nonlinear as nonlinear
+import fsl.transform.fnirt     as fnirt
+
+
+datadir = op.join(op.dirname(__file__), 'testdata')
 
 
 def _random_image():
@@ -191,3 +196,25 @@ def test_DisplacementField_transform():
     got = absfield.transform(rcoords)
     assert np.all(np.isnan(got[0, :]))
     assert np.all(np.isclose(got[1, :], scoords[1, :]))
+
+def test_coefficientFieldToDisplacementField():
+
+    nldir = op.join(datadir, 'nonlinear')
+    src   = op.join(nldir, 'src.nii.gz')
+    ref   = op.join(nldir, 'ref.nii.gz')
+    cf    = op.join(nldir, 'coefficientfield.nii.gz')
+    df    = op.join(nldir, 'displacementfield.nii.gz')
+
+    src   = fslimage.Image(src)
+    ref   = fslimage.Image(ref)
+    cf    = fnirt.readFnirt(cf, src, ref)
+    rdf   = fnirt.readFnirt(df, src, ref)
+    adf   = nonlinear.convertDisplacementType(rdf)
+
+    tol = dict(atol=1e-5, rtol=1e-5)
+
+    rcnv = nonlinear.coefficientFieldToDisplacementField(cf)
+    acnv = nonlinear.coefficientFieldToDisplacementField(cf, dispType='absolute')
+
+    assert np.all(np.isclose(rcnv.data, rdf.data, **tol))
+    assert np.all(np.isclose(acnv.data, adf.data, **tol))
diff --git a/tests/testdata/test_transform_test_axisBounds.txt b/tests/test_transform/testdata/test_transform_test_axisBounds.txt
similarity index 100%
rename from tests/testdata/test_transform_test_axisBounds.txt
rename to tests/test_transform/testdata/test_transform_test_axisBounds.txt
diff --git a/tests/testdata/test_transform_test_compose.txt b/tests/test_transform/testdata/test_transform_test_compose.txt
similarity index 100%
rename from tests/testdata/test_transform_test_compose.txt
rename to tests/test_transform/testdata/test_transform_test_compose.txt
diff --git a/tests/testdata/test_transform_test_concat.txt b/tests/test_transform/testdata/test_transform_test_concat.txt
similarity index 100%
rename from tests/testdata/test_transform_test_concat.txt
rename to tests/test_transform/testdata/test_transform_test_concat.txt
diff --git a/tests/testdata/test_transform_test_flirtMatrixToSform.txt b/tests/test_transform/testdata/test_transform_test_flirtMatrixToSform.txt
similarity index 100%
rename from tests/testdata/test_transform_test_flirtMatrixToSform.txt
rename to tests/test_transform/testdata/test_transform_test_flirtMatrixToSform.txt
diff --git a/tests/testdata/test_transform_test_invert.txt b/tests/test_transform/testdata/test_transform_test_invert.txt
similarity index 100%
rename from tests/testdata/test_transform_test_invert.txt
rename to tests/test_transform/testdata/test_transform_test_invert.txt
diff --git a/tests/testdata/test_transform_test_scaleoffsetxform.txt b/tests/test_transform/testdata/test_transform_test_scaleoffsetxform.txt
similarity index 100%
rename from tests/testdata/test_transform_test_scaleoffsetxform.txt
rename to tests/test_transform/testdata/test_transform_test_scaleoffsetxform.txt
diff --git a/tests/testdata/test_transform_test_transform_00.txt b/tests/test_transform/testdata/test_transform_test_transform_00.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_00.txt
rename to tests/test_transform/testdata/test_transform_test_transform_00.txt
diff --git a/tests/testdata/test_transform_test_transform_01.txt b/tests/test_transform/testdata/test_transform_test_transform_01.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_01.txt
rename to tests/test_transform/testdata/test_transform_test_transform_01.txt
diff --git a/tests/testdata/test_transform_test_transform_02.txt b/tests/test_transform/testdata/test_transform_test_transform_02.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_02.txt
rename to tests/test_transform/testdata/test_transform_test_transform_02.txt
diff --git a/tests/testdata/test_transform_test_transform_03.txt b/tests/test_transform/testdata/test_transform_test_transform_03.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_03.txt
rename to tests/test_transform/testdata/test_transform_test_transform_03.txt
diff --git a/tests/testdata/test_transform_test_transform_04.txt b/tests/test_transform/testdata/test_transform_test_transform_04.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_04.txt
rename to tests/test_transform/testdata/test_transform_test_transform_04.txt
diff --git a/tests/testdata/test_transform_test_transform_05.txt b/tests/test_transform/testdata/test_transform_test_transform_05.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_05.txt
rename to tests/test_transform/testdata/test_transform_test_transform_05.txt
diff --git a/tests/testdata/test_transform_test_transform_06.txt b/tests/test_transform/testdata/test_transform_test_transform_06.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_06.txt
rename to tests/test_transform/testdata/test_transform_test_transform_06.txt
diff --git a/tests/testdata/test_transform_test_transform_07.txt b/tests/test_transform/testdata/test_transform_test_transform_07.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_07.txt
rename to tests/test_transform/testdata/test_transform_test_transform_07.txt
diff --git a/tests/testdata/test_transform_test_transform_08.txt b/tests/test_transform/testdata/test_transform_test_transform_08.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_08.txt
rename to tests/test_transform/testdata/test_transform_test_transform_08.txt
diff --git a/tests/testdata/test_transform_test_transform_09.txt b/tests/test_transform/testdata/test_transform_test_transform_09.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_09.txt
rename to tests/test_transform/testdata/test_transform_test_transform_09.txt
diff --git a/tests/testdata/test_transform_test_transform_10.txt b/tests/test_transform/testdata/test_transform_test_transform_10.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_10.txt
rename to tests/test_transform/testdata/test_transform_test_transform_10.txt
diff --git a/tests/testdata/test_transform_test_transform_11.txt b/tests/test_transform/testdata/test_transform_test_transform_11.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_11.txt
rename to tests/test_transform/testdata/test_transform_test_transform_11.txt
diff --git a/tests/testdata/test_transform_test_transform_12.txt b/tests/test_transform/testdata/test_transform_test_transform_12.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_12.txt
rename to tests/test_transform/testdata/test_transform_test_transform_12.txt
diff --git a/tests/testdata/test_transform_test_transform_13.txt b/tests/test_transform/testdata/test_transform_test_transform_13.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_13.txt
rename to tests/test_transform/testdata/test_transform_test_transform_13.txt
diff --git a/tests/testdata/test_transform_test_transform_14.txt b/tests/test_transform/testdata/test_transform_test_transform_14.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_14.txt
rename to tests/test_transform/testdata/test_transform_test_transform_14.txt
diff --git a/tests/testdata/test_transform_test_transform_15.txt b/tests/test_transform/testdata/test_transform_test_transform_15.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_15.txt
rename to tests/test_transform/testdata/test_transform_test_transform_15.txt
diff --git a/tests/testdata/test_transform_test_transform_16.txt b/tests/test_transform/testdata/test_transform_test_transform_16.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_16.txt
rename to tests/test_transform/testdata/test_transform_test_transform_16.txt
diff --git a/tests/testdata/test_transform_test_transform_17.txt b/tests/test_transform/testdata/test_transform_test_transform_17.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_17.txt
rename to tests/test_transform/testdata/test_transform_test_transform_17.txt
diff --git a/tests/testdata/test_transform_test_transform_18.txt b/tests/test_transform/testdata/test_transform_test_transform_18.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_18.txt
rename to tests/test_transform/testdata/test_transform_test_transform_18.txt
diff --git a/tests/testdata/test_transform_test_transform_19.txt b/tests/test_transform/testdata/test_transform_test_transform_19.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_19.txt
rename to tests/test_transform/testdata/test_transform_test_transform_19.txt
diff --git a/tests/testdata/test_transform_test_transform_20.txt b/tests/test_transform/testdata/test_transform_test_transform_20.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_20.txt
rename to tests/test_transform/testdata/test_transform_test_transform_20.txt
diff --git a/tests/testdata/test_transform_test_transform_coords.txt b/tests/test_transform/testdata/test_transform_test_transform_coords.txt
similarity index 100%
rename from tests/testdata/test_transform_test_transform_coords.txt
rename to tests/test_transform/testdata/test_transform_test_transform_coords.txt
-- 
GitLab