Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: expand objects returned by LoadScan.load_topostats() #1068

Merged
merged 2 commits into from
Jan 7, 2025

Conversation

ns-rse
Copy link
Collaborator

@ns-rse ns-rse commented Jan 6, 2025

Closes #1067

Modifies LoadScan.load_topostats() to take an argument extract: str = "all" so that by default the cleaned
image (post filter) that is stored at image, px_to_nm_scaling and data that are stored in .topostats HDF5 are
returned.

To assist with #517 though it is also possible to specify other data to extract such as raw to get the original
image array and pixel_to_nm_scaling should the user want to re-run the Filter stage and filter should the user
wish to re-run the grain detection on the cleaned (post-Filter) array

The user options are mapped to the keys used in the HDF5 structure by means of a dictionary (which is local to the
.load_topostats() function) and will be extended as required in subsequent work.

Tests are expanded.


TopoStats Pull Requests

Please provide a descriptive summary of the changes your Pull Request introduces.

The Software Development section of
the Contributing Guidelines may be useful if you are unfamiliar with linting, pre-commit, docstrings and testing.

  • Existing tests pass.
  • Pre-commit checks pass.
  • New functions/methods have typehints and docstrings.
  • New functions/methods have tests which check the intended behaviour is correct.

Closes #1067

Modifies `LoadScan.load_topostats()` to take an argument `extract: str = "all"` so that by default the cleaned
image (post filter) that is stored at `image`, `px_to_nm_scaling` and `data` that are stored in `.topostats` HDF5 are
returned.

To assist with #517 though it is also possible to specify other data to extract such as `raw` to get the original
image array and `pixel_to_nm_scaling` should the user want to re-run the `Filter` stage and `filter` should the user
wish to re-run the grain detection on the cleaned (post-Filter) array

The user options are mapped to the keys used in the HDF5 structure by means of a dictionary (which is local to the
`.load_topostats()` function) and will be extended as required in subsequent work.

Tests are expanded.
@ns-rse ns-rse added the IO Input and Output label Jan 6, 2025
@SylviaWhittle
Copy link
Collaborator

This is great, pulled and it works.

I had a look at the failing test and can confirm it's failing, but not due to this PR:

image

@ns-rse
Copy link
Collaborator Author

ns-rse commented Jan 6, 2025

Thanks for digging into that @SylviaWhittle 👍

Weirdly I initially had topoloy-1.0.2 installed locally and tests passed. We unpinned topoly version in 47f09c0 and CI is pulling in topoly-1.0.4.

Upgraded to topoly-1.0.4 locally and the tests pass for me too (I may have versions confused though but this surprised me). Might be that updating to topoly-1.0.4 might solve the above for you. As you say I thought we solved that particular issue of the string formats already.

The log of the failed CI tests indicates that dictionaries aren't equal in tests/test_processing.py::test_process_scan_both() so just digging into that.

Some of the tracing is failing...

WARNING  topostats:disordered_tracing.py:138 [minicircle_small] : Grain 0 skeleton < 10, skipping.
ERROR    topostats:disordered_tracing.py:428 [minicircle_small] : Disordered tracing of grain 0 failed. Consider raising an issue on GitHub. Error: 
Traceback (most recent call last):
  File "/home/runner/work/TopoStats/TopoStats/topostats/tracing/disordered_tracing.py", line 419, in trace_image_disordered
    crop = disordered_trace_images[image_name]
TypeError: 'NoneType' object is not subscriptable
INFO     topostats:processing.py:494 [minicircle_small] : Disordered tracing failed - skipping. Consider raising an issue on GitHub. Error: 
Traceback (most recent call last):
  File "/home/runner/work/TopoStats/TopoStats/topostats/processing.py", line 482, in run_disordered_tracing
    pd.merge(
  File "/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/pandas/core/reshape/merge.py", line 170, in merge
    op = _MergeOperation(
  File "/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/pandas/core/reshape/merge.py", line 794, in __init__
    ) = self._get_merge_keys()
  File "/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/pandas/core/reshape/merge.py", line 1297, in _get_merge_keys
    right_keys.append(right._get_label_or_level_values(rk))
  File "/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/pandas/core/generic.py", line 1911, in _get_label_or_level_values
    raise KeyError(key)
KeyError: 'image'

...but processing completes and the failure is at...

        # Check the keys, this will flag all new keys when adding output stats
        assert expected_topostats.keys() == saved_topostats.keys()
        # Check the data
>       assert dict_almost_equal(expected_topostats, saved_topostats)
E       AssertionError: assert False
E        +  where False = dict_almost_equal({'disordered_traces': {'above': {'grain_0': {'bbox': array([11, 31, 26, 59]), 'branch_indexes': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1.,\n        0., 0., 0., 0., 0., 1., 1., 1., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],\n      ...],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       ...,\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]]], dtype=int32), 'below': array([[[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       ...,\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]]], dtype=int32)}, ...}, {'disordered_traces': {'above': {'grain_0': {'bbox': array([11, 31, 26, 59]), 'branch_indexes': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n        1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1.,\n        0., 0., 0., 0., 0., 1., 1., 1., 0., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],\n       [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.,\n        0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],\n      ...],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       ...,\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]]], dtype=int32), 'below': array([[[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       ...,\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]],\n\n       [[1, 0],\n        [1, 0],\n        [1, 0],\n        ...,\n        [1, 0],\n        [1, 0],\n        [1, 0]]], dtype=int32)}, ...})

This may ultimately be down to the topoly format differences though, its just that we can't currently see the full objects. Digging deeper to investigate 👍

@ns-rse ns-rse force-pushed the ns-rse/1067-load-topostats branch from f2d9e22 to 92c9844 Compare January 6, 2025 14:19
@ns-rse
Copy link
Collaborator Author

ns-rse commented Jan 6, 2025

I think I've found the cause of the current failures there are small differences that are greater than the abs_tol = 1 e -9 between the saved (calculated in the test) and expected.

Differences are in the order of 1e-7 or there abouts, some larger than others.

Pulled out the two arrays and diffed them (some of the syntax highlighting is lost here unfortunately).

diff -u /home/neil/work/git/hub/AFM-SPM/TopoStats/tmp/20250106/expected /home/neil/work/git/hub/AFM-SPM/TopoStats/tmp/20250106/saved
--- /home/neil/work/git/hub/AFM-SPM/TopoStats/tmp/20250106/expected	2025-01-06 14:51:33.404736780 +0000
+++ /home/neil/work/git/hub/AFM-SPM/TopoStats/tmp/20250106/saved	2025-01-06 14:46:11.824766526 +0000
@@ -1,4 +1,4 @@
-expected_topostats={'disordered_traces': {'above': {'grain_0': {'bbox': array([11, 31, 26, 59]), 'branch_indexes': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
+saved_topostats={'disordered_traces': {'above': {'grain_0': {'bbox': array([11, 31, 26, 59]), 'branch_indexes': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
          0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
         [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
          0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
@@ -107,99 +107,99 @@
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00],
-        [ 0.00000000e+00, -1.28036288e-02, -1.66340853e-02,
-         -5.53110159e-02, -1.21650662e-01, -1.39579156e-01,
-         -1.05995083e-01, -7.38935732e-02, -4.71816600e-02,
-         -2.23941552e-02, -2.50586283e-02, -7.74163192e-02,
-         -1.31833774e-01, -7.03987079e-02,  1.38327598e-01,
-          4.04946361e-01,  5.93790706e-01,  6.31206613e-01,
-          5.79991268e-01,  5.60415567e-01,  6.03739952e-01,
-          5.94732996e-01,  4.30570358e-01,  1.79265004e-01,
-         -1.53514851e-02, -1.00756696e-01, -1.42231011e-01,
-         -1.76945682e-01, -1.65753410e-01,  0.00000000e+00],
-        [ 0.00000000e+00,  5.91678462e-03, -7.33825723e-02,
-         -1.15978826e-01, -1.44731655e-01, -1.31911204e-01,
-         -1.04907940e-01, -1.01472655e-01, -9.70466044e-02,
-         -6.98546150e-02, -2.62689532e-02,  2.20203239e-02,
-          1.10841871e-01,  3.41418496e-01,  7.29851206e-01,
+        [ 0.00000000e+00, -1.28036273e-02, -1.66340839e-02,
+         -5.53110146e-02, -1.21650661e-01, -1.39579155e-01,
+         -1.05995082e-01, -7.38935719e-02, -4.71816588e-02,
+         -2.23941539e-02, -2.50586271e-02, -7.74163180e-02,
+         -1.31833772e-01, -7.03987067e-02,  1.38327599e-01,
+          4.04946362e-01,  5.93790707e-01,  6.31206614e-01,
+          5.79991269e-01,  5.60415568e-01,  6.03739953e-01,
+          5.94732997e-01,  4.30570359e-01,  1.79265005e-01,
+         -1.53514842e-02, -1.00756695e-01, -1.42231010e-01,
+         -1.76945681e-01, -1.65753409e-01,  0.00000000e+00],
+        [ 0.00000000e+00,  5.91678596e-03, -7.33825709e-02,
+         -1.15978825e-01, -1.44731654e-01, -1.31911202e-01,
+         -1.04907939e-01, -1.01472654e-01, -9.70466033e-02,
+         -6.98546139e-02, -2.62689521e-02,  2.20203250e-02,
+          1.10841872e-01,  3.41418497e-01,  7.29851207e-01,
           1.13392932e+00,  1.38447704e+00,  1.45670838e+00,
-          1.45276749e+00,  1.45427946e+00,  1.46313292e+00,
-          1.39406319e+00,  1.13853280e+00,  7.19770430e-01,
-          3.10807038e-01,  4.39221702e-02, -8.73758659e-02,
-         -1.32861457e-01, -1.08565341e-01,  0.00000000e+00],
-        [ 0.00000000e+00, -1.17094714e-03, -1.35760146e-01,
-         -1.85014947e-01, -2.00294647e-01, -1.74099836e-01,
-         -1.42024225e-01, -1.30819642e-01, -1.22430479e-01,
-         -7.69182820e-02,  6.36636794e-02,  3.20909365e-01,
-          6.59811583e-01,  1.05249451e+00,  1.44810284e+00,
+          1.45276749e+00,  1.45427946e+00,  1.46313293e+00,
+          1.39406319e+00,  1.13853280e+00,  7.19770431e-01,
+          3.10807038e-01,  4.39221710e-02, -8.73758652e-02,
+         -1.32861456e-01, -1.08565340e-01,  0.00000000e+00],
+        [ 0.00000000e+00, -1.17094586e-03, -1.35760144e-01,
+         -1.85014946e-01, -2.00294646e-01, -1.74099835e-01,
+         -1.42024224e-01, -1.30819641e-01, -1.22430478e-01,
+         -7.69182809e-02,  6.36636804e-02,  3.20909366e-01,
+          6.59811584e-01,  1.05249452e+00,  1.44810284e+00,
           1.73332687e+00,  1.85136548e+00,  1.86721884e+00,
           1.88293033e+00,  1.93735923e+00,  2.00253950e+00,
           1.99806235e+00,  1.82090668e+00,  1.45000580e+00,
-          9.75445322e-01,  5.10587815e-01,  1.50063199e-01,
-         -5.22702391e-02, -9.04800984e-02,  0.00000000e+00],
-        [ 0.00000000e+00, -3.63520337e-02, -1.54766703e-01,
-         -2.06114239e-01, -2.44828033e-01, -2.40065782e-01,
-         -2.05720309e-01, -1.53619967e-01, -1.00151586e-01,
-         -8.07755493e-03,  2.71854215e-01,  7.82899221e-01,
+          9.75445323e-01,  5.10587816e-01,  1.50063199e-01,
+         -5.22702385e-02, -9.04800978e-02,  0.00000000e+00],
+        [ 0.00000000e+00, -3.63520325e-02, -1.54766702e-01,
+         -2.06114238e-01, -2.44828031e-01, -2.40065781e-01,
+         -2.05720308e-01, -1.53619966e-01, -1.00151585e-01,
+         -8.07755394e-03,  2.71854216e-01,  7.82899222e-01,
           1.30223697e+00,  1.62766686e+00,  1.75136458e+00,
           1.71649029e+00,  1.59683409e+00,  1.49973131e+00,
           1.49125952e+00,  1.56946734e+00,  1.70469088e+00,
           1.83196490e+00,  1.87016612e+00,  1.78866273e+00,
-          1.57118958e+00,  1.16953412e+00,  6.30115717e-01,
-          1.65609223e-01, -4.47150768e-02,  0.00000000e+00],
-        [ 0.00000000e+00, -9.74937803e-02, -1.63466617e-01,
-         -1.92965892e-01, -2.08688750e-01, -1.80701807e-01,
-         -1.35804126e-01, -6.52453186e-02,  2.47219104e-02,
-          1.73599145e-01,  5.82587591e-01,  1.24094118e+00,
-          1.70860388e+00,  1.73206838e+00,  1.46556901e+00,
-          1.12208532e+00,  8.39711804e-01,  6.97337397e-01,
-          6.95814321e-01,  7.74509363e-01,  9.04098374e-01,
+          1.57118959e+00,  1.16953412e+00,  6.30115717e-01,
+          1.65609223e-01, -4.47150764e-02,  0.00000000e+00],
+        [ 0.00000000e+00, -9.74937791e-02, -1.63466615e-01,
+         -1.92965890e-01, -2.08688749e-01, -1.80701806e-01,
+         -1.35804125e-01, -6.52453177e-02,  2.47219113e-02,
+          1.73599146e-01,  5.82587592e-01,  1.24094118e+00,
+          1.70860389e+00,  1.73206838e+00,  1.46556901e+00,
+          1.12208532e+00,  8.39711805e-01,  6.97337398e-01,
+          6.95814322e-01,  7.74509364e-01,  9.04098375e-01,
           1.07491887e+00,  1.27030568e+00,  1.48748343e+00,
           1.67999822e+00,  1.63164358e+00,  1.16290195e+00,
-          5.03481814e-01,  6.40331625e-02,  0.00000000e+00],
-        [ 0.00000000e+00, -1.44007769e-01, -1.36558045e-01,
-         -6.04560750e-02,  7.08132705e-02,  2.22415201e-01,
-          3.24254892e-01,  3.98049189e-01,  4.86760294e-01,
-          6.60158163e-01,  1.11422258e+00,  1.72402592e+00,
+          5.03481814e-01,  6.40331629e-02,  0.00000000e+00],
+        [ 0.00000000e+00, -1.44007768e-01, -1.36558044e-01,
+         -6.04560739e-02,  7.08132715e-02,  2.22415202e-01,
+          3.24254893e-01,  3.98049189e-01,  4.86760295e-01,
+          6.60158164e-01,  1.11422258e+00,  1.72402592e+00,
           1.94318044e+00,  1.60164730e+00,  1.01805575e+00,
-          5.18183038e-01,  2.32735398e-01,  1.50620364e-01,
+          5.18183039e-01,  2.32735398e-01,  1.50620365e-01,
           1.86610223e-01,  2.32359527e-01,  2.68815740e-01,
-          3.72915580e-01,  6.04413465e-01,  9.78051424e-01,
+          3.72915581e-01,  6.04413466e-01,  9.78051424e-01,
           1.47109177e+00,  1.78648258e+00,  1.52705729e+00,
           8.17168513e-01,  1.94924982e-01,  0.00000000e+00],
-        [ 0.00000000e+00, -1.46735013e-01,  2.31881950e-02,
-          3.47951390e-01,  7.04018920e-01,  9.72878495e-01,
-          1.11532751e+00,  1.16831296e+00,  1.20399198e+00,
+        [ 0.00000000e+00, -1.46735012e-01,  2.31881960e-02,
+          3.47951391e-01,  7.04018921e-01,  9.72878496e-01,
+          1.11532751e+00,  1.16831297e+00,  1.20399198e+00,
           1.36368995e+00,  1.81292214e+00,  2.29449402e+00,
-          2.29903142e+00,  1.77396739e+00,  1.09519545e+00,
-          6.12570155e-01,  4.02544088e-01,  3.66817038e-01,
-          3.68917099e-01,  2.95780107e-01,  1.66461729e-01,
-          1.61297594e-01,  3.88292524e-01,  8.22104840e-01,
+          2.29903143e+00,  1.77396739e+00,  1.09519545e+00,
+          6.12570155e-01,  4.02544088e-01,  3.66817039e-01,
+          3.68917099e-01,  2.95780108e-01,  1.66461729e-01,
+          1.61297594e-01,  3.88292525e-01,  8.22104841e-01,
           1.41053659e+00,  1.83423038e+00,  1.65722323e+00,
           9.54319940e-01,  2.51824737e-01,  0.00000000e+00],
-        [ 0.00000000e+00, -7.47775621e-02,  3.55938563e-01,
-          9.66823832e-01,  1.42388198e+00,  1.59961058e+00,
-          1.60086417e+00,  1.52612413e+00,  1.47806924e+00,
+        [ 0.00000000e+00, -7.47775612e-02,  3.55938564e-01,
+          9.66823833e-01,  1.42388198e+00,  1.59961058e+00,
+          1.60086418e+00,  1.52612413e+00,  1.47806924e+00,
           1.67566933e+00,  2.19903863e+00,  2.64224610e+00,
-          2.61963807e+00,  2.20095061e+00,  1.69407014e+00,
+          2.61963808e+00,  2.20095061e+00,  1.69407014e+00,
           1.35419294e+00,  1.21334022e+00,  1.17616946e+00,
           1.12135368e+00,  9.48902510e-01,  7.06847173e-01,
           6.18770582e-01,  7.97764304e-01,  1.17583256e+00,
           1.62421509e+00,  1.84312821e+00,  1.53646505e+00,
           8.34036328e-01,  1.72258373e-01,  0.00000000e+00],
-        [ 0.00000000e+00,  1.20369091e-01,  7.63387852e-01,
+        [ 0.00000000e+00,  1.20369092e-01,  7.63387853e-01,
           1.48882449e+00,  1.82426617e+00,  1.72396204e+00,
           1.45289337e+00,  1.21990667e+00,  1.17867021e+00,
           1.51505313e+00,  2.12357465e+00,  2.48543579e+00,
           2.39309823e+00,  2.09435212e+00,  1.84124808e+00,
-          1.72216606e+00,  1.69265854e+00,  1.70554438e+00,
+          1.72216606e+00,  1.69265855e+00,  1.70554438e+00,
           1.70964400e+00,  1.62996931e+00,  1.48810746e+00,
           1.41828131e+00,  1.48431682e+00,  1.64100992e+00,
           1.76720409e+00,  1.65561789e+00,  1.18655387e+00,
-          5.51588382e-01,  7.27468742e-02,  0.00000000e+00],
-        [ 0.00000000e+00,  3.63277804e-01,  1.08036598e+00,
-          1.76185511e+00,  1.91727011e+00,  1.59342284e+00,
-          1.15911638e+00,  9.20814283e-01,  1.02995033e+00,
+          5.51588382e-01,  7.27468741e-02,  0.00000000e+00],
+        [ 0.00000000e+00,  3.63277805e-01,  1.08036599e+00,
+          1.76185511e+00,  1.91727011e+00,  1.59342285e+00,
+          1.15911638e+00,  9.20814284e-01,  1.02995033e+00,
           1.47826579e+00,  1.96363828e+00,  2.02795202e+00,
           1.67172504e+00,  1.30368474e+00,  1.17931976e+00,
           1.23771439e+00,  1.32244001e+00,  1.41387421e+00,
@@ -207,56 +207,56 @@
           1.66511033e+00,  1.64665591e+00,  1.59851017e+00,
           1.46613926e+00,  1.16492597e+00,  7.03913622e-01,
           2.88319004e-01,  1.27221027e-01,  0.00000000e+00],
-        [ 0.00000000e+00,  5.13912334e-01,  1.22189543e+00,
-          1.87205005e+00,  2.01418137e+00,  1.72240610e+00,
+        [ 0.00000000e+00,  5.13912335e-01,  1.22189543e+00,
+          1.87205005e+00,  2.01418138e+00,  1.72240610e+00,
           1.36981887e+00,  1.24258281e+00,  1.41428838e+00,
           1.72262307e+00,  1.84621710e+00,  1.54660453e+00,
           9.71903753e-01,  5.29802022e-01,  4.16885387e-01,
           4.93861920e-01,  5.81351177e-01,  6.86609635e-01,
           8.43465738e-01,  9.98113072e-01,  1.11026491e+00,
           1.15537440e+00,  1.11445699e+00,  9.98411616e-01,
-          8.07810037e-01,  5.43858136e-01,  2.68405534e-01,
-          1.52978810e-01,  3.29021303e-01,  0.00000000e+00],
+          8.07810037e-01,  5.43858135e-01,  2.68405534e-01,
+          1.52978809e-01,  3.29021302e-01,  0.00000000e+00],
         [ 0.00000000e+00,  4.82802126e-01,  1.13298136e+00,
           1.79004192e+00,  2.07849668e+00,  2.02586088e+00,
-          1.89198152e+00,  1.83828312e+00,  1.85673388e+00,
+          1.89198152e+00,  1.83828312e+00,  1.85673389e+00,
           1.81438643e+00,  1.56108188e+00,  1.06857167e+00,
-          5.08006048e-01,  1.32651233e-01,  1.72250544e-02,
+          5.08006048e-01,  1.32651233e-01,  1.72250545e-02,
           2.69054586e-02,  5.86635666e-02,  1.45784369e-01,
-          2.88384674e-01,  4.18554792e-01,  5.08301722e-01,
-          5.38383092e-01,  4.91145690e-01,  3.87539648e-01,
-          2.55989310e-01,  1.21477058e-01,  3.49572668e-02,
+          2.88384674e-01,  4.18554791e-01,  5.08301722e-01,
+          5.38383092e-01,  4.91145690e-01,  3.87539647e-01,
+          2.55989310e-01,  1.21477058e-01,  3.49572663e-02,
           1.14320608e-01,  4.57095499e-01,  0.00000000e+00],
-        [ 0.00000000e+00,  2.42879656e-01,  7.40101387e-01,
+        [ 0.00000000e+00,  2.42879657e-01,  7.40101387e-01,
           1.32158699e+00,  1.70345238e+00,  1.85175491e+00,
           1.88148910e+00,  1.84550166e+00,  1.70562080e+00,
-          1.42223817e+00,  1.02405438e+00,  5.92334437e-01,
-          2.24986697e-01, -1.06174126e-02, -1.24599892e-01,
-         -1.86301548e-01, -1.98382022e-01, -1.11074037e-01,
-          3.45629200e-02,  1.51915355e-01,  2.14551537e-01,
-          2.25387117e-01,  1.87455607e-01,  1.23381660e-01,
-          5.15479881e-02, -2.16538993e-02, -5.07088957e-02,
-          4.40599323e-02,  3.34402574e-01,  0.00000000e+00],
-        [ 0.00000000e+00, -1.93826828e-02,  2.49902399e-01,
-          6.24762851e-01,  9.19912144e-01,  1.08853741e+00,
+          1.42223817e+00,  1.02405438e+00,  5.92334438e-01,
+          2.24986697e-01, -1.06174125e-02, -1.24599892e-01,
+         -1.86301548e-01, -1.98382022e-01, -1.11074038e-01,
+          3.45629198e-02,  1.51915355e-01,  2.14551537e-01,
+          2.25387116e-01,  1.87455607e-01,  1.23381660e-01,
+          5.15479876e-02, -2.16538998e-02, -5.07088962e-02,
+          4.40599317e-02,  3.34402573e-01,  0.00000000e+00],
+        [ 0.00000000e+00, -1.93826823e-02,  2.49902399e-01,
+          6.24762852e-01,  9.19912145e-01,  1.08853741e+00,
           1.16135345e+00,  1.14232404e+00,  9.94960260e-01,
           7.30835659e-01,  4.45133101e-01,  2.22585385e-01,
-          8.27763468e-02, -1.75463458e-02, -1.25527212e-01,
+          8.27763469e-02, -1.75463458e-02, -1.25527213e-01,
          -2.48087522e-01, -3.14043638e-01, -2.51516977e-01,
-         -1.05363116e-01,  1.94326662e-02,  7.74907735e-02,
-          9.23040046e-02,  8.80999241e-02,  7.38483383e-02,
-          3.12246299e-02, -4.75698731e-02, -9.68375691e-02,
-         -6.10843171e-02,  9.51726899e-02,  0.00000000e+00],
-        [ 0.00000000e+00, -1.05569216e-01, -1.22458490e-02,
-          1.19310118e-01,  2.22751713e-01,  2.91382109e-01,
-          3.41948056e-01,  3.71192639e-01,  3.21788191e-01,
-          1.89744979e-01,  5.98432960e-02, -4.84093382e-03,
-         -5.19108754e-04,  9.11482994e-03, -4.69091767e-02,
-         -1.71440979e-01, -2.85582521e-01, -2.94370724e-01,
-         -1.91281427e-01, -7.87581239e-02, -2.73488660e-02,
-         -3.60475325e-03,  2.74617349e-02,  5.03515470e-02,
-          1.59165783e-02, -6.74994985e-02, -1.10430283e-01,
-         -8.53993350e-02, -1.02674271e-02,  0.00000000e+00],
+         -1.05363116e-01,  1.94326659e-02,  7.74907731e-02,
+          9.23040041e-02,  8.80999236e-02,  7.38483378e-02,
+          3.12246293e-02, -4.75698738e-02, -9.68375698e-02,
+         -6.10843179e-02,  9.51726891e-02,  0.00000000e+00],
+        [ 0.00000000e+00, -1.05569215e-01, -1.22458486e-02,
+          1.19310119e-01,  2.22751713e-01,  2.91382109e-01,
+          3.41948057e-01,  3.71192639e-01,  3.21788191e-01,
+          1.89744979e-01,  5.98432960e-02, -4.84093385e-03,
+         -5.19108834e-04,  9.11482981e-03, -4.69091769e-02,
+         -1.71440980e-01, -2.85582521e-01, -2.94370724e-01,
+         -1.91281427e-01, -7.87581244e-02, -2.73488665e-02,
+         -3.60475380e-03,  2.74617343e-02,  5.03515464e-02,
+          1.59165776e-02, -6.74994993e-02, -1.10430283e-01,
+         -8.53993359e-02, -1.02674280e-02,  0.00000000e+00],
         [ 0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
@@ -498,195 +498,195 @@
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00],
-        [ 0.00000000e+00,  2.41566770e-02,  1.44918360e-01,
+        [ 0.00000000e+00,  2.41566772e-02,  1.44918360e-01,
           3.24656354e-01,  4.30524751e-01,  4.39524225e-01,
           4.76689852e-01,  4.74880888e-01,  3.16731390e-01,
-          1.28463302e-01,  4.01198938e-02,  2.14138056e-02,
-          3.38347757e-02,  6.49741457e-02,  6.64077422e-02,
-          3.22389997e-03, -8.79796673e-02, -1.33245538e-01,
-         -1.13054028e-01, -9.96210891e-02, -1.39527877e-01,
-         -1.75891653e-01, -1.43730167e-01, -7.90939087e-02,
-         -6.29733539e-02, -8.09354537e-02, -1.06851557e-01,
+          1.28463302e-01,  4.01198935e-02,  2.14138052e-02,
+          3.38347753e-02,  6.49741452e-02,  6.64077417e-02,
+          3.22389939e-03, -8.79796679e-02, -1.33245538e-01,
+         -1.13054029e-01, -9.96210899e-02, -1.39527878e-01,
+         -1.75891654e-01, -1.43730168e-01, -7.90939097e-02,
+         -6.29733550e-02, -8.09354549e-02, -1.06851558e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  5.74925579e-02,  3.70768758e-01,
+        [ 0.00000000e+00,  5.74925581e-02,  3.70768759e-01,
           8.76706844e-01,  1.23951338e+00,  1.32752909e+00,
           1.31551040e+00,  1.25883357e+00,  1.10798900e+00,
-          9.54538247e-01,  8.78458449e-01,  8.11450985e-01,
-          6.99469233e-01,  5.45222022e-01,  3.44786845e-01,
-          1.18641085e-01, -7.19735805e-02, -1.64880631e-01,
-         -1.73454452e-01, -1.86349642e-01, -2.42442641e-01,
-         -2.61132377e-01, -1.76693483e-01, -7.48568487e-02,
-         -7.50214255e-02, -1.25193529e-01, -1.50116458e-01,
+          9.54538247e-01,  8.78458449e-01,  8.11450984e-01,
+          6.99469233e-01,  5.45222022e-01,  3.44786844e-01,
+          1.18641085e-01, -7.19735812e-02, -1.64880632e-01,
+         -1.73454453e-01, -1.86349643e-01, -2.42442642e-01,
+         -2.61132378e-01, -1.76693484e-01, -7.48568499e-02,
+         -7.50214267e-02, -1.25193531e-01, -1.50116459e-01,
           0.00000000e+00],
         [ 0.00000000e+00,  1.11615064e-01,  6.36535584e-01,
           1.38616386e+00,  1.85083635e+00,  1.91250434e+00,
           1.84012796e+00,  1.78299357e+00,  1.73575328e+00,
           1.70524522e+00,  1.69788797e+00,  1.65502462e+00,
-          1.52549626e+00,  1.28116751e+00,  8.94833953e-01,
-          4.23962204e-01,  3.54537637e-02, -1.57762215e-01,
-         -2.19109278e-01, -2.58544367e-01, -2.89552820e-01,
-         -2.49328090e-01, -1.29452199e-01, -4.30895108e-02,
-         -7.80942956e-02, -1.38140956e-01, -1.40797299e-01,
+          1.52549626e+00,  1.28116751e+00,  8.94833952e-01,
+          4.23962203e-01,  3.54537628e-02, -1.57762216e-01,
+         -2.19109279e-01, -2.58544368e-01, -2.89552821e-01,
+         -2.49328091e-01, -1.29452200e-01, -4.30895121e-02,
+         -7.80942969e-02, -1.38140957e-01, -1.40797301e-01,
           0.00000000e+00],
         [ 0.00000000e+00,  2.13590209e-01,  9.28397073e-01,
           1.74637882e+00,  2.05372565e+00,  1.86781942e+00,
           1.61190463e+00,  1.50732329e+00,  1.54704405e+00,
           1.64233908e+00,  1.72743797e+00,  1.78219443e+00,
           1.80395973e+00,  1.73837011e+00,  1.44562805e+00,
-          8.80334642e-01,  2.85639910e-01, -7.24604886e-02,
-         -2.16114170e-01, -2.75414841e-01, -2.76507189e-01,
-         -1.96723138e-01, -6.94724757e-02,  1.39890409e-03,
-         -3.97947366e-02, -1.04436960e-01, -1.19498601e-01,
+          8.80334642e-01,  2.85639909e-01, -7.24604896e-02,
+         -2.16114171e-01, -2.75414842e-01, -2.76507190e-01,
+         -1.96723139e-01, -6.94724771e-02,  1.39890269e-03,
+         -3.97947380e-02, -1.04436961e-01, -1.19498603e-01,
           0.00000000e+00],
         [ 0.00000000e+00,  3.38428301e-01,  1.16278576e+00,
           1.94643923e+00,  2.03738313e+00,  1.53684391e+00,
           9.89576789e-01,  7.26821202e-01,  7.50482476e-01,
-          8.92522778e-01,  1.02547674e+00,  1.15599823e+00,
-          1.35713129e+00,  1.61184332e+00,  1.68375881e+00,
-          1.30683080e+00,  6.28411525e-01,  7.52380709e-02,
-         -1.90529444e-01, -2.80162556e-01, -2.82402973e-01,
-         -2.10106196e-01, -8.92725723e-02, -6.98790220e-03,
-         -1.66622736e-02, -7.35757379e-02, -1.22091718e-01,
+          8.92522778e-01,  1.02547674e+00,  1.15599822e+00,
+          1.35713129e+00,  1.61184332e+00,  1.68375880e+00,
+          1.30683080e+00,  6.28411524e-01,  7.52380698e-02,
+         -1.90529446e-01, -2.80162557e-01, -2.82402974e-01,
+         -2.10106198e-01, -8.92725737e-02, -6.98790371e-03,
+         -1.66622752e-02, -7.35757396e-02, -1.22091719e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  4.23573391e-01,  1.25343039e+00,
+        [ 0.00000000e+00,  4.23573390e-01,  1.25343039e+00,
           1.99442778e+00,  2.01351965e+00,  1.35598286e+00,
-          5.72882881e-01,  1.32433989e-01,  9.56525108e-02,
-          2.24134414e-01,  3.34992918e-01,  4.51356265e-01,
-          7.05001813e-01,  1.16442481e+00,  1.61438945e+00,
-          1.61350442e+00,  1.05982339e+00,  3.69698461e-01,
-         -7.38383687e-02, -2.44423249e-01, -2.76909565e-01,
-         -2.38259926e-01, -1.41822655e-01, -5.66592365e-02,
-         -4.00409139e-02, -8.41211961e-02, -1.44058914e-01,
+          5.72882881e-01,  1.32433989e-01,  9.56525102e-02,
+          2.24134413e-01,  3.34992917e-01,  4.51356264e-01,
+          7.05001812e-01,  1.16442481e+00,  1.61438945e+00,
+          1.61350442e+00,  1.05982339e+00,  3.69698459e-01,
+         -7.38383700e-02, -2.44423251e-01, -2.76909567e-01,
+         -2.38259928e-01, -1.41822657e-01, -5.66592382e-02,
+         -4.00409156e-02, -8.41211979e-02, -1.44058915e-01,
           0.00000000e+00],
         [ 0.00000000e+00,  4.13108717e-01,  1.17483269e+00,
           1.89699378e+00,  2.04124426e+00,  1.51422878e+00,
-          7.13087383e-01,  1.52560225e-01,  3.93433372e-03,
-          3.57343111e-02,  4.94929389e-02,  9.10323188e-02,
-          2.89005020e-01,  7.52242776e-01,  1.38732139e+00,
-          1.76031033e+00,  1.51832969e+00,  8.45648416e-01,
-          2.14609893e-01, -1.06569424e-01, -1.91122067e-01,
-         -1.76199972e-01, -1.13903494e-01, -5.90445356e-02,
-         -5.80159627e-02, -1.06161086e-01, -1.57378689e-01,
+          7.13087382e-01,  1.52560224e-01,  3.93433306e-03,
+          3.57343104e-02,  4.94929381e-02,  9.10323179e-02,
+          2.89005019e-01,  7.52242775e-01,  1.38732139e+00,
+          1.76031033e+00,  1.51832969e+00,  8.45648415e-01,
+          2.14609892e-01, -1.06569426e-01, -1.91122068e-01,
+         -1.76199973e-01, -1.13903495e-01, -5.90445374e-02,
+         -5.80159645e-02, -1.06161087e-01, -1.57378691e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  3.33536407e-01,  9.36724762e-01,
+        [ 0.00000000e+00,  3.33536407e-01,  9.36724761e-01,
           1.60791408e+00,  1.98234589e+00,  1.83952562e+00,
-          1.31538256e+00,  7.84819739e-01,  4.77112706e-01,
-          2.83138540e-01,  9.37782332e-02,  3.92739129e-03,
-          1.01557037e-01,  4.53712119e-01,  1.07311558e+00,
+          1.31538256e+00,  7.84819738e-01,  4.77112706e-01,
+          2.83138540e-01,  9.37782323e-02,  3.92739031e-03,
+          1.01557036e-01,  4.53712118e-01,  1.07311558e+00,
           1.67505474e+00,  1.80822295e+00,  1.35878812e+00,
-          6.68928233e-01,  1.69727849e-01, -2.69931016e-02,
-         -4.63045546e-02, -1.47562768e-02, -7.65294512e-03,
-         -4.77542543e-02, -1.03188168e-01, -1.36133500e-01,
+          6.68928231e-01,  1.69727847e-01, -2.69931032e-02,
+         -4.63045563e-02, -1.47562786e-02, -7.65294698e-03,
+         -4.77542562e-02, -1.03188170e-01, -1.36133503e-01,
           0.00000000e+00],
         [ 0.00000000e+00,  2.29441492e-01,  5.81043352e-01,
           1.09755518e+00,  1.60638409e+00,  1.86179169e+00,
           1.79219347e+00,  1.53033781e+00,  1.22370147e+00,
-          8.68127514e-01,  4.71132823e-01,  1.80163130e-01,
-          1.04711838e-01,  2.89711106e-01,  7.71230386e-01,
-          1.40876664e+00,  1.83172230e+00,  1.75338619e+00,
-          1.23533823e+00,  6.26748188e-01,  2.21954362e-01,
-          7.10290547e-02,  4.84356460e-02,  2.31392605e-02,
-         -4.52838547e-02, -1.07537307e-01, -1.20680063e-01,
+          8.68127513e-01,  4.71132822e-01,  1.80163129e-01,
+          1.04711837e-01,  2.89711105e-01,  7.71230385e-01,
+          1.40876663e+00,  1.83172230e+00,  1.75338619e+00,
+          1.23533823e+00,  6.26748186e-01,  2.21954360e-01,
+          7.10290528e-02,  4.84356441e-02,  2.31392585e-02,
+         -4.52838568e-02, -1.07537309e-01, -1.20680065e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  8.63156034e-02,  2.04747310e-01,
-          5.07165936e-01,  9.45408610e-01,  1.36459254e+00,
+        [ 0.00000000e+00,  8.63156031e-02,  2.04747310e-01,
+          5.07165936e-01,  9.45408609e-01,  1.36459254e+00,
           1.63705955e+00,  1.72928520e+00,  1.67685051e+00,
-          1.46799324e+00,  1.10939069e+00,  7.32733602e-01,
-          5.08332045e-01,  5.26980897e-01,  8.07711644e-01,
-          1.28165859e+00,  1.75128323e+00,  1.95949583e+00,
-          1.75025404e+00,  1.21618656e+00,  6.28352146e-01,
-          2.32016869e-01,  6.81953202e-02,  1.46971358e-02,
-         -5.09834050e-02, -1.19736817e-01, -1.28897301e-01,
-          0.00000000e+00],
-        [ 0.00000000e+00, -5.86547739e-02, -6.41991555e-02,
-          7.20352094e-02,  3.32714555e-01,  6.57469035e-01,
-          9.76252394e-01,  1.25994941e+00,  1.50025094e+00,
+          1.46799324e+00,  1.10939069e+00,  7.32733601e-01,
+          5.08332044e-01,  5.26980896e-01,  8.07711643e-01,
+          1.28165858e+00,  1.75128322e+00,  1.95949583e+00,
+          1.75025404e+00,  1.21618656e+00,  6.28352144e-01,
+          2.32016867e-01,  6.81953182e-02,  1.46971337e-02,
+         -5.09834072e-02, -1.19736820e-01, -1.28897304e-01,
+          0.00000000e+00],
+        [ 0.00000000e+00, -5.86547743e-02, -6.41991560e-02,
+          7.20352088e-02,  3.32714554e-01,  6.57469034e-01,
+          9.76252393e-01,  1.25994941e+00,  1.50025094e+00,
           1.62160160e+00,  1.57029423e+00,  1.40628242e+00,
           1.27164436e+00,  1.25780362e+00,  1.37112831e+00,
           1.59241601e+00,  1.87624455e+00,  2.09975714e+00,
-          2.09917852e+00,  1.78799302e+00,  1.21751280e+00,
-          6.13910563e-01,  2.23742404e-01,  7.22445535e-02,
-         -9.27205381e-03, -9.12496161e-02, -1.21170599e-01,
-          0.00000000e+00],
-        [ 0.00000000e+00, -1.45760371e-01, -2.04976812e-01,
-         -1.63750599e-01, -3.45212508e-02,  1.30228962e-01,
-          3.05536979e-01,  5.50242378e-01,  8.80611717e-01,
+          2.09917851e+00,  1.78799302e+00,  1.21751280e+00,
+          6.13910561e-01,  2.23742402e-01,  7.22445513e-02,
+         -9.27205610e-03, -9.12496185e-02, -1.21170601e-01,
+          0.00000000e+00],
+        [ 0.00000000e+00, -1.45760372e-01, -2.04976812e-01,
+         -1.63750599e-01, -3.45212515e-02,  1.30228961e-01,
+          3.05536979e-01,  5.50242377e-01,  8.80611716e-01,
           1.20647865e+00,  1.45144153e+00,  1.60799339e+00,
-          1.72608071e+00,  1.82173251e+00,  1.89885436e+00,
+          1.72608071e+00,  1.82173250e+00,  1.89885436e+00,
           1.99939709e+00,  2.13943327e+00,  2.26690702e+00,
-          2.30910520e+00,  2.19322555e+00,  1.82549246e+00,
-          1.24262090e+00,  6.83235485e-01,  3.24437996e-01,
-          1.13125289e-01, -2.54276675e-02, -9.28042654e-02,
-          0.00000000e+00],
-        [ 0.00000000e+00, -1.75766427e-01, -2.73852620e-01,
-         -2.86029095e-01, -1.97792671e-01, -1.04728049e-01,
-         -6.38712444e-02,  3.13319561e-02,  2.54085302e-01,
-          5.57770148e-01,  8.71473199e-01,  1.16195002e+00,
-          1.42563900e+00,  1.61412004e+00,  1.72786758e+00,
+          2.30910519e+00,  2.19322554e+00,  1.82549246e+00,
+          1.24262090e+00,  6.83235483e-01,  3.24437994e-01,
+          1.13125286e-01, -2.54276700e-02, -9.28042680e-02,
+          0.00000000e+00],
+        [ 0.00000000e+00, -1.75766428e-01, -2.73852620e-01,
+         -2.86029095e-01, -1.97792672e-01, -1.04728050e-01,
+         -6.38712454e-02,  3.13319550e-02,  2.54085300e-01,
+          5.57770147e-01,  8.71473197e-01,  1.16195002e+00,
+          1.42563899e+00,  1.61412004e+00,  1.72786758e+00,
           1.86489378e+00,  2.07217026e+00,  2.27863607e+00,
-          2.39825872e+00,  2.40642156e+00,  2.26304746e+00,
-          1.90465890e+00,  1.37897468e+00,  8.34192879e-01,
-          3.91025720e-01,  1.03607770e-01, -3.94665319e-02,
-          0.00000000e+00],
-        [ 0.00000000e+00, -1.37650212e-01, -2.52219998e-01,
-         -2.89676207e-01, -2.07374645e-01, -1.36463319e-01,
-         -1.76109898e-01, -2.02383386e-01, -1.01843609e-01,
-          1.00464315e-01,  3.23244998e-01,  5.38348723e-01,
-          7.48765963e-01,  9.06299579e-01,  1.00938604e+00,
-          1.18183569e+00,  1.52211085e+00,  1.95053594e+00,
+          2.39825872e+00,  2.40642156e+00,  2.26304745e+00,
+          1.90465890e+00,  1.37897467e+00,  8.34192877e-01,
+          3.91025718e-01,  1.03607768e-01, -3.94665346e-02,
+          0.00000000e+00],
+        [ 0.00000000e+00, -1.37650213e-01, -2.52219999e-01,
+         -2.89676207e-01, -2.07374646e-01, -1.36463320e-01,
+         -1.76109899e-01, -2.02383387e-01, -1.01843610e-01,
+          1.00464313e-01,  3.23244997e-01,  5.38348721e-01,
+          7.48765961e-01,  9.06299577e-01,  1.00938604e+00,
+          1.18183569e+00,  1.52211085e+00,  1.95053593e+00,
           2.28320030e+00,  2.43867103e+00,  2.45716332e+00,
-          2.33539284e+00,  2.01458499e+00,  1.49642171e+00,
-          8.97262415e-01,  3.88013400e-01,  8.32043262e-02,
+          2.33539284e+00,  2.01458499e+00,  1.49642170e+00,
+          8.97262413e-01,  3.88013397e-01,  8.32043234e-02,
           0.00000000e+00],
-        [ 0.00000000e+00, -7.67326833e-02, -1.67691485e-01,
-         -2.02702121e-01, -1.28515325e-01, -8.53793161e-02,
-         -1.73209592e-01, -2.49430444e-01, -1.95994991e-01,
-         -5.82506323e-02,  6.35881618e-02,  1.55204158e-01,
-          2.54345198e-01,  3.37058144e-01,  3.81085225e-01,
-          4.97863667e-01,  8.34462782e-01,  1.36214199e+00,
+        [ 0.00000000e+00, -7.67326840e-02, -1.67691486e-01,
+         -2.02702122e-01, -1.28515326e-01, -8.53793172e-02,
+         -1.73209593e-01, -2.49430445e-01, -1.95994992e-01,
+         -5.82506337e-02,  6.35881603e-02,  1.55204157e-01,
+          2.54345196e-01,  3.37058142e-01,  3.81085224e-01,
+          4.97863665e-01,  8.34462780e-01,  1.36214199e+00,
           1.87957182e+00,  2.23156474e+00,  2.41396465e+00,
           2.45858862e+00,  2.34069162e+00,  1.99845708e+00,
-          1.42017661e+00,  7.49477001e-01,  2.47404233e-01,
+          1.42017661e+00,  7.49476999e-01,  2.47404230e-01,
           0.00000000e+00],
-        [ 0.00000000e+00, -4.21025066e-02, -1.03912768e-01,
-         -1.26994988e-01, -6.03373109e-02, -2.80044552e-02,
-         -1.13833514e-01, -1.87852383e-01, -1.48474004e-01,
-         -5.47805403e-02, -6.60571860e-03, -3.15393061e-03,
-          3.09366732e-02,  8.44777176e-02,  9.05572592e-02,
-          1.21245472e-01,  3.28698781e-01,  7.40146826e-01,
+        [ 0.00000000e+00, -4.21025074e-02, -1.03912769e-01,
+         -1.26994989e-01, -6.03373120e-02, -2.80044564e-02,
+         -1.13833516e-01, -1.87852384e-01, -1.48474006e-01,
+         -5.47805418e-02, -6.60572019e-03, -3.15393230e-03,
+          3.09366714e-02,  8.44777157e-02,  9.05572572e-02,
+          1.21245470e-01,  3.28698779e-01,  7.40146824e-01,
           1.24997397e+00,  1.73342495e+00,  2.10396523e+00,
           2.30623296e+00,  2.32333618e+00,  2.11830638e+00,
-          1.62255351e+00,  9.24312293e-01,  3.28621103e-01,
+          1.62255351e+00,  9.24312291e-01,  3.28621100e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  1.13162110e-02, -4.62082170e-02,
-         -6.35392269e-02, -4.68798992e-03,  3.44590597e-02,
-         -1.23510885e-02, -6.53194935e-02, -5.67379974e-02,
-         -3.32259600e-02, -5.22562239e-02, -9.02819677e-02,
-         -7.47373129e-02, -2.80971644e-02, -4.06360745e-02,
-         -6.12354719e-02,  2.95295890e-02,  2.54543169e-01,
-          6.01120494e-01,  1.04334275e+00,  1.49970787e+00,
-          1.82962928e+00,  1.94969670e+00,  1.81705354e+00,
-          1.39414851e+00,  7.93532162e-01,  2.77238032e-01,
-          0.00000000e+00],
-        [ 0.00000000e+00,  7.80318268e-02,  4.05288845e-02,
-          4.30325913e-02,  9.08582952e-02,  1.21384884e-01,
-          9.76747702e-02,  5.33842618e-02,  1.16754519e-02,
-         -5.15284756e-02, -1.21562090e-01, -1.50383698e-01,
-         -1.22888584e-01, -9.82265855e-02, -1.47279997e-01,
-         -1.98914130e-01, -1.62328085e-01, -5.95068864e-02,
-          1.11917102e-01,  3.87946961e-01,  7.44107034e-01,
-          1.05478817e+00,  1.20973674e+00,  1.15140581e+00,
-          8.82050274e-01,  5.11023089e-01,  1.86857633e-01,
-          0.00000000e+00],
-        [ 0.00000000e+00,  1.33237050e-01,  1.53547753e-01,
-          2.03711737e-01,  2.45294278e-01,  2.28238409e-01,
-          1.61101810e-01,  9.37358367e-02,  2.54320388e-02,
-         -8.40023877e-02, -1.91432262e-01, -2.15349002e-01,
-         -1.67706263e-01, -1.46138008e-01, -2.19836607e-01,
-         -2.98653158e-01, -2.80244310e-01, -2.07353188e-01,
-         -1.23127510e-01, -9.36809511e-04,  1.67679755e-01,
-          3.35378078e-01,  4.36864989e-01,  4.29772810e-01,
-          3.47135160e-01,  2.39921170e-01,  1.18464990e-01,
+        [ 0.00000000e+00,  1.13162102e-02, -4.62082180e-02,
+         -6.35392279e-02, -4.68799104e-03,  3.44590585e-02,
+         -1.23510898e-02, -6.53194949e-02, -5.67379989e-02,
+         -3.32259616e-02, -5.22562256e-02, -9.02819695e-02,
+         -7.47373148e-02, -2.80971664e-02, -4.06360766e-02,
+         -6.12354741e-02,  2.95295868e-02,  2.54543167e-01,
+          6.01120491e-01,  1.04334275e+00,  1.49970787e+00,
+          1.82962928e+00,  1.94969670e+00,  1.81705353e+00,
+          1.39414851e+00,  7.93532159e-01,  2.77238029e-01,
+          0.00000000e+00],
+        [ 0.00000000e+00,  7.80318259e-02,  4.05288835e-02,
+          4.30325902e-02,  9.08582940e-02,  1.21384883e-01,
+          9.76747688e-02,  5.33842603e-02,  1.16754503e-02,
+         -5.15284773e-02, -1.21562092e-01, -1.50383700e-01,
+         -1.22888586e-01, -9.82265875e-02, -1.47279999e-01,
+         -1.98914132e-01, -1.62328087e-01, -5.95068888e-02,
+          1.11917100e-01,  3.87946959e-01,  7.44107031e-01,
+          1.05478817e+00,  1.20973673e+00,  1.15140580e+00,
+          8.82050271e-01,  5.11023085e-01,  1.86857629e-01,
+          0.00000000e+00],
+        [ 0.00000000e+00,  1.33237049e-01,  1.53547752e-01,
+          2.03711736e-01,  2.45294276e-01,  2.28238407e-01,
+          1.61101809e-01,  9.37358351e-02,  2.54320371e-02,
+         -8.40023894e-02, -1.91432264e-01, -2.15349004e-01,
+         -1.67706265e-01, -1.46138010e-01, -2.19836609e-01,
+         -2.98653160e-01, -2.80244313e-01, -2.07353190e-01,
+         -1.23127512e-01, -9.36812253e-04,  1.67679752e-01,
+          3.35378075e-01,  4.36864986e-01,  4.29772807e-01,
+          3.47135157e-01,  2.39921166e-01,  1.18464986e-01,
           0.00000000e+00],
         [ 0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
@@ -955,197 +955,197 @@
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00],
-        [ 0.00000000e+00, -7.50836857e-02, -5.93735732e-02,
-         -1.12717803e-01, -1.72709301e-01, -1.28303810e-01,
-          2.00624982e-02,  1.77433913e-01,  3.10043216e-01,
-          4.13932713e-01,  4.88537516e-01,  5.48751146e-01,
-          5.94065483e-01,  6.19743238e-01,  5.73580132e-01,
-          4.62355625e-01,  3.37415110e-01,  1.86856006e-01,
-          6.74447395e-02,  2.54833062e-02,  6.63064574e-03,
-          0.00000000e+00],
-        [ 0.00000000e+00, -4.80353284e-02, -5.36856009e-02,
-         -7.11662090e-02, -1.28557502e-02,  2.01590759e-01,
-          5.17678132e-01,  8.13376753e-01,  1.02025249e+00,
+        [ 0.00000000e+00, -7.50836842e-02, -5.93735717e-02,
+         -1.12717801e-01, -1.72709299e-01, -1.28303809e-01,
+          2.00624994e-02,  1.77433914e-01,  3.10043217e-01,
+          4.13932714e-01,  4.88537517e-01,  5.48751147e-01,
+          5.94065484e-01,  6.19743238e-01,  5.73580132e-01,
+          4.62355626e-01,  3.37415111e-01,  1.86856006e-01,
+          6.74447400e-02,  2.54833066e-02,  6.63064610e-03,
+          0.00000000e+00],
+        [ 0.00000000e+00, -4.80353269e-02, -5.36855994e-02,
+         -7.11662076e-02, -1.28557489e-02,  2.01590760e-01,
+          5.17678133e-01,  8.13376754e-01,  1.02025249e+00,
           1.15056730e+00,  1.26298663e+00,  1.38055032e+00,
           1.45464654e+00,  1.45932717e+00,  1.38377257e+00,
-          1.23015596e+00,  9.89451503e-01,  6.45350320e-01,
-          3.26175593e-01,  1.32959570e-01,  1.86383321e-02,
+          1.23015596e+00,  9.89451503e-01,  6.45350321e-01,
+          3.26175594e-01,  1.32959570e-01,  1.86383324e-02,
           0.00000000e+00],
-        [ 0.00000000e+00, -3.35940110e-02, -6.71355854e-02,
-          2.23936830e-02,  3.24883599e-01,  8.08923287e-01,
+        [ 0.00000000e+00, -3.35940096e-02, -6.71355840e-02,
+          2.23936843e-02,  3.24883600e-01,  8.08923288e-01,
           1.29016961e+00,  1.61555374e+00,  1.75715250e+00,
           1.78872813e+00,  1.80360574e+00,  1.83627847e+00,
           1.86412419e+00,  1.87764160e+00,  1.88300967e+00,
-          1.84713984e+00,  1.68470703e+00,  1.30582501e+00,
-          7.95354060e-01,  3.27441284e-01,  4.80918130e-03,
+          1.84713984e+00,  1.68470703e+00,  1.30582502e+00,
+          7.95354061e-01,  3.27441284e-01,  4.80918154e-03,
           0.00000000e+00],
-        [ 0.00000000e+00, -5.34024543e-02,  1.41991768e-02,
-          3.49219236e-01,  9.09733626e-01,  1.49814045e+00,
+        [ 0.00000000e+00, -5.34024528e-02,  1.41991782e-02,
+          3.49219237e-01,  9.09733627e-01,  1.49814045e+00,
           1.87270884e+00,  1.96294396e+00,  1.86430388e+00,
           1.70350966e+00,  1.55930215e+00,  1.45908186e+00,
           1.41771544e+00,  1.45952357e+00,  1.59390144e+00,
           1.77634164e+00,  1.91423073e+00,  1.79700177e+00,
-          1.30804889e+00,  6.27809749e-01,  7.80675921e-02,
+          1.30804890e+00,  6.27809750e-01,  7.80675923e-02,
           0.00000000e+00],
-        [ 0.00000000e+00,  3.22470308e-02,  3.80441514e-01,
-          9.83022625e-01,  1.56077256e+00,  1.89442425e+00,
+        [ 0.00000000e+00,  3.22470322e-02,  3.80441515e-01,
+          9.83022627e-01,  1.56077257e+00,  1.89442425e+00,
           1.90154033e+00,  1.66134875e+00,  1.34643634e+00,
-          1.07237370e+00,  8.62342954e-01,  7.10675863e-01,
-          6.32158316e-01,  6.78360350e-01,  8.69744406e-01,
+          1.07237370e+00,  8.62342955e-01,  7.10675864e-01,
+          6.32158317e-01,  6.78360351e-01,  8.69744407e-01,
           1.19687563e+00,  1.65502634e+00,  1.94845930e+00,
           1.69333644e+00,  9.72213287e-01,  2.49661488e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  2.80910244e-01,  9.19642949e-01,
+        [ 0.00000000e+00,  2.80910245e-01,  9.19642951e-01,
           1.58485856e+00,  1.88224986e+00,  1.77888974e+00,
           1.42810235e+00,  1.00903661e+00,  6.72202913e-01,
-          4.47277716e-01,  2.81411937e-01,  1.56445565e-01,
-          9.07334244e-02,  1.28812890e-01,  2.91757065e-01,
+          4.47277716e-01,  2.81411937e-01,  1.56445566e-01,
+          9.07334250e-02,  1.28812891e-01,  2.91757065e-01,
           6.36568068e-01,  1.27977154e+00,  1.89855504e+00,
           1.89420337e+00,  1.22071232e+00,  3.95698047e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  5.53377136e-01,  1.32725424e+00,
+        [ 0.00000000e+00,  5.53377138e-01,  1.32725424e+00,
           1.84986369e+00,  1.77531611e+00,  1.29891139e+00,
-          7.56211146e-01,  3.61269488e-01,  1.62932848e-01,
-          6.01556553e-02, -3.52684162e-02, -1.02810161e-01,
-         -1.18407543e-01, -6.46144624e-02,  9.11136731e-02,
-          4.61190129e-01,  1.17533144e+00,  1.87570493e+00,
+          7.56211147e-01,  3.61269489e-01,  1.62932849e-01,
+          6.01556561e-02, -3.52684155e-02, -1.02810160e-01,
+         -1.18407543e-01, -6.46144619e-02,  9.11136735e-02,
+          4.61190130e-01,  1.17533144e+00,  1.87570493e+00,
           1.93274492e+00,  1.28327317e+00,  4.51927285e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  6.92653945e-01,  1.47030496e+00,
-          1.84320396e+00,  1.51569325e+00,  8.29122436e-01,
-          2.45995887e-01, -4.28717758e-02, -1.03762688e-01,
-         -1.16408967e-01, -1.56341971e-01, -1.71482138e-01,
-         -1.28529496e-01,  8.61256697e-03,  2.94405727e-01,
+        [ 0.00000000e+00,  6.92653946e-01,  1.47030496e+00,
+          1.84320396e+00,  1.51569325e+00,  8.29122437e-01,
+          2.45995888e-01, -4.28717749e-02, -1.03762687e-01,
+         -1.16408966e-01, -1.56341970e-01, -1.71482137e-01,
+         -1.28529496e-01,  8.61256744e-03,  2.94405728e-01,
           7.86774265e-01,  1.46373152e+00,  1.95103560e+00,
           1.82761849e+00,  1.16064551e+00,  4.35182083e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  6.91555039e-01,  1.42516383e+00,
-          1.78485605e+00,  1.42919638e+00,  6.99338794e-01,
-          1.18324379e-01, -1.38872229e-01, -1.70291160e-01,
-         -1.45241551e-01, -1.40287088e-01, -1.25549451e-01,
-         -1.58393901e-02,  3.10075289e-01,  8.46916071e-01,
+        [ 0.00000000e+00,  6.91555040e-01,  1.42516383e+00,
+          1.78485605e+00,  1.42919638e+00,  6.99338795e-01,
+          1.18324380e-01, -1.38872229e-01, -1.70291160e-01,
+         -1.45241550e-01, -1.40287087e-01, -1.25549451e-01,
+         -1.58393896e-02,  3.10075289e-01,  8.46916071e-01,
           1.41705100e+00,  1.85239881e+00,  1.93379911e+00,
           1.54401960e+00,  8.81350235e-01,  3.35218614e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  6.45766652e-01,  1.32289662e+00,
+        [ 0.00000000e+00,  6.45766654e-01,  1.32289662e+00,
           1.79874528e+00,  1.65172753e+00,  1.03281592e+00,
-          4.09512411e-01,  2.70193537e-02, -1.14246731e-01,
-         -1.19927899e-01, -9.27581971e-02, -4.58935056e-02,
-          1.71681672e-01,  7.34556937e-01,  1.45739915e+00,
+          4.09512412e-01,  2.70193545e-02, -1.14246731e-01,
+         -1.19927898e-01, -9.27581965e-02, -4.58935051e-02,
+          1.71681673e-01,  7.34556937e-01,  1.45739915e+00,
           1.90510724e+00,  1.94740712e+00,  1.64457187e+00,
           1.09615335e+00,  5.28844872e-01,  1.84127181e-01,
           0.00000000e+00],
-        [ 0.00000000e+00,  5.25655696e-01,  1.11733739e+00,
-          1.74416433e+00,  1.96504677e+00,  1.62455355e+00,
-          9.85387239e-01,  3.84594087e-01,  2.13806525e-02,
-         -9.86502166e-02, -9.69604152e-02, -6.45991153e-03,
+        [ 0.00000000e+00,  5.25655697e-01,  1.11733739e+00,
+          1.74416434e+00,  1.96504677e+00,  1.62455355e+00,
+          9.85387240e-01,  3.84594087e-01,  2.13806532e-02,
+         -9.86502160e-02, -9.69604146e-02, -6.45991104e-03,
           3.56741754e-01,  1.08732156e+00,  1.77754612e+00,
           1.93740120e+00,  1.62578570e+00,  1.12313906e+00,
-          6.05176169e-01,  2.22547769e-01,  5.56194465e-02,
+          6.05176169e-01,  2.22547768e-01,  5.56194462e-02,
           0.00000000e+00],
-        [ 0.00000000e+00,  2.70696182e-01,  7.37551280e-01,
+        [ 0.00000000e+00,  2.70696183e-01,  7.37551281e-01,
           1.43439138e+00,  2.00295693e+00,  2.06369674e+00,
-          1.58798283e+00,  8.59012067e-01,  2.42453630e-01,
-         -6.71344138e-02, -1.40186328e-01, -7.98222848e-03,
+          1.58798283e+00,  8.59012068e-01,  2.42453630e-01,
+         -6.71344132e-02, -1.40186327e-01, -7.98222803e-03,
           5.02503470e-01,  1.30000270e+00,  1.78476802e+00,
           1.60485512e+00,  1.06241686e+00,  5.60324015e-01,
-          2.22384608e-01,  4.50988023e-02, -2.17006061e-03,
+          2.22384608e-01,  4.50988021e-02, -2.17006092e-03,
           0.00000000e+00],
-        [ 0.00000000e+00, -6.36152164e-03,  3.27744528e-01,
-          9.43929919e-01,  1.66789520e+00,  2.10659469e+00,
-          1.97940714e+00,  1.35059463e+00,  5.81904716e-01,
-          6.01524866e-02, -1.23614548e-01,  2.84419804e-02,
+        [ 0.00000000e+00, -6.36152036e-03,  3.27744529e-01,
+          9.43929920e-01,  1.66789520e+00,  2.10659470e+00,
+          1.97940714e+00,  1.35059463e+00,  5.81904717e-01,
+          6.01524872e-02, -1.23614547e-01,  2.84419808e-02,
           6.39096522e-01,  1.43373013e+00,  1.69280702e+00,
           1.24603602e+00,  5.92991953e-01,  1.65229573e-01,
-         -1.30021879e-02, -5.79758062e-02, -3.67856924e-02,
+         -1.30021881e-02, -5.79758065e-02, -3.67856928e-02,
           0.00000000e+00],
-        [ 0.00000000e+00, -1.70236595e-01,  2.52385259e-02,
-          4.30298333e-01,  1.08656331e+00,  1.75425287e+00,
-          2.03389121e+00,  1.73353327e+00,  1.03160277e+00,
-          3.62453199e-01,  3.16785254e-02,  1.47766482e-01,
-          7.85775862e-01,  1.54773342e+00,  1.65380132e+00,
-          1.06472160e+00,  3.93160459e-01,  2.30529192e-02,
-         -1.06487437e-01, -1.33214487e-01, -1.04624312e-01,
-          0.00000000e+00],
-        [ 0.00000000e+00, -1.98237907e-01, -1.39545411e-01,
-          2.90467958e-02,  4.82258852e-01,  1.17206588e+00,
-          1.76070303e+00,  1.89518884e+00,  1.45947081e+00,
+        [ 0.00000000e+00, -1.70236594e-01,  2.52385271e-02,
+          4.30298334e-01,  1.08656331e+00,  1.75425287e+00,
+          2.03389122e+00,  1.73353327e+00,  1.03160277e+00,
+          3.62453199e-01,  3.16785258e-02,  1.47766482e-01,
+          7.85775863e-01,  1.54773342e+00,  1.65380132e+00,
+          1.06472160e+00,  3.93160458e-01,  2.30529190e-02,
+         -1.06487437e-01, -1.33214488e-01, -1.04624313e-01,
+          0.00000000e+00],
+        [ 0.00000000e+00, -1.98237906e-01, -1.39545410e-01,
+          2.90467969e-02,  4.82258853e-01,  1.17206588e+00,
+          1.76070303e+00,  1.89518884e+00,  1.45947082e+00,
           7.50067661e-01,  2.48392043e-01,  2.77128475e-01,
           9.06411168e-01,  1.63473242e+00,  1.64440606e+00,
-          9.79093363e-01,  3.21897295e-01,  1.28004612e-02,
-         -8.88733786e-02, -1.41452813e-01, -1.52235245e-01,
+          9.79093363e-01,  3.21897295e-01,  1.28004610e-02,
+         -8.88733789e-02, -1.41452813e-01, -1.52235246e-01,
           0.00000000e+00],
-        [ 0.00000000e+00, -1.33590453e-01, -1.45488205e-01,
-         -1.26998970e-01,  1.02921441e-01,  6.46520592e-01,
+        [ 0.00000000e+00, -1.33590452e-01, -1.45488204e-01,
+         -1.26998969e-01,  1.02921442e-01,  6.46520593e-01,
           1.36538634e+00,  1.86854079e+00,  1.73981344e+00,
           1.06897927e+00,  4.39091415e-01,  4.01065348e-01,
           1.03126564e+00,  1.70380283e+00,  1.61438864e+00,
-          8.88958916e-01,  2.40338213e-01, -1.23696337e-02,
-         -6.86374316e-02, -1.20213476e-01, -1.38479915e-01,
+          8.88958916e-01,  2.40338213e-01, -1.23696340e-02,
+         -6.86374319e-02, -1.20213476e-01, -1.38479915e-01,
           0.00000000e+00],
-        [ 0.00000000e+00, -8.85161126e-02, -7.63900577e-02,
-         -8.47200795e-02, -9.99416199e-03,  3.42765535e-01,
+        [ 0.00000000e+00, -8.85161114e-02, -7.63900566e-02,
+         -8.47200785e-02, -9.99416107e-03,  3.42765536e-01,
           1.05364998e+00,  1.76095487e+00,  1.84562101e+00,
           1.25067458e+00,  6.05934971e-01,  5.96587210e-01,
           1.24264079e+00,  1.78611532e+00,  1.54764230e+00,
-          7.81562424e-01,  1.71204630e-01, -3.72211101e-02,
-         -8.06269149e-02, -1.33153219e-01, -1.28186767e-01,
+          7.81562424e-01,  1.71204630e-01, -3.72211104e-02,
+         -8.06269153e-02, -1.33153219e-01, -1.28186768e-01,
           0.00000000e+00],
-        [ 0.00000000e+00, -8.74944541e-02, -2.84382314e-02,
-         -8.78881209e-03, -8.18305469e-03,  2.02301785e-01,
-          8.51211452e-01,  1.64180424e+00,  1.86118713e+00,
-          1.38162551e+00,  8.44376873e-01,  9.35928336e-01,
+        [ 0.00000000e+00, -8.74944529e-02, -2.84382303e-02,
+         -8.78881110e-03, -8.18305380e-03,  2.02301786e-01,
+          8.51211453e-01,  1.64180424e+00,  1.86118713e+00,
+          1.38162551e+00,  8.44376873e-01,  9.35928337e-01,
           1.54964049e+00,  1.86885110e+00,  1.44319044e+00,
-          6.60757150e-01,  1.20146149e-01, -4.46894310e-02,
-         -8.92767386e-02, -1.44017956e-01, -1.27828740e-01,
+          6.60757150e-01,  1.20146149e-01, -4.46894314e-02,
+         -8.92767391e-02, -1.44017957e-01, -1.27828741e-01,
           0.00000000e+00],
-        [ 0.00000000e+00, -5.47381045e-02,  1.04882396e-02,
-          2.89165367e-02, -4.70446595e-04,  1.55952180e-01,
+        [ 0.00000000e+00, -5.47381034e-02,  1.04882406e-02,
+          2.89165377e-02, -4.70445733e-04,  1.55952181e-01,
           7.57836129e-01,  1.56615003e+00,  1.88591766e+00,
           1.58827738e+00,  1.25886535e+00,  1.42250643e+00,
           1.85539688e+00,  1.87151263e+00,  1.27707928e+00,
-          5.13373889e-01,  5.02560904e-02, -7.44494309e-02,
-         -9.76597072e-02, -1.19879645e-01, -9.30690199e-02,
+          5.13373889e-01,  5.02560901e-02, -7.44494314e-02,
+         -9.76597077e-02, -1.19879646e-01, -9.30690207e-02,
           0.00000000e+00],
-        [ 0.00000000e+00, -7.80817852e-03,  3.77312863e-02,
-          3.52773218e-02,  2.83284306e-03,  1.63017793e-01,
+        [ 0.00000000e+00, -7.80817738e-03,  3.77312873e-02,
+          3.52773227e-02,  2.83284390e-03,  1.63017794e-01,
           7.31250266e-01,  1.50966623e+00,  1.92376188e+00,
           1.86799618e+00,  1.76384573e+00,  1.88039066e+00,
           1.98451993e+00,  1.68854557e+00,  1.00403247e+00,
-          3.25797649e-01, -2.87810588e-02, -1.02892358e-01,
-         -1.04322403e-01, -1.05066077e-01, -7.58375196e-02,
+          3.25797649e-01, -2.87810592e-02, -1.02892358e-01,
+         -1.04322403e-01, -1.05066078e-01, -7.58375204e-02,
           0.00000000e+00],
-        [ 0.00000000e+00, -2.83796004e-03,  2.58456383e-02,
-          3.11859284e-02,  2.33218895e-02,  1.73835512e-01,
-          6.67586567e-01,  1.38624489e+00,  1.90367498e+00,
+        [ 0.00000000e+00, -2.83795892e-03,  2.58456393e-02,
+          3.11859293e-02,  2.33218903e-02,  1.73835512e-01,
+          6.67586567e-01,  1.38624490e+00,  1.90367498e+00,
           2.06520446e+00,  2.06200050e+00,  1.99709598e+00,
           1.76215179e+00,  1.26593058e+00,  6.25935918e-01,
-          1.17662736e-01, -9.24042020e-02, -9.87206461e-02,
-         -7.84207396e-02, -8.07289270e-02, -7.10750802e-02,
+          1.17662735e-01, -9.24042024e-02, -9.87206466e-02,
+         -7.84207402e-02, -8.07289277e-02, -7.10750811e-02,
           0.00000000e+00],
-        [ 0.00000000e+00, -3.82392225e-02, -2.60542641e-02,
-          4.04423295e-03,  2.77827435e-02,  1.39746677e-01,
-          5.13103179e-01,  1.13887355e+00,  1.71391520e+00,
+        [ 0.00000000e+00, -3.82392213e-02, -2.60542631e-02,
+          4.04423384e-03,  2.77827443e-02,  1.39746678e-01,
+          5.13103180e-01,  1.13887355e+00,  1.71391520e+00,
           1.98595349e+00,  1.94862366e+00,  1.66805285e+00,
-          1.22118917e+00,  7.17346354e-01,  2.64221858e-01,
-         -3.20590032e-02, -1.30305902e-01, -1.09796266e-01,
-         -6.73663984e-02, -4.04265734e-02, -2.89319079e-02,
-          0.00000000e+00],
-        [ 0.00000000e+00, -8.71011868e-02, -7.88590314e-02,
-         -2.75688031e-02,  1.61244687e-02,  8.10423190e-02,
-          3.06723367e-01,  7.56310631e-01,  1.24294320e+00,
+          1.22118917e+00,  7.17346354e-01,  2.64221857e-01,
+         -3.20590036e-02, -1.30305903e-01, -1.09796266e-01,
+         -6.73663991e-02, -4.04265742e-02, -2.89319088e-02,
+          0.00000000e+00],
+        [ 0.00000000e+00, -8.71011857e-02, -7.88590304e-02,
+         -2.75688023e-02,  1.61244694e-02,  8.10423196e-02,
+          3.06723368e-01,  7.56310631e-01,  1.24294320e+00,
           1.49889486e+00,  1.42024308e+00,  1.06816551e+00,
-          6.33488219e-01,  2.88081697e-01,  6.36781564e-02,
-         -6.23608394e-02, -1.22743727e-01, -1.43507913e-01,
-         -1.07950408e-01, -3.91213313e-02,  3.56137573e-03,
-          0.00000000e+00],
-        [ 0.00000000e+00, -1.01137836e-01, -8.10193182e-02,
-         -3.01773366e-02,  1.61743958e-02,  4.64177976e-02,
-          1.24749404e-01,  3.25637763e-01,  5.89745068e-01,
-          7.48610758e-01,  6.98741975e-01,  4.71073001e-01,
-          2.29066817e-01,  8.00151012e-02,  3.96225137e-03,
-         -3.93633371e-02, -9.28136370e-02, -1.46980942e-01,
-         -1.35839117e-01, -7.17113700e-02, -2.49617585e-02,
+          6.33488219e-01,  2.88081697e-01,  6.36781561e-02,
+         -6.23608399e-02, -1.22743727e-01, -1.43507914e-01,
+         -1.07950409e-01, -3.91213322e-02,  3.56137474e-03,
+          0.00000000e+00],
+        [ 0.00000000e+00, -1.01137835e-01, -8.10193172e-02,
+         -3.01773358e-02,  1.61743965e-02,  4.64177982e-02,
+          1.24749404e-01,  3.25637764e-01,  5.89745068e-01,
+          7.48610758e-01,  6.98741976e-01,  4.71073001e-01,
+          2.29066817e-01,  8.00151009e-02,  3.96225099e-03,
+         -3.93633376e-02, -9.28136376e-02, -1.46980943e-01,
+         -1.35839118e-01, -7.17113709e-02, -2.49617596e-02,
           0.00000000e+00],
         [ 0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
           0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
@@ -1357,28 +1357,28 @@
         1.70554438, 1.59198594, 1.35754259, 1.01935129, 0.77867273,
         0.7977643 , 1.10508701, 1.53874369, 1.83778951, 1.63307159,
         0.95431994]), '1': array([0.92839707, 1.85075817, 2.03634558, 1.4346181 , 0.58507458,
-        0.14468474, 0.06565325, 0.1970849 , 0.15940512, 0.12652617,
-        0.19245536, 0.46508443, 0.95468991, 1.52486005, 1.95634547,
-        2.23783748, 2.34011512, 2.37861338, 2.33900584, 2.29793772,
-        2.15637048, 1.97662946, 1.51696557, 0.92431229]), '2': array([0.9894515 , 1.7465862 , 1.80917238, 1.15014259, 0.45595278,
+        0.14468474, 0.06565325, 0.19708489, 0.15940512, 0.12652616,
+        0.19245536, 0.46508443, 0.9546899 , 1.52486005, 1.95634547,
+        2.23783747, 2.34011511, 2.37861338, 2.33900584, 2.29793771,
+        2.15637048, 1.97662945, 1.51696556, 0.92431229]), '2': array([0.9894515 , 1.7465862 , 1.80917238, 1.15014259, 0.45595278,
         0.12635905, 0.21275054, 0.48902222, 0.70775335, 0.77421593,
         0.65440809, 0.52278137, 0.42119907, 0.30709432, 0.4137407 ,
         0.60326418, 0.89554341, 1.41572822, 1.85311755, 2.02674506,
-        1.81754884, 1.2429432 ])}, 'below': {'0': array([-0.21572546, -0.25258455, -0.21911664, -0.18309828, -0.18466141,
+        1.81754884, 1.2429432 ])}, 'below': {'0': array([-0.21572545, -0.25258455, -0.21911664, -0.18309828, -0.18466141,
         -0.23050299, -0.29252678, -0.35705805, -0.37367989, -0.30875046,
         -0.21809496])}}, 'image': array([[ 2.30587304e+00,  2.22820208e+00,  2.17101488e+00, ...,
-         -1.44874003e-01, -4.85424948e-02,  2.11094594e-02],
+         -1.44874001e-01, -4.85424927e-02,  2.11094615e-02],
         [ 1.84576486e+00,  1.82131392e+00,  1.78865567e+00, ...,
-         -1.51982269e-01, -9.06678221e-02, -3.68359971e-02],
+         -1.51982267e-01, -9.06678200e-02, -3.68359950e-02],
         [ 1.04373097e+00,  1.04874216e+00,  1.03746428e+00, ...,
-         -6.42444460e-02, -5.08439504e-02, -4.46219067e-02],
+         -6.42444441e-02, -5.08439485e-02, -4.46219048e-02],
         ...,
-        [-1.54230374e-01, -7.91205777e-02,  6.46897029e-02, ...,
-         -1.13191342e-02, -1.17239093e-01, -1.60636260e-01],
-        [-8.46628978e-02, -6.79694538e-03,  1.07586505e-01, ...,
-          6.40435880e-02, -2.66209213e-02, -9.61599239e-02],
-        [ 1.23794419e-02,  8.39069358e-02,  1.76514538e-01, ...,
-          1.88795096e-01,  1.18479183e-01, -5.13186118e-04]]), 'image_original': array([[30.40804193, 30.10847277, 30.1474543 , ..., 28.57003942,
+        [-1.54230372e-01, -7.91205756e-02,  6.46897048e-02, ...,
+         -1.13191400e-02, -1.17239099e-01, -1.60636266e-01],
+        [-8.46628956e-02, -6.79694333e-03,  1.07586507e-01, ...,
+          6.40435821e-02, -2.66209274e-02, -9.61599300e-02],
+        [ 1.23794440e-02,  8.39069378e-02,  1.76514540e-01, ...,
+          1.88795090e-01,  1.18479177e-01, -5.13192333e-04]]), 'image_original': array([[30.40804193, 30.10847277, 30.1474543 , ..., 28.57003942,
          28.77297369, 28.83063995],
         [30.08238831, 30.15948348, 30.20961369, ..., 28.33218562,
          28.54955938, 28.68857513],
...
@@ -2278,12 +2278,12 @@
         11.65685425, 12.65685425, 13.65685425, 15.07106781, 16.48528137,
         17.48528137, 18.48528137, 19.89949494, 21.3137085 , 22.3137085 ,
         23.3137085 , 24.3137085 , 25.3137085 , 26.72792206, 27.72792206,
-        28.72792206, 29.72792206, 30.72792206, 31.72792206]), 'heights': array([2.29903142, 1.6016473 , 1.73206838, 1.75136458, 1.71649029,
+        28.72792206, 29.72792206, 30.72792206, 31.72792206]), 'heights': array([2.29903143, 1.6016473 , 1.73206838, 1.75136458, 1.71649029,
         1.85136548, 1.86721884, 1.88293033, 1.93735923, 2.0025395 ,
         1.8319649 , 1.87016612, 1.78866273, 1.67999822, 1.78648258,
         1.83423038, 1.84312821, 1.76720409, 1.59851017, 1.64665591,
         1.66511033, 1.65997542, 1.62210054, 1.709644  , 1.70554438,
-        1.69265854, 1.72216606, 1.84124808, 2.09435212]), 'mol_stats': {'circular': False, 'processing': 'nodestats', 'topology': 'linear'}, 'ordered_coords': array([[ 7, 12],
+        1.69265855, 1.72216606, 1.84124808, 2.09435212]), 'mol_stats': {'circular': False, 'processing': 'nodestats', 'topology': 'linear'}, 'ordered_coords': array([[ 7, 12],
         [ 6, 13],
         [ 5, 13],
         [ 4, 14],
@@ -2326,9 +2326,9 @@
         22.48528137, 23.48528137, 24.89949494, 25.89949494, 27.3137085 ,
         28.3137085 , 29.72792206, 31.14213562, 32.55634919, 33.55634919,
         34.55634919, 35.55634919, 36.97056275]), 'heights': array([1.91250434, 1.84012796, 1.78299357, 1.73575328, 1.70524522,
-        1.69788797, 1.78219443, 1.80395973, 1.73837011, 1.68375881,
-        1.61350442, 1.76031033, 1.80822295, 1.8317223 , 1.75128323,
-        2.09975714, 2.13943327, 1.99939709, 1.89885436, 1.82173251,
+        1.69788797, 1.78219443, 1.80395973, 1.73837011, 1.6837588 ,
+        1.61350442, 1.76031033, 1.80822295, 1.8317223 , 1.75128322,
+        2.09975714, 2.13943327, 1.99939709, 1.89885436, 1.8217325 ,
         1.72608071, 1.60799339, 1.57029423, 1.6216016 , 1.67685051,
         1.7292852 , 1.79219347, 1.83952562, 2.04124426, 2.01351965,
         2.03738313, 2.05372565, 1.91250434]), 'mol_stats': {'circular': True, 'processing': 'topostats', 'topology': '0_1'}, 'ordered_coords': array([[ 3,  5],
@@ -2378,7 +2378,7 @@
         1.78476802, 1.69280702, 1.65380132, 1.64440606, 1.61438864,
         1.78611532, 1.8688511 , 1.87151263, 1.98451993, 1.99709598,
         2.0620005 , 2.06520446, 1.92376188, 1.88591766, 1.86118713,
-        1.84562101, 1.86854079, 1.89518884, 2.03389121, 1.97940714,
+        1.84562101, 1.86854079, 1.89518884, 2.03389122, 1.97940714,
         2.06369674, 1.96504677, 1.79874528, 1.78485605, 1.84320396,
         1.77531611, 1.77888974, 1.90154033, 1.96294396, 1.86430388,
         1.78872813]), 'mol_stats': {'circular': True, 'processing': 'topostats', 'topology': '0_1'}, 'ordered_coords': array([[ 3,  9],

Will try reducing the tolerance on the test to see if the tests pass.

Found the CI tests were failing due to small differences, but larger than the default (`1e-9`) tolerance to
`dict_almost_equal()` reducing to `1e-6`.
@ns-rse ns-rse force-pushed the ns-rse/1067-load-topostats branch from 92c9844 to 059ed39 Compare January 6, 2025 15:07
@ns-rse
Copy link
Collaborator Author

ns-rse commented Jan 6, 2025

Yep, reducing the tolerance to 1e-6 and the tests have passed.

General question arises though...is this amount of variation acceptable?

@ns-rse
Copy link
Collaborator Author

ns-rse commented Jan 7, 2025

Same issue with minor changes in precision under Python 3.10 and 3.11 and the need to reduce tolerance has cropped up in #1069 which auto-updates the pre-commit hooks.

ns-rse added a commit that referenced this pull request Jan 7, 2025
Merging despite failing tests the root cause of which has been identified and addressed in #1068.
@SylviaWhittle
Copy link
Collaborator

Yep, reducing the tolerance to 1e-6 and the tests have passed.

General question arises though...is this amount of variation acceptable?

This is interesting.. I've been finding my code in the grains refactor changes results slightly, I thought it was me doing something wrong but perhaps these are linked? Perhaps it's a version issue in numpy or scikit or something..? Something to be aware of.

IMO since there is absolutely no reason why this PR should change the results, and the differences are small, I say we allow it this time and consider it more deeply if it keeps happening..?

Copy link
Collaborator

@SylviaWhittle SylviaWhittle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for looking into the issue, this now works and tests pass, so it's good to go IMO.

The small differences in values I don't think is an issue for this PR.

@ns-rse ns-rse added this pull request to the merge queue Jan 7, 2025
Merged via the queue into main with commit 980b1c2 Jan 7, 2025
11 checks passed
@ns-rse ns-rse deleted the ns-rse/1067-load-topostats branch January 7, 2025 12:24
@ns-rse
Copy link
Collaborator Author

ns-rse commented Jan 7, 2025

Yes, numerical differences are small and must be from changes upstream.

SciPy was updated to 1.15.0 2025-01-03 and doesn't include wheels for Python 3.9 where the tests passed as these small changes weren't observed so I think its a strong candidate as checking the installed versions in the last run of tests under Python 3.9 scipy-1.13.1 is installed whilst under Python 3.10 and 3.11 scipy-1.15.0 is installed. There may be other packages responsible as scikit-image also differs between the two (Python 3.9 installs scikit-image-0.24.0 whilst 3.10/3.11 install the newer scikit-image-0.25.0). But then any changes caused by scikit-image are likely traceable back to scipy.

The 1.15.0 Release Notes are loooooong, but after a very quick skim nothing jumped out (there are various portings/re-writing of things to C/Cython which may be the culprit).

ns-rse added a commit that referenced this pull request Jan 15, 2025
Closes #741

Adds the "swiss-army knife" component to run just filtering on files.

This involved modifying how the `.topostats` files are loaded and extracted because of the nesting (see #1068).

Tests currently fail because the `tests/resources/test_image/minicircle_small.topostats` is version `0.1` and doesn't
therefore work with the refactored structure (surprised #1068 passed all tests actualy!).

A separate commit will be made for updating this test file and the associated tweaking of tests.
ns-rse added a commit that referenced this pull request Jan 15, 2025
Closes #741

Adds the "swiss-army knife" component to run just filtering on files.

This involved modifying how the `.topostats` files are loaded and extracted because of the nesting (see #1068).

Tests currently fail because the `tests/resources/test_image/minicircle_small.topostats` is version `0.1` and doesn't
therefore work with the refactored structure (surprised #1068 passed all tests actualy!).

A separate commit will be made for updating this test file and the associated tweaking of tests.
ns-rse added a commit that referenced this pull request Jan 15, 2025
Closes #741

Adds the "swiss-army knife" component to run just filtering on files.

This involved modifying how the `.topostats` files are loaded and extracted because of the nesting (see #1068).

Tests currently fail because the `tests/resources/test_image/minicircle_small.topostats` is version `0.1` and doesn't
therefore work with the refactored structure (surprised #1068 passed all tests actualy!).

A separate commit will be made for updating this test file and the associated tweaking of tests.
@ns-rse ns-rse mentioned this pull request Jan 15, 2025
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IO Input and Output
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Extract correct image data from .topostats file.
2 participants