Compare commits
No commits in common. "481f15ef7a30305febfa028b76a482a33498f619" and "90b3cd45b11f27af5e7d0cb9ce60bccf0caa76f5" have entirely different histories.
481f15ef7a
...
90b3cd45b1
5 changed files with 1 additions and 88 deletions
10
.gitignore
vendored
10
.gitignore
vendored
|
@ -1,10 +0,0 @@
|
||||||
__pycache__
|
|
||||||
.backups
|
|
||||||
optifik.egg-info
|
|
||||||
*.bak
|
|
||||||
*.pyc
|
|
||||||
.ipynb_checkpoints
|
|
||||||
.venv
|
|
||||||
build/
|
|
||||||
_build/
|
|
||||||
dist/
|
|
|
@ -1,4 +0,0 @@
|
||||||
|
|
||||||
# x.x.x
|
|
||||||
|
|
||||||
First version
|
|
|
@ -1,7 +1,5 @@
|
||||||
# Optifik
|
# Optifik
|
||||||
|
|
||||||
TODO: write a paragraph here...
|
|
||||||
|
|
||||||
|
|
||||||
This library replaces oospectro.
|
This library replaces oospectro.
|
||||||
|
|
||||||
|
@ -50,7 +48,3 @@ cd docs
|
||||||
make html
|
make html
|
||||||
```
|
```
|
||||||
|
|
||||||
## Licence
|
|
||||||
|
|
||||||
The source code is released under the GNU General Public License v3.0.
|
|
||||||
See LICENSE for details.
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ authors = [
|
||||||
{ name = "François Boulogne", email = "francois.boulogne@cnrs.fr" },
|
{ name = "François Boulogne", email = "francois.boulogne@cnrs.fr" },
|
||||||
{ name = "Victor Ziapkoff", email = "victor.ziapkoff@universite-paris-saclay.fr" },
|
{ name = "Victor Ziapkoff", email = "victor.ziapkoff@universite-paris-saclay.fr" },
|
||||||
]
|
]
|
||||||
license = "GPL-3.0"
|
license = "GPL-3.0-or-later"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.13"
|
requires-python = ">=3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
import pytest
|
|
||||||
import yaml
|
|
||||||
from pathlib import Path
|
|
||||||
import os.path
|
|
||||||
|
|
||||||
import numpy as np
|
|
||||||
from numpy.testing import assert_allclose
|
|
||||||
from numpy.testing import assert_almost_equal
|
|
||||||
|
|
||||||
from optifik.minmax import thickness_from_minmax
|
|
||||||
from optifik.analysis import smooth_intensities
|
|
||||||
from optifik.io import load_spectrum
|
|
||||||
|
|
||||||
|
|
||||||
def load():
|
|
||||||
test_data_dir = Path(__file__).parent.parent / 'data'
|
|
||||||
FOLDER = test_data_dir / 'spectraLorene' / 'sample1'
|
|
||||||
|
|
||||||
yaml_file = os.path.join(FOLDER, 'sample1.yaml')
|
|
||||||
with open(yaml_file, "r") as yaml_file:
|
|
||||||
thickness_dict = yaml.safe_load(yaml_file)
|
|
||||||
#print(thickness_dict)
|
|
||||||
data = [(os.path.join(FOLDER, fn), val) for fn, val in thickness_dict['known_thicknesses'].items()]
|
|
||||||
return data
|
|
||||||
|
|
||||||
|
|
||||||
def test_minmax_sample1():
|
|
||||||
min_peak_prominence = 0.02
|
|
||||||
min_peak_distance = 10
|
|
||||||
skipped = ('011137.xy',
|
|
||||||
'012426.xy',
|
|
||||||
'012795.xy',
|
|
||||||
'012979.xy',
|
|
||||||
'011321.xy', #Insufficient number of data points
|
|
||||||
)
|
|
||||||
|
|
||||||
for path, expected in load():
|
|
||||||
file = os.path.split(path)[-1]
|
|
||||||
if file not in skipped:
|
|
||||||
lambdas, raw_intensities = load_spectrum(path, wavelength_min=450)
|
|
||||||
smoothed_intensities = smooth_intensities(raw_intensities)
|
|
||||||
r_index = 1.33 #TODO
|
|
||||||
|
|
||||||
prominence = 0.02
|
|
||||||
distance = 10
|
|
||||||
|
|
||||||
result = thickness_from_minmax(lambdas,
|
|
||||||
smoothed_intensities,
|
|
||||||
refractive_index=r_index,
|
|
||||||
min_peak_prominence=prominence,
|
|
||||||
min_peak_distance=distance,
|
|
||||||
method='ransac',
|
|
||||||
plot=False)
|
|
||||||
|
|
||||||
assert_allclose(result.thickness, expected, rtol=2.3e-1)
|
|
||||||
|
|
||||||
#def test_fft_sample1():
|
|
||||||
# for name, value in known_values.sample1['known_thicknesses'].items():
|
|
||||||
# index = known_values.sample1['refractive_index']
|
|
||||||
# # this method works only for large thicknesses
|
|
||||||
# if value < 3000:
|
|
||||||
# continue
|
|
||||||
# path = os.path.join('spectra', name)
|
|
||||||
# lambdas, intensities = io.load_spectrum(path, lambda_min=450)
|
|
||||||
# result = thickness_from_fft(lambdas, intensities, refractive_index=index,)
|
|
||||||
# error = 100 * np.abs(result.thickness - value) / value
|
|
||||||
# assert(error < 5)
|
|
Loading…
Add table
Add a link
Reference in a new issue