From 952df63496995d770c56a157c7349e6c5df46fbb Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauldmccarthy@gmail.com>
Date: Fri, 15 Nov 2024 17:10:48 +0000
Subject: [PATCH] TEST: Expand splinterpolator tests to cover all extrapolation
 methods, and order=2 interpolation

---
 test/test_splinterpolator.cc                  | 58 ++++++++++++++++---
 ...order_1_3d_extrap_constant_gradient.nii.gz |  3 +
 .../order_1_3d_extrap_constant_values.nii.gz  |  4 +-
 .../order_1_3d_extrap_mirror_gradient.nii.gz  |  3 +
 .../order_1_3d_extrap_mirror_values.nii.gz    |  3 +
 ...order_1_3d_extrap_periodic_gradient.nii.gz |  3 +
 .../order_1_3d_extrap_periodic_values.nii.gz  |  3 +
 ...der_1_3d_extrap_soft_zeros_gradient.nii.gz |  3 +
 ...order_1_3d_extrap_soft_zeros_values.nii.gz |  4 +-
 .../order_1_3d_extrap_zeros_gradient.nii.gz   |  3 +
 .../order_1_3d_extrap_zeros_values.nii.gz     |  4 +-
 ...order_2_3d_extrap_constant_gradient.nii.gz |  3 +
 .../order_2_3d_extrap_constant_values.nii.gz  |  3 +
 .../order_2_3d_extrap_mirror_gradient.nii.gz  |  3 +
 .../order_2_3d_extrap_mirror_values.nii.gz    |  3 +
 ...order_2_3d_extrap_periodic_gradient.nii.gz |  3 +
 .../order_2_3d_extrap_periodic_values.nii.gz  |  3 +
 ...der_2_3d_extrap_soft_zeros_gradient.nii.gz |  3 +
 ...order_2_3d_extrap_soft_zeros_values.nii.gz |  3 +
 .../order_2_3d_extrap_zeros_gradient.nii.gz   |  3 +
 .../order_2_3d_extrap_zeros_values.nii.gz     |  3 +
 ...order_3_3d_extrap_constant_gradient.nii.gz |  4 +-
 .../order_3_3d_extrap_constant_values.nii.gz  |  4 +-
 .../order_3_3d_extrap_mirror_gradient.nii.gz  |  3 +
 .../order_3_3d_extrap_mirror_values.nii.gz    |  3 +
 ...order_3_3d_extrap_periodic_gradient.nii.gz |  3 +
 .../order_3_3d_extrap_periodic_values.nii.gz  |  3 +
 ...der_3_3d_extrap_soft_zeros_gradient.nii.gz |  4 +-
 ...order_3_3d_extrap_soft_zeros_values.nii.gz |  4 +-
 .../order_3_3d_extrap_zeros_gradient.nii.gz   |  4 +-
 .../order_3_3d_extrap_zeros_values.nii.gz     |  4 +-
 31 files changed, 131 insertions(+), 26 deletions(-)
 create mode 100644 test/test_splinterpolator/order_1_3d_extrap_constant_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_1_3d_extrap_mirror_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_1_3d_extrap_mirror_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_1_3d_extrap_periodic_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_1_3d_extrap_periodic_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_1_3d_extrap_soft_zeros_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_1_3d_extrap_zeros_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_constant_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_constant_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_mirror_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_mirror_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_periodic_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_periodic_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_soft_zeros_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_soft_zeros_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_zeros_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_2_3d_extrap_zeros_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_3_3d_extrap_mirror_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_3_3d_extrap_mirror_values.nii.gz
 create mode 100644 test/test_splinterpolator/order_3_3d_extrap_periodic_gradient.nii.gz
 create mode 100644 test/test_splinterpolator/order_3_3d_extrap_periodic_values.nii.gz

diff --git a/test/test_splinterpolator.cc b/test/test_splinterpolator.cc
index 76e9566..44a39bb 100644
--- a/test/test_splinterpolator.cc
+++ b/test/test_splinterpolator.cc
@@ -16,6 +16,7 @@ namespace fs  = std::filesystem;
 namespace BTF = boost::unit_test::framework;
 namespace SPL = SPLINTERPOLATOR;
 
+
 class TestFixture {
 
 public:
@@ -56,10 +57,11 @@ public:
 
 
   TestFixture() {
-    // the data is up-sampled by 3x
-    for (float z = -4; z < 9.01; z+=1/3.0) {
-    for (float y = -4; y < 9.01; y+=1/3.0) {
-    for (float x = -4; x < 9.01; x+=1/3.0) {
+    // the data is up-sampled by 3x and
+    // extrapolated x3 in all directions
+    for (float z = -8; z < 14.01; z+=1/3.0) {
+    for (float y = -8; y < 14.01; y+=1/3.0) {
+    for (float x = -8; x < 14.01; x+=1/3.0) {
       if (std::abs(x) < 0.01) x = 0;
       if (std::abs(y) < 0.01) y = 0;
       if (std::abs(z) < 0.01) z = 0;
@@ -68,9 +70,9 @@ public:
       zpts.push_back(z);
     }}}
     npts = xpts.size();
-    xsz  = 40;
-    ysz  = 40;
-    zsz  = 40;
+    xsz  = 67;
+    ysz  = 67;
+    zsz  = 67;
 
     // pre-allocate space to store test outputs
     values = std::vector<float>(npts);
@@ -127,7 +129,6 @@ public:
     }
 
     compare(values, load_nifti(test_name + "_values.nii.gz"));
-
     // derivatives are only valid for interpolation of order > 1
     if (spl.Order() > 1) {
       std::vector<float> gradvals;
@@ -143,6 +144,7 @@ public:
 BOOST_FIXTURE_TEST_SUITE(test_splinterpolator, TestFixture)
 
 
+
 BOOST_AUTO_TEST_CASE(order_1_3d_extrap_zeros) {
   run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Zeros, 1));
 }
@@ -155,6 +157,37 @@ BOOST_AUTO_TEST_CASE(order_1_3d_extrap_constant) {
   run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Constant, 1));
 }
 
+BOOST_AUTO_TEST_CASE(order_1_3d_extrap_mirror) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Mirror, 1));
+}
+
+BOOST_AUTO_TEST_CASE(order_1_3d_extrap_periodic) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Periodic, 1));
+}
+
+
+BOOST_AUTO_TEST_CASE(order_2_3d_extrap_zeros) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Zeros, 2));
+}
+
+BOOST_AUTO_TEST_CASE(order_2_3d_extrap_soft_zeros) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::SoftZeros, 2));
+}
+
+BOOST_AUTO_TEST_CASE(order_2_3d_extrap_constant) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Constant, 2));
+}
+
+BOOST_AUTO_TEST_CASE(order_2_3d_extrap_mirror) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Mirror, 2));
+}
+
+BOOST_AUTO_TEST_CASE(order_2_3d_extrap_periodic) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Periodic, 2));
+}
+
+
+
 BOOST_AUTO_TEST_CASE(order_3_3d_extrap_zeros) {
   run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Zeros, 3));
 }
@@ -167,4 +200,13 @@ BOOST_AUTO_TEST_CASE(order_3_3d_extrap_constant) {
   run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Constant, 3));
 }
 
+BOOST_AUTO_TEST_CASE(order_3_3d_extrap_mirror) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Mirror, 3));
+}
+
+BOOST_AUTO_TEST_CASE(order_3_3d_extrap_periodic) {
+  run_test(SPL::Splinterpolator<float>(data.data(), dims, SPL::Periodic, 3));
+}
+
+
 BOOST_AUTO_TEST_SUITE_END()
diff --git a/test/test_splinterpolator/order_1_3d_extrap_constant_gradient.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_constant_gradient.nii.gz
new file mode 100644
index 0000000..07c8339
--- /dev/null
+++ b/test/test_splinterpolator/order_1_3d_extrap_constant_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f81bda2a99e79163b2f24636f1eb89e3b56d97bd3ddfcc4e1d3e84e5933c227d
+size 12317
diff --git a/test/test_splinterpolator/order_1_3d_extrap_constant_values.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_constant_values.nii.gz
index de98dc5..4c03f27 100644
--- a/test/test_splinterpolator/order_1_3d_extrap_constant_values.nii.gz
+++ b/test/test_splinterpolator/order_1_3d_extrap_constant_values.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:335ffaaf4d9d9b1dd7bb52b8290721ee842e00983997a6b85af6df65cbdc9022
-size 4830
+oid sha256:e1f362c2239d3466843e9937401edb8d73ccdea3a035615469cab0771e471944
+size 10826
diff --git a/test/test_splinterpolator/order_1_3d_extrap_mirror_gradient.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_mirror_gradient.nii.gz
new file mode 100644
index 0000000..9c74b45
--- /dev/null
+++ b/test/test_splinterpolator/order_1_3d_extrap_mirror_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6dec7ff0132614c05486c41319b0282ef251bca774d7ff7507bea731152de4ab
+size 10879
diff --git a/test/test_splinterpolator/order_1_3d_extrap_mirror_values.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_mirror_values.nii.gz
new file mode 100644
index 0000000..28e6afd
--- /dev/null
+++ b/test/test_splinterpolator/order_1_3d_extrap_mirror_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e8c9b50e00a7f8ff3345c29de5cd974c45723f5ce867b880a42fca395b87b090
+size 123398
diff --git a/test/test_splinterpolator/order_1_3d_extrap_periodic_gradient.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_periodic_gradient.nii.gz
new file mode 100644
index 0000000..bc81345
--- /dev/null
+++ b/test/test_splinterpolator/order_1_3d_extrap_periodic_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cee1e780ce51ace8c8d2a82995dcb3c7c710c9d7490715eb819c06e5a1eb6ecb
+size 10228
diff --git a/test/test_splinterpolator/order_1_3d_extrap_periodic_values.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_periodic_values.nii.gz
new file mode 100644
index 0000000..ab273cd
--- /dev/null
+++ b/test/test_splinterpolator/order_1_3d_extrap_periodic_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:725059155e7e4a852d9477c0c90ec4e2d702e94f49eae8d89d310b06b4573a89
+size 186499
diff --git a/test/test_splinterpolator/order_1_3d_extrap_soft_zeros_gradient.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_soft_zeros_gradient.nii.gz
new file mode 100644
index 0000000..ba86106
--- /dev/null
+++ b/test/test_splinterpolator/order_1_3d_extrap_soft_zeros_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8283f0e453248e0e7928a101bfb036a21bd568060f5fce0367b638619cb7a3f7
+size 13820
diff --git a/test/test_splinterpolator/order_1_3d_extrap_soft_zeros_values.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_soft_zeros_values.nii.gz
index 8010489..6317d36 100644
--- a/test/test_splinterpolator/order_1_3d_extrap_soft_zeros_values.nii.gz
+++ b/test/test_splinterpolator/order_1_3d_extrap_soft_zeros_values.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:4b46cde43b2b530cb3c0fa2c5cca80f9b98fde362daf87330846e0c9f6b8b1db
-size 9811
+oid sha256:ccda51f904482d6714ba0c08339abba4548d1681e7852c9923472b36fad3f398
+size 14695
diff --git a/test/test_splinterpolator/order_1_3d_extrap_zeros_gradient.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_zeros_gradient.nii.gz
new file mode 100644
index 0000000..19cfa89
--- /dev/null
+++ b/test/test_splinterpolator/order_1_3d_extrap_zeros_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:191a840969a85d13a03d8c17c1cf1483fe4c7f51eff56806c2e2ccf34eb1fc41
+size 5825
diff --git a/test/test_splinterpolator/order_1_3d_extrap_zeros_values.nii.gz b/test/test_splinterpolator/order_1_3d_extrap_zeros_values.nii.gz
index 15102cb..f86ef09 100644
--- a/test/test_splinterpolator/order_1_3d_extrap_zeros_values.nii.gz
+++ b/test/test_splinterpolator/order_1_3d_extrap_zeros_values.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:83a4f6597266e765e8505b322dce73ffb180d9687ff35d2ed35e9a50bf67d5ca
-size 2848
+oid sha256:e4983acf76a64926576e01dd422687a7c14e036bb2bf5afed8ed50d76673a995
+size 3877
diff --git a/test/test_splinterpolator/order_2_3d_extrap_constant_gradient.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_constant_gradient.nii.gz
new file mode 100644
index 0000000..4c409a9
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_constant_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:93480a38a2c5b35555409756014fbdbe803d0d4e2c77a5f8258cbe87249aa387
+size 1111523
diff --git a/test/test_splinterpolator/order_2_3d_extrap_constant_values.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_constant_values.nii.gz
new file mode 100644
index 0000000..2e45604
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_constant_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7b777d53b224c6ef9b49ce8528c926b8544a48016c3fe41cc9dde6d43a4242c2
+size 26377
diff --git a/test/test_splinterpolator/order_2_3d_extrap_mirror_gradient.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_mirror_gradient.nii.gz
new file mode 100644
index 0000000..f5411e5
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_mirror_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6009eaa4492207e7d8d2063e1a47d3762df438f94b21ba7b5b1cab03849ebf24
+size 447744
diff --git a/test/test_splinterpolator/order_2_3d_extrap_mirror_values.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_mirror_values.nii.gz
new file mode 100644
index 0000000..c01499a
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_mirror_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9a58862b2c3d5afedb3a0cac5953c3bb129c5e03a0a1c4206be71cac3e36e4ac
+size 373025
diff --git a/test/test_splinterpolator/order_2_3d_extrap_periodic_gradient.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_periodic_gradient.nii.gz
new file mode 100644
index 0000000..d76b388
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_periodic_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a09ce72d7fd0c45c2090689b6dd947ac20b68c1f067a1ad51db34cff167710b0
+size 359394
diff --git a/test/test_splinterpolator/order_2_3d_extrap_periodic_values.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_periodic_values.nii.gz
new file mode 100644
index 0000000..9f73c95
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_periodic_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:757ccdde8d1cab4c1319ae136d5000e79f2e5409e7e28472c309d4e64e93fe1d
+size 339073
diff --git a/test/test_splinterpolator/order_2_3d_extrap_soft_zeros_gradient.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_soft_zeros_gradient.nii.gz
new file mode 100644
index 0000000..4af04a8
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_soft_zeros_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:516ed4f80407eac65d32dc7ceb1b7583ff12a790d129e08810777a97b66b12a0
+size 106926
diff --git a/test/test_splinterpolator/order_2_3d_extrap_soft_zeros_values.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_soft_zeros_values.nii.gz
new file mode 100644
index 0000000..5b79575
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_soft_zeros_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:03638d916c50dea2a7f34c8ebc0e5ce8eb9efe6abd3d729b5e301750ae65e2e5
+size 37510
diff --git a/test/test_splinterpolator/order_2_3d_extrap_zeros_gradient.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_zeros_gradient.nii.gz
new file mode 100644
index 0000000..bd79076
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_zeros_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c006400d0962cb2c2e0f125f36973493106959625c5d974f8a76f93357c44a68
+size 26784
diff --git a/test/test_splinterpolator/order_2_3d_extrap_zeros_values.nii.gz b/test/test_splinterpolator/order_2_3d_extrap_zeros_values.nii.gz
new file mode 100644
index 0000000..db8067b
--- /dev/null
+++ b/test/test_splinterpolator/order_2_3d_extrap_zeros_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5464324c2c08514125d36b113dc4469b1a7d4bbce72ec0c4baaafb1a1a222cad
+size 10406
diff --git a/test/test_splinterpolator/order_3_3d_extrap_constant_gradient.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_constant_gradient.nii.gz
index 0f415ce..520f34a 100644
--- a/test/test_splinterpolator/order_3_3d_extrap_constant_gradient.nii.gz
+++ b/test/test_splinterpolator/order_3_3d_extrap_constant_gradient.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:df6740aafbaebb0bd22298cc4e3cdd2215f1e72c4f5420bd40a1aefb38e9e6d0
-size 285334
+oid sha256:e39376ebc9ec29f88cd45eb5c4a228ef45714f247afa05b8bcf869a6d6e71a27
+size 1684685
diff --git a/test/test_splinterpolator/order_3_3d_extrap_constant_values.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_constant_values.nii.gz
index 0f571fb..8cec2b3 100644
--- a/test/test_splinterpolator/order_3_3d_extrap_constant_values.nii.gz
+++ b/test/test_splinterpolator/order_3_3d_extrap_constant_values.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:16fe794c40b86a77a10b323d5abe1647fbe1b9ce113bf91406348f42301f0d00
-size 26849
+oid sha256:baf126c15a8958c282a93ff8fd00ea3dfb5a77333c1e08b877d80cf32c6b9c6f
+size 33673
diff --git a/test/test_splinterpolator/order_3_3d_extrap_mirror_gradient.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_mirror_gradient.nii.gz
new file mode 100644
index 0000000..adc798c
--- /dev/null
+++ b/test/test_splinterpolator/order_3_3d_extrap_mirror_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dda0b972721640c74f319b991b8280a2dab79008f14b9f9baf5f4d90d26c7a31
+size 541878
diff --git a/test/test_splinterpolator/order_3_3d_extrap_mirror_values.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_mirror_values.nii.gz
new file mode 100644
index 0000000..08db782
--- /dev/null
+++ b/test/test_splinterpolator/order_3_3d_extrap_mirror_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f20f944fbe1a2d6137b669485aa9d94128ec2fd3de8b3be0fa6839b3c773ae60
+size 384707
diff --git a/test/test_splinterpolator/order_3_3d_extrap_periodic_gradient.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_periodic_gradient.nii.gz
new file mode 100644
index 0000000..0c6e014
--- /dev/null
+++ b/test/test_splinterpolator/order_3_3d_extrap_periodic_gradient.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:367cf6815b1e23e86ba2ba3bf0554613e081175f493d91f9b33065c9df48fc72
+size 492075
diff --git a/test/test_splinterpolator/order_3_3d_extrap_periodic_values.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_periodic_values.nii.gz
new file mode 100644
index 0000000..85822f5
--- /dev/null
+++ b/test/test_splinterpolator/order_3_3d_extrap_periodic_values.nii.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c68d5dfc54eac25615730c11cde6c99ecf91c079361b95f39671f0186c6b965f
+size 340910
diff --git a/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_gradient.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_gradient.nii.gz
index 5cde075..b5a4d61 100644
--- a/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_gradient.nii.gz
+++ b/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_gradient.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7df5d1f856b565d3c7fca393dee00199b79c0cf4b3bdcd73f3fdec330e23bf73
-size 138307
+oid sha256:1b1467f2f9ad3901578cc644e1bdf6d1744c201db6fff1d8d6624fb39e402008
+size 167354
diff --git a/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_values.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_values.nii.gz
index 4847f2d..b6ddb55 100644
--- a/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_values.nii.gz
+++ b/test/test_splinterpolator/order_3_3d_extrap_soft_zeros_values.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:970284e1f7075083d1a1abae3a053d15ced71d4e27dcd642f756bfc7faa1c93e
-size 45702
+oid sha256:a357d6f2b86e78dcf19de3fa39fe9ae89afe1916841c8fe499e57d0694a7c575
+size 55616
diff --git a/test/test_splinterpolator/order_3_3d_extrap_zeros_gradient.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_zeros_gradient.nii.gz
index 57563f1..2c080c9 100644
--- a/test/test_splinterpolator/order_3_3d_extrap_zeros_gradient.nii.gz
+++ b/test/test_splinterpolator/order_3_3d_extrap_zeros_gradient.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:ff221f4112fbd85693b703fbbb01e28fc59bd638ce50ef8609b97844421398df
-size 25618
+oid sha256:1eec946cae45950952a53c6f8908ddc34bca67168e0a0a00b44deb1411ee8817
+size 30283
diff --git a/test/test_splinterpolator/order_3_3d_extrap_zeros_values.nii.gz b/test/test_splinterpolator/order_3_3d_extrap_zeros_values.nii.gz
index a777875..d072cc6 100644
--- a/test/test_splinterpolator/order_3_3d_extrap_zeros_values.nii.gz
+++ b/test/test_splinterpolator/order_3_3d_extrap_zeros_values.nii.gz
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:4ea6adb66a31f7f7071688b14bc54b0d510447dbb3428d343f9ac7fd9f244d27
-size 8958
+oid sha256:b08f7f91724461f0e1ea452c72432b9f3e909667baeb50a9e9777cc10ce1181b
+size 10489
-- 
GitLab