|
5 | 5 | import pathlib
|
6 | 6 | import os
|
7 | 7 | import csv
|
| 8 | +import random |
8 | 9 |
|
9 | 10 | from src.wrappers.OsipiBase import OsipiBase
|
10 | 11 | from utilities.data_simulation.GenerateData import GenerateData
|
11 | 12 |
|
12 | 13 | #run using pytest <path_to_this_file> --saveFileName test_output.txt --SNR 50 100 200
|
13 | 14 | #e.g. pytest tests/IVIMmodels/unit_tests/test_ivim_synthetic.py --saveFileName test_output.txt --SNR 50 100 200
|
14 |
| -def test_generated(ivim_algorithm, ivim_data, SNR, rtol, atol, save_file): |
| 15 | +def test_generated(ivim_algorithm, ivim_data, SNR, rtol, atol, fit_count, save_file): |
15 | 16 | # assert save_file == "test"
|
| 17 | + random.seed(42) |
16 | 18 | S0 = 1
|
17 | 19 | gd = GenerateData()
|
18 | 20 | name, bvals, data = ivim_data
|
19 | 21 | D = data["D"]
|
20 | 22 | f = data["f"]
|
21 | 23 | Dp = data["Dp"]
|
22 |
| - # if "data" not in data: |
23 |
| - signal = gd.ivim_signal(D, Dp, f, S0, bvals, SNR) |
24 |
| - # else: |
25 |
| - # signal = data["data"] |
26 | 24 | fit = OsipiBase(algorithm=ivim_algorithm)
|
27 |
| - [f_fit, Dp_fit, D_fit] = fit.ivim_fit(signal, bvals) |
28 |
| - if save_file: |
29 |
| - save_results(save_file, ivim_algorithm, name, SNR, [f, D, Dp], [f_fit, Dp_fit, D_fit]) |
30 |
| - npt.assert_allclose([f, D, Dp], [f_fit, D_fit, Dp_fit], rtol, atol) |
| 25 | + for idx in range(fit_count): |
| 26 | + # if "data" not in data: |
| 27 | + signal = gd.ivim_signal(D, Dp, f, S0, bvals, SNR) |
| 28 | + # else: |
| 29 | + # signal = data["data"] |
| 30 | + [f_fit, Dp_fit, D_fit] = fit.ivim_fit(signal, bvals) |
| 31 | + if save_file: |
| 32 | + save_results(save_file, ivim_algorithm, name, SNR, [f, D, Dp], [f_fit, Dp_fit, D_fit]) |
| 33 | + npt.assert_allclose([f, D, Dp], [f_fit, D_fit, Dp_fit], rtol, atol) |
31 | 34 |
|
32 | 35 |
|
33 | 36 | def save_results(filename, algorithm, name, SNR, truth, fit):
|
|
0 commit comments