tmp_optifik/docs/_build/html/api_reference.html
François Boulogne 82eff06057 doc
2025-06-25 12:16:11 +02:00

294 lines
No EOL
18 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>API Reference &#8212; optifik documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<script src="_static/documentation_options.js?v=5929fcd5"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Examples" href="examples.html" />
<link rel="prev" title="Installation" href="installation.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="api-reference">
<h1>API Reference<a class="headerlink" href="#api-reference" title="Link to this heading"></a></h1>
<p>Below is the complete reference for Optifiks public API.</p>
<section id="module-optifik.io">
<span id="io"></span><h2>io<a class="headerlink" href="#module-optifik.io" title="Link to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="optifik.io.load_spectrum">
<span class="sig-prename descclassname"><span class="pre">optifik.io.</span></span><span class="sig-name descname"><span class="pre">load_spectrum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">spectrum_path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wavelength_min</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wavelength_max</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">inf</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">delimiter</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">','</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/optifik/io.html#load_spectrum"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#optifik.io.load_spectrum" title="Link to this definition"></a></dt>
<dd><p>Load a spectrum file.</p>
<p>TODO : describe expected format</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><dl class="simple">
<dt><strong>spectrum_path</strong><span class="classifier">string</span></dt><dd><p>File path.</p>
</dd>
<dt><strong>wavelength_min</strong><span class="classifier">scalar, optional</span></dt><dd><p>Cut the data at this minimum wavelength (included).</p>
</dd>
<dt><strong>wavelength_max</strong><span class="classifier">scalar, optional</span></dt><dd><p>Cut the data at this maximum wavelength (included).</p>
</dd>
<dt><strong>delimiter</strong><span class="classifier">string, optional</span></dt><dd><p>Delimiter between columns in the datafile.</p>
</dd>
</dl>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><dl class="simple">
<dt><strong>values</strong><span class="classifier">arrays</span></dt><dd><p>(lamdbas, intensities)</p>
</dd>
</dl>
</dd>
</dl>
</dd></dl>
</section>
<section id="module-optifik.fft">
<span id="fft"></span><h2>fft<a class="headerlink" href="#module-optifik.fft" title="Link to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="optifik.fft.thickness_from_fft">
<span class="sig-prename descclassname"><span class="pre">optifik.fft.</span></span><span class="sig-name descname"><span class="pre">thickness_from_fft</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wavelengths</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">intensities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refractive_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_half_space</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/optifik/fft.html#thickness_from_fft"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#optifik.fft.thickness_from_fft" title="Link to this definition"></a></dt>
<dd><p>Determine the tickness by Fast Fourier Transform.</p>
<dl class="field-list">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><dl class="simple">
<dt><strong>wavelengths</strong><span class="classifier">array</span></dt><dd><p>Wavelength values in nm.</p>
</dd>
<dt><strong>intensities</strong><span class="classifier">array</span></dt><dd><p>Intensity values.</p>
</dd>
<dt><strong>refractive_index</strong><span class="classifier">scalar, optional</span></dt><dd><p>Value of the refractive index of the medium.</p>
</dd>
<dt><strong>num_half_space</strong><span class="classifier">scalar, optional</span></dt><dd><p>Number of points to compute FFTs half space.
If <cite>None</cite>, default corresponds to <cite>10*len(wavelengths)</cite>.</p>
</dd>
<dt><strong>plot</strong><span class="classifier">boolean, optional</span></dt><dd><p>Show plot of the transformed signal and the peak detection.</p>
</dd>
</dl>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><dl>
<dt><strong>results</strong><span class="classifier">Instance of <cite>OptimizeResult</cite> class.</span></dt><dd><p>The attribute <cite>thickness</cite> gives the thickness value in nm.</p>
</dd>
</dl>
</dd>
</dl>
</dd></dl>
</section>
<section id="module-optifik.minmax">
<span id="minmax"></span><h2>minmax<a class="headerlink" href="#module-optifik.minmax" title="Link to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="optifik.minmax.thickness_from_minmax">
<span class="sig-prename descclassname"><span class="pre">optifik.minmax.</span></span><span class="sig-name descname"><span class="pre">thickness_from_minmax</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wavelengths</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">intensities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refractive_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_peak_prominence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_peak_distance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'linreg'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/optifik/minmax.html#thickness_from_minmax"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#optifik.minmax.thickness_from_minmax" title="Link to this definition"></a></dt>
<dd><p>Return the thickness from a min-max detection.</p>
<dl class="field-list">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><dl class="simple">
<dt><strong>wavelengths</strong><span class="classifier">array</span></dt><dd><p>Wavelength values in nm.</p>
</dd>
<dt><strong>intensities</strong><span class="classifier">array</span></dt><dd><p>Intensity values.</p>
</dd>
<dt><strong>refractive_index</strong><span class="classifier">scalar, optional</span></dt><dd><p>Value of the refractive index of the medium.</p>
</dd>
<dt><strong>min_peak_prominence</strong><span class="classifier">scalar, optional</span></dt><dd><p>Required prominence of peaks.</p>
</dd>
<dt><strong>min_peak_distance</strong><span class="classifier">scalar, optional</span></dt><dd><p>Minimum distance between peaks.</p>
</dd>
<dt><strong>method</strong><span class="classifier">string, optional</span></dt><dd><p>Either linreg for linear regression or ransac
for Randon Sampling Consensus.</p>
</dd>
<dt><strong>plot</strong><span class="classifier">boolean, optional</span></dt><dd><p>Show plots of peak detection and lin regression.</p>
</dd>
</dl>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><dl>
<dt><strong>results</strong><span class="classifier">Instance of <cite>OptimizeResult</cite> class.</span></dt><dd><p>The attribute <cite>thickness</cite> gives the thickness value in nm.</p>
</dd>
</dl>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>For more details about <cite>min_peak_prominence</cite> and <cite>min_peak_distance</cite>,
see the documentation of <cite>scipy.signal.find_peaks</cite>. This function
is used to find extrema.</p>
</dd></dl>
</section>
<section id="module-optifik.scheludko">
<span id="scheludko"></span><h2>scheludko<a class="headerlink" href="#module-optifik.scheludko" title="Link to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="optifik.scheludko.get_default_start_stop_wavelengths">
<span class="sig-prename descclassname"><span class="pre">optifik.scheludko.</span></span><span class="sig-name descname"><span class="pre">get_default_start_stop_wavelengths</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wavelengths</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">intensities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refractive_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_peak_prominence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/optifik/scheludko.html#get_default_start_stop_wavelengths"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#optifik.scheludko.get_default_start_stop_wavelengths" title="Link to this definition"></a></dt>
<dd><p>Returns the start and stop wavelength values of the last monotonic branch.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><dl class="simple">
<dt><strong>wavelengths</strong><span class="classifier">array</span></dt><dd><p>Wavelength values in nm.</p>
</dd>
<dt><strong>intensities</strong><span class="classifier">array</span></dt><dd><p>Intensity values.</p>
</dd>
<dt><strong>refractive_index</strong><span class="classifier">scalar, optional</span></dt><dd><p>Value of the refractive index of the medium.</p>
</dd>
<dt><strong>min_peak_prominence</strong><span class="classifier">scalar</span></dt><dd><p>Required prominence of peaks.</p>
</dd>
<dt><strong>plot</strong><span class="classifier">bool, optional</span></dt><dd><p>Display a curve, useful for checking or debuging. The default is None.</p>
</dd>
</dl>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><dl class="simple">
<dt><strong>wavelength_start</strong><span class="classifier">scalar</span></dt><dd></dd>
<dt><strong>wavelength_stop</strong><span class="classifier">scalar</span></dt><dd></dd>
</dl>
</dd>
<dt class="field-odd">Raises<span class="colon">:</span></dt>
<dd class="field-odd"><dl class="simple">
<dt>RuntimeError</dt><dd><p>if at least one maximum and one minimum are not detected.</p>
</dd>
</dl>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="optifik.scheludko.thickness_from_scheludko">
<span class="sig-prename descclassname"><span class="pre">optifik.scheludko.</span></span><span class="sig-name descname"><span class="pre">thickness_from_scheludko</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wavelengths</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">intensities</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refractive_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wavelength_start</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wavelength_stop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">interference_order</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">intensities_void</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">plot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/optifik/scheludko.html#thickness_from_scheludko"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#optifik.scheludko.thickness_from_scheludko" title="Link to this definition"></a></dt>
<dd><p>Compute the film thickness based on Scheludko method.</p>
<dl class="field-list">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><dl class="simple">
<dt><strong>wavelengths</strong><span class="classifier">array</span></dt><dd><p>Wavelength values in nm.</p>
</dd>
<dt><strong>intensities</strong><span class="classifier">array</span></dt><dd><p>Intensity values.</p>
</dd>
<dt><strong>refractive_index</strong><span class="classifier">scalar, optional</span></dt><dd><p>Value of the refractive index of the medium.</p>
</dd>
<dt><strong>wavelength_start</strong><span class="classifier">scalar, optional</span></dt><dd><p>Starting value of a monotonic branch.
Mandatory if interference_order != 0.</p>
</dd>
<dt><strong>wavelength_stop</strong><span class="classifier">scalar, optional</span></dt><dd><p>Stoping value of a monotonic branch.
Mandatory if interference_order != 0.</p>
</dd>
<dt><strong>interference_order</strong><span class="classifier">scalar, optional</span></dt><dd><p>Interference order, zero or positive integer.
If set to None, the value is guessed.</p>
</dd>
<dt><strong>intensities_void</strong><span class="classifier">array, optional</span></dt><dd><p>Intensity in absence of a film.
Mandatory if interference_order == 0.</p>
</dd>
<dt><strong>plot</strong><span class="classifier">bool, optional</span></dt><dd><p>Display a curve, useful for checking or debuging. The default is None.</p>
</dd>
</dl>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><dl>
<dt><strong>results</strong><span class="classifier">Instance of <cite>OptimizeResult</cite> class.</span></dt><dd><p>The attribute <cite>thickness</cite> gives the thickness value in nm.</p>
</dd>
</dl>
</dd>
</dl>
</dd></dl>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.html">optifik</a></h1>
<search id="searchbox" style="display: none" role="search">
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Search"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3>
<p class="caption" role="heading"><span class="caption-text">Documentation</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">API Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#module-optifik.io">io</a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-optifik.fft">fft</a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-optifik.minmax">minmax</a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-optifik.scheludko">scheludko</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="index.html">Documentation overview</a><ul>
<li>Previous: <a href="installation.html" title="previous chapter">Installation</a></li>
<li>Next: <a href="examples.html" title="next chapter">Examples</a></li>
</ul></li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&#169;2025, F. Boulogne et al..
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.2.3</a>
&amp; <a href="https://alabaster.readthedocs.io">Alabaster 1.0.0</a>
|
<a href="_sources/api_reference.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>