User API¶
IO¶
- oospectro.io.load_spectrum(spectrum_path, lambda_min=100, lambda_max=1000, delimiter=',')[source]¶
Load a spectrum file.
- Parameters
- spectrum_pathstring
File path.
- lambda_minscalar, optional
Cut the data at this minimum wavelength in nm.
- lambda_maxscalar, optional
Cut the data at this maximum wavelength in nm.
- delimiterstring, optional
Delimiter between columns in the datafile.
- Returns
- valuesarrays
(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(key, default=<unrepresentable>, /)¶
If the key is not found, return the default if given; otherwise, raise a KeyError.
- popitem(/)¶
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict 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
- lambdasarray
Wavelength values in nm.
- intensitiesarray
Intensity values.
- refractive_indexscalar, optional
Value of the refractive index of the medium.
- num_half_spacescalar, optional
Number of points to compute FFT’s half space. If None, default corresponds to 10*len(lambdas).
- debugboolean, optional
Show plot of the transformed signal and the peak detection.
- Returns
- resultsInstance 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
- lambdasarray
Wavelength values in nm.
- intensitiesarray
Intensity values.
- refractive_indexscalar, optional
Value of the refractive index of the medium.
- min_peak_prominencescalar, optional
Required prominence of peaks.
- min_peak_distancescalar, optional
Minimum distance between peaks.
- methodstring, optional
Either ‘linreg’ for linear regression or ‘ransac’ for Randon Sampling Consensus.
- debugboolean, optional
Show plots of peak detection and lin regression.
- Returns
- resultsInstance 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.