Skip to content

Commit 0b56707

Browse files
committed
correcting paganin tests and adding zenodo test
1 parent b63942b commit 0b56707

File tree

2 files changed

+46
-22
lines changed

2 files changed

+46
-22
lines changed

tests/test_prep/test_phase.py

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,53 @@
44
import numpy as np
55
import pytest
66
from cupy.cuda import nvtx
7-
from httomolibgpu.prep.phase import paganin_filter_tomopy
7+
from httomolibgpu.prep.phase import paganin_filter
88
from numpy.testing import assert_allclose
99

1010
eps = 1e-6
1111

1212

13-
# paganin filter tomopy
14-
def test_paganin_filter_tomopy_1D_raises(ensure_clean_memory):
13+
# paganin filter
14+
def test_paganin_filter_1D_raises(ensure_clean_memory):
1515
_data = cp.ones(10)
1616
with pytest.raises(ValueError):
17-
paganin_filter_tomopy(_data)
17+
paganin_filter(_data)
1818

1919
_data = None #: free up GPU memory
2020

2121

22-
def test_paganin_filter_tomopy(data):
23-
# --- testing the Paganin filter from TomoPy on tomo_standard ---#
24-
filtered_data = paganin_filter_tomopy(data).get()
22+
def test_paganin_filter(data):
23+
# --- testing the Paganin filter on tomo_standard ---#
24+
filtered_data = paganin_filter(data).get()
2525

2626
assert filtered_data.ndim == 3
27-
assert_allclose(np.mean(filtered_data), -6.74213, rtol=eps)
28-
assert_allclose(np.max(filtered_data), -6.496699, rtol=eps)
27+
assert_allclose(np.mean(filtered_data), -6.725061, rtol=eps)
28+
assert_allclose(np.max(filtered_data), -6.367116, rtol=eps)
2929

3030
#: make sure the output is float32
3131
assert filtered_data.dtype == np.float32
3232
assert filtered_data.flags.c_contiguous
3333

3434

35-
def test_paganin_filter_tomopy_energy100(data):
36-
filtered_data = paganin_filter_tomopy(data, energy=100.0).get()
35+
def test_paganin_filter_energy100(data):
36+
filtered_data = paganin_filter(data, energy=100.0).get()
3737

38-
assert_allclose(np.mean(filtered_data), -6.73455, rtol=1e-05)
39-
assert_allclose(np.min(filtered_data), -6.909582, rtol=eps)
38+
assert_allclose(np.mean(filtered_data), -6.7109337, rtol=1e-05)
39+
assert_allclose(np.min(filtered_data), -6.9103956, rtol=eps)
4040

4141
assert filtered_data.ndim == 3
4242
assert filtered_data.dtype == np.float32
4343

4444

45-
def test_paganin_filter_tomopy_dist75(data):
46-
filtered_data = paganin_filter_tomopy(data, dist=75.0, alpha=1e-6).get()
45+
def test_paganin_filter_dist3(data):
46+
filtered_data = paganin_filter(data, distance=3.0, ratio_delta_beta=500).get()
4747

48-
assert_allclose(np.sum(np.mean(filtered_data, axis=(1, 2))), -1215.4985, rtol=1e-6)
49-
assert_allclose(np.sum(filtered_data), -24893412.0, rtol=1e-6)
50-
assert_allclose(np.mean(filtered_data[0, 60:63, 90]), -6.645878, rtol=1e-6)
51-
assert_allclose(np.sum(filtered_data[50:100, 40, 1]), -343.5908, rtol=1e-6)
48+
assert_allclose(np.sum(np.mean(filtered_data, axis=(1, 2))), -1214.3943, rtol=1e-6)
49+
assert_allclose(np.sum(filtered_data), -24870786.0, rtol=1e-6)
5250

5351

5452
@pytest.mark.perf
55-
def test_paganin_filter_tomopy_performance(ensure_clean_memory):
53+
def test_paganin_filter_performance(ensure_clean_memory):
5654
# Note: low/high and size values taken from sample2_medium.yaml real run
5755

5856
# this test needs ~20GB of memory with 1801 - we'll divide depending on GPU memory
@@ -69,14 +67,14 @@ def test_paganin_filter_tomopy_performance(ensure_clean_memory):
6967

7068
# run code and time it
7169
# cold run first
72-
paganin_filter_tomopy(data)
70+
paganin_filter(data)
7371
dev = cp.cuda.Device()
7472
dev.synchronize()
7573

7674
start = time.perf_counter_ns()
7775
nvtx.RangePush("Core")
7876
for _ in range(10):
79-
paganin_filter_tomopy(data)
77+
paganin_filter(data)
8078

8179
nvtx.RangePop()
8280
dev.synchronize()
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import cupy as cp
2+
import numpy as np
3+
import pytest
4+
5+
from httomolibgpu.prep.normalize import normalize
6+
from httomolibgpu.prep.phase import paganin_filter
7+
from conftest import force_clean_gpu_memory
8+
9+
10+
# ----------------------------------------------------------#
11+
# appplying paganin filter to i12_dataset3
12+
def test_paganin_filter_i12_dataset3(i12_dataset3, ensure_clean_memory):
13+
inputdata = cp.empty((3, 2050, 2560))
14+
inputdata[0, :, :] = i12_dataset3[0]
15+
inputdata[1, :, :] = i12_dataset3[1]
16+
inputdata[2, : , :] = i12_dataset3[2]
17+
del i12_dataset3
18+
19+
ensure_clean_memory
20+
21+
filtered_paganin = paganin_filter(inputdata)
22+
23+
assert pytest.approx(np.max(filtered_paganin.get()), rel=1e-3) == -6.2188172
24+
assert pytest.approx(np.min(filtered_paganin.get()), rel=1e-3) == -10.92260456
25+
26+

0 commit comments

Comments
 (0)