Added beter controls and an example. Improved documentation.

This commit is contained in:
simleek
2019-11-17 14:26:43 -07:00
parent 6b02f57780
commit decf7d7849
67 changed files with 1829 additions and 516 deletions

288
docs/effects/index.html Normal file
View File

@@ -0,0 +1,288 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>displayarray.effects &#8212; DisplayArray documentation</title>
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/language_data.js"></script>
<link rel="index" title="Index" href="../genindex/" />
<link rel="search" title="Search" href="../search/" />
<link rel="next" title="displayarray.input" href="../input/" />
<link rel="prev" title="displayarray.frame" href="../frame/" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="displayarray-effects">
<h1>displayarray.effects<a class="headerlink" href="#displayarray-effects" title="Permalink to this headline"></a></h1>
<div class="section" id="crop">
<h2>Crop<a class="headerlink" href="#crop" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="displayarray.effects.crop.Crop">
<em class="property">class </em><code class="sig-name descname">Crop</code><span class="sig-paren">(</span><em class="sig-param">output_size=(64</em>, <em class="sig-param">64</em>, <em class="sig-param">3)</em>, <em class="sig-param">center=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/crop/#Crop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.crop.Crop" title="Permalink to this definition"></a></dt>
<dd><p>A callback class that will return the input array cropped to the output size. N-dimensional.</p>
<dl class="method">
<dt id="displayarray.effects.crop.Crop.center">
<em class="property">property </em><code class="sig-name descname">center</code><a class="headerlink" href="#displayarray.effects.crop.Crop.center" title="Permalink to this definition"></a></dt>
<dd><p>Get the center.</p>
</dd></dl>
<dl class="method">
<dt id="displayarray.effects.crop.Crop.enable_mouse_control">
<code class="sig-name descname">enable_mouse_control</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/crop/#Crop.enable_mouse_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.crop.Crop.enable_mouse_control" title="Permalink to this definition"></a></dt>
<dd><p>Move the mouse to move where the crop is from on the original image.</p>
</dd></dl>
<dl class="method">
<dt id="displayarray.effects.crop.Crop.output_size">
<em class="property">property </em><code class="sig-name descname">output_size</code><a class="headerlink" href="#displayarray.effects.crop.Crop.output_size" title="Permalink to this definition"></a></dt>
<dd><p>Get the output size.</p>
</dd></dl>
</dd></dl>
</div>
<div class="section" id="module-displayarray.effects.lens">
<span id="lens"></span><h2>Lens<a class="headerlink" href="#module-displayarray.effects.lens" title="Permalink to this headline"></a></h2>
<p>Create lens effects. Currently only 2D+color arrays are supported.</p>
<dl class="class">
<dt id="displayarray.effects.lens.Barrel">
<em class="property">class </em><code class="sig-name descname">Barrel</code><span class="sig-paren">(</span><em class="sig-param">use_bleed=False</em>, <em class="sig-param">barrel_power=1</em>, <em class="sig-param">pincushion_power=1</em>, <em class="sig-param">zoom=1</em>, <em class="sig-param">center=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Barrel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.lens.Barrel" title="Permalink to this definition"></a></dt>
<dd><p>A barrel lens distortion callback.</p>
<dl class="method">
<dt id="displayarray.effects.lens.Barrel.barrel_power">
<em class="property">property </em><code class="sig-name descname">barrel_power</code><a class="headerlink" href="#displayarray.effects.lens.Barrel.barrel_power" title="Permalink to this definition"></a></dt>
<dd><p>Guarded barrel power. Avoids divide by zero conditions.</p>
</dd></dl>
<dl class="method">
<dt id="displayarray.effects.lens.Barrel.center">
<em class="property">property </em><code class="sig-name descname">center</code><a class="headerlink" href="#displayarray.effects.lens.Barrel.center" title="Permalink to this definition"></a></dt>
<dd><p>Guarded get center. Limits to within input.</p>
</dd></dl>
<dl class="method">
<dt id="displayarray.effects.lens.Barrel.enable_mouse_control">
<code class="sig-name descname">enable_mouse_control</code><span class="sig-paren">(</span><em class="sig-param">crop_size=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Barrel.enable_mouse_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.lens.Barrel.enable_mouse_control" title="Permalink to this definition"></a></dt>
<dd><p>Enable the default mouse controls.</p>
<p>Move the mouse to center the image
scroll to increase/decrease barrel
ctrl+scroll to increase/decrease zoom</p>
</dd></dl>
<dl class="method">
<dt id="displayarray.effects.lens.Barrel.zoom">
<em class="property">property </em><code class="sig-name descname">zoom</code><a class="headerlink" href="#displayarray.effects.lens.Barrel.zoom" title="Permalink to this definition"></a></dt>
<dd><p>Guarded zoom. Avoids divide by zero conditions.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="displayarray.effects.lens.BarrelPyTorch">
<em class="property">class </em><code class="sig-name descname">BarrelPyTorch</code><span class="sig-paren">(</span><em class="sig-param">use_bleed=False</em>, <em class="sig-param">barrel_power=1</em>, <em class="sig-param">pincushion_power=1</em>, <em class="sig-param">zoom=1</em>, <em class="sig-param">center=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#BarrelPyTorch"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.lens.BarrelPyTorch" title="Permalink to this definition"></a></dt>
<dd><p>A barrel distortion callback class accelerated by PyTorch.</p>
</dd></dl>
<dl class="class">
<dt id="displayarray.effects.lens.ControllableLens">
<em class="property">class </em><code class="sig-name descname">ControllableLens</code><span class="sig-paren">(</span><em class="sig-param">use_bleed=False</em>, <em class="sig-param">zoom=1</em>, <em class="sig-param">center=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#ControllableLens"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.lens.ControllableLens" title="Permalink to this definition"></a></dt>
<dd><p>A lens callback that can be controlled by the program or the user.</p>
<dl class="method">
<dt id="displayarray.effects.lens.ControllableLens.run_bleed">
<code class="sig-name descname">run_bleed</code><span class="sig-paren">(</span><em class="sig-param">arr</em>, <em class="sig-param">x</em>, <em class="sig-param">y</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#ControllableLens.run_bleed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.lens.ControllableLens.run_bleed" title="Permalink to this definition"></a></dt>
<dd><p>Spread color outwards, like food coloring in water.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="displayarray.effects.lens.Mustache">
<em class="property">class </em><code class="sig-name descname">Mustache</code><span class="sig-paren">(</span><em class="sig-param">use_bleed=False</em>, <em class="sig-param">barrel_power=1</em>, <em class="sig-param">pincushion_power=1</em>, <em class="sig-param">zoom=1</em>, <em class="sig-param">center=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Mustache"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.lens.Mustache" title="Permalink to this definition"></a></dt>
<dd><p>A mustache distortion callback.</p>
<dl class="method">
<dt id="displayarray.effects.lens.Mustache.enable_mouse_control">
<code class="sig-name descname">enable_mouse_control</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Mustache.enable_mouse_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.lens.Mustache.enable_mouse_control" title="Permalink to this definition"></a></dt>
<dd><p>Enable the default mouse loop to control the mustache distortion.</p>
<p>ctrl+scroll wheel: zoom in and out
shift+scroll wheel: adjust pincushion power
scroll wheel: adjust barrel power</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt>
<em class="property">class </em><code class="sig-name descname">Barrel</code><span class="sig-paren">(</span><em class="sig-param">use_bleed=False</em>, <em class="sig-param">barrel_power=1</em>, <em class="sig-param">pincushion_power=1</em>, <em class="sig-param">zoom=1</em>, <em class="sig-param">center=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Barrel"><span class="viewcode-link">[source]</span></a></dt>
<dd><p>A barrel lens distortion callback.</p>
<dl class="method">
<dt>
<em class="property">property </em><code class="sig-name descname">barrel_power</code></dt>
<dd><p>Guarded barrel power. Avoids divide by zero conditions.</p>
</dd></dl>
<dl class="method">
<dt>
<em class="property">property </em><code class="sig-name descname">center</code></dt>
<dd><p>Guarded get center. Limits to within input.</p>
</dd></dl>
<dl class="method">
<dt>
<code class="sig-name descname">enable_mouse_control</code><span class="sig-paren">(</span><em class="sig-param">crop_size=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Barrel.enable_mouse_control"><span class="viewcode-link">[source]</span></a></dt>
<dd><p>Enable the default mouse controls.</p>
<p>Move the mouse to center the image
scroll to increase/decrease barrel
ctrl+scroll to increase/decrease zoom</p>
</dd></dl>
<dl class="method">
<dt>
<em class="property">property </em><code class="sig-name descname">zoom</code></dt>
<dd><p>Guarded zoom. Avoids divide by zero conditions.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt>
<em class="property">class </em><code class="sig-name descname">Mustache</code><span class="sig-paren">(</span><em class="sig-param">use_bleed=False</em>, <em class="sig-param">barrel_power=1</em>, <em class="sig-param">pincushion_power=1</em>, <em class="sig-param">zoom=1</em>, <em class="sig-param">center=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Mustache"><span class="viewcode-link">[source]</span></a></dt>
<dd><p>A mustache distortion callback.</p>
<dl class="method">
<dt>
<code class="sig-name descname">enable_mouse_control</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/lens/#Mustache.enable_mouse_control"><span class="viewcode-link">[source]</span></a></dt>
<dd><p>Enable the default mouse loop to control the mustache distortion.</p>
<p>ctrl+scroll wheel: zoom in and out
shift+scroll wheel: adjust pincushion power
scroll wheel: adjust barrel power</p>
</dd></dl>
</dd></dl>
</div>
<div class="section" id="select-channels">
<h2>Select Channels<a class="headerlink" href="#select-channels" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="displayarray.effects.select_channels.SelectChannels">
<em class="property">class </em><code class="sig-name descname">SelectChannels</code><span class="sig-paren">(</span><em class="sig-param">selected_channels: Iterable[int] = None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/select_channels/#SelectChannels"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.select_channels.SelectChannels" title="Permalink to this definition"></a></dt>
<dd><p>Select channels to display from an array with too many colors.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>selected_channels</strong> the list of channels to display.</p>
</dd>
</dl>
<dl class="method">
<dt id="displayarray.effects.select_channels.SelectChannels.enable_mouse_control">
<code class="sig-name descname">enable_mouse_control</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/displayarray/effects/select_channels/#SelectChannels.enable_mouse_control"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#displayarray.effects.select_channels.SelectChannels.enable_mouse_control" title="Permalink to this definition"></a></dt>
<dd><p>Enable mouse control.</p>
<p>Alt+Scroll to increase/decrease channel 2.
Shift+Scroll to increase/decrease channel 1.
Ctrl+scroll to increase/decrease channel 0.</p>
</dd></dl>
</dd></dl>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="../">DisplayArray</a></h1>
<h3>Navigation</h3>
<p class="caption"><span class="caption-text">Python API</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../display/">display</a></li>
<li class="toctree-l1"><a class="reference internal" href="../frame/">frame</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">effects</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#crop">Crop</a></li>
<li class="toctree-l2"><a class="reference internal" href="#module-displayarray.effects.lens">Lens</a></li>
<li class="toctree-l2"><a class="reference internal" href="#select-channels">Select Channels</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../input/">input</a></li>
</ul>
<p class="caption"><span class="caption-text">Bash API</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../displayarray_bash/">displayarray</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="../">Documentation overview</a><ul>
<li>Previous: <a href="../frame/" title="previous chapter">displayarray.frame</a></li>
<li>Next: <a href="../input/" title="next chapter">displayarray.input</a></li>
</ul></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search/" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&copy;2019, Simulator Leek.
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.2.1</a>
&amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
<a href="../_sources/effects.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>