crikit.cri.algorithms package¶
Submodules¶
crikit.cri.algorithms.kk module¶
Kramers-Kronig Relation Phase Retrieval (crikit.process.maths.kk)¶
kkrelation : Retrieve real and imaginary components from a spectrum that is the modulus of a function
hilbertfft : Fourier-domain Hilbert transform
References
- [1] C H Camp Jr, Y J Lee, and M T Cicerone, “Quantitative, Comparable Coherent
Anti-Stokes Raman Scattering (CARS) Spectroscopy: Correcting Errors in Phase Retrieval,” Journal of Raman Spectroscopy (2016). arXiv:1507.06543.
-
crikit.cri.algorithms.kk.
kkrelation
(bg, cri, phase_offset=0.0, norm_by_bg=True, pad_factor=1, n_edge=1, axis=-1, bad_value=1e-08, min_value=None, hilb_kwargs={}, **kwargs)[source]¶ Retrieve the real and imaginary components of a CRI spectra(um) via the Kramers-Kronig (KK) relation.
- Parameters
bg (ndarray) – Coherent background (bg) spectra(um) array that can be one-, two-, or three-dimensional
cri (ndarray) – CRI spectra(um) array that can be one-,two-,or three-dimensional phase_offset : float or ndarray, optional Global phase offset applied to the KK, which effecively controls the real-to-imaginary components relationship
norm_by_bg (bool) – Should the output be normalized by the square-root of the background (bg) spectrum(a)
pad_factor (int) – The multiple number of spectra-length pads that will be applied before and after the original spectra
n_edge (int, optional) – For edge values, take a mean of n_edge neighbors
axis (int, optional) – Axis to perform over
min_value (float, optional) – Applies to cri/bg (the ratio). Values below min_value set to min_value
bad_value (float, optional) – Applies to cri/bg (the ratio). Inf’s and NaN’s set to bad_value
hilb_kwargs (dict) – kwargs sent to the hilbert transform. Only pad_factor, n_edge, and axis are automatically sent – these will overwrite anything in hilb_kwargs.
- Returns
out – The real and imaginary components of KK.
- Return type
complex ndarray
Notes
The imaginary components provides the sponatenous Raman-like spectra(um).
This module assumes the spectra are oriented as such that the frequency (wavenumber) increases with increasing index. If this is not the case for your spectra(um), apply a phase_offset of _np.pi
References
Y Liu, Y J Lee, and M T Cicerone, “Broadband CARS spectral phase retrieval using a time-domain Kramers-Kronig transform,” Opt. Lett. 34, 1363-1365 (2009).
C H Camp Jr, Y J Lee, and M T Cicerone, “Quantitative, Comparable Coherent Anti-Stokes Raman Scattering (CARS) Spectroscopy: Correcting Errors in Phase Retrieval,” Journal of Raman Spectroscopy (2016). arXiv:1507.06543.
-
crikit.cri.algorithms.kk.
hilbertfft
(y, pad_factor=1, n_edge=1, axis=-1, copy=True, bad_value=1e-08, min_value=None, **kwargs)[source]¶ Compute the one-dimensional Hilbert Transform.
This function computes the one-dimentional Hilbert transform using the Fourier-domain implementation.
- Parameters
y (ndarray) – Input numpy array
pad_factor (int, optional) – The multiple number of spectra-length pads that will be applied before and after the original spectra
n_edge (int, optional) – For edge values, take a mean of n_edge neighbors
axis (int, optional) – Axis to perform over
copy (bool, optional) – Copy or over-write input data
min_value (float, optional) – Values below min_value set to min_value
bad_value (float, optional) – Inf’s and NaN’s set to bad_value
- Returns
Hilbert transformed data
- Return type
ndarray
References
Camp Jr, C. H., Lee, Y. J., & Cicerone, M. T. (2016). Quantitative, comparable coherent anti-Stokes Raman scattering (CARS) spectroscopy: correcting errors in phase retrieval. Journal of Raman Spectroscopy, 47(4), 408–415. https://doi.org/10.1002/jrs.4824 https://arxiv.org/abs/1507.06543
- C H Camp Jr, Y J Lee, and M T Cicerone, “Quantitative, Comparable
Coherent Anti-Stokes Raman Scattering (CARS) Spectroscopy: Correcting Errors in Phase Retrieval,” Journal of Raman Spectroscopy (2016). arXiv:1507.06543.
- A D Poularikas, “The Hilbert Transform,” in The Handbook of
Formulas and Tables for Signal Processing (ed., A. D. Poularikas), Boca Raton, CRC Press LLC (1999).