Skip to content

Commit 106863a

Browse files
authored
Fixed warning for complex perm (#110)
* fixed ComplexWarning * Replace NaN with nan
1 parent 3ed2fca commit 106863a

5 files changed

Lines changed: 117 additions & 117 deletions

File tree

pyeit/eit/fem.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def solve_vectorized(self, ex_mat: np.ndarray) -> np.ndarray:
117117
# using natural boundary conditions
118118
b = np.zeros((ex_mat.shape[0], self.mesh.n_nodes))
119119
b[np.arange(b.shape[0])[:, None], self.mesh.el_pos[ex_mat]] = [1, -1]
120-
result = np.empty((ex_mat.shape[0], self.kg.shape[0]))
120+
result = np.empty((ex_mat.shape[0], self.kg.shape[0]), dtype=complex)
121121

122122
# TODO Need to inspect this deeper
123123
for i in range(result.shape[0]):

pyeit/eit/render.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ def map_image(image, values):
208208
"""
209209
vals = values[image.astype(int)]
210210
mask = image == -1
211-
vals[mask] = np.NaN
211+
vals[mask] = np.nan
212212

213213
return vals
214214

pyeit/quality/merit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ def lambda_max(
600600
return arr.flatten()[idxs]
601601

602602

603-
def get_image_bounds(image, background=np.NaN):
603+
def get_image_bounds(image, background=np.nan):
604604
"""
605605
Get the bounds of an image.
606606
@@ -618,7 +618,7 @@ def get_image_bounds(image, background=np.NaN):
618618
"""
619619
if not np.isnan(background):
620620
image = image.astype(float)
621-
image[np.where(image == background)] = np.NaN
621+
image[np.where(image == background)] = np.nan
622622

623623
rowmin = np.argmax(np.any(~np.isnan(image), axis=0))
624624
rowmax = image.shape[0] - np.argmax(np.any(~np.isnan(image[::-1]), axis=0))

tests/test_eit.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def test_greit(self):
101101
eit = pyeit.eit.greit.GREIT(self.mesh_obj, self.protocol_obj)
102102
eit.setup(p=0.50, lamb=0.01, perm=1, jac_normalized=True)
103103
ds = eit.solve(self.v1, self.v0, normalize=True)
104-
x, y, ds = eit.mask_value(ds, mask_value=np.NAN)
104+
x, y, ds = eit.mask_value(ds, mask_value=np.nan)
105105

106106
# evaluate GREIT
107107
loc = np.where(np.abs(ds) == np.nanmax(np.abs(ds)))

tests/test_merit.py

Lines changed: 112 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -19,57 +19,57 @@
1919
patches as mpatches,
2020
axes as mpl_axes,
2121
)
22-
from numpy import NaN
22+
from numpy import nan
2323

2424
parent_dir = str(Path(__file__).parent)
2525

2626
test_image = np.array(
2727
[
28-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
29-
[NaN, 0, 0, 0, 0, 0, NaN],
30-
[NaN, 0, 1, 1, 1, 0, NaN],
31-
[NaN, 0, 1, 1, 1, 0, NaN],
32-
[NaN, 0, 1, 1, 1, 0, NaN],
33-
[NaN, 0, 1, 1, 1, 0, NaN],
34-
[NaN, 0, 2, 2, 2, 0, NaN],
35-
[NaN, 0, 0, 0, 0, 0, NaN],
36-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
28+
[nan, nan, nan, nan, nan, nan, nan],
29+
[nan, 0, 0, 0, 0, 0, nan],
30+
[nan, 0, 1, 1, 1, 0, nan],
31+
[nan, 0, 1, 1, 1, 0, nan],
32+
[nan, 0, 1, 1, 1, 0, nan],
33+
[nan, 0, 1, 1, 1, 0, nan],
34+
[nan, 0, 2, 2, 2, 0, nan],
35+
[nan, 0, 0, 0, 0, 0, nan],
36+
[nan, nan, nan, nan, nan, nan, nan],
3737
]
3838
)
3939

4040
test_image_2 = np.array(
4141
[
42-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
43-
[NaN, 0, 0, 0, 0, 0, NaN],
44-
[NaN, 0, 1, 1, 1, 0, NaN],
45-
[NaN, 0, 1, 1, 1, 0, NaN],
46-
[NaN, 0, 1, 1, 1, 0, NaN],
47-
[NaN, 0, 1, 1, 1, 0, NaN],
48-
[NaN, 0, 0, 0, 0, 0, NaN],
49-
[NaN, 0, 0, 0, 0, 0, NaN],
50-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
42+
[nan, nan, nan, nan, nan, nan, nan],
43+
[nan, 0, 0, 0, 0, 0, nan],
44+
[nan, 0, 1, 1, 1, 0, nan],
45+
[nan, 0, 1, 1, 1, 0, nan],
46+
[nan, 0, 1, 1, 1, 0, nan],
47+
[nan, 0, 1, 1, 1, 0, nan],
48+
[nan, 0, 0, 0, 0, 0, nan],
49+
[nan, 0, 0, 0, 0, 0, nan],
50+
[nan, nan, nan, nan, nan, nan, nan],
5151
]
5252
)
5353

5454
test_image_3 = np.array(
5555
[
56-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
57-
[NaN, 0, 0, 0, 0, 0, NaN],
58-
[NaN, 0, -1, -1, -1, 0, NaN],
59-
[NaN, 0, 0.1, 0.1, 0.1, 0, NaN],
60-
[NaN, 0, 0.1, 0.1, 0.1, 0, NaN],
61-
[NaN, 0, 0.75, 0.75, 0.75, 0, NaN],
62-
[NaN, 0, 2, 2, 2, 0, NaN],
63-
[NaN, 0, 0, 0, 0, 0, NaN],
64-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
56+
[nan, nan, nan, nan, nan, nan, nan],
57+
[nan, 0, 0, 0, 0, 0, nan],
58+
[nan, 0, -1, -1, -1, 0, nan],
59+
[nan, 0, 0.1, 0.1, 0.1, 0, nan],
60+
[nan, 0, 0.1, 0.1, 0.1, 0, nan],
61+
[nan, 0, 0.75, 0.75, 0.75, 0, nan],
62+
[nan, 0, 2, 2, 2, 0, nan],
63+
[nan, 0, 0, 0, 0, 0, nan],
64+
[nan, nan, nan, nan, nan, nan, nan],
6565
]
6666
)
6767

6868

6969
def test_calc_circle():
7070
square = imread(parent_dir + "/data/square_image.bmp", pilmode="RGB")
7171

72-
fractional_image = np.full(np.shape(square)[0:2], NaN)
72+
fractional_image = np.full(np.shape(square)[0:2], nan)
7373
fractional_image[
7474
np.where(
7575
(square[:, :, 0] == 255)
@@ -101,9 +101,9 @@ def test_calc_circle():
101101
#
102102
# img = axs[1, 0].imshow(fractional_image)
103103
# axs[1, 0].set_title("Fractional Image")
104-
# colors = [img.cmap(img.norm(value)) for value in [NaN, 0, 1]]
104+
# colors = [img.cmap(img.norm(value)) for value in [nan, 0, 1]]
105105
# patches = [
106-
# mpatches.Patch(color=colors[0], label="NAN"),
106+
# mpatches.Patch(color=colors[0], label="nan"),
107107
# mpatches.Patch(color=colors[1], label="0"),
108108
# mpatches.Patch(color=colors[2], label="1")
109109
# ]
@@ -134,43 +134,43 @@ def test_calc_amplitude():
134134
def test_calc_position_error():
135135
test_image_p1 = np.array(
136136
[
137-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
138-
[NaN, 0, 0, 0, 0, 0, NaN],
139-
[NaN, 0, 1, 1, 1, 0, NaN],
140-
[NaN, 0, 0, 0, 0, 0, NaN],
141-
[NaN, 0, 0, 0, 0, 0, NaN],
142-
[NaN, 0, 0, 0, 0, 0, NaN],
143-
[NaN, 0, 0, 0, 0, 0, NaN],
144-
[NaN, 0, 0, 0, 0, 0, NaN],
145-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
137+
[nan, nan, nan, nan, nan, nan, nan],
138+
[nan, 0, 0, 0, 0, 0, nan],
139+
[nan, 0, 1, 1, 1, 0, nan],
140+
[nan, 0, 0, 0, 0, 0, nan],
141+
[nan, 0, 0, 0, 0, 0, nan],
142+
[nan, 0, 0, 0, 0, 0, nan],
143+
[nan, 0, 0, 0, 0, 0, nan],
144+
[nan, 0, 0, 0, 0, 0, nan],
145+
[nan, nan, nan, nan, nan, nan, nan],
146146
]
147147
)
148148

149149
test_image_p2 = np.array(
150150
[
151-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
152-
[NaN, 0, 0, 0, 0, 0, NaN],
153-
[NaN, 0, 0, 0, 0, 0, NaN],
154-
[NaN, 0, 1, 1, 1, 0, NaN],
155-
[NaN, 0, 0, 0, 0, 0, NaN],
156-
[NaN, 0, 0, 0, 0, 0, NaN],
157-
[NaN, 0, 0, 0, 0, 0, NaN],
158-
[NaN, 0, 0, 0, 0, 0, NaN],
159-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
151+
[nan, nan, nan, nan, nan, nan, nan],
152+
[nan, 0, 0, 0, 0, 0, nan],
153+
[nan, 0, 0, 0, 0, 0, nan],
154+
[nan, 0, 1, 1, 1, 0, nan],
155+
[nan, 0, 0, 0, 0, 0, nan],
156+
[nan, 0, 0, 0, 0, 0, nan],
157+
[nan, 0, 0, 0, 0, 0, nan],
158+
[nan, 0, 0, 0, 0, 0, nan],
159+
[nan, nan, nan, nan, nan, nan, nan],
160160
]
161161
)
162162

163163
test_image_p2_flipped = np.array(
164164
[
165-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
166-
[NaN, 0, 0, 0, 0, 0, NaN],
167-
[NaN, 0, 0, 0, 0, 0, NaN],
168-
[NaN, 0, 0, 0, 0, 0, NaN],
169-
[NaN, 0, 0, 0, 0, 0, NaN],
170-
[NaN, 0, 1, 1, 1, 0, NaN],
171-
[NaN, 0, 0, 0, 0, 0, NaN],
172-
[NaN, 0, 0, 0, 0, 0, NaN],
173-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
165+
[nan, nan, nan, nan, nan, nan, nan],
166+
[nan, 0, 0, 0, 0, 0, nan],
167+
[nan, 0, 0, 0, 0, 0, nan],
168+
[nan, 0, 0, 0, 0, 0, nan],
169+
[nan, 0, 0, 0, 0, 0, nan],
170+
[nan, 0, 1, 1, 1, 0, nan],
171+
[nan, 0, 0, 0, 0, 0, nan],
172+
[nan, 0, 0, 0, 0, 0, nan],
173+
[nan, nan, nan, nan, nan, nan, nan],
174174
]
175175
)
176176

@@ -223,43 +223,43 @@ def test_calc_fractional_amplitude_set():
223223

224224
correct_fractional_amplitude_set = np.array(
225225
[
226-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
227-
[NaN, 0, 0, 0, 0, 0, NaN],
228-
[NaN, 0, 0, 0, 0, 0, NaN],
229-
[NaN, 0, 0, 0, 0, 0, NaN],
230-
[NaN, 0, 0, 0, 0, 0, NaN],
231-
[NaN, 0, 1, 1, 1, 0, NaN],
232-
[NaN, 0, 1, 1, 1, 0, NaN],
233-
[NaN, 0, 0, 0, 0, 0, NaN],
234-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
226+
[nan, nan, nan, nan, nan, nan, nan],
227+
[nan, 0, 0, 0, 0, 0, nan],
228+
[nan, 0, 0, 0, 0, 0, nan],
229+
[nan, 0, 0, 0, 0, 0, nan],
230+
[nan, 0, 0, 0, 0, 0, nan],
231+
[nan, 0, 1, 1, 1, 0, nan],
232+
[nan, 0, 1, 1, 1, 0, nan],
233+
[nan, 0, 0, 0, 0, 0, nan],
234+
[nan, nan, nan, nan, nan, nan, nan],
235235
]
236236
)
237237

238238
correct_fractional_amplitude_set_range = np.array(
239239
[
240-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
241-
[NaN, 0, 0, 0, 0, 0, NaN],
242-
[NaN, 0, 0, 0, 0, 0, NaN],
243-
[NaN, 0, 0, 0, 0, 0, NaN],
244-
[NaN, 0, 0, 0, 0, 0, NaN],
245-
[NaN, 0, 0, 0, 0, 0, NaN],
246-
[NaN, 0, 1, 1, 1, 0, NaN],
247-
[NaN, 0, 0, 0, 0, 0, NaN],
248-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
240+
[nan, nan, nan, nan, nan, nan, nan],
241+
[nan, 0, 0, 0, 0, 0, nan],
242+
[nan, 0, 0, 0, 0, 0, nan],
243+
[nan, 0, 0, 0, 0, 0, nan],
244+
[nan, 0, 0, 0, 0, 0, nan],
245+
[nan, 0, 0, 0, 0, 0, nan],
246+
[nan, 0, 1, 1, 1, 0, nan],
247+
[nan, 0, 0, 0, 0, 0, nan],
248+
[nan, nan, nan, nan, nan, nan, nan],
249249
]
250250
)
251251

252252
correct_fractional_amplitude_set_negative_target = np.array(
253253
[
254-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
255-
[NaN, 0, 0, 0, 0, 0, NaN],
256-
[NaN, 0, 1, 1, 1, 0, NaN],
257-
[NaN, 0, 0, 0, 0, 0, NaN],
258-
[NaN, 0, 0, 0, 0, 0, NaN],
259-
[NaN, 0, 0, 0, 0, 0, NaN],
260-
[NaN, 0, 0, 0, 0, 0, NaN],
261-
[NaN, 0, 0, 0, 0, 0, NaN],
262-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
254+
[nan, nan, nan, nan, nan, nan, nan],
255+
[nan, 0, 0, 0, 0, 0, nan],
256+
[nan, 0, 1, 1, 1, 0, nan],
257+
[nan, 0, 0, 0, 0, 0, nan],
258+
[nan, 0, 0, 0, 0, 0, nan],
259+
[nan, 0, 0, 0, 0, 0, nan],
260+
[nan, 0, 0, 0, 0, 0, nan],
261+
[nan, 0, 0, 0, 0, 0, nan],
262+
[nan, nan, nan, nan, nan, nan, nan],
263263
]
264264
)
265265

@@ -350,43 +350,43 @@ def test_classify_target_and_background():
350350
def test_calc_ringing():
351351
test_image_ringing = np.array(
352352
[
353-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
354-
[NaN, 0, 0, 0, 0, 0, NaN],
355-
[NaN, 0, 1, 1, 1, 0, NaN],
356-
[NaN, 0, 1, 1, 1, 0, NaN],
357-
[NaN, 0, 1, 1, 1, 0, NaN],
358-
[NaN, 0, 1, 1, 1, 0, NaN],
359-
[NaN, 0, -1, -1, -1, 0, NaN],
360-
[NaN, 0, 0, 0, 0, 0, NaN],
361-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
353+
[nan, nan, nan, nan, nan, nan, nan],
354+
[nan, 0, 0, 0, 0, 0, nan],
355+
[nan, 0, 1, 1, 1, 0, nan],
356+
[nan, 0, 1, 1, 1, 0, nan],
357+
[nan, 0, 1, 1, 1, 0, nan],
358+
[nan, 0, 1, 1, 1, 0, nan],
359+
[nan, 0, -1, -1, -1, 0, nan],
360+
[nan, 0, 0, 0, 0, 0, nan],
361+
[nan, nan, nan, nan, nan, nan, nan],
362362
]
363363
)
364364

365365
test_image_target_non_conductive = np.array(
366366
[
367-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
368-
[NaN, 3, 3, 3, 3, 3, NaN],
369-
[NaN, 3, 3, 3, 3, 3, NaN],
370-
[NaN, 3, 3, 3, 3, 3, NaN],
371-
[NaN, 3, 3, 3, 3, 3, NaN],
372-
[NaN, 3, 3, 3, 3, 3, NaN],
373-
[NaN, 3, 2, 2, 2, 3, NaN],
374-
[NaN, 3, 3, 3, 3, 3, NaN],
375-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
367+
[nan, nan, nan, nan, nan, nan, nan],
368+
[nan, 3, 3, 3, 3, 3, nan],
369+
[nan, 3, 3, 3, 3, 3, nan],
370+
[nan, 3, 3, 3, 3, 3, nan],
371+
[nan, 3, 3, 3, 3, 3, nan],
372+
[nan, 3, 3, 3, 3, 3, nan],
373+
[nan, 3, 2, 2, 2, 3, nan],
374+
[nan, 3, 3, 3, 3, 3, nan],
375+
[nan, nan, nan, nan, nan, nan, nan],
376376
]
377377
)
378378

379379
test_image_recon_non_conductive = np.array(
380380
[
381-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
382-
[NaN, -0.4, -0.4, -0.4, -0.4, -0.4, NaN],
383-
[NaN, -0.4, -0.4, -0.4, -0.4, -0.4, NaN],
384-
[NaN, -0.4, -0.4, -0.4, -0.4, -0.4, NaN],
385-
[NaN, -0.4, -0.4, -0.4, -0.4, -0.4, NaN],
386-
[NaN, -0.4, 1, 1, 1, -0.4, NaN],
387-
[NaN, -0.4, -2, -2, -2, -0.4, NaN],
388-
[NaN, -0.4, -0.4, -0.4, -0.4, -0.4, NaN],
389-
[NaN, NaN, NaN, NaN, NaN, NaN, NaN],
381+
[nan, nan, nan, nan, nan, nan, nan],
382+
[nan, -0.4, -0.4, -0.4, -0.4, -0.4, nan],
383+
[nan, -0.4, -0.4, -0.4, -0.4, -0.4, nan],
384+
[nan, -0.4, -0.4, -0.4, -0.4, -0.4, nan],
385+
[nan, -0.4, -0.4, -0.4, -0.4, -0.4, nan],
386+
[nan, -0.4, 1, 1, 1, -0.4, nan],
387+
[nan, -0.4, -2, -2, -2, -0.4, nan],
388+
[nan, -0.4, -0.4, -0.4, -0.4, -0.4, nan],
389+
[nan, nan, nan, nan, nan, nan, nan],
390390
]
391391
)
392392

0 commit comments

Comments
 (0)