From a9df27b7c7ba3a7a0f863e87860ceec3da46e022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Boulogne?= Date: Fri, 20 Jun 2025 13:35:19 +0200 Subject: [PATCH] upd API --- check.py | 8 ++++---- optifik/io.py | 14 +++++++------- optifik/scheludko.py | 15 +++++++++------ tests/test_SV1.py | 2 +- tests/test_SV2o0.py | 16 ++++++++-------- tests/test_SV2o1.py | 2 +- tests/test_SV2o2.py | 2 +- tests/test_SV2o3.py | 2 +- tests/test_SV2o4.py | 2 +- tests/test_SV2o5.py | 2 +- tests/test_fft.py | 2 +- tests/test_minmax.py | 4 ++-- tests/test_scheludko.py | 12 ++++++------ 13 files changed, 43 insertions(+), 40 deletions(-) diff --git a/check.py b/check.py index 1709a7c..a2defb8 100644 --- a/check.py +++ b/check.py @@ -41,7 +41,7 @@ def minmax(): lambdas, intensities = io.load_spectrum(spectrum_file) plot_spectrum(lambdas, intensities, title='Raw') - lambdas, intensities = io.load_spectrum(spectrum_file, lambda_min=450) + lambdas, intensities = io.load_spectrum(spectrum_file, wavelength_min=450) plot_spectrum(lambdas, intensities, title='Raw, cropped') smoothed_intensities = smooth_intensities(intensities) @@ -79,7 +79,7 @@ def play_order1(): lambdas, intensities = io.load_spectrum(spectrum_file) plot_spectrum(lambdas, intensities, title='Raw') - lambdas, intensities = io.load_spectrum(spectrum_file, lambda_min=450) + lambdas, intensities = io.load_spectrum(spectrum_file, wavelength_min=450) plot_spectrum(lambdas, intensities, title='Raw, cropped') smoothed_intensities = smooth_intensities(intensities) @@ -129,7 +129,7 @@ def play_order0(): lambdas, intensities = io.load_spectrum(spectrum_file) plot_spectrum(lambdas, intensities, title='Raw') - lambdas, intensities = io.load_spectrum(spectrum_file, lambda_min=450) + lambdas, intensities = io.load_spectrum(spectrum_file, wavelength_min=450) plot_spectrum(lambdas, intensities, title='Raw, cropped') @@ -186,7 +186,7 @@ def check_SV1(): spectre_file = os.path.join(DATA_FOLDER, fn) - lambdas, raw_intensities = load_spectrum(spectre_file, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectre_file, wavelength_min=450) ##### Affichage du spectre lissé ##### diff --git a/optifik/io.py b/optifik/io.py index 017f0e3..08769e7 100644 --- a/optifik/io.py +++ b/optifik/io.py @@ -2,8 +2,8 @@ import numpy as np def load_spectrum(spectrum_path, - lambda_min=0, - lambda_max=np.inf, + wavelength_min=0, + wavelength_max=np.inf, delimiter=','): """ Load a spectrum file. @@ -15,10 +15,10 @@ def load_spectrum(spectrum_path, ---------- spectrum_path : string File path. - lambda_min : scalar, optional - Cut the data at this minimum wavelength in nm. - lambda_max : scalar, optional - Cut the data at this maximum wavelength in nm. + wavelength_min : scalar, optional + Cut the data at this minimum wavelength (included). + wavelength_max : scalar, optional + Cut the data at this maximum wavelength (included). delimiter : string, optional Delimiter between columns in the datafile. @@ -30,5 +30,5 @@ def load_spectrum(spectrum_path, data = np.loadtxt(spectrum_path, delimiter=delimiter) lambdas, intensities = np.column_stack(data) - mask = (lambdas > lambda_min) & (lambdas < lambda_max) + mask = (lambdas >= wavelength_min) & (lambdas <= wavelength_max) return lambdas[mask], intensities[mask] diff --git a/optifik/scheludko.py b/optifik/scheludko.py index c2d22d2..8775f3f 100644 --- a/optifik/scheludko.py +++ b/optifik/scheludko.py @@ -288,14 +288,14 @@ def thickness_from_scheludko(wavelengths, wavelengths_masked = wavelengths[mask] r_index_masked = r_index[mask] intensities_masked = intensities[mask] - intensities_I_min_masked = intensities_void[mask] + intensities_void_masked = intensities_void[mask] interference_order = 0 thickness_values = _thicknesses_scheludko_at_order(wavelengths_masked, intensities_masked, interference_order, r_index_masked, - Imin=intensities_I_min_masked) + intensities_void=intensities_void_masked) elif interference_order > 0: h_values = _thicknesses_scheludko_at_order(wavelengths_masked, @@ -312,8 +312,8 @@ def thickness_from_scheludko(wavelengths, # Delta if interference_order == 0: - num = intensities_masked - np.min(intensities_I_min_masked) - denom = np.max(intensities_masked) - np.min(intensities_I_min_masked) + num = intensities_masked - np.min(intensities_void_masked) + denom = np.max(intensities_masked) - np.min(intensities_void_masked) else: num = intensities_masked - np.min(intensities_masked) denom = np.max(intensities_masked) - np.min(intensities_masked) @@ -340,7 +340,8 @@ def thickness_from_scheludko(wavelengths, plt.figure() plt.plot(wavelengths_masked, Delta_from_data, - 'bo-', markersize=2, label=r'$\mathrm{{Smoothed}}\ \mathrm{{Data}}$') + 'bo-', markersize=2, + label=r'$\mathrm{{Smoothed}}\ \mathrm{{Data}}$') # Scheludko label = rf'$\mathrm{{Scheludko}}\ (h = {np.mean(thickness_values):.1f} \pm {np.std(thickness_values):.1f}\ \mathrm{{nm}})$' @@ -348,7 +349,9 @@ def thickness_from_scheludko(wavelengths, 'go-', markersize=2, label=label) # Fit label = rf'$\mathrm{{Fit}}\ (h = {fitted_h:.1f}\pm {std_err:.1f} \ \mathrm{{nm}})$' - plt.plot(wavelengths_masked, Delta_values, 'ro-', markersize=2, label=label) + plt.plot(wavelengths_masked, Delta_values, + 'ro-', markersize=2, + label=label) plt.legend() plt.ylabel(r'$\Delta$') diff --git a/tests/test_SV1.py b/tests/test_SV1.py index 8129a4f..53d8d62 100644 --- a/tests/test_SV1.py +++ b/tests/test_SV1.py @@ -23,7 +23,7 @@ def load(): @pytest.mark.parametrize("spectrum_path, expected", load()) def test_minmax(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) assert_equal(len(lambdas), len(smoothed_intensities)) diff --git a/tests/test_SV2o0.py b/tests/test_SV2o0.py index 5989704..20ae6ac 100644 --- a/tests/test_SV2o0.py +++ b/tests/test_SV2o0.py @@ -24,11 +24,11 @@ def load(filename): #@pytest.mark.skip('...') @pytest.mark.parametrize("spectrum_path, expected", load('known_value.yaml')) def test_SV2o0_small_tol(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) - + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) + File_I_min = 'tests/spectre_trou/000043641.xy' - _, intensities_void = load_spectrum(File_I_min, lambda_min=450) - + _, intensities_void = load_spectrum(File_I_min, wavelength_min=450) + smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) @@ -54,11 +54,11 @@ def test_SV2o0_small_tol(spectrum_path, expected): @pytest.mark.parametrize("spectrum_path, expected", load('known_value_large_tol.yaml')) def test_SV2o0_large_tol(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) - + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) + File_I_min = 'tests/spectre_trou/000043641.xy' - _, intensities_void = load_spectrum(File_I_min, lambda_min=450) - + _, intensities_void = load_spectrum(File_I_min, wavelength_min=450) + smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_SV2o1.py b/tests/test_SV2o1.py index 1db4762..0952990 100644 --- a/tests/test_SV2o1.py +++ b/tests/test_SV2o1.py @@ -24,7 +24,7 @@ def load(): #@pytest.mark.skip('...') @pytest.mark.parametrize("spectrum_path, expected", load()) def test_SV2o1(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_SV2o2.py b/tests/test_SV2o2.py index 01d7ff3..d2a00bc 100644 --- a/tests/test_SV2o2.py +++ b/tests/test_SV2o2.py @@ -23,7 +23,7 @@ def load(): @pytest.mark.parametrize("spectrum_path, expected", load()) def test_SV2o2(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_SV2o3.py b/tests/test_SV2o3.py index 2e50472..01dd6bd 100644 --- a/tests/test_SV2o3.py +++ b/tests/test_SV2o3.py @@ -23,7 +23,7 @@ def load(): @pytest.mark.parametrize("spectrum_path, expected", load()) def test_SV2o3(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_SV2o4.py b/tests/test_SV2o4.py index 78dd49e..8701976 100644 --- a/tests/test_SV2o4.py +++ b/tests/test_SV2o4.py @@ -23,7 +23,7 @@ def load(): @pytest.mark.parametrize("spectrum_path, expected", load()) def test_SV2o4(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_SV2o5.py b/tests/test_SV2o5.py index d85f1d1..b3648fa 100644 --- a/tests/test_SV2o5.py +++ b/tests/test_SV2o5.py @@ -23,7 +23,7 @@ def load(): @pytest.mark.parametrize("spectrum_path, expected", load()) def test_SV2o5(spectrum_path, expected): - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_fft.py b/tests/test_fft.py index e843911..cd65aaf 100644 --- a/tests/test_fft.py +++ b/tests/test_fft.py @@ -14,7 +14,7 @@ def test_FFT(): expected = 3524.51 spectrum_path = os.path.join(FOLDER, FILE_NAME) - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_minmax.py b/tests/test_minmax.py index 364ad68..d0b57fd 100644 --- a/tests/test_minmax.py +++ b/tests/test_minmax.py @@ -14,7 +14,7 @@ def test_minmax_ransac(): expected = 1338.35 spectrum_path = os.path.join(FOLDER, FILE_NAME) - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) @@ -36,7 +36,7 @@ def test_minmax_linreg(): expected = 1338.35 spectrum_path = os.path.join(FOLDER, FILE_NAME) - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) diff --git a/tests/test_scheludko.py b/tests/test_scheludko.py index 3469ca8..42f856b 100644 --- a/tests/test_scheludko.py +++ b/tests/test_scheludko.py @@ -17,7 +17,7 @@ def dataset1(): expected = 777.07 spectrum_path = os.path.join(FOLDER, FILE_NAME) - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) @@ -97,7 +97,7 @@ def test_scheludko_2peaks(): expected = 495.69 spectrum_path = os.path.join(FOLDER, FILE_NAME) - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) @@ -127,14 +127,14 @@ def test_order0(): expected = 115.33 spectrum_path = os.path.join(FOLDER, FILE_NAME) - lambdas, raw_intensities = load_spectrum(spectrum_path, lambda_min=450) + lambdas, raw_intensities = load_spectrum(spectrum_path, wavelength_min=450) smoothed_intensities = smooth_intensities(raw_intensities) r_index = 1.324188 + 3102.060378 / (lambdas**2) prominence = 0.03 - - + + File_I_min = 'tests/spectre_trou/000043641.xy' - _, intensities_void = load_spectrum(File_I_min, lambda_min=450) + _, intensities_void = load_spectrum(File_I_min, wavelength_min=450) w_start, w_stop = None, None