Skip to content

Commit

Permalink
deploy: c5ece12
Browse files Browse the repository at this point in the history
  • Loading branch information
rabii-chaarani committed Mar 26, 2024
1 parent d866189 commit 8149531
Show file tree
Hide file tree
Showing 7 changed files with 66 additions and 11 deletions.
Binary file modified .doctrees/FoldOptLib.examples.doctree
Binary file not shown.
Binary file modified .doctrees/environment.pickle
Binary file not shown.
20 changes: 18 additions & 2 deletions FoldOptLib.examples.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,24 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Link to this headi
<span id="foldoptlib-examples-misc-functions-module"></span><h2>FoldOptLib.examples.misc_functions module<a class="headerlink" href="#module-FoldOptLib.examples.misc_functions" title="Link to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="FoldOptLib.examples.misc_functions.sample_random_dataset">
<span class="sig-prename descclassname"><span class="pre">FoldOptLib.examples.misc_functions.</span></span><span class="sig-name descname"><span class="pre">sample_random_dataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">grid</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/FoldOptLib/examples/misc_functions.html#sample_random_dataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#FoldOptLib.examples.misc_functions.sample_random_dataset" title="Link to this definition"></a></dt>
<dd></dd></dl>
<span class="sig-prename descclassname"><span class="pre">FoldOptLib.examples.misc_functions.</span></span><span class="sig-name descname"><span class="pre">sample_random_dataset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bounding_box</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/FoldOptLib/examples/misc_functions.html#sample_random_dataset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#FoldOptLib.examples.misc_functions.sample_random_dataset" title="Link to this definition"></a></dt>
<dd><p>Generate a random dataset of 3D coordinates within a specified model bounding box.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>bounding_box</strong> (<em>ndarray</em>) – A 3x3 array where each row represents the minimum and maximum values of x and y coordinates.</p></li>
<li><p><strong>sample_size</strong> (<em>int</em><em>, </em><em>optional</em>) – The number of random samples to generate. Default is 2.</p></li>
<li><p><strong>seed</strong> (<em>int</em><em>, </em><em>optional</em>) – The seed for the random number generator for reproducibility. Default is 180.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><strong>random_xyz</strong> – A sample_size x 3 array of random 3D coordinates within the specified bounding box.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>ndarray</p>
</dd>
</dl>
</dd></dl>

</section>
<section id="module-FoldOptLib.examples">
Expand Down
41 changes: 34 additions & 7 deletions _modules/FoldOptLib/examples/misc_functions.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,43 @@ <h1>Source code for FoldOptLib.examples.misc_functions</h1><div class="highlight

<div class="viewcode-block" id="sample_random_dataset">
<a class="viewcode-back" href="../../../FoldOptLib.examples.html#FoldOptLib.examples.misc_functions.sample_random_dataset">[docs]</a>
<span class="k">def</span> <span class="nf">sample_random_dataset</span><span class="p">(</span><span class="n">grid</span><span class="p">,</span> <span class="n">sample_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">seed</span><span class="o">=</span><span class="mi">180</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">sample_random_dataset</span><span class="p">(</span><span class="n">bounding_box</span><span class="p">,</span> <span class="n">sample_size</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">seed</span><span class="o">=</span><span class="mi">180</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Generate a random dataset of 3D coordinates within a specified model bounding box.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> bounding_box : ndarray</span>
<span class="sd"> A 3x3 array where each row represents the minimum and maximum values of x and y coordinates.</span>
<span class="sd"> sample_size : int, optional</span>
<span class="sd"> The number of random samples to generate. Default is 2.</span>
<span class="sd"> seed : int, optional</span>
<span class="sd"> The seed for the random number generator for reproducibility. Default is 180.</span>

<span class="sd"> Returns</span>
<span class="sd"> -------</span>
<span class="sd"> random_xyz : ndarray</span>
<span class="sd"> A sample_size x 3 array of random 3D coordinates within the specified bounding box.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># Set the seed for the random number generator for reproducible results</span>
<span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">seed</span><span class="p">(</span><span class="n">seed</span><span class="p">)</span>
<span class="c1"># select all xy points with z = 0</span>
<span class="n">xyz</span> <span class="o">=</span> <span class="n">grid</span><span class="p">[</span><span class="n">grid</span><span class="p">[:,</span> <span class="mi">2</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">]</span>
<span class="n">xmax</span> <span class="o">=</span> <span class="n">xyz</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">max</span><span class="p">()</span>
<span class="n">ymax</span> <span class="o">=</span> <span class="n">xyz</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">max</span><span class="p">()</span>

<span class="c1"># Extract the maximum x and y coordinates from the bounding box</span>
<span class="n">xmax</span><span class="p">,</span> <span class="n">ymax</span> <span class="o">=</span> <span class="n">bounding_box</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">bounding_box</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">]</span>

<span class="c1"># Define the maximum z coordinate (fixed at 0 to only sample model&#39;s surface)</span>
<span class="n">zmax</span> <span class="o">=</span> <span class="mf">0.</span>
<span class="n">xn</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">low</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">high</span><span class="o">=</span><span class="n">xmax</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">sample_size</span><span class="p">)</span>
<span class="n">yn</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">low</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">high</span><span class="o">=</span><span class="n">ymax</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">sample_size</span><span class="p">)</span>

<span class="c1"># Generate &#39;sample_size&#39; number of random x-coordinates</span>
<span class="n">xn</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">low</span><span class="o">=</span><span class="n">bounding_box</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">high</span><span class="o">=</span><span class="n">xmax</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">sample_size</span><span class="p">)</span>

<span class="c1"># Generate &#39;sample_size&#39; number of random y-coordinates</span>
<span class="n">yn</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">low</span><span class="o">=</span><span class="n">bounding_box</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">high</span><span class="o">=</span><span class="n">ymax</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">sample_size</span><span class="p">)</span>

<span class="c1"># Create an array of z-coordinates, all set to &#39;zmax&#39; (fixed z-coordinate for all points)</span>
<span class="n">zn</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">tile</span><span class="p">(</span><span class="n">zmax</span><span class="p">,</span> <span class="n">sample_size</span><span class="p">)</span>

<span class="c1"># Combine the x, y, and z coordinates into a single 2D array (shape: sample_size x 3)</span>
<span class="n">random_xyz</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">xn</span><span class="p">,</span> <span class="n">yn</span><span class="p">,</span> <span class="n">zn</span><span class="p">])</span><span class="o">.</span><span class="n">T</span>

<span class="k">return</span> <span class="n">random_xyz</span></div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ <h1>Source code for FoldOptLib.objective_functions.geological_knowledge</h1><div
<span class="sd"> &#39;fold_axis_wavelength&#39;: {&#39;lb&#39;:10, &#39;ub&#39;:10, &#39;mu&#39;:10, &#39;sigma&#39;:10, &#39;w&#39;:10},</span>
<span class="sd"> },</span>
<span class="sd"> &#39;fold_axial_surface&#39;: {</span>
<span class="sd"> &#39;axial_surface&#39;: {&#39;lb&#39;:10, &#39;ub&#39;:10, &#39;mu&#39;:10, &#39;kappa&#39;:10, &#39;w&#39;:10}</span>
<span class="sd"> &#39;axial_surface&#39;: {&#39;lb&#39;:10, &#39;ub&#39;:10, &#39;mu&#39;:[0.,1.,0.], &#39;kappa&#39;:10, &#39;w&#39;:10}</span>
<span class="sd"> }</span>
<span class="sd"> }</span>
<span class="sd"> lb and ub are the lower and the upper bounds of the constraints and are used only for a restricted</span>
Expand Down
12 changes: 12 additions & 0 deletions _modules/FoldOptLib/optimisers/axial_surface_optimiser.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@

<h1>Source code for FoldOptLib.optimisers.axial_surface_optimiser</h1><div class="highlight"><pre>
<span></span><span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">ABC</span>
<span class="kn">import</span> <span class="nn">gc</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Union</span><span class="p">,</span> <span class="n">Tuple</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
Expand Down Expand Up @@ -208,6 +209,9 @@ <h1>Source code for FoldOptLib.optimisers.axial_surface_optimiser</h1><div class
<span class="c1"># Calculate the loglikelihood of the axial surface</span>
<span class="n">loglikelihood</span> <span class="o">=</span> <span class="n">loglikelihood_axial_surface</span><span class="p">(</span><span class="n">angle_difference</span><span class="p">)</span> <span class="o">+</span> <span class="n">geological_knowledge</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>

<span class="k">del</span> <span class="n">angle_difference</span>
<span class="n">gc</span><span class="o">.</span><span class="n">collect</span><span class="p">()</span>

<span class="k">return</span> <span class="n">loglikelihood</span></div>


Expand Down Expand Up @@ -238,6 +242,10 @@ <h1>Source code for FoldOptLib.optimisers.axial_surface_optimiser</h1><div class

<span class="n">predicted_foliation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fold_engine</span><span class="o">.</span><span class="n">get_predicted_foliation</span><span class="p">(</span><span class="n">axial_normal</span><span class="p">)</span>
<span class="n">logpdf</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">loglikelihood</span><span class="p">(</span><span class="n">axial_normal</span><span class="p">,</span> <span class="n">predicted_foliation</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">geo_objective</span><span class="p">)</span>

<span class="k">del</span> <span class="n">predicted_foliation</span><span class="p">,</span> <span class="n">axial_normal</span>
<span class="n">gc</span><span class="o">.</span><span class="n">collect</span><span class="p">()</span>

<span class="k">return</span> <span class="n">logpdf</span></div>


Expand Down Expand Up @@ -267,6 +275,10 @@ <h1>Source code for FoldOptLib.optimisers.axial_surface_optimiser</h1><div class
<span class="n">axial_normal</span> <span class="o">/=</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">norm</span><span class="p">(</span><span class="n">axial_normal</span><span class="p">)</span>
<span class="n">predicted_foliation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fold_engine</span><span class="o">.</span><span class="n">get_predicted_foliation</span><span class="p">(</span><span class="n">axial_normal</span><span class="p">)</span>
<span class="n">angle_difference</span> <span class="o">=</span> <span class="n">is_axial_plane_compatible</span><span class="p">(</span><span class="n">predicted_foliation</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">gradient_data</span><span class="p">)</span>

<span class="k">del</span> <span class="n">predicted_foliation</span><span class="p">,</span> <span class="n">axial_normal</span>
<span class="n">gc</span><span class="o">.</span><span class="n">collect</span><span class="p">()</span>

<span class="k">return</span> <span class="n">angle_difference</span></div>


Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

0 comments on commit 8149531

Please sign in to comment.