|
2 | 2 |
|
3 | 3 | import numpy as np |
4 | 4 |
|
5 | | -from pySNOM.images import LineLevel, BackgroundPolyFit, SimpleNormalize, DataTypes, AlignImageStack, mask_from_datacondition, dict_from_imagestack |
| 5 | +from pySNOM.images import ( |
| 6 | + LineLevel, |
| 7 | + BackgroundPolyFit, |
| 8 | + MaskedBackgroundPolyFit, |
| 9 | + SimpleNormalize, |
| 10 | + DataTypes, |
| 11 | + AlignImageStack, |
| 12 | + mask_from_datacondition, |
| 13 | + dict_from_imagestack, |
| 14 | +) |
6 | 15 |
|
7 | 16 |
|
8 | 17 | class TestLineLevel(unittest.TestCase): |
@@ -98,31 +107,47 @@ def test_withmask(self): |
98 | 107 | mask = np.ones([10,10]) |
99 | 108 | mask[4:8,4:8] = np.nan |
100 | 109 |
|
101 | | - t = BackgroundPolyFit(xorder=1,yorder=1,datatype=DataTypes.Phase) |
102 | | - out = t.transform(d,mask=mask) |
103 | | - np.testing.assert_almost_equal(out[0,0], 0.0) |
104 | | - np.testing.assert_almost_equal(out[9,9], 0.0) |
| 110 | + t = MaskedBackgroundPolyFit(xorder=1, yorder=1, datatype=DataTypes.Phase) |
| 111 | + out = t.transform(d, mask=mask) |
| 112 | + np.testing.assert_almost_equal(out[0, 0], 0.0) |
| 113 | + np.testing.assert_almost_equal(out[9, 9], 0.0) |
105 | 114 |
|
106 | | - t = BackgroundPolyFit(xorder=1,yorder=1,datatype=DataTypes.Amplitude) |
107 | | - out = t.transform(d,mask=mask) |
108 | | - np.testing.assert_almost_equal(out[0,0], 1.0) |
109 | | - np.testing.assert_almost_equal(out[9,9], 1.0) |
| 115 | + t = MaskedBackgroundPolyFit(xorder=1, yorder=1, datatype=DataTypes.Amplitude) |
| 116 | + out = t.transform(d, mask=mask) |
| 117 | + np.testing.assert_almost_equal(out[0, 0], 1.0) |
| 118 | + np.testing.assert_almost_equal(out[9, 9], 1.0) |
110 | 119 |
|
111 | 120 | def test_withoutmask(self): |
112 | 121 | d = np.ones([10,10]) |
113 | 122 | d[4:8,4:8] = 10 |
114 | 123 | mask = np.ones([10,10]) |
115 | 124 | mask[4:8,4:8] = np.nan |
116 | 125 |
|
117 | | - t = BackgroundPolyFit(xorder=1,yorder=1,datatype=DataTypes.Phase) |
| 126 | + t = MaskedBackgroundPolyFit(xorder=1, yorder=1, datatype=DataTypes.Phase) |
118 | 127 | out = t.transform(d) |
119 | 128 | np.testing.assert_almost_equal(out[0,0], -0.2975206611570238) |
120 | 129 | np.testing.assert_almost_equal(out[9,9], -3.439338842975202) |
121 | 130 |
|
122 | | - t = BackgroundPolyFit(xorder=1,yorder=1,datatype=DataTypes.Amplitude) |
| 131 | + t = MaskedBackgroundPolyFit(xorder=1, yorder=1, datatype=DataTypes.Amplitude) |
123 | 132 | out = t.transform(d) |
124 | | - np.testing.assert_almost_equal(out[0,0], 0.7707006369426758) |
125 | | - np.testing.assert_almost_equal(out[9,9], 0.22525876833718098) |
| 133 | + np.testing.assert_almost_equal(out[0, 0], 0.7707006369426758) |
| 134 | + np.testing.assert_almost_equal(out[9, 9], 0.22525876833718098) |
| 135 | + |
| 136 | + def test_old_version(self): |
| 137 | + d = np.ones([10, 10]) |
| 138 | + d[4:8, 4:8] = 10 |
| 139 | + mask = np.ones([10, 10]) |
| 140 | + mask[4:8, 4:8] = np.nan |
| 141 | + |
| 142 | + t = BackgroundPolyFit(xorder=1, yorder=1, datatype=DataTypes.Phase) |
| 143 | + out, _ = t.transform(d) |
| 144 | + np.testing.assert_almost_equal(out[0, 0], -0.2975206611570238) |
| 145 | + np.testing.assert_almost_equal(out[9, 9], -3.439338842975202) |
| 146 | + |
| 147 | + t = BackgroundPolyFit(xorder=1, yorder=1, datatype=DataTypes.Amplitude) |
| 148 | + out, _ = t.transform(d) |
| 149 | + np.testing.assert_almost_equal(out[0, 0], 0.7707006369426758) |
| 150 | + np.testing.assert_almost_equal(out[9, 9], 0.22525876833718098) |
126 | 151 |
|
127 | 152 | class TestHelperFunction(unittest.TestCase): |
128 | 153 |
|
|
0 commit comments