Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
mrakitin committed Feb 7, 2025
1 parent 342ee6e commit 94b5ac9
Show file tree
Hide file tree
Showing 142 changed files with 369 additions and 369 deletions.
Binary file modified ophyd/.doctrees/environment.pickle
Binary file not shown.
Binary file modified ophyd/.doctrees/user/tutorials/device.doctree
Binary file not shown.
Binary file modified ophyd/.doctrees/user/tutorials/single-PV.doctree
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
184 changes: 92 additions & 92 deletions ophyd/_static/pygments.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion ophyd/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
<link rel="stylesheet" type="text/css" href="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
Expand Down
2 changes: 1 addition & 1 deletion ophyd/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
<link rel="stylesheet" type="text/css" href="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
Expand Down
Binary file modified ophyd/objects.inv
Binary file not shown.
2 changes: 1 addition & 1 deletion ophyd/search.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
<link rel="stylesheet" type="text/css" href="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
Expand Down
2 changes: 1 addition & 1 deletion ophyd/searchindex.js

Large diffs are not rendered by default.

36 changes: 18 additions & 18 deletions ophyd/user/explanations/area-detector.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
Expand Down Expand Up @@ -571,9 +571,9 @@
<h1>Area Detectors<a class="headerlink" href="#area-detectors" title="Permalink to this heading">#</a></h1>
<p>Area Detector devices require some customization to use. Here is the simplest
possible configuration.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ophyd</span> <span class="kn">import</span> <span class="n">AreaDetector</span><span class="p">,</span> <span class="n">SingleTrigger</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">ophyd</span><span class="w"> </span><span class="kn">import</span> <span class="n">AreaDetector</span><span class="p">,</span> <span class="n">SingleTrigger</span>

<span class="k">class</span> <span class="nc">MyDetector</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">AreaDetector</span><span class="p">):</span>
<span class="k">class</span><span class="w"> </span><span class="nc">MyDetector</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">AreaDetector</span><span class="p">):</span>
<span class="k">pass</span>

<span class="n">prefix</span> <span class="o">=</span> <span class="s1">&#39;XF:23ID1-ES{Tst-Cam:1}&#39;</span>
Expand Down Expand Up @@ -923,11 +923,11 @@ <h2>Specific Hardware<a class="headerlink" href="#specific-hardware" title="Perm
for components.</p>
<p>To use these model-specific classes, swap out <code class="docutils literal notranslate"><span class="pre">AreaDetector</span></code> like so:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># before</span>
<span class="k">class</span> <span class="nc">MyDetector</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">AreaDetector</span><span class="p">):</span>
<span class="k">class</span><span class="w"> </span><span class="nc">MyDetector</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">AreaDetector</span><span class="p">):</span>
<span class="k">pass</span>

<span class="c1"># after</span>
<span class="k">class</span> <span class="nc">MyDetector</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">AndorDetector</span><span class="p">):</span>
<span class="k">class</span><span class="w"> </span><span class="nc">MyDetector</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">AndorDetector</span><span class="p">):</span>
<span class="k">pass</span>
</pre></div>
</div>
Expand Down Expand Up @@ -1148,13 +1148,13 @@ <h2>Custom Devices<a class="headerlink" href="#custom-devices" title="Permalink
attribute suffix of the <code class="docutils literal notranslate"><span class="pre">'cam1'</span></code> plugin.</p>
<p>In order to create the class then the following code is required
(where <code class="docutils literal notranslate"><span class="pre">XXX</span></code> is the name of the device):</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ophyd.areadetector.base</span> <span class="kn">import</span> <span class="n">ad_group</span><span class="p">,</span> <span class="n">EpicsSignalWithRBV</span>
<span class="kn">from</span> <span class="nn">ophyd.signal</span> <span class="kn">import</span> <span class="n">EpicsSignal</span><span class="p">,</span> <span class="n">EpicsSignalRO</span>
<span class="kn">from</span> <span class="nn">ophyd.device</span> <span class="kn">import</span> <span class="n">DynamicDeviceComponent</span> <span class="k">as</span> <span class="n">DDCpt</span><span class="p">,</span> <span class="n">Component</span> <span class="k">as</span> <span class="n">Cpt</span>
<span class="kn">from</span> <span class="nn">ophyd.detectors</span> <span class="kn">import</span> <span class="n">DetectorBase</span>
<span class="kn">from</span> <span class="nn">ophyd.areadetector.trigger_mixins</span> <span class="kn">import</span> <span class="n">SingleTrigger</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.areadetector.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">ad_group</span><span class="p">,</span> <span class="n">EpicsSignalWithRBV</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.signal</span><span class="w"> </span><span class="kn">import</span> <span class="n">EpicsSignal</span><span class="p">,</span> <span class="n">EpicsSignalRO</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.device</span><span class="w"> </span><span class="kn">import</span> <span class="n">DynamicDeviceComponent</span> <span class="k">as</span> <span class="n">DDCpt</span><span class="p">,</span> <span class="n">Component</span> <span class="k">as</span> <span class="n">Cpt</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.detectors</span><span class="w"> </span><span class="kn">import</span> <span class="n">DetectorBase</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.areadetector.trigger_mixins</span><span class="w"> </span><span class="kn">import</span> <span class="n">SingleTrigger</span>

<span class="k">class</span> <span class="nc">XXX</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">DetectorBase</span><span class="p">):</span>
<span class="k">class</span><span class="w"> </span><span class="nc">XXX</span><span class="p">(</span><span class="n">SingleTrigger</span><span class="p">,</span> <span class="n">DetectorBase</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&#39;&#39;&#39;An areadetector device class for ...&#39;&#39;&#39;</span>

<span class="c1"># ADD ATTRIBUTES AS COMPONENTS HERE USING THE SYNTAX</span>
Expand Down Expand Up @@ -1229,14 +1229,14 @@ <h2>Custom Plugins or Cameras<a class="headerlink" href="#custom-plugins-or-came
attribute suffix.</p>
<p>In order to create the class then the following code is required
(where <code class="docutils literal notranslate"><span class="pre">XXX</span></code> is the name of the plugin):</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ophyd.areadetector.base</span> <span class="kn">import</span> <span class="n">ad_group</span><span class="p">,</span> <span class="n">EpicsSignalWithRBV</span>
<span class="kn">from</span> <span class="nn">ophyd.signal</span> <span class="kn">import</span> <span class="n">EpicsSignal</span><span class="p">,</span> <span class="n">EpicsSignalRO</span>
<span class="kn">from</span> <span class="nn">ophyd.device</span> <span class="kn">import</span> <span class="n">DynamicDeviceComponent</span> <span class="k">as</span> <span class="n">DDCpt</span><span class="p">,</span> <span class="n">Component</span> <span class="k">as</span> <span class="n">Cpt</span>
<span class="kn">from</span> <span class="nn">ophyd.areadetector.plugins</span> <span class="kn">import</span> <span class="n">PluginBase</span><span class="p">,</span> <span class="n">register_plugin</span>
<span class="kn">from</span> <span class="nn">ophyd.areadetector.filestore_mixins</span> <span class="kn">import</span> <span class="n">FileStoreHDF5</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.areadetector.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">ad_group</span><span class="p">,</span> <span class="n">EpicsSignalWithRBV</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.signal</span><span class="w"> </span><span class="kn">import</span> <span class="n">EpicsSignal</span><span class="p">,</span> <span class="n">EpicsSignalRO</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.device</span><span class="w"> </span><span class="kn">import</span> <span class="n">DynamicDeviceComponent</span> <span class="k">as</span> <span class="n">DDCpt</span><span class="p">,</span> <span class="n">Component</span> <span class="k">as</span> <span class="n">Cpt</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.areadetector.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">PluginBase</span><span class="p">,</span> <span class="n">register_plugin</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">ophyd.areadetector.filestore_mixins</span><span class="w"> </span><span class="kn">import</span> <span class="n">FileStoreHDF5</span>


<span class="k">class</span> <span class="nc">XXXplugin</span><span class="p">(</span><span class="n">PluginBase</span><span class="p">,</span> <span class="n">FileStoreHDF5</span><span class="p">):</span>
<span class="k">class</span><span class="w"> </span><span class="nc">XXXplugin</span><span class="p">(</span><span class="n">PluginBase</span><span class="p">,</span> <span class="n">FileStoreHDF5</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&#39;&#39;&#39;An areadetector plugin class that does ......&#39;&#39;&#39;</span>
<span class="n">_suffix_re</span> <span class="o">=</span> <span class="s1">&#39;Plugin_suffix\d:&#39;</span>

Expand Down Expand Up @@ -1275,7 +1275,7 @@ <h2>Custom Plugins or Cameras<a class="headerlink" href="#custom-plugins-or-came
</div>
<p>Once the class is defined above then it should be added to the Area
detector device class as a component using the code:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Some_Areadetector_Device_Class</span><span class="p">(</span><span class="n">Some_Area_Detector_Base_Class</span><span class="p">):</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Some_Areadetector_Device_Class</span><span class="p">(</span><span class="n">Some_Area_Detector_Base_Class</span><span class="p">):</span>
<span class="s1">&#39;The ophyd class for the device that has the custom plugin&#39;</span>

<span class="o">...</span>
Expand Down
2 changes: 1 addition & 1 deletion ophyd/user/explanations/relationship-to-epics.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
Expand Down
12 changes: 6 additions & 6 deletions ophyd/user/explanations/staging.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../../_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />

<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
<link rel="stylesheet" type="text/css" href="../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css?v=0a3b3ea7" />
Expand Down Expand Up @@ -577,13 +577,13 @@ <h1>Stage and Unstage<a class="headerlink" href="#stage-and-unstage" title="Perm
<p>The staging process is a “hook” for preparing a device for use. To add
custom staging logic to a Device, subclass it and override <code class="docutils literal notranslate"><span class="pre">stage</span></code> and/or
<code class="docutils literal notranslate"><span class="pre">unstage</span></code> like so.</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">MyMotor</span><span class="p">(</span><span class="n">EpicsMotor</span><span class="p">):</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">MyMotor</span><span class="p">(</span><span class="n">EpicsMotor</span><span class="p">):</span>

<span class="k">def</span> <span class="nf">stage</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">def</span><span class="w"> </span><span class="nf">stage</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;I am staging.&#39;</span><span class="p">)</span>
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">stage</span><span class="p">()</span>

<span class="k">def</span> <span class="nf">unstage</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">def</span><span class="w"> </span><span class="nf">unstage</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">&#39;I am unstaging.&#39;</span><span class="p">)</span>
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">unstage</span><span class="p">()</span>
</pre></div>
Expand All @@ -599,8 +599,8 @@ <h1>Stage and Unstage<a class="headerlink" href="#stage-and-unstage" title="Perm
of these signals, stashes them, changes them to the desired value, and then
restore the initial value when the device is unstaged. It is best to
customize <code class="docutils literal notranslate"><span class="pre">stage_sigs</span></code> in the device’s <code class="docutils literal notranslate"><span class="pre">__init__</span></code> method, like so:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">MyMotor</span><span class="p">(</span><span class="n">EpicsMotor</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">MyMotor</span><span class="p">(</span><span class="n">EpicsMotor</span><span class="p">):</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">stage_sigs</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">user_offset</span><span class="p">]</span> <span class="o">=</span> <span class="mi">5</span>
</pre></div>
Expand Down
Loading

0 comments on commit 94b5ac9

Please sign in to comment.