User API¶
IO¶
-
oospectro.io.
load_spectrum
(spectrum_path, lambda_min=100, lambda_max=1000, delimiter=', ')[source]¶ Load a spectrum file.
Parameters: - 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.
- delimiter : string, optional
Delimiter between columns in the datafile.
Returns: - values : arrays
(lamdbas, intensities)
Thickness¶
-
class
oospectro.thickness.
OptimizeResult
[source]¶ Bases:
dict
Represents the optimization result.
Notes
This class has been copied from scipy.optimize
-
clear
() → None. Remove all items from D.¶
-
copy
() → a shallow copy of D¶
-
fromkeys
(iterable, value=None, /)¶ Create a new dictionary with keys from iterable and values set to value.
-
get
(key, default=None, /)¶ Return the value for key if key is in the dictionary, else default.
-
items
() → a set-like object providing a view on D's items¶
-
keys
() → a set-like object providing a view on D's keys¶
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.¶ If key is not found, d is returned if given, otherwise KeyError is raised
-
popitem
() → (k, v), remove and return some (key, value) pair as a¶ 2-tuple; but raise KeyError if D is empty.
-
setdefault
(key, default=None, /)¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
values
() → an object providing a view on D's values¶
-
-
oospectro.thickness.
thickness_from_fft
(lambdas, intensities, refractive_index=1.0, num_half_space=None, debug=False)[source]¶ Determine the tickness by Fast Fourier Transform.
Parameters: - lambdas : array
Wavelength values in nm.
- intensities : array
Intensity values.
- refractive_index : scalar, optional
Value of the refractive index of the medium.
- num_half_space : scalar, optional
Number of points to compute FFT’s half space. If None, default corresponds to 10*len(lambdas).
- debug : boolean, optional
Show plot of the transformed signal and the peak detection.
Returns: - results : Instance of OptimizeResult class.
The attribute thickness gives the thickness value in nm.
-
oospectro.thickness.
thickness_from_minmax
(lambdas, intensities, refractive_index=1.0, min_peak_prominence=0.01, min_peak_distance=10, method='linreg', debug=False)[source]¶ Return the thickness from a min-max detection.
Parameters: - lambdas : array
Wavelength values in nm.
- intensities : array
Intensity values.
- refractive_index : scalar, optional
Value of the refractive index of the medium.
- min_peak_prominence : scalar, optional
Required prominence of peaks.
- min_peak_distance : scalar, optional
Minimum distance between peaks.
- method : string, optional
Either ‘linreg’ for linear regression or ‘ransac’ for Randon Sampling Consensus.
- debug : boolean, optional
Show plots of peak detection and lin regression.
Returns: - results : Instance of OptimizeResult class.
The attribute thickness gives the thickness value in nm.
Notes
For more details about min_peak_prominence and min_peak_distance, see the documentation of scipy.signal.find_peaks. This function is used to find extrema.