Ignore:
Timestamp:
Mar 14, 2015 5:35:03 PM (8 years ago)
Author:
toby
Message:

change sphinx docs links; rebuild & fixing minor formatting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sphinxdocs/build/html/_modules/GSASIIplot.html

    r1513 r1709  
    5656<span class="sd">&#39;&#39;&#39;</span>
    5757<span class="c">########### SVN repository information ###################</span>
    58 <span class="c"># $Date: 2014-09-26 09:41:33 -0500 (Fri, 26 Sep 2014) $</span>
     58<span class="c"># $Date: 2015-03-10 11:35:24 -0500 (Tue, 10 Mar 2015) $</span>
    5959<span class="c"># $Author: vondreele $</span>
    60 <span class="c"># $Revision: 1506 $</span>
     60<span class="c"># $Revision: 1694 $</span>
    6161<span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIplot.py $</span>
    62 <span class="c"># $Id: GSASIIplot.py 1506 2014-09-26 14:41:33Z vondreele $</span>
     62<span class="c"># $Id: GSASIIplot.py 1694 2015-03-10 16:35:24Z vondreele $</span>
    6363<span class="c">########### SVN repository information ###################</span>
    6464<span class="kn">import</span> <span class="nn">math</span>
     
    7676<span class="kn">import</span> <span class="nn">mpl_toolkits.mplot3d.axes3d</span> <span class="kn">as</span> <span class="nn">mp3d</span>
    7777<span class="kn">import</span> <span class="nn">GSASIIpath</span>
    78 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1506 $&quot;</span><span class="p">)</span>
     78<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1694 $&quot;</span><span class="p">)</span>
    7979<span class="kn">import</span> <span class="nn">GSASIIgrid</span> <span class="kn">as</span> <span class="nn">G2gd</span>
    8080<span class="kn">import</span> <span class="nn">GSASIIimage</span> <span class="kn">as</span> <span class="nn">G2img</span>
     
    8787<span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span>
    8888<span class="kn">import</span> <span class="nn">GSASIImath</span> <span class="kn">as</span> <span class="nn">G2mth</span>
     89<span class="kn">import</span> <span class="nn">GSASIIctrls</span> <span class="kn">as</span> <span class="nn">G2G</span>
    8990<span class="kn">import</span> <span class="nn">pytexture</span> <span class="kn">as</span> <span class="nn">ptx</span>
    9091<span class="kn">from</span>  <span class="nn">OpenGL.GL</span> <span class="kn">import</span> <span class="o">*</span>
     
    112113<span class="n">npatand</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="mf">180.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">arctan</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span>
    113114<span class="n">npatan2d</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">:</span> <span class="mf">180.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">arctan2</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span>
     115<span class="n">GkDelta</span> <span class="o">=</span> <span class="nb">unichr</span><span class="p">(</span><span class="mh">0x0394</span><span class="p">)</span>
    114116   
    115117<div class="viewcode-block" id="G2PlotMpl"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.G2PlotMpl">[docs]</a><span class="k">class</span> <span class="nc">G2PlotMpl</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">):</span>   
     
    260262        </div></div>
    261263<div class="viewcode-block" id="GSASIItoolbar"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.GSASIItoolbar">[docs]</a><span class="k">class</span> <span class="nc">GSASIItoolbar</span><span class="p">(</span><span class="n">Toolbar</span><span class="p">):</span>
    262     <span class="s">&#39;needs a doc string&#39;</span>
     264    <span class="s">&#39;Override the matplotlib toolbar so we can add more icons&#39;</span>
    263265    <span class="n">ON_MPL_HELP</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
    264266    <span class="n">ON_MPL_KEY</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
     267    <span class="n">arrows</span> <span class="o">=</span> <span class="p">{}</span>
     268    <span class="k">for</span> <span class="n">direc</span> <span class="ow">in</span> <span class="p">(</span><span class="s">&#39;left&#39;</span><span class="p">,</span><span class="s">&#39;right&#39;</span><span class="p">,</span><span class="s">&#39;up&#39;</span><span class="p">,</span><span class="s">&#39;down&#39;</span><span class="p">,</span><span class="s">&#39;Expand X&#39;</span><span class="p">,</span>
     269                  <span class="s">&#39;Shrink X&#39;</span><span class="p">,</span><span class="s">&#39;Expand Y&#39;</span><span class="p">,</span><span class="s">&#39;Shrink Y&#39;</span><span class="p">):</span>
     270        <span class="n">arrows</span><span class="p">[</span><span class="n">direc</span><span class="p">]</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
    265271    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">plotCanvas</span><span class="p">):</span>
     272        <span class="sd">&#39;&#39;&#39;Adds additional icons to toolbar&#39;&#39;&#39;</span>
    266273        <span class="n">Toolbar</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">plotCanvas</span><span class="p">)</span>
    267         <span class="n">POSITION_OF_CONFIGURE_SUBPLOTS_BTN</span> <span class="o">=</span> <span class="mi">6</span>
     274        <span class="bp">self</span><span class="o">.</span><span class="n">plotCanvas</span> <span class="o">=</span> <span class="n">plotCanvas</span>
     275        <span class="n">POSITION_OF_CONFIGURE_SUBPLOTS_BTN</span> <span class="o">=</span> <span class="mi">6</span> <span class="c"># remove one button, nos. start at 1!</span>
    268276        <span class="bp">self</span><span class="o">.</span><span class="n">DeleteToolByPos</span><span class="p">(</span><span class="n">POSITION_OF_CONFIGURE_SUBPLOTS_BTN</span><span class="p">)</span>
    269         <span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span>
     277        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span>
    270278        <span class="n">key</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">__file__</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span><span class="s">&#39;key.ico&#39;</span><span class="p">)</span>
    271279        <span class="bp">self</span><span class="o">.</span><span class="n">AddSimpleTool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ON_MPL_KEY</span><span class="p">,</span><span class="n">_load_bitmap</span><span class="p">(</span><span class="n">key</span><span class="p">),</span><span class="s">&#39;Key press&#39;</span><span class="p">,</span><span class="s">&#39;Select key press&#39;</span><span class="p">)</span>
     
    274282        <span class="bp">self</span><span class="o">.</span><span class="n">AddSimpleTool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ON_MPL_HELP</span><span class="p">,</span><span class="n">_load_bitmap</span><span class="p">(</span><span class="n">help</span><span class="p">),</span><span class="s">&#39;Help on&#39;</span><span class="p">,</span><span class="s">&#39;Show help on&#39;</span><span class="p">)</span>
    275283        <span class="n">wx</span><span class="o">.</span><span class="n">EVT_TOOL</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">ON_MPL_HELP</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">OnHelp</span><span class="p">)</span>
     284        <span class="c"># add arrow keys to control zooming</span>
     285        <span class="k">for</span> <span class="n">direc</span> <span class="ow">in</span> <span class="p">(</span><span class="s">&#39;left&#39;</span><span class="p">,</span><span class="s">&#39;right&#39;</span><span class="p">,</span><span class="s">&#39;up&#39;</span><span class="p">,</span><span class="s">&#39;down&#39;</span><span class="p">):</span>
     286            <span class="n">wx</span><span class="o">.</span><span class="n">EVT_TOOL</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="n">direc</span><span class="p">],</span><span class="bp">self</span><span class="o">.</span><span class="n">OnArrow</span><span class="p">)</span>
     287            <span class="n">icon</span> <span class="o">=</span>  <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">__file__</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span><span class="n">direc</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;arrow.ico&#39;</span><span class="p">)</span>
     288            <span class="bp">self</span><span class="o">.</span><span class="n">AddSimpleTool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="n">direc</span><span class="p">],</span><span class="n">_load_bitmap</span><span class="p">(</span><span class="n">icon</span><span class="p">),</span>
     289                               <span class="s">&#39;Shift &#39;</span><span class="o">+</span><span class="n">direc</span><span class="p">,</span><span class="s">&#39;Shift plot &#39;</span><span class="o">+</span><span class="n">direc</span><span class="p">)</span>
     290        <span class="k">for</span> <span class="n">direc</span> <span class="ow">in</span> <span class="p">(</span><span class="s">&#39;Expand X&#39;</span><span class="p">,</span><span class="s">&#39;Shrink X&#39;</span><span class="p">,</span><span class="s">&#39;Expand Y&#39;</span><span class="p">,</span><span class="s">&#39;Shrink Y&#39;</span><span class="p">):</span>
     291            <span class="n">fil</span> <span class="o">=</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">i</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">direc</span><span class="o">.</span><span class="n">split</span><span class="p">()]</span><span class="o">+</span><span class="p">[</span><span class="s">&#39;arrow.ico&#39;</span><span class="p">])</span>
     292            <span class="n">wx</span><span class="o">.</span><span class="n">EVT_TOOL</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="n">direc</span><span class="p">],</span><span class="bp">self</span><span class="o">.</span><span class="n">OnArrow</span><span class="p">)</span>
     293            <span class="n">icon</span> <span class="o">=</span>  <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">__file__</span><span class="p">)[</span><span class="mi">0</span><span class="p">],</span><span class="n">fil</span><span class="p">)</span>
     294            <span class="bp">self</span><span class="o">.</span><span class="n">AddSimpleTool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="n">direc</span><span class="p">],</span><span class="n">_load_bitmap</span><span class="p">(</span><span class="n">icon</span><span class="p">),</span>
     295                               <span class="n">direc</span><span class="p">,</span><span class="s">&#39;Zoom: &#39;</span><span class="o">+</span><span class="n">direc</span><span class="p">)</span>
     296<div class="viewcode-block" id="GSASIItoolbar.OnArrow"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.GSASIItoolbar.OnArrow">[docs]</a>    <span class="k">def</span> <span class="nf">OnArrow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
     297        <span class="s">&#39;reposition limits to scan or zoom by button press&#39;</span>
     298        <span class="n">ax</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plotCanvas</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">get_axes</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
     299        <span class="n">xmin</span><span class="p">,</span><span class="n">xmax</span><span class="p">,</span><span class="n">ymin</span><span class="p">,</span><span class="n">ymax</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">axis</span><span class="p">()</span>
     300        <span class="c">#print xmin,xmax,ymin,ymax</span>
     301        <span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;right&#39;</span><span class="p">]:</span>
     302            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">xmax</span><span class="o">-</span><span class="n">xmin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     303            <span class="n">xmin</span> <span class="o">-=</span> <span class="n">delta</span>
     304            <span class="n">xmax</span> <span class="o">-=</span> <span class="n">delta</span>
     305        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;left&#39;</span><span class="p">]:</span>
     306            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">xmax</span><span class="o">-</span><span class="n">xmin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     307            <span class="n">xmin</span> <span class="o">+=</span> <span class="n">delta</span>
     308            <span class="n">xmax</span> <span class="o">+=</span> <span class="n">delta</span>
     309        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;up&#39;</span><span class="p">]:</span>
     310            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">ymax</span><span class="o">-</span><span class="n">ymin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     311            <span class="n">ymin</span> <span class="o">-=</span> <span class="n">delta</span>
     312            <span class="n">ymax</span> <span class="o">-=</span> <span class="n">delta</span>
     313        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;down&#39;</span><span class="p">]:</span>
     314            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">ymax</span><span class="o">-</span><span class="n">ymin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     315            <span class="n">ymin</span> <span class="o">+=</span> <span class="n">delta</span>
     316            <span class="n">ymax</span> <span class="o">+=</span> <span class="n">delta</span>
     317        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;Expand X&#39;</span><span class="p">]:</span>
     318            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">xmax</span><span class="o">-</span><span class="n">xmin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     319            <span class="n">xmin</span> <span class="o">+=</span> <span class="n">delta</span>
     320            <span class="n">xmax</span> <span class="o">-=</span> <span class="n">delta</span>
     321        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;Expand Y&#39;</span><span class="p">]:</span>
     322            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">ymax</span><span class="o">-</span><span class="n">ymin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     323            <span class="n">ymin</span> <span class="o">+=</span> <span class="n">delta</span>
     324            <span class="n">ymax</span> <span class="o">-=</span> <span class="n">delta</span>
     325        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;Shrink X&#39;</span><span class="p">]:</span>
     326            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">xmax</span><span class="o">-</span><span class="n">xmin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     327            <span class="n">xmin</span> <span class="o">-=</span> <span class="n">delta</span>
     328            <span class="n">xmax</span> <span class="o">+=</span> <span class="n">delta</span>
     329        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">Id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">arrows</span><span class="p">[</span><span class="s">&#39;Shrink Y&#39;</span><span class="p">]:</span>
     330            <span class="n">delta</span> <span class="o">=</span> <span class="p">(</span><span class="n">ymax</span><span class="o">-</span><span class="n">ymin</span><span class="p">)</span><span class="o">/</span><span class="mf">10.</span>
     331            <span class="n">ymin</span> <span class="o">-=</span> <span class="n">delta</span>
     332            <span class="n">ymax</span> <span class="o">+=</span> <span class="n">delta</span>
     333        <span class="k">else</span><span class="p">:</span>
     334            <span class="c"># should not happen!</span>
     335            <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">IPyBreak</span><span class="p">()</span>
     336        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">toolbar</span><span class="o">.</span><span class="n">push_current</span><span class="p">()</span>
     337        <span class="n">ax</span><span class="o">.</span><span class="n">axis</span><span class="p">((</span><span class="n">xmin</span><span class="p">,</span><span class="n">xmax</span><span class="p">,</span><span class="n">ymin</span><span class="p">,</span><span class="n">ymax</span><span class="p">))</span>
     338        <span class="c">#print xmin,xmax,ymin,ymax</span>
     339        <span class="bp">self</span><span class="o">.</span><span class="n">plotCanvas</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
     340        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">toolbar</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
     341<span class="c">#        self.parent.toolbar.push_current()</span>
     342        </div>
    276343<div class="viewcode-block" id="GSASIItoolbar.OnHelp"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.GSASIItoolbar.OnHelp">[docs]</a>    <span class="k">def</span> <span class="nf">OnHelp</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    277         <span class="s">&#39;needs a doc string&#39;</span>
     344        <span class="s">&#39;Respond to press of help button on plot toolbar&#39;</span>
    278345        <span class="n">Page</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span>
    279346        <span class="n">pageNo</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    280347        <span class="n">bookmark</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">pageNo</span><span class="p">)</span>
    281348        <span class="n">bookmark</span> <span class="o">=</span> <span class="n">bookmark</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s">&#39;)&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&#39;(&#39;</span><span class="p">,</span><span class="s">&#39;_&#39;</span><span class="p">)</span>
    282         <span class="n">G2gd</span><span class="o">.</span><span class="n">ShowHelp</span><span class="p">(</span><span class="n">bookmark</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">TopLevelParent</span><span class="p">)</span></div>
     349        <span class="n">G2G</span><span class="o">.</span><span class="n">ShowHelp</span><span class="p">(</span><span class="n">bookmark</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">TopLevelParent</span><span class="p">)</span></div>
    283350<div class="viewcode-block" id="GSASIItoolbar.OnKey"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.GSASIItoolbar.OnKey">[docs]</a>    <span class="k">def</span> <span class="nf">OnKey</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    284         <span class="s">&#39;needs a doc string&#39;</span>
     351        <span class="sd">&#39;&#39;&#39;Provide user with list of keystrokes defined for plot as well as an</span>
     352<span class="sd">        alternate way to access the same functionality</span>
     353<span class="sd">        &#39;&#39;&#39;</span>
    285354        <span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span>
    286355        <span class="k">if</span> <span class="n">parent</span><span class="o">.</span><span class="n">Choice</span><span class="p">:</span>
     
    321390        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;d&#39;</span><span class="p">:</span>
    322391            <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">]</span> <span class="o">/=</span> <span class="mf">1.1</span>
    323         <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;+&#39;</span><span class="p">:</span>
     392        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="s">&#39;=&#39;</span><span class="p">]:</span>
    324393            <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Layer&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">Data</span><span class="p">[</span><span class="s">&#39;Layer&#39;</span><span class="p">]</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span><span class="n">HKLmax</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
    325394        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;-&#39;</span><span class="p">:</span>
     
    410479    <span class="n">Super</span> <span class="o">=</span> <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Super&#39;</span><span class="p">]</span>
    411480    <span class="n">SuperVec</span> <span class="o">=</span> <span class="p">[]</span>
    412     <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Super</span><span class="p">):</span>
    413         <span class="n">SuperVec</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Data</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
    414         <span class="n">SuperVec</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">SuperVec</span><span class="p">)</span>
     481    <span class="k">if</span> <span class="n">Super</span><span class="p">:</span>
     482        <span class="n">SuperVec</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">Data</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
    415483    <span class="n">FoMax</span> <span class="o">=</span> <span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">FosqMax</span><span class="p">)</span>
    416484    <span class="n">xlabel</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;k, h=&#39;</span><span class="p">,</span><span class="s">&#39;h, k=&#39;</span><span class="p">,</span><span class="s">&#39;h, l=&#39;</span><span class="p">]</span>
     
    429497        <span class="k">else</span><span class="p">:</span>
    430498            <span class="n">Fosq</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Fcsq</span> <span class="o">=</span> <span class="n">refl</span><span class="p">[</span><span class="mi">8</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="mf">1.0</span><span class="p">,</span><span class="n">refl</span><span class="p">[</span><span class="mi">9</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span>
    431         <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">H</span><span class="o">+</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">SuperVec</span><span class="o">*</span><span class="n">refl</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">3</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">))</span>
     499        <span class="k">if</span> <span class="n">Super</span><span class="p">:</span>
     500            <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">H</span><span class="o">+</span><span class="n">SuperVec</span><span class="o">*</span><span class="n">refl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span>
     501        <span class="k">else</span><span class="p">:</span>
     502            <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">H</span><span class="p">)</span>
    432503        <span class="n">HKLF</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">Fosq</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Fcsq</span><span class="p">])</span>
    433504        <span class="k">if</span> <span class="n">H</span><span class="p">[</span><span class="n">izone</span><span class="p">]</span> <span class="o">==</span> <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Layer&#39;</span><span class="p">]:</span>
     
    462533                    <span class="n">A</span> <span class="o">=</span> <span class="p">(</span><span class="n">Fosq</span><span class="o">-</span><span class="n">Fcsq</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="mi">3</span><span class="o">*</span><span class="n">sig</span><span class="p">)</span>
    463534                <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">A</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">3.0</span><span class="p">:</span> <span class="n">A</span> <span class="o">=</span> <span class="mi">0</span>
    464                 <span class="n">B</span> <span class="o">=</span> <span class="mi">0</span>
    465             <span class="n">h</span> <span class="o">=</span> <span class="n">H</span><span class="o">+</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">SuperVec</span><span class="o">*</span><span class="n">refl</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">3</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>                   
     535                <span class="n">B</span> <span class="o">=</span> <span class="mi">0</span>
     536            <span class="k">if</span> <span class="n">Super</span><span class="p">:</span>
     537                <span class="n">h</span> <span class="o">=</span> <span class="n">H</span><span class="o">+</span><span class="n">SuperVec</span><span class="o">*</span><span class="n">refl</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>               
     538            <span class="k">else</span><span class="p">:</span>
     539                <span class="n">h</span> <span class="o">=</span> <span class="n">H</span>
    466540            <span class="n">xy</span> <span class="o">=</span> <span class="p">(</span><span class="n">h</span><span class="p">[</span><span class="n">pzone</span><span class="p">[</span><span class="n">izone</span><span class="p">][</span><span class="mi">0</span><span class="p">]],</span><span class="n">h</span><span class="p">[</span><span class="n">pzone</span><span class="p">[</span><span class="n">izone</span><span class="p">][</span><span class="mi">1</span><span class="p">]])</span>
    467541            <span class="k">if</span> <span class="n">Type</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;|DFsq|/sig&#39;</span><span class="p">,</span><span class="s">&#39;|DFsq|&gt;sig&#39;</span><span class="p">,</span><span class="s">&#39;|DFsq|&gt;3sig&#39;</span><span class="p">]:</span>
     
    504578<span class="c">################################################################################</span>
    505579</div>
    506 <div class="viewcode-block" id="Plot3DSngl"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.Plot3DSngl">[docs]</a><span class="k">def</span> <span class="nf">Plot3DSngl</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span><span class="n">Data</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">hklRef</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">Title</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">):</span>
     580<div class="viewcode-block" id="Plot3DSngl"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.Plot3DSngl">[docs]</a><span class="k">def</span> <span class="nf">Plot3DSngl</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span><span class="n">Data</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">hklRef</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">Title</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
    507581    <span class="sd">&#39;&#39;&#39;3D Structure factor plotting package - displays reflections as rings proportional</span>
    508582<span class="sd">        to F, F**2, etc. as requested as 3D array</span>
    509583<span class="sd">    &#39;&#39;&#39;</span>
    510584
     585    <span class="k">global</span> <span class="n">ifBox</span>
     586    <span class="n">ifBox</span> <span class="o">=</span> <span class="bp">False</span>
    511587    <span class="k">def</span> <span class="nf">OnKeyBox</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    512588        <span class="n">mode</span> <span class="o">=</span> <span class="n">cb</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     
    520596                    <span class="k">print</span> <span class="s">&quot;PIL/pillow Image module not present. Cannot save images without this&quot;</span>
    521597                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">&quot;PIL/pillow Image module not found&quot;</span><span class="p">)</span>
    522             <span class="n">Fname</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">Mydir</span><span class="p">,</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;.&#39;</span><span class="o">+</span><span class="n">mode</span><span class="p">)</span>
     598            <span class="k">try</span><span class="p">:</span>
     599                <span class="n">Fname</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">Mydir</span><span class="p">,</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;.&#39;</span><span class="o">+</span><span class="n">mode</span><span class="p">)</span>
     600            <span class="k">except</span> <span class="ne">NameError</span><span class="p">:</span>   <span class="c">#for when generalData doesn&#39;t exist!</span>
     601                <span class="n">Fname</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">Mydir</span><span class="p">,</span><span class="s">&#39;unknown&#39;</span><span class="o">+</span><span class="s">&#39;.&#39;</span><span class="o">+</span><span class="n">mode</span><span class="p">)</span>
     602            <span class="k">print</span> <span class="n">Fname</span><span class="o">+</span><span class="s">&#39; saved&#39;</span>
    523603            <span class="n">size</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span>
    524604            <span class="n">glPixelStorei</span><span class="p">(</span><span class="n">GL_UNPACK_ALIGNMENT</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
    525605            <span class="k">if</span> <span class="n">mode</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;jpeg&#39;</span><span class="p">,]:</span>
    526606                <span class="n">Pix</span> <span class="o">=</span> <span class="n">glReadPixels</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">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">GL_RGBA</span><span class="p">,</span> <span class="n">GL_UNSIGNED_BYTE</span><span class="p">)</span>
    527                 <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGBA&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
     607                <span class="n">im</span> <span class="o">=</span> <span class="n">Im</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGBA&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
    528608            <span class="k">else</span><span class="p">:</span>
    529609                <span class="n">Pix</span> <span class="o">=</span> <span class="n">glReadPixels</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">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">GL_RGB</span><span class="p">,</span> <span class="n">GL_UNSIGNED_BYTE</span><span class="p">)</span>
    530                 <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGB&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
     610                <span class="n">im</span> <span class="o">=</span> <span class="n">Im</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGB&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
    531611            <span class="n">im</span><span class="o">.</span><span class="n">fromstring</span><span class="p">(</span><span class="n">Pix</span><span class="p">)</span>
    532612            <span class="n">im</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">Fname</span><span class="p">,</span><span class="n">mode</span><span class="p">)</span>
     
    540620       
    541621    <span class="k">def</span> <span class="nf">OnKey</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>           <span class="c">#on key UP!!</span>
     622        <span class="k">global</span> <span class="n">ifBox</span>
    542623        <span class="n">Choice</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;F&#39;</span><span class="p">:</span><span class="s">&#39;Fo&#39;</span><span class="p">,</span><span class="s">&#39;S&#39;</span><span class="p">:</span><span class="s">&#39;Fosq&#39;</span><span class="p">,</span><span class="s">&#39;U&#39;</span><span class="p">:</span><span class="s">&#39;Unit&#39;</span><span class="p">,</span><span class="s">&#39;D&#39;</span><span class="p">:</span><span class="s">&#39;dFsq&#39;</span><span class="p">,</span><span class="s">&#39;W&#39;</span><span class="p">:</span><span class="s">&#39;dFsq/sig&#39;</span><span class="p">}</span>
    543624        <span class="k">try</span><span class="p">:</span>
     
    559640            <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;Quaternion&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Q</span>
    560641            <span class="n">Q</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;Quaternion&#39;</span><span class="p">]</span>
    561         <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">&#39;+&#39;</span><span class="p">:</span>
     642        <span class="k">elif</span> <span class="n">key</span> <span class="ow">in</span> <span class="s">&#39;B&#39;</span><span class="p">:</span>
     643            <span class="n">ifBox</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">ifBox</span>
     644        <span class="k">elif</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="s">&#39;=&#39;</span><span class="p">]:</span>
    562645            <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">]</span> <span class="o">*=</span> <span class="mf">1.25</span>
    563646        <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">&#39;-&#39;</span><span class="p">:</span>
    564647            <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">]</span> <span class="o">/=</span> <span class="mf">1.25</span>
    565648        <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">&#39;0&#39;</span><span class="p">:</span>
     649            <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</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="mi">0</span><span class="p">]</span>
    566650            <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.0</span>
    567651        <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">&#39;I&#39;</span><span class="p">:</span>
     
    572656           
    573657    <span class="n">Name</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">)</span>
    574     <span class="k">if</span> <span class="n">Title</span> <span class="o">!=</span> <span class="s">&#39;no phase&#39;</span><span class="p">:</span>
     658    <span class="k">if</span> <span class="n">Title</span><span class="p">:</span> <span class="c">#NB: save image as e.g. jpeg will fail if False; MyDir is unknown</span>
    575659        <span class="n">generalData</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">GetPhaseData</span><span class="p">()[</span><span class="n">Title</span><span class="p">][</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    576660        <span class="n">cell</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Cell&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span>
     661        <span class="n">Mydir</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Mydir&#39;</span><span class="p">]</span>
    577662    <span class="k">else</span><span class="p">:</span>
    578663        <span class="n">cell</span> <span class="o">=</span> <span class="p">[</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">90</span><span class="p">,</span><span class="mi">90</span><span class="p">,</span><span class="mi">90</span><span class="p">]</span>
     664        <span class="n">Mydir</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dirname</span>
    579665    <span class="n">drawingData</span> <span class="o">=</span> <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]</span>
    580666    <span class="n">Super</span> <span class="o">=</span> <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Super&#39;</span><span class="p">]</span>
    581667    <span class="n">SuperVec</span> <span class="o">=</span> <span class="p">[]</span>
    582     <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Super</span><span class="p">):</span>
    583         <span class="n">SuperVec</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Data</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
    584         <span class="n">SuperVec</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">SuperVec</span><span class="p">)</span>
     668    <span class="k">if</span> <span class="n">Super</span><span class="p">:</span>
     669        <span class="n">SuperVec</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">Data</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
    585670    <span class="n">defaultViewPt</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">])</span>
    586671    <span class="n">Amat</span><span class="p">,</span><span class="n">Bmat</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2AB</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span>         <span class="c">#Amat - crystal to cartesian, Bmat - inverse</span>
     
    599684    <span class="n">uBox</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="mi">0</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="mi">1</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="mi">1</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="mi">0</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="mi">0</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="mi">1</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="mi">1</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="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">]])</span>
    600685    <span class="n">uEdges</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span>
    601         <span class="p">[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">1</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">3</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">4</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">2</span><span class="p">]]])</span>
    602     <span class="n">uColors</span> <span class="o">=</span> <span class="p">[</span><span class="n">Rd</span><span class="p">,</span><span class="n">Gr</span><span class="p">,</span><span class="n">Bl</span><span class="p">]</span>
    603    
     686        <span class="p">[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">1</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">3</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">4</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">2</span><span class="p">]],</span>
     687        <span class="p">[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">3</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">5</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">6</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">7</span><span class="p">]],</span>
     688        <span class="p">[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">5</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">6</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">6</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">7</span><span class="p">]],[</span><span class="n">uBox</span><span class="p">[</span><span class="mi">7</span><span class="p">],</span><span class="n">uBox</span><span class="p">[</span><span class="mi">4</span><span class="p">]]])</span>
     689    <span class="n">uColors</span> <span class="o">=</span> <span class="p">[</span><span class="n">Rd</span><span class="p">,</span><span class="n">Gr</span><span class="p">,</span><span class="n">Bl</span><span class="p">,</span> <span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span> <span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span> <span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">]</span>
    604690    <span class="k">def</span> <span class="nf">FillHKLRC</span><span class="p">():</span>
    605691        <span class="n">R</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">hklRef</span><span class="p">))</span>
     
    613699            <span class="k">else</span><span class="p">:</span>
    614700                <span class="n">Fosq</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Fcsq</span> <span class="o">=</span> <span class="n">refl</span><span class="p">[</span><span class="mi">8</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="mf">1.0</span><span class="p">,</span><span class="n">refl</span><span class="p">[</span><span class="mi">9</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span>
    615             <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">H</span><span class="o">+</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">SuperVec</span><span class="o">*</span><span class="n">refl</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">3</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">))</span>
     701            <span class="k">if</span> <span class="n">Super</span><span class="p">:</span>
     702                <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">H</span><span class="o">+</span><span class="n">SuperVec</span><span class="o">*</span><span class="n">refl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span>
     703            <span class="k">else</span><span class="p">:</span>
     704                <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">H</span><span class="p">)</span>
    616705            <span class="k">if</span> <span class="n">Data</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;Unit&#39;</span><span class="p">:</span>
    617706                <span class="n">R</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.1</span>
     
    762851        <span class="n">glLightfv</span><span class="p">(</span><span class="n">GL_LIGHT0</span><span class="p">,</span><span class="n">GL_DIFFUSE</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="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">])</span>
    763852       
     853    <span class="k">def</span> <span class="nf">RenderBox</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">):</span>
     854        <span class="n">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">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">])</span>
     855        <span class="n">glEnable</span><span class="p">(</span><span class="n">GL_COLOR_MATERIAL</span><span class="p">)</span>
     856        <span class="n">glLineWidth</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
     857        <span class="n">glPushMatrix</span><span class="p">()</span>
     858        <span class="n">glTranslate</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">)</span>
     859        <span class="n">glColor4ubv</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="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">])</span>
     860        <span class="n">glBegin</span><span class="p">(</span><span class="n">GL_LINES</span><span class="p">)</span>
     861        <span class="k">for</span> <span class="n">line</span><span class="p">,</span><span class="n">color</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">uEdges</span><span class="p">,</span><span class="n">uColors</span><span class="p">):</span>
     862            <span class="n">glColor3ubv</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
     863            <span class="n">glVertex3fv</span><span class="p">(</span><span class="n">line</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
     864            <span class="n">glVertex3fv</span><span class="p">(</span><span class="n">line</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
     865        <span class="n">glEnd</span><span class="p">()</span>
     866        <span class="n">glPopMatrix</span><span class="p">()</span>
     867        <span class="n">glColor4ubv</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="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">])</span>
     868        <span class="n">glDisable</span><span class="p">(</span><span class="n">GL_COLOR_MATERIAL</span><span class="p">)</span>
     869       
    764870    <span class="k">def</span> <span class="nf">RenderUnitVectors</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">):</span>
    765871        <span class="n">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">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">])</span>
     
    769875        <span class="n">glTranslate</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">)</span>
    770876        <span class="n">glBegin</span><span class="p">(</span><span class="n">GL_LINES</span><span class="p">)</span>
    771         <span class="k">for</span> <span class="n">line</span><span class="p">,</span><span class="n">color</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">uEdges</span><span class="p">,</span><span class="n">uColors</span><span class="p">):</span>
     877        <span class="k">for</span> <span class="n">line</span><span class="p">,</span><span class="n">color</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">uEdges</span><span class="p">,</span><span class="n">uColors</span><span class="p">)[:</span><span class="mi">3</span><span class="p">]:</span>
    772878            <span class="n">glColor3ubv</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
    773879            <span class="n">glVertex3fv</span><span class="p">(</span><span class="o">-</span><span class="n">line</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
     
    833939        <span class="n">glTranslate</span><span class="p">(</span><span class="o">-</span><span class="n">Tx</span><span class="p">,</span><span class="o">-</span><span class="n">Ty</span><span class="p">,</span><span class="o">-</span><span class="n">Tz</span><span class="p">)</span>
    834940        <span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
    835         <span class="n">RenderUnitVectors</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">)</span>
     941        <span class="k">if</span> <span class="n">ifBox</span><span class="p">:</span>
     942            <span class="n">RenderBox</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">)</span>
     943        <span class="k">else</span><span class="p">:</span>
     944            <span class="n">RenderUnitVectors</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">)</span>
    836945        <span class="n">RenderUnitVectors</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="mi">0</span><span class="p">)</span>
    837946        <span class="n">RenderDots</span><span class="p">(</span><span class="n">HKL</span><span class="p">,</span><span class="n">RC</span><span class="p">)</span>
     
    854963    <span class="n">Page</span><span class="o">.</span><span class="n">SetFocus</span><span class="p">()</span>
    855964    <span class="n">Page</span><span class="o">.</span><span class="n">Choice</span> <span class="o">=</span> <span class="bp">None</span>
    856     <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39; save as/key:&#39;</span><span class="p">,</span><span class="s">&#39;jpeg&#39;</span><span class="p">,</span><span class="s">&#39;tiff&#39;</span><span class="p">,</span><span class="s">&#39;bmp&#39;</span><span class="p">,</span><span class="s">&#39;c: recenter to default&#39;</span><span class="p">,</span><span class="s">&#39;+: increase scale&#39;</span><span class="p">,</span>
     965    <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39; save as/key:&#39;</span><span class="p">,</span><span class="s">&#39;jpeg&#39;</span><span class="p">,</span><span class="s">&#39;tiff&#39;</span><span class="p">,</span><span class="s">&#39;bmp&#39;</span><span class="p">,</span><span class="s">&#39;c: recenter to default&#39;</span><span class="p">,</span><span class="s">&#39;b: toggle box &#39;</span><span class="p">,</span><span class="s">&#39;+: increase scale&#39;</span><span class="p">,</span>
    857966    <span class="s">&#39;-: decrease scale&#39;</span><span class="p">,</span><span class="s">&#39;f: Fobs&#39;</span><span class="p">,</span><span class="s">&#39;s: Fobs**2&#39;</span><span class="p">,</span><span class="s">&#39;u: unit&#39;</span><span class="p">,</span><span class="s">&#39;d: Fo-Fc&#39;</span><span class="p">,</span><span class="s">&#39;w: DF/sig&#39;</span><span class="p">,</span><span class="s">&#39;i: toggle intensity scaling&#39;</span><span class="p">]</span>
    858967    <span class="n">cb</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">status</span><span class="p">,</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="p">,</span><span class="n">choices</span><span class="o">=</span><span class="n">choice</span><span class="p">)</span>
     
    869978    <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">Amat</span><span class="p">,</span><span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
    870979    <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">&#39;backColor&#39;</span><span class="p">]</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="nb">list</span><span class="p">(</span><span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;backColor&#39;</span><span class="p">])</span><span class="o">+</span><span class="p">[</span><span class="mi">0</span><span class="p">,])</span><span class="o">/</span><span class="mf">255.</span>
     980    <span class="n">Page</span><span class="o">.</span><span class="n">controls</span> <span class="o">=</span> <span class="n">Data</span>
    871981    <span class="k">try</span><span class="p">:</span>
    872982        <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">SetCurrent</span><span class="p">()</span>
     
    8911001    <span class="k">global</span> <span class="n">Ymax</span>
    8921002    <span class="n">plottype</span> <span class="o">=</span> <span class="n">plotType</span>
    893    
     1003<span class="c">#patch</span>
     1004    <span class="n">data</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">)</span>
     1005    <span class="k">if</span> <span class="s">&#39;Offset&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">and</span> <span class="n">plotType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;PWDR&#39;</span><span class="p">,</span><span class="s">&#39;SASD&#39;</span><span class="p">]:</span>     <span class="c">#plot offset data</span>
     1006        <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s">&#39;Offset&#39;</span><span class="p">:[</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">],</span><span class="s">&#39;delOffset&#39;</span><span class="p">:</span><span class="mf">0.02</span><span class="p">,</span><span class="s">&#39;refOffset&#39;</span><span class="p">:</span><span class="o">-</span><span class="mf">1.0</span><span class="p">,</span>
     1007            <span class="s">&#39;refDelt&#39;</span><span class="p">:</span><span class="mf">0.01</span><span class="p">,</span><span class="s">&#39;qPlot&#39;</span><span class="p">:</span><span class="bp">False</span><span class="p">,</span><span class="s">&#39;dPlot&#39;</span><span class="p">:</span><span class="bp">False</span><span class="p">,</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">:</span><span class="bp">False</span><span class="p">})</span>
     1008        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">SetItemPyData</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
     1009<span class="c">#end patch</span>
    8941010    <span class="k">def</span> <span class="nf">OnPlotKeyPress</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    8951011        <span class="k">try</span><span class="p">:</span>        <span class="c">#one way to check if key stroke will work on plot</span>
     
    9161032                <span class="n">G2frame</span><span class="o">.</span><span class="n">logPlot</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">logPlot</span>
    9171033                <span class="k">if</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">logPlot</span><span class="p">:</span>
    918                     <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
     1034                    <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
    9191035                <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>
    9201036        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;s&#39;</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     
    9301046                <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    9311047            <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span><span class="p">:</span>
    932                 <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span>
    933                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
    934                     <span class="n">G2frame</span><span class="o">.</span><span class="n">delOffset</span> <span class="o">=</span> <span class="o">.</span><span class="mo">002</span>
    935                     <span class="n">G2frame</span><span class="o">.</span><span class="n">refOffset</span> <span class="o">=</span> <span class="o">-</span><span class="mf">1.0</span>
    936                     <span class="n">G2frame</span><span class="o">.</span><span class="n">refDelt</span> <span class="o">=</span> <span class="o">.</span><span class="mo">001</span>
     1048                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]</span>
     1049                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
     1050                    <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;delOffset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">.</span><span class="mo">002</span>
     1051                    <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refOffset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="mf">1.0</span>
     1052                    <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refDelt&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">.</span><span class="mo">001</span>
    9371053                <span class="k">else</span><span class="p">:</span>
    938                     <span class="n">G2frame</span><span class="o">.</span><span class="n">delOffset</span> <span class="o">=</span> <span class="o">.</span><span class="mo">02</span>
    939                     <span class="n">G2frame</span><span class="o">.</span><span class="n">refOffset</span> <span class="o">=</span> <span class="o">-</span><span class="mf">1.0</span>
    940                     <span class="n">G2frame</span><span class="o">.</span><span class="n">refDelt</span> <span class="o">=</span> <span class="o">.</span><span class="mo">01</span>
     1054                    <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;delOffset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">.</span><span class="mo">02</span>
     1055                    <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refOffset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="mf">1.0</span>
     1056                    <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refDelt&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">.</span><span class="mo">01</span>
    9411057            <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>
    9421058        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;u&#39;</span> <span class="ow">and</span> <span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span><span class="p">):</span>
    9431059            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    9441060                <span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span><span class="o">*</span><span class="mf">1.2</span><span class="p">)</span>
    945             <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">100.</span><span class="p">:</span>
    946                 <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
     1061            <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">100.</span><span class="p">:</span>
     1062                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
    9471063        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;d&#39;</span> <span class="ow">and</span> <span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span><span class="p">):</span>
    9481064            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    9491065                <span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span><span class="o">*</span><span class="mf">0.8</span><span class="p">)</span>
    950             <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mf">0.</span><span class="p">:</span>
    951                 <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
     1066            <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mf">0.</span><span class="p">:</span>
     1067                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
    9521068        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;l&#39;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span><span class="p">:</span>
    953             <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
     1069            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
    9541070        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;r&#39;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span><span class="p">:</span>
    955             <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
     1071            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
    9561072        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;o&#39;</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span><span class="p">:</span>
    9571073            <span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span> <span class="o">=</span> <span class="mf">1.0</span>
    958             <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
     1074            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
    9591075        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;c&#39;</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    9601076            <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>
    9611077            <span class="k">if</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    9621078                <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span> <span class="o">=</span> <span class="bp">False</span>
    963                 <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">]</span>
     1079                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">]</span>
    9641080            <span class="k">else</span><span class="p">:</span>
    9651081                <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span> <span class="o">=</span> <span class="bp">True</span>               
     
    9681084            <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    9691085                <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>
    970                 <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span>
    971                 <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span> <span class="o">=</span> <span class="bp">False</span>
     1086                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span>
     1087                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    9721088            <span class="k">elif</span> <span class="s">&#39;SASD&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    9731089                <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>
    9741090                <span class="n">G2frame</span><span class="o">.</span><span class="n">sqPlot</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">sqPlot</span>
    9751091        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;t&#39;</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    976             <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span>
    977             <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span> <span class="o">=</span> <span class="bp">False</span>
     1092            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]</span>
     1093            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    9781094            <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>     
    9791095        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;m&#39;</span><span class="p">:</span>
    980             <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span> <span class="o">=</span> <span class="bp">False</span>
     1096            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    9811097            <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span>               
    9821098            <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>
    983         <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;+&#39;</span><span class="p">:</span>
     1099        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="s">&#39;=&#39;</span><span class="p">]:</span>
    9841100            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">:</span>
    9851101                <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="bp">False</span>
     
    9951111                <span class="n">G2frame</span><span class="o">.</span><span class="n">Interpolate</span> <span class="o">=</span> <span class="s">&#39;nearest&#39;</span>
    9961112            <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    997            
     1113        <span class="k">else</span><span class="p">:</span>
     1114<span class="c">#            print &#39;no binding for key&#39;,event.key</span>
     1115            <span class="c">#GSASIIpath.IPyBreak()</span>
     1116            <span class="k">return</span>
    9981117        <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">PlotPatterns</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="n">newPlot</span><span class="p">,</span><span class="n">plotType</span><span class="o">=</span><span class="n">plottype</span><span class="p">)</span>
    9991118       
     
    10051124            <span class="k">try</span><span class="p">:</span>
    10061125                <span class="n">Parms</span><span class="p">,</span><span class="n">Parms2</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">,</span> <span class="s">&#39;Instrument Parameters&#39;</span><span class="p">))</span>
    1007                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1126                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    10081127                    <span class="n">q</span> <span class="o">=</span> <span class="n">xpos</span>
    10091128                    <span class="n">dsp</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">q</span>
     
    10151134                    <span class="n">q</span> <span class="o">=</span> <span class="n">xpos</span>
    10161135                    <span class="n">dsp</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">q</span>
    1017                 <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>
     1136                <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>
    10181137                    <span class="n">dsp</span> <span class="o">=</span> <span class="n">xpos</span>
    10191138                    <span class="n">q</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">dsp</span>
    10201139                    <span class="n">xpos</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xpos</span><span class="p">)</span>
     1140                <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span> <span class="ow">and</span> <span class="s">&#39;T&#39;</span> <span class="ow">in</span> <span class="n">Parms</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
     1141                    <span class="n">xpos</span> <span class="o">=</span> <span class="n">X</span><span class="p">[</span><span class="n">xpos</span><span class="p">]</span>                   
     1142                    <span class="n">dsp</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xpos</span><span class="p">)</span>
     1143                    <span class="n">q</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">dsp</span>
    10211144                <span class="k">else</span><span class="p">:</span>
    10221145                    <span class="n">dsp</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xpos</span><span class="p">)</span>
     
    10301153                    <span class="k">if</span> <span class="s">&#39;C&#39;</span> <span class="ow">in</span> <span class="n">Parms</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
    10311154                        <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    1032                             <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
     1155                            <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
    10331156                                <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;2-theta =</span><span class="si">%9.3f</span><span class="s"> d =</span><span class="si">%9.5f</span><span class="s"> q = </span><span class="si">%9.5f</span><span class="s"> sqrt(Intensity) =</span><span class="si">%9.2f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">xpos</span><span class="p">,</span><span class="n">dsp</span><span class="p">,</span><span class="n">q</span><span class="p">,</span><span class="n">ypos</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>
    10341157                            <span class="k">else</span><span class="p">:</span>
     
    10371160                            <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;q =</span><span class="si">%12.5g</span><span class="s"> Intensity =</span><span class="si">%12.5g</span><span class="s"> d =</span><span class="si">%9.1f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">q</span><span class="p">,</span><span class="n">ypos</span><span class="p">,</span><span class="n">dsp</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>
    10381161                    <span class="k">else</span><span class="p">:</span>
    1039                         <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
     1162                        <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
    10401163                            <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;TOF =</span><span class="si">%9.3f</span><span class="s"> d =</span><span class="si">%9.5f</span><span class="s"> q =</span><span class="si">%9.5f</span><span class="s"> sqrt(Intensity) =</span><span class="si">%9.2f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">xpos</span><span class="p">,</span><span class="n">dsp</span><span class="p">,</span><span class="n">q</span><span class="p">,</span><span class="n">ypos</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>
    10411164                        <span class="k">else</span><span class="p">:</span>
     
    10451168                <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">:</span>
    10461169                    <span class="n">found</span> <span class="o">=</span> <span class="p">[]</span>
    1047                     <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Index Peak List&#39;</span><span class="p">,</span><span class="s">&#39;Unit Cells List&#39;</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">]</span> <span class="ow">or</span> \
    1048                         <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">PickId</span><span class="p">):</span>
     1170                    <span class="n">pickIdText</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">)</span>
     1171                    <span class="k">if</span> <span class="n">pickIdText</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Index Peak List&#39;</span><span class="p">,</span><span class="s">&#39;Unit Cells List&#39;</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">]</span> <span class="ow">or</span> \
     1172                        <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">pickIdText</span><span class="p">:</span>
     1173                        <span class="n">indx</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
     1174                        <span class="k">if</span> <span class="n">pickIdText</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Index Peak List&#39;</span><span class="p">,</span><span class="s">&#39;Unit Cells List&#39;</span><span class="p">,]:</span>
     1175                            <span class="n">indx</span> <span class="o">=</span> <span class="o">-</span><span class="mi">2</span>
    10491176                        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">):</span>
    10501177                            <span class="n">view</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">toolbar</span><span class="o">.</span><span class="n">_views</span><span class="o">.</span><span class="n">forward</span><span class="p">()[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">2</span><span class="p">]</span>
    10511178                            <span class="n">wid</span> <span class="o">=</span> <span class="n">view</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">view</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
    1052                             <span class="n">found</span> <span class="o">=</span> <span class="n">HKL</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fabs</span><span class="p">(</span><span class="n">HKL</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">xpos</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">0.002</span><span class="o">*</span><span class="n">wid</span><span class="p">)]</span>
     1179                            <span class="n">found</span> <span class="o">=</span> <span class="n">HKL</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fabs</span><span class="p">(</span><span class="n">HKL</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="n">indx</span><span class="p">]</span><span class="o">-</span><span class="n">xpos</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">0.002</span><span class="o">*</span><span class="n">wid</span><span class="p">)]</span>
    10531180                        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">found</span><span class="p">):</span>
    1054                             <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span> <span class="o">=</span> <span class="n">found</span><span class="p">[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">3</span><span class="p">]</span>
    1055                             <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">h</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">k</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">l</span><span class="p">)))</span>
     1181                            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">found</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">&gt;</span> <span class="mi">6</span><span class="p">:</span>   <span class="c">#SS reflections</span>
     1182                                <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span> <span class="o">=</span> <span class="n">found</span><span class="p">[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">4</span><span class="p">]</span>
     1183                                <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">h</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">k</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">l</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">m</span><span class="p">)))</span>
     1184                            <span class="k">else</span><span class="p">:</span>
     1185                                <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span> <span class="o">=</span> <span class="n">found</span><span class="p">[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">3</span><span class="p">]</span>
     1186                                <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">,</span><span class="si">%d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">h</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">k</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">l</span><span class="p">)))</span>
    10561187                        <span class="k">else</span><span class="p">:</span>
    10571188                            <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
     
    10801211            <span class="k">if</span> <span class="n">ind</span><span class="o">.</span><span class="n">all</span><span class="p">()</span> <span class="o">!=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">and</span> <span class="n">ObsLine</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">get_label</span><span class="p">()</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="n">pick</span><span class="p">):</span>                                    <span class="c">#picked a data point</span>
    10811212                <span class="n">data</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">)</span>
    1082                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span><span class="p">:</span>                              <span class="c">#qplot - convert back to 2-theta</span>
     1213                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]:</span>                              <span class="c">#qplot - convert back to 2-theta</span>
    10831214                    <span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
    1084                 <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>                            <span class="c">#dplot - convert back to 2-theta</span>
     1215                <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>                            <span class="c">#dplot - convert back to 2-theta</span>
    10851216                    <span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
    10861217                <span class="n">XY</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">setPeakparms</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">Parms2</span><span class="p">,</span><span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">xy</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
     
    10951226                <span class="n">LimitId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span> <span class="s">&#39;Limits&#39;</span><span class="p">)</span>
    10961227                <span class="n">data</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">LimitId</span><span class="p">)</span>
    1097                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span><span class="p">:</span>                              <span class="c">#qplot - convert back to 2-theta</span>
     1228                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]:</span>                              <span class="c">#qplot - convert back to 2-theta</span>
    10981229                    <span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
    1099                 <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>                            <span class="c">#dplot - convert back to 2-theta</span>
     1230                <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>                            <span class="c">#dplot - convert back to 2-theta</span>
    11001231                    <span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xy</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
    11011232                <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">ifGetExclude</span><span class="p">:</span>
     
    11341265    <span class="k">def</span> <span class="nf">OnRelease</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    11351266        <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">itemPicked</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span>
     1267        <span class="n">PickId</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span>
    11361268        <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">DifLine</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">==</span> <span class="nb">str</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">itemPicked</span><span class="p">):</span>
     1269            <span class="n">data</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">PickId</span><span class="p">)</span>
    11371270            <span class="n">ypos</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">ydata</span>
    1138             <span class="n">G2frame</span><span class="o">.</span><span class="n">delOffset</span> <span class="o">=</span> <span class="o">-</span><span class="n">ypos</span><span class="o">/</span><span class="n">Ymax</span>
     1271            <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;delOffset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="n">ypos</span><span class="o">/</span><span class="n">Ymax</span>
    11391272            <span class="n">G2frame</span><span class="o">.</span><span class="n">itemPicked</span> <span class="o">=</span> <span class="bp">None</span>
     1273            <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">SetItemPyData</span><span class="p">(</span><span class="n">PickId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    11401274            <span class="n">PlotPatterns</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">plotType</span><span class="o">=</span><span class="n">plottype</span><span class="p">)</span>
    11411275            <span class="k">return</span>
    11421276        <span class="n">Parms</span><span class="p">,</span><span class="n">Parms2</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">,</span> <span class="s">&#39;Instrument Parameters&#39;</span><span class="p">))</span>
    11431277        <span class="n">xpos</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">xdata</span>
    1144         <span class="n">PickId</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span>
    11451278        <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">PickId</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Peak List&#39;</span><span class="p">,</span><span class="s">&#39;Limits&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="n">xpos</span><span class="p">:</span>
    11461279            <span class="n">lines</span> <span class="o">=</span> <span class="p">[]</span>
     
    11561289                <span class="nb">id</span> <span class="o">=</span> <span class="n">lineNo</span><span class="o">/</span><span class="mi">2</span><span class="o">+</span><span class="mi">1</span>
    11571290                <span class="n">id2</span> <span class="o">=</span> <span class="n">lineNo</span><span class="o">%</span><span class="mi">2</span>
    1158                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1291                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    11591292                    <span class="n">data</span><span class="p">[</span><span class="nb">id</span><span class="p">][</span><span class="n">id2</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">xpos</span><span class="p">)</span>
    1160                 <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1293                <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    11611294                    <span class="n">data</span><span class="p">[</span><span class="nb">id</span><span class="p">][</span><span class="n">id2</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xpos</span><span class="p">)</span>
    11621295                <span class="k">else</span><span class="p">:</span>
     
    11751308                    <span class="k">del</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;peaks&#39;</span><span class="p">][</span><span class="n">lineNo</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span>
    11761309                <span class="k">else</span><span class="p">:</span>
    1177                     <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span><span class="p">:</span>
     1310                    <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]:</span>
    11781311                        <span class="n">data</span><span class="p">[</span><span class="s">&#39;peaks&#39;</span><span class="p">][</span><span class="n">lineNo</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">xpos</span><span class="p">)</span>
    1179                     <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>
     1312                    <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>
    11801313                        <span class="n">data</span><span class="p">[</span><span class="s">&#39;peaks&#39;</span><span class="p">][</span><span class="n">lineNo</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xpos</span><span class="p">)</span>
    11811314                    <span class="k">else</span><span class="p">:</span>
     
    12041337            <span class="n">pick</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">itemPicked</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;(&#39;</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s">&#39;)&#39;</span><span class="p">)</span>
    12051338            <span class="k">if</span> <span class="s">&#39;line&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">pick</span><span class="p">:</span>       <span class="c">#avoid data points, etc.</span>
     1339                <span class="n">data</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">PickId</span><span class="p">)</span>
    12061340                <span class="n">num</span> <span class="o">=</span> <span class="n">Phases</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">pick</span><span class="p">)</span>
    12071341                <span class="k">if</span> <span class="n">num</span><span class="p">:</span>
    1208                     <span class="n">G2frame</span><span class="o">.</span><span class="n">refDelt</span> <span class="o">=</span> <span class="o">-</span><span class="p">(</span><span class="n">event</span><span class="o">.</span><span class="n">ydata</span><span class="o">-</span><span class="n">G2frame</span><span class="o">.</span><span class="n">refOffset</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">num</span><span class="o">*</span><span class="n">Ymax</span><span class="p">)</span>
     1342                    <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refDelt&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="p">(</span><span class="n">event</span><span class="o">.</span><span class="n">ydata</span><span class="o">-</span><span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refOffset&#39;</span><span class="p">])</span><span class="o">/</span><span class="p">(</span><span class="n">num</span><span class="o">*</span><span class="n">Ymax</span><span class="p">)</span>
    12091343                <span class="k">else</span><span class="p">:</span>       <span class="c">#1st row of refl ticks</span>
    1210                     <span class="n">G2frame</span><span class="o">.</span><span class="n">refOffset</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">ydata</span>
     1344                    <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refOffset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">ydata</span>
     1345                <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">SetItemPyData</span><span class="p">(</span><span class="n">PickId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    12111346        <span class="n">PlotPatterns</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">plotType</span><span class="o">=</span><span class="n">plottype</span><span class="p">)</span>
    12121347        <span class="n">G2frame</span><span class="o">.</span><span class="n">itemPicked</span> <span class="o">=</span> <span class="bp">None</span>   
     
    12871422    <span class="n">Lines</span> <span class="o">=</span> <span class="p">[]</span>
    12881423    <span class="n">exclLines</span> <span class="o">=</span> <span class="p">[]</span>
    1289     <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span><span class="p">:</span>
     1424    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span> <span class="ow">and</span> <span class="n">PatternId</span><span class="p">:</span>
    12901425        <span class="n">Pattern</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">PatternId</span><span class="p">)</span>
    12911426        <span class="n">Pattern</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">PatternId</span><span class="p">))</span>
     
    13191454            <span class="n">Phases</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">))</span>
    13201455            <span class="n">HKL</span> <span class="o">=</span> <span class="p">[]</span>
    1321             <span class="k">if</span> <span class="n">Phases</span><span class="p">:</span>
     1456            <span class="k">if</span> <span class="n">Phases</span><span class="p">:</span> 
    13221457                <span class="k">try</span><span class="p">:</span>
    13231458                    <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">Phases</span><span class="p">[</span><span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span><span class="p">][</span><span class="s">&#39;RefList&#39;</span><span class="p">]:</span>
    1324                         <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[:</span><span class="mi">6</span><span class="p">])</span>
    1325                 <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
     1459                        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">peak</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">15</span><span class="p">:</span>
     1460                            <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[:</span><span class="mi">7</span><span class="p">])</span>    <span class="c">#SS reflection list - need peak[:7]</span>
     1461                        <span class="k">else</span><span class="p">:</span>
     1462                            <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[:</span><span class="mi">6</span><span class="p">])</span>
     1463                <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>   <span class="c">#old style patch</span>
    13261464                    <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">Phases</span><span class="p">[</span><span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span><span class="p">]:</span>
    13271465                        <span class="n">HKL</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">peak</span><span class="p">[:</span><span class="mi">6</span><span class="p">])</span>                   
     
    13361474        <span class="n">Ymax</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">Ymax</span><span class="p">,</span><span class="nb">max</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
    13371475    <span class="k">if</span> <span class="n">Ymax</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span> <span class="c"># nothing to plot</span>
    1338     <span class="n">offset</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">Ymax</span><span class="o">/</span><span class="mf">100.0</span>
     1476    <span class="n">offsetX</span> <span class="o">=</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
     1477    <span class="n">offsetY</span> <span class="o">=</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
    13391478    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">logPlot</span><span class="p">:</span>
    13401479        <span class="n">Title</span> <span class="o">=</span> <span class="s">&#39;log(&#39;</span><span class="o">+</span><span class="n">Title</span><span class="o">+</span><span class="s">&#39;)&#39;</span>
    13411480    <span class="n">Plot</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="n">Title</span><span class="p">)</span>
    1342     <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span> <span class="ow">or</span> <span class="s">&#39;SASD&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1481    <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span> <span class="ow">or</span> <span class="s">&#39;SASD&#39;</span> <span class="ow">in</span> <span class="n">plottype</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    13431482        <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r&#39;$Q, \AA^{-1}$&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>
    1344     <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1483    <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    13451484        <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r&#39;$d, \AA$&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>
    13461485    <span class="k">else</span><span class="p">:</span>
     
    13481487            <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r&#39;$\mathsf{2\theta}$&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>
    13491488        <span class="k">else</span><span class="p">:</span>
    1350             <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r&#39;$TOF, \mathsf{\mu}$s&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>           
     1489            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
     1490                <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r&#39;Channel no.&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>           
     1491            <span class="k">else</span><span class="p">:</span>
     1492                <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r&#39;$TOF, \mathsf{\mu}$s&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>           
    13511493    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Weight</span><span class="p">:</span>
    13521494        <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     
    13571499        <span class="k">if</span> <span class="s">&#39;C&#39;</span> <span class="ow">in</span> <span class="n">ParmList</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Type&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
    13581500            <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    1359                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
     1501                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
    13601502                    <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">r&#39;$\sqrt{Intensity}$&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>
    13611503                <span class="k">else</span><span class="p">:</span>
     
    13671509                    <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">r&#39;$Intensity, cm^{-1}$&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>
    13681510        <span class="k">else</span><span class="p">:</span>
    1369             <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
     1511            <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
    13701512                <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">r&#39;$\sqrt{Normalized\ intensity}$&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span>
    13711513            <span class="k">else</span><span class="p">:</span>
     
    13941536            <span class="k">for</span> <span class="n">excl</span> <span class="ow">in</span> <span class="n">excls</span><span class="p">:</span>
    13951537                <span class="n">xye</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">ma</span><span class="o">.</span><span class="n">masked_inside</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">excl</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">excl</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
    1396         <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1538        <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    13971539            <span class="n">Id</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
    13981540            <span class="n">X</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xye</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
    1399         <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1541        <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    14001542            <span class="n">Id</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
    14011543            <span class="n">X</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">xye</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
     
    14051547            <span class="n">lenX</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
    14061548        <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    1407             <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
     1549            <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
    14081550                <span class="n">olderr</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">seterr</span><span class="p">(</span><span class="n">invalid</span><span class="o">=</span><span class="s">&#39;ignore&#39;</span><span class="p">)</span> <span class="c">#get around sqrt(-ve) error</span>
    14091551                <span class="n">Y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">&gt;=</span><span class="mf">0.</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]),</span><span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="o">-</span><span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
    14101552                <span class="n">np</span><span class="o">.</span><span class="n">seterr</span><span class="p">(</span><span class="n">invalid</span><span class="o">=</span><span class="n">olderr</span><span class="p">[</span><span class="s">&#39;invalid&#39;</span><span class="p">])</span>
    14111553            <span class="k">else</span><span class="p">:</span>
    1412                 <span class="n">Y</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">offset</span><span class="o">*</span><span class="n">N</span>
     1554                <span class="n">Y</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">offsetY</span><span class="o">*</span><span class="n">N</span><span class="o">*</span><span class="n">Ymax</span><span class="o">/</span><span class="mf">100.0</span>
    14131555        <span class="k">elif</span> <span class="s">&#39;SASD&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    14141556            <span class="n">B</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span>
    14151557            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">sqPlot</span><span class="p">:</span>
    1416                 <span class="n">Y</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="mf">1.005</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="n">offset</span><span class="o">*</span><span class="n">N</span><span class="p">)</span><span class="o">*</span><span class="n">X</span><span class="o">**</span><span class="mi">4</span>
     1558                <span class="n">Y</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="mf">1.05</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="n">offsetY</span><span class="o">*</span><span class="n">N</span><span class="p">)</span><span class="o">*</span><span class="n">X</span><span class="o">**</span><span class="mi">4</span>
    14171559            <span class="k">else</span><span class="p">:</span>
    1418                 <span class="n">Y</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="mf">1.005</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="n">offset</span><span class="o">*</span><span class="n">N</span><span class="p">)</span>
     1560                <span class="n">Y</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="p">(</span><span class="mf">1.05</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="n">offsetY</span><span class="o">*</span><span class="n">N</span><span class="p">)</span>
    14191561        <span class="k">if</span> <span class="n">LimitId</span> <span class="ow">and</span> <span class="n">ifpicked</span><span class="p">:</span>
    14201562            <span class="n">limits</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">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">LimitId</span><span class="p">))</span>
    14211563            <span class="n">lims</span> <span class="o">=</span> <span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
    1422             <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1564            <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    14231565                <span class="n">lims</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">lims</span><span class="p">)</span>
    1424             <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
     1566            <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    14251567                <span class="n">lims</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">lims</span><span class="p">)</span>
    14261568            <span class="n">Lines</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">lims</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;g&#39;</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="n">picker</span><span class="o">=</span><span class="mf">3.</span><span class="p">))</span>   
     
    14301572                <span class="n">Lines</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;m&#39;</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="n">picker</span><span class="o">=</span><span class="mf">3.</span><span class="p">))</span>
    14311573                <span class="n">exclLines</span> <span class="o">+=</span> <span class="p">[</span><span class="mi">2</span><span class="o">*</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">i</span><span class="o">+</span><span class="mi">3</span><span class="p">]</span>
    1432         <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    1433            
     1574        <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>           
    14341575            <span class="k">if</span> <span class="n">lenX</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">X</span><span class="p">):</span>
    14351576                <span class="n">ContourY</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">N</span><span class="p">)</span>
    14361577                <span class="n">ContourZ</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Y</span><span class="p">)</span>
    1437                 <span class="n">ContourX</span> <span class="o">=</span> <span class="n">X</span>
     1578                <span class="k">if</span> <span class="s">&#39;C&#39;</span> <span class="ow">in</span> <span class="n">ParmList</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Type&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>       
     1579                    <span class="n">ContourX</span> <span class="o">=</span> <span class="n">X</span>
     1580                <span class="k">else</span><span class="p">:</span> <span class="c">#&#39;T&#39;OF</span>
     1581                    <span class="n">ContourX</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="n">lenX</span><span class="p">)</span>
    14381582                <span class="n">Nseq</span> <span class="o">+=</span> <span class="mi">1</span>
    14391583                <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">&#39;Data sequence&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">12</span><span class="p">)</span>
    14401584        <span class="k">else</span><span class="p">:</span>
    14411585            <span class="k">if</span> <span class="s">&#39;SASD&#39;</span> <span class="ow">in</span> <span class="n">plottype</span> <span class="ow">and</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">logPlot</span><span class="p">:</span>
    1442                 <span class="n">X</span> <span class="o">*=</span> <span class="p">(</span><span class="mf">1.01</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">N</span><span class="p">)</span>
     1586                <span class="n">X</span> <span class="o">*=</span> <span class="p">(</span><span class="mf">1.01</span><span class="p">)</span><span class="o">**</span><span class="p">(</span><span class="n">offsetX</span><span class="o">*</span><span class="n">N</span><span class="p">)</span>
    14431587            <span class="k">else</span><span class="p">:</span>
    1444                 <span class="n">X</span> <span class="o">+=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*.</span><span class="mo">005</span><span class="o">*</span><span class="n">N</span>
     1588                <span class="n">X</span> <span class="o">+=</span> <span class="n">offsetX</span><span class="o">*.</span><span class="mo">005</span><span class="o">*</span><span class="n">N</span>
    14451589            <span class="n">Xum</span> <span class="o">=</span> <span class="n">ma</span><span class="o">.</span><span class="n">getdata</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
    14461590            <span class="n">DifLine</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;&#39;</span><span class="p">]</span>
    14471591            <span class="k">if</span> <span class="n">ifpicked</span><span class="p">:</span>
    1448                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
     1592                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
     1593                    <span class="n">olderr</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">seterr</span><span class="p">(</span><span class="n">invalid</span><span class="o">=</span><span class="s">&#39;ignore&#39;</span><span class="p">)</span> <span class="c">#get around sqrt(-ve) error</span>
    14491594                    <span class="n">Z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">&gt;=</span><span class="mf">0.</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span><span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="o">-</span><span class="n">xye</span><span class="p">[</span><span class="mi">3</span><span class="p">]))</span>
     1595                    <span class="n">np</span><span class="o">.</span><span class="n">seterr</span><span class="p">(</span><span class="n">invalid</span><span class="o">=</span><span class="n">olderr</span><span class="p">[</span><span class="s">&#39;invalid&#39;</span><span class="p">])</span>
    14501596                <span class="k">else</span><span class="p">:</span>
    1451                     <span class="n">Z</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">offset</span><span class="o">*</span><span class="n">N</span>
     1597                    <span class="n">Z</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">+</span><span class="n">offsetY</span><span class="o">*</span><span class="n">N</span><span class="o">*</span><span class="n">Ymax</span><span class="o">/</span><span class="mf">100.0</span>
    14521598                <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    1453                     <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SqrtPlot</span><span class="p">:</span>
     1599                    <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;sqrtPlot&#39;</span><span class="p">]:</span>
     1600                        <span class="n">olderr</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">seterr</span><span class="p">(</span><span class="n">invalid</span><span class="o">=</span><span class="s">&#39;ignore&#39;</span><span class="p">)</span> <span class="c">#get around sqrt(-ve) error</span>
    14541601                        <span class="n">W</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span><span class="o">&gt;=</span><span class="mf">0.</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">4</span><span class="p">]),</span><span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="o">-</span><span class="n">xye</span><span class="p">[</span><span class="mi">4</span><span class="p">]))</span>
    1455                         <span class="n">D</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">5</span><span class="p">],(</span><span class="n">Y</span><span class="o">-</span><span class="n">Z</span><span class="p">),</span><span class="mf">0.</span><span class="p">)</span><span class="o">-</span><span class="n">Ymax</span><span class="o">*</span><span class="n">G2frame</span><span class="o">.</span><span class="n">delOffset</span>
     1602                        <span class="n">np</span><span class="o">.</span><span class="n">seterr</span><span class="p">(</span><span class="n">invalid</span><span class="o">=</span><span class="n">olderr</span><span class="p">[</span><span class="s">&#39;invalid&#39;</span><span class="p">])</span>
     1603                        <span class="n">D</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">5</span><span class="p">],(</span><span class="n">Y</span><span class="o">-</span><span class="n">Z</span><span class="p">),</span><span class="mf">0.</span><span class="p">)</span><span class="o">-</span><span class="n">Ymax</span><span class="o">*</span><span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;delOffset&#39;</span><span class="p">]</span>
    14561604                    <span class="k">else</span><span class="p">:</span>
    1457                         <span class="n">W</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span><span class="o">+</span><span class="n">offset</span><span class="o">*</span><span class="n">N</span>
    1458                         <span class="n">D</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">Ymax</span><span class="o">*</span><span class="n">G2frame</span><span class="o">.</span><span class="n">delOffset</span>  <span class="c">#powder background</span>
     1605                        <span class="n">W</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span><span class="o">+</span><span class="n">offsetY</span><span class="o">*</span><span class="n">N</span><span class="o">*</span><span class="n">Ymax</span><span class="o">/</span><span class="mf">100.0</span>
     1606                        <span class="n">D</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">Ymax</span><span class="o">*</span><span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;delOffset&#39;</span><span class="p">]</span>  <span class="c">#powder background</span>
    14591607                <span class="k">elif</span> <span class="s">&#39;SASD&#39;</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span>
    14601608                    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">sqPlot</span><span class="p">:</span>
     
    15081656                    <span class="n">Ymax</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">DY</span><span class="p">)</span>
    15091657                    <span class="n">DZ</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
    1510                     <span class="n">DS</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span><span class="o">-</span><span class="n">Ymax</span><span class="o">*</span><span class="n">G2frame</span><span class="o">.</span><span class="n">delOffset</span>
     1658                    <span class="n">DS</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span><span class="o">-</span><span class="n">Ymax</span><span class="o">*</span><span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;delOffset&#39;</span><span class="p">]</span>
    15111659                    <span class="n">ObsLine</span> <span class="o">=</span> <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="n">DY</span><span class="p">,</span><span class="n">colors</span><span class="p">[</span><span class="n">N</span><span class="o">%</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="n">picker</span><span class="o">=</span><span class="mf">3.</span><span class="p">,</span><span class="n">clip_on</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>         <span class="c">#Io/sig(Io)</span>
    15121660                    <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="n">DZ</span><span class="p">,</span><span class="n">colors</span><span class="p">[(</span><span class="n">N</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">%</span><span class="mi">6</span><span class="p">],</span><span class="n">picker</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>                    <span class="c">#Ic/sig(Io)</span>
     
    15381686                    <span class="n">data</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span> <span class="s">&#39;Peak List&#39;</span><span class="p">))</span>
    15391687                    <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;peaks&#39;</span><span class="p">]:</span>
    1540                         <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span><span class="p">:</span>
     1688                        <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]:</span>
    15411689                            <span class="n">Lines</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">N</span><span class="o">%</span><span class="mi">6</span><span class="p">],</span><span class="n">picker</span><span class="o">=</span><span class="mf">2.</span><span class="p">))</span>
    1542                         <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>
     1690                        <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>
    15431691                            <span class="n">Lines</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="n">colors</span><span class="p">[</span><span class="n">N</span><span class="o">%</span><span class="mi">6</span><span class="p">],</span><span class="n">picker</span><span class="o">=</span><span class="mf">2.</span><span class="p">))</span>
    15441692                        <span class="k">else</span><span class="p">:</span>
     
    15671715        <span class="n">Parms</span><span class="p">,</span><span class="n">Parms2</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span> <span class="s">&#39;Instrument Parameters&#39;</span><span class="p">))</span>
    15681716        <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">PickId</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Index Peak List&#39;</span><span class="p">,</span><span class="s">&#39;Unit Cells List&#39;</span><span class="p">]:</span>
    1569             <span class="n">peaks</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">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span> <span class="s">&#39;Index Peak List&#39;</span><span class="p">))))[</span><span class="mi">0</span><span class="p">]</span>
    1570             <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">peaks</span><span class="p">:</span>
    1571                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span><span class="p">:</span>
    1572                     <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;b&#39;</span><span class="p">)</span>
    1573                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>
    1574                     <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;b&#39;</span><span class="p">)</span>
     1717            <span class="n">peaks</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">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span> <span class="s">&#39;Index Peak List&#39;</span><span class="p">))))</span>
     1718            <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">peaks</span><span class="p">):</span> <span class="k">return</span> <span class="c"># are there any peaks?</span>
     1719            <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
     1720                <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span>
     1721                    <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]:</span>
     1722                        <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;b&#39;</span><span class="p">)</span>
     1723                    <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>
     1724                        <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;b&#39;</span><span class="p">)</span>
     1725                    <span class="k">else</span><span class="p">:</span>
     1726                        <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;b&#39;</span><span class="p">)</span>
     1727            <span class="k">for</span> <span class="n">hkl</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">:</span>
     1728                <span class="n">clr</span> <span class="o">=</span> <span class="s">&#39;r&#39;</span>
     1729                <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">hkl</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">6</span> <span class="ow">and</span> <span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span>
     1730                    <span class="n">clr</span> <span class="o">=</span> <span class="s">&#39;g&#39;</span>
     1731                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]:</span>
     1732                    <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="n">clr</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
     1733                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>
     1734                    <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="n">clr</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    15751735                <span class="k">else</span><span class="p">:</span>
    1576                     <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;b&#39;</span><span class="p">)</span>
    1577             <span class="k">for</span> <span class="n">hkl</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">:</span>
    1578                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span><span class="p">:</span>
    1579                     <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">5</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;r&#39;</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    1580                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>
    1581                     <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Pos2dsp</span><span class="p">(</span><span class="n">Parms</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">5</span><span class="p">]),</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;r&#39;</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    1582                 <span class="k">else</span><span class="p">:</span>
    1583                     <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">hkl</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;r&#39;</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
     1736                    <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">hkl</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="n">clr</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    15841737        <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">PickId</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">]</span> <span class="ow">or</span> \
    15851738            <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">PickId</span><span class="p">):</span>
     
    15931746                <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">peaks</span><span class="p">):</span>
    15941747                    <span class="k">continue</span>
    1595                 <span class="n">peak</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">peak</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="n">peak</span><span class="p">[</span><span class="mi">5</span><span class="p">]]</span> <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">peaks</span><span class="p">])</span>
    1596                 <span class="n">pos</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">refOffset</span><span class="o">-</span><span class="n">pId</span><span class="o">*</span><span class="n">Ymax</span><span class="o">*</span><span class="n">G2frame</span><span class="o">.</span><span class="n">refDelt</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">ones_like</span><span class="p">(</span><span class="n">peak</span><span class="p">)</span>
    1597                 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">qPlot</span><span class="p">:</span>
     1748                <span class="k">if</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phase</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Super&#39;</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span>
     1749                    <span class="n">peak</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">peak</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span><span class="n">peak</span><span class="p">[</span><span class="mi">6</span><span class="p">]]</span> <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">peaks</span><span class="p">])</span>
     1750                <span class="k">else</span><span class="p">:</span>
     1751                    <span class="n">peak</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">peak</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="n">peak</span><span class="p">[</span><span class="mi">5</span><span class="p">]]</span> <span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">peaks</span><span class="p">])</span>
     1752                <span class="n">pos</span> <span class="o">=</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refOffset&#39;</span><span class="p">]</span><span class="o">-</span><span class="n">pId</span><span class="o">*</span><span class="n">Ymax</span><span class="o">*</span><span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;refDelt&#39;</span><span class="p">]</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">ones_like</span><span class="p">(</span><span class="n">peak</span><span class="p">)</span>
     1753                <span class="k">if</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;qPlot&#39;</span><span class="p">]:</span>
    15981754                    <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="n">peak</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">pos</span><span class="p">,</span><span class="n">refColors</span><span class="p">[</span><span class="n">pId</span><span class="o">%</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;|&#39;</span><span class="p">,</span><span class="n">mew</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">ms</span><span class="o">=</span><span class="mi">8</span><span class="p">,</span><span class="n">picker</span><span class="o">=</span><span class="mf">3.</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">phase</span><span class="p">)</span>
    1599                 <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dPlot</span><span class="p">:</span>
     1755                <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;dPlot&#39;</span><span class="p">]:</span>
    16001756                    <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">peak</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">pos</span><span class="p">,</span><span class="n">refColors</span><span class="p">[</span><span class="n">pId</span><span class="o">%</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;|&#39;</span><span class="p">,</span><span class="n">mew</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="n">ms</span><span class="o">=</span><span class="mi">8</span><span class="p">,</span><span class="n">picker</span><span class="o">=</span><span class="mf">3.</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">phase</span><span class="p">)</span>
    16011757                <span class="k">else</span><span class="p">:</span>
     
    17041860            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    17051861                <span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span><span class="o">*</span><span class="mf">1.2</span><span class="p">)</span>
    1706             <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">100.</span><span class="p">:</span>
    1707                 <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
     1862            <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">100.</span><span class="p">:</span>
     1863                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
    17081864        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;d&#39;</span><span class="p">:</span>
    17091865            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    17101866                <span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Cmax</span><span class="o">*</span><span class="mf">0.8</span><span class="p">)</span>
    1711             <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mf">0.</span><span class="p">:</span>
    1712                 <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
     1867            <span class="k">elif</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mf">0.</span><span class="p">:</span>
     1868                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
    17131869        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;l&#39;</span><span class="p">:</span>
    1714             <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
     1870            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span>
    17151871        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;r&#39;</span><span class="p">:</span>
    1716             <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
     1872            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span>
    17171873        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;o&#39;</span><span class="p">:</span>
    1718             <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
     1874            <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
    17191875        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;c&#39;</span><span class="p">:</span>
    17201876            <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span>
     
    17221878            <span class="k">if</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    17231879                <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span> <span class="o">=</span> <span class="bp">False</span>
    1724                 <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">]</span>
     1880                <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span><span class="mf">0.</span><span class="p">]</span>
    17251881        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;s&#39;</span><span class="p">:</span>
    17261882            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
     
    18361992    <span class="n">lenX</span> <span class="o">=</span> <span class="mi">0</span>
    18371993    <span class="k">for</span> <span class="n">Pattern</span> <span class="ow">in</span> <span class="n">PlotList</span><span class="p">:</span>
    1838         <span class="n">xye</span> <span class="o">=</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
     1994        <span class="k">try</span><span class="p">:</span>
     1995            <span class="n">xye</span> <span class="o">=</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
     1996        <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span>
     1997            <span class="k">return</span>
    18391998        <span class="n">Ymax</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">Ymax</span><span class="p">,</span><span class="nb">max</span><span class="p">(</span><span class="n">xye</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
    1840     <span class="n">offset</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">Ymax</span><span class="o">/</span><span class="mf">100.0</span>
     1999    <span class="n">offset</span> <span class="o">=</span> <span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">Ymax</span><span class="o">/</span><span class="mf">100.0</span>
    18412000    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span>
    18422001        <span class="n">ContourZ</span> <span class="o">=</span> <span class="p">[]</span>
     
    18592018                <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">&#39;Data sequence&#39;</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">12</span><span class="p">)</span>
    18602019        <span class="k">else</span><span class="p">:</span>
    1861             <span class="n">X</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">G2frame</span><span class="o">.</span><span class="n">Offset</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*.</span><span class="mo">005</span><span class="o">*</span><span class="n">N</span>
     2020            <span class="n">X</span> <span class="o">=</span> <span class="n">xye</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">Pattern</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="s">&#39;Offset&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span><span class="o">*.</span><span class="mo">005</span><span class="o">*</span><span class="n">N</span>
    18622021            <span class="k">if</span> <span class="n">ifpicked</span><span class="p">:</span>
    18632022                <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">,</span><span class="n">colors</span><span class="p">[</span><span class="n">N</span><span class="o">%</span><span class="mi">6</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="n">picker</span><span class="o">=</span><span class="mf">3.</span><span class="p">,</span><span class="n">clip_on</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
     
    21762335                    <span class="n">view</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">toolbar</span><span class="o">.</span><span class="n">_views</span><span class="o">.</span><span class="n">forward</span><span class="p">()[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">2</span><span class="p">]</span>
    21772336                    <span class="n">wid</span> <span class="o">=</span> <span class="n">view</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">view</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
    2178                     <span class="n">found</span> <span class="o">=</span> <span class="n">HKL</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fabs</span><span class="p">(</span><span class="n">HKL</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span><span class="o">-</span><span class="n">xpos</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">0.002</span><span class="o">*</span><span class="n">wid</span><span class="p">)]</span>
     2337                    <span class="n">found</span> <span class="o">=</span> <span class="n">HKL</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">fabs</span><span class="p">(</span><span class="n">HKL</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">xpos</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">0.002</span><span class="o">*</span><span class="n">wid</span><span class="p">)]</span>
    21792338                <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">found</span><span class="p">):</span>
    21802339                    <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span> <span class="o">=</span> <span class="n">found</span><span class="p">[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">3</span><span class="p">]</span>
     
    22052364    <span class="n">HKL</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">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)</span>
    22062365    <span class="k">for</span> <span class="n">hkl</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">:</span>
    2207         <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">hkl</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;r&#39;</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
     2366        <span class="n">Plot</span><span class="o">.</span><span class="n">axvline</span><span class="p">(</span><span class="n">hkl</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="n">color</span><span class="o">=</span><span class="s">&#39;r&#39;</span><span class="p">,</span><span class="n">dashes</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    22082367    <span class="n">xmin</span> <span class="o">=</span> <span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
    22092368    <span class="n">xmax</span> <span class="o">=</span> <span class="n">peaks</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
     
    26812840
    26822841<span class="c">################################################################################</span>
     2842<span class="c">##### Plot Modulation</span>
     2843<span class="c">################################################################################</span>
     2844</div>
     2845<span class="k">def</span> <span class="nf">ModulationPlot</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">atom</span><span class="p">,</span><span class="n">ax</span><span class="p">,</span><span class="n">off</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span>
     2846    <span class="k">global</span> <span class="n">Off</span><span class="p">,</span><span class="n">Atom</span><span class="p">,</span><span class="n">Ax</span>
     2847    <span class="n">Off</span> <span class="o">=</span> <span class="n">off</span>
     2848    <span class="n">Atom</span> <span class="o">=</span> <span class="n">atom</span>
     2849    <span class="n">Ax</span> <span class="o">=</span> <span class="n">ax</span>
     2850    <span class="k">def</span> <span class="nf">OnMotion</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     2851        <span class="n">xpos</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">xdata</span>
     2852        <span class="k">if</span> <span class="n">xpos</span><span class="p">:</span>                                        <span class="c">#avoid out of frame mouse position</span>
     2853            <span class="n">ypos</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">ydata</span>
     2854            <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">SetCursor</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">CROSS_CURSOR</span><span class="p">)</span>
     2855            <span class="k">try</span><span class="p">:</span>
     2856                <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;t =</span><span class="si">%9.3f</span><span class="s"> </span><span class="si">%s</span><span class="s"> =</span><span class="si">%9.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">xpos</span><span class="p">,</span><span class="n">GkDelta</span><span class="o">+</span><span class="n">Ax</span><span class="p">,</span><span class="n">ypos</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>                   
     2857            <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
     2858                <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;Select &#39;</span><span class="o">+</span><span class="n">Title</span><span class="o">+</span><span class="s">&#39; pattern first&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
     2859   
     2860    <span class="k">def</span> <span class="nf">OnPlotKeyPress</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     2861        <span class="k">global</span> <span class="n">Off</span><span class="p">,</span><span class="n">Atom</span><span class="p">,</span><span class="n">Ax</span>
     2862        <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">False</span>
     2863        <span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;0&#39;</span><span class="p">:</span>
     2864            <span class="n">Off</span> <span class="o">=</span> <span class="mi">0</span>
     2865        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="s">&#39;=&#39;</span><span class="p">]:</span>
     2866            <span class="n">Off</span> <span class="o">+=</span> <span class="mi">1</span>
     2867        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;-&#39;</span><span class="p">:</span>
     2868            <span class="n">Off</span> <span class="o">-=</span> <span class="mi">1</span>
     2869        <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;l&#39;</span><span class="p">,</span><span class="s">&#39;r&#39;</span><span class="p">,]</span> <span class="ow">and</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]:</span>
     2870            <span class="n">roll</span> <span class="o">=</span> <span class="mi">1</span>
     2871            <span class="k">if</span>  <span class="n">event</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s">&#39;l&#39;</span><span class="p">:</span>
     2872                <span class="n">roll</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
     2873            <span class="n">rho</span> <span class="o">=</span> <span class="n">Map</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]</span>
     2874            <span class="n">Map</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">rho</span><span class="p">,</span><span class="n">roll</span><span class="p">,</span><span class="n">axis</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
     2875        <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">ModulationPlot</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">Atom</span><span class="p">,</span><span class="n">Ax</span><span class="p">,</span><span class="n">Off</span><span class="p">)</span>
     2876
     2877    <span class="k">try</span><span class="p">:</span>
     2878        <span class="n">plotNum</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">plotList</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;Modulation&#39;</span><span class="p">)</span>
     2879        <span class="n">Page</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">nb</span><span class="o">.</span><span class="n">GetPage</span><span class="p">(</span><span class="n">plotNum</span><span class="p">)</span>
     2880        <span class="n">Page</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">clf</span><span class="p">()</span>
     2881        <span class="n">Plot</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">figure</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span>
     2882        <span class="k">if</span> <span class="ow">not</span> <span class="n">Page</span><span class="o">.</span><span class="n">IsShown</span><span class="p">():</span>
     2883            <span class="n">Page</span><span class="o">.</span><span class="n">Show</span><span class="p">()</span>
     2884    <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
     2885        <span class="n">Plot</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">addMpl</span><span class="p">(</span><span class="s">&#39;Modulation&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">gca</span><span class="p">()</span>
     2886        <span class="n">plotNum</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">plotList</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;Modulation&#39;</span><span class="p">)</span>
     2887        <span class="n">Page</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">nb</span><span class="o">.</span><span class="n">GetPage</span><span class="p">(</span><span class="n">plotNum</span><span class="p">)</span>
     2888        <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">mpl_connect</span><span class="p">(</span><span class="s">&#39;motion_notify_event&#39;</span><span class="p">,</span> <span class="n">OnMotion</span><span class="p">)</span>
     2889        <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">mpl_connect</span><span class="p">(</span><span class="s">&#39;key_press_event&#39;</span><span class="p">,</span> <span class="n">OnPlotKeyPress</span><span class="p">)</span>
     2890   
     2891    <span class="n">Page</span><span class="o">.</span><span class="n">SetFocus</span><span class="p">()</span>
     2892    <span class="n">General</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     2893    <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span>
     2894    <span class="n">mapData</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span>
     2895    <span class="k">if</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]:</span>
     2896        <span class="n">Page</span><span class="o">.</span><span class="n">Choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;+: shift up&#39;</span><span class="p">,</span><span class="s">&#39;-: shift down&#39;</span><span class="p">,</span><span class="s">&#39;0: reset shift&#39;</span><span class="p">,</span><span class="s">&#39;l: move left&#39;</span><span class="p">,</span><span class="s">&#39;r: move right&#39;</span><span class="p">]</span>
     2897    <span class="k">else</span><span class="p">:</span>
     2898        <span class="n">Page</span><span class="o">.</span><span class="n">Choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;+: shift up&#39;</span><span class="p">,</span><span class="s">&#39;-: shift down&#39;</span><span class="p">,</span><span class="s">&#39;0: reset shift&#39;</span><span class="p">]</span>
     2899    <span class="n">Page</span><span class="o">.</span><span class="n">keyPress</span> <span class="o">=</span> <span class="n">OnPlotKeyPress</span>
     2900    <span class="n">Map</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">]</span>
     2901    <span class="n">MapType</span> <span class="o">=</span> <span class="n">Map</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">]</span>
     2902    <span class="n">rhoSize</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">Map</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
     2903    <span class="n">atxyz</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">atom</span><span class="p">[</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">])</span>
     2904    <span class="n">waveType</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;SS1&#39;</span><span class="p">][</span><span class="s">&#39;waveType&#39;</span><span class="p">]</span>
     2905    <span class="n">Spos</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;SS1&#39;</span><span class="p">][</span><span class="s">&#39;Spos&#39;</span><span class="p">]</span>
     2906    <span class="n">tau</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mf">0.</span><span class="p">,</span><span class="mf">2.</span><span class="p">,</span><span class="mi">101</span><span class="p">)</span>
     2907    <span class="n">wave</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span><span class="mi">101</span><span class="p">))</span>
     2908    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">Spos</span><span class="p">):</span>
     2909        <span class="n">scof</span> <span class="o">=</span> <span class="p">[]</span>
     2910        <span class="n">ccof</span> <span class="o">=</span> <span class="p">[]</span>
     2911        <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">spos</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Spos</span><span class="p">):</span>
     2912            <span class="k">if</span> <span class="n">waveType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Sawtooth&#39;</span><span class="p">,</span><span class="s">&#39;ZigZag&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">i</span><span class="p">:</span>
     2913                <span class="n">Toff</span> <span class="o">=</span> <span class="n">spos</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
     2914                <span class="n">slopes</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">spos</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">:])</span>
     2915                <span class="k">if</span> <span class="n">waveType</span> <span class="o">==</span> <span class="s">&#39;Sawtooth&#39;</span><span class="p">:</span>
     2916                    <span class="n">wave</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">posSawtooth</span><span class="p">(</span><span class="n">tau</span><span class="p">,</span><span class="n">Toff</span><span class="p">,</span><span class="n">slopes</span><span class="p">)</span>
     2917                <span class="k">elif</span> <span class="n">waveType</span> <span class="o">==</span> <span class="s">&#39;ZigZag&#39;</span><span class="p">:</span>
     2918                    <span class="n">wave</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">posZigZag</span><span class="p">(</span><span class="n">tau</span><span class="p">,</span><span class="n">Toff</span><span class="p">,</span><span class="n">slopes</span><span class="p">)</span>
     2919            <span class="k">else</span><span class="p">:</span>
     2920                <span class="n">scof</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">spos</span><span class="p">[</span><span class="mi">0</span><span class="p">][:</span><span class="mi">3</span><span class="p">])</span>
     2921                <span class="n">ccof</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">spos</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">3</span><span class="p">:])</span>
     2922        <span class="n">wave</span> <span class="o">+=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">posFourier</span><span class="p">(</span><span class="n">tau</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">scof</span><span class="p">),</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">ccof</span><span class="p">))</span>
     2923    <span class="k">if</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]:</span>
     2924        <span class="n">Title</span> <span class="o">=</span> <span class="s">&#39;Charge flip&#39;</span>
     2925    <span class="k">else</span><span class="p">:</span>
     2926        <span class="n">Title</span> <span class="o">=</span> <span class="n">MapType</span>
     2927    <span class="n">Title</span> <span class="o">+=</span> <span class="s">&#39; map for atom &#39;</span><span class="o">+</span><span class="n">atom</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span>    \
     2928        <span class="s">&#39; at </span><span class="si">%.4f</span><span class="s"> </span><span class="si">%.4f</span><span class="s"> </span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">atxyz</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">atxyz</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">atxyz</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
     2929    <span class="n">ix</span> <span class="o">=</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">np</span><span class="o">.</span><span class="n">rint</span><span class="p">(</span><span class="n">rhoSize</span><span class="p">[:</span><span class="mi">3</span><span class="p">]</span><span class="o">*</span><span class="n">atxyz</span><span class="p">),</span><span class="n">dtype</span><span class="o">=</span><span class="s">&#39;i&#39;</span><span class="p">)</span>
     2930    <span class="n">ix</span> <span class="o">+=</span> <span class="p">(</span><span class="n">rhoSize</span><span class="p">[:</span><span class="mi">3</span><span class="p">]</span><span class="o">/</span><span class="mi">2</span><span class="p">)</span>
     2931    <span class="n">ix</span> <span class="o">=</span> <span class="n">ix</span><span class="o">%</span><span class="n">rhoSize</span><span class="p">[:</span><span class="mi">3</span><span class="p">]</span>
     2932    <span class="n">rho</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">],</span><span class="n">ix</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">),</span><span class="n">ix</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span><span class="n">ix</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
     2933    <span class="n">ix</span> <span class="o">=</span> <span class="n">rhoSize</span><span class="p">[:</span><span class="mi">3</span><span class="p">]</span><span class="o">/</span><span class="mi">2</span>
     2934    <span class="n">ib</span> <span class="o">=</span> <span class="mi">4</span>
     2935    <span class="k">if</span> <span class="n">Ax</span> <span class="o">==</span> <span class="s">&#39;x&#39;</span><span class="p">:</span>
     2936        <span class="n">slab</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">rho</span><span class="p">[:,</span><span class="n">ix</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">ib</span><span class="p">:</span><span class="n">ix</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">ib</span><span class="p">,</span><span class="n">ix</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">ib</span><span class="p">:</span><span class="n">ix</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">+</span><span class="n">ib</span><span class="p">,:],</span><span class="n">axis</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
     2937        <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">tau</span><span class="p">,</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
     2938    <span class="k">elif</span> <span class="n">Ax</span> <span class="o">==</span> <span class="s">&#39;y&#39;</span><span class="p">:</span>
     2939        <span class="n">slab</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">rho</span><span class="p">[</span><span class="n">ix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="n">ib</span><span class="p">:</span><span class="n">ix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">ib</span><span class="p">,:,</span><span class="n">ix</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">ib</span><span class="p">:</span><span class="n">ix</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">+</span><span class="n">ib</span><span class="p">,:],</span><span class="n">axis</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
     2940        <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">tau</span><span class="p">,</span><span class="n">wave</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
     2941    <span class="k">elif</span> <span class="n">Ax</span> <span class="o">==</span> <span class="s">&#39;z&#39;</span><span class="p">:</span>
     2942        <span class="n">slab</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">rho</span><span class="p">[</span><span class="n">ix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="n">ib</span><span class="p">:</span><span class="n">ix</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">ib</span><span class="p">,</span><span class="n">ix</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-</span><span class="n">ib</span><span class="p">:</span><span class="n">ix</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">ib</span><span class="p">,:,:],</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
     2943        <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">tau</span><span class="p">,</span><span class="n">wave</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
     2944    <span class="n">Plot</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="n">Title</span><span class="p">)</span>
     2945    <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">&#39;t&#39;</span><span class="p">)</span>
     2946    <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">r&#39;$\mathsf{\Delta}$</span><span class="si">%s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Ax</span><span class="p">))</span>
     2947    <span class="n">Slab</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">hstack</span><span class="p">((</span><span class="n">slab</span><span class="p">,</span><span class="n">slab</span><span class="p">,</span><span class="n">slab</span><span class="p">))</span>
     2948    <span class="n">Plot</span><span class="o">.</span><span class="n">contour</span><span class="p">(</span><span class="n">Slab</span><span class="p">[:,:</span><span class="mi">21</span><span class="p">],</span><span class="mi">20</span><span class="p">,</span><span class="n">extent</span><span class="o">=</span><span class="p">(</span><span class="mf">0.</span><span class="p">,</span><span class="mf">2.</span><span class="p">,</span><span class="o">-.</span><span class="mi">5</span><span class="o">+</span><span class="n">Off</span><span class="o">*.</span><span class="mo">005</span><span class="p">,</span><span class="o">.</span><span class="mi">5</span><span class="o">+</span><span class="n">Off</span><span class="o">*.</span><span class="mo">005</span><span class="p">))</span>
     2949    <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">draw</span><span class="p">()</span>
     2950   
     2951<span class="c">################################################################################</span>
    26832952<span class="c">##### PlotCovariance</span>
    26842953<span class="c">################################################################################</span>
    2685             </div>
     2954           
    26862955<div class="viewcode-block" id="PlotCovariance"><a class="viewcode-back" href="../GSASIIplot.html#GSASIIplot.PlotCovariance">[docs]</a><span class="k">def</span> <span class="nf">PlotCovariance</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">Data</span><span class="p">):</span>
    26872956    <span class="s">&#39;needs a doc string&#39;</span>
     
    29893258        <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">Page</span><span class="o">.</span><span class="n">seqYaxisList</span><span class="p">:</span>
    29903259            <span class="n">name</span><span class="p">,</span><span class="n">Y</span><span class="p">,</span><span class="n">sig</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">seqTableGet</span><span class="p">(</span><span class="n">col</span><span class="p">)</span>
    2991             <span class="k">if</span> <span class="n">sig</span><span class="p">:</span>
     3260            <span class="c"># deal with missing (None) values</span>
     3261            <span class="n">Xnew</span> <span class="o">=</span> <span class="p">[]</span>
     3262            <span class="n">Ynew</span> <span class="o">=</span> <span class="p">[]</span>
     3263            <span class="n">Ysnew</span> <span class="o">=</span> <span class="p">[]</span>
     3264            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">X</span><span class="p">)):</span>
     3265                <span class="k">if</span> <span class="n">X</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">or</span> <span class="n">Y</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> <span class="k">continue</span>
     3266                <span class="n">Xnew</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
     3267                <span class="n">Ynew</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Y</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
     3268                <span class="k">if</span> <span class="n">sig</span><span class="p">:</span> <span class="n">Ysnew</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sig</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
     3269            <span class="k">if</span> <span class="n">Ysnew</span><span class="p">:</span>
    29923270                <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">seqReverse</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">seqXaxis</span><span class="p">:</span>
    2993                     <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
    2994                     <span class="n">sig</span> <span class="o">=</span> <span class="n">sig</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
    2995                 <span class="n">Plot</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">,</span><span class="n">yerr</span><span class="o">=</span><span class="n">sig</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
     3271                    <span class="n">Ynew</span> <span class="o">=</span> <span class="n">Ynew</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     3272                    <span class="n">Ysnew</span> <span class="o">=</span> <span class="n">Ysnew</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     3273                <span class="n">Plot</span><span class="o">.</span><span class="n">errorbar</span><span class="p">(</span><span class="n">Xnew</span><span class="p">,</span><span class="n">Ynew</span><span class="p">,</span><span class="n">yerr</span><span class="o">=</span><span class="n">Ysnew</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
    29963274            <span class="k">else</span><span class="p">:</span>
    29973275                <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">seqReverse</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">seqXaxis</span><span class="p">:</span>
    2998                     <span class="n">Y</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
    2999                 <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">)</span>
    3000                 <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">,</span><span class="s">&#39;o&#39;</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
    3001         <span class="k">if</span> <span class="n">Page</span><span class="o">.</span><span class="n">fitvals</span><span class="p">:</span>
     3276                    <span class="n">Ynew</span> <span class="o">=</span> <span class="n">Ynew</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     3277                <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">Xnew</span><span class="p">,</span><span class="n">Ynew</span><span class="p">)</span>
     3278                <span class="n">Plot</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">Xnew</span><span class="p">,</span><span class="n">Ynew</span><span class="p">,</span><span class="s">&#39;o&#39;</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
     3279        <span class="k">if</span> <span class="n">Page</span><span class="o">.</span><span class="n">fitvals</span><span class="p">:</span> <span class="c"># TODO: deal with fitting of None values</span>
    30023280            <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">seqReverse</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">seqXaxis</span><span class="p">:</span>
    30033281                <span class="n">Page</span><span class="o">.</span><span class="n">fitvals</span> <span class="o">=</span> <span class="n">Page</span><span class="o">.</span><span class="n">fitvals</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     
    33563634                    <span class="n">newPos</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="nb">float</span><span class="p">(</span><span class="n">newPos</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="nb">float</span><span class="p">(</span><span class="n">newPos</span><span class="p">[</span><span class="mi">1</span><span class="p">])])</span>
    33573635                    <span class="k">for</span> <span class="n">spot</span> <span class="ow">in</span> <span class="n">spots</span><span class="p">:</span>
    3358                         <span class="k">if</span> <span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">spot</span><span class="p">[:</span><span class="mi">2</span><span class="p">]]),</span><span class="n">newPos</span><span class="p">):</span>
     3636                        <span class="k">if</span> <span class="n">spot</span> <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">spot</span><span class="p">[:</span><span class="mi">2</span><span class="p">]]),</span><span class="n">newPos</span><span class="p">):</span>
    33593637                            <span class="n">spot</span><span class="p">[:</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">Xpos</span><span class="p">,</span><span class="n">Ypos</span>
    33603638                    <span class="n">G2imG</span><span class="o">.</span><span class="n">UpdateMasks</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">Masks</span><span class="p">)</span>
     
    38264104    <span class="n">B4mat</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">Bmat</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="mi">0</span><span class="p">]]),</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</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="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">],]),</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
    38274105    <span class="n">SGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">]</span>
     4106    <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">]:</span>
     4107        <span class="n">SSGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SSGData&#39;</span><span class="p">]</span>
    38284108    <span class="n">Mydir</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Mydir&#39;</span><span class="p">]</span>
    38294109    <span class="n">atomData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">]</span>
     
    38804160    <span class="k">if</span> <span class="s">&#39;Flip&#39;</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
    38814161        <span class="n">flipData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]</span>                       
    3882         <span class="n">flipData</span><span class="p">[</span><span class="s">&#39;mapRoll&#39;</span><span class="p">]</span> <span class="o">=</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="mi">0</span><span class="p">]</span>
    38834162    <span class="n">Wt</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="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">])</span>
    38844163    <span class="n">Rd</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="mi">255</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">])</span>
     
    38974176    <span class="n">mapPeakVecs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">mV</span><span class="p">,</span><span class="n">Bmat</span><span class="p">)</span>
    38984177
    3899     <span class="n">uColors</span> <span class="o">=</span> <span class="p">[</span><span class="n">Rd</span><span class="p">,</span><span class="n">Gr</span><span class="p">,</span><span class="n">Bl</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span> <span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span> <span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">Wt</span><span class="p">]</span>
     4178    <span class="n">backColor</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="nb">list</span><span class="p">(</span><span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;backColor&#39;</span><span class="p">])</span><span class="o">+</span><span class="p">[</span><span class="mi">0</span><span class="p">,])</span>
     4179    <span class="n">Bc</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="nb">list</span><span class="p">(</span><span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;backColor&#39;</span><span class="p">]))</span>
     4180    <span class="n">uColors</span> <span class="o">=</span> <span class="p">[</span><span class="n">Rd</span><span class="p">,</span><span class="n">Gr</span><span class="p">,</span><span class="n">Bl</span><span class="p">,</span><span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span> <span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span><span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span><span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span><span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span> <span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span><span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span><span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">,</span><span class="n">Wt</span><span class="o">-</span><span class="n">Bc</span><span class="p">]</span>
    39004181    <span class="n">altDown</span> <span class="o">=</span> <span class="bp">False</span>
    39014182    <span class="n">shiftDown</span> <span class="o">=</span> <span class="bp">False</span>
    39024183    <span class="n">ctrlDown</span> <span class="o">=</span> <span class="bp">False</span>
     4184    <span class="n">G2frame</span><span class="o">.</span><span class="n">tau</span> <span class="o">=</span> <span class="mf">0.</span>
    39034185   
    39044186    <span class="k">def</span> <span class="nf">OnKeyBox</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    3905 <span class="c">#        Draw()                          #make sure plot is fresh!!</span>
    39064187        <span class="n">mode</span> <span class="o">=</span> <span class="n">cb</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    39074188        <span class="k">if</span> <span class="n">mode</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;jpeg&#39;</span><span class="p">,</span><span class="s">&#39;bmp&#39;</span><span class="p">,</span><span class="s">&#39;tiff&#39;</span><span class="p">,]:</span>
     
    39194200            <span class="k">if</span> <span class="n">mode</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;jpeg&#39;</span><span class="p">,]:</span>
    39204201                <span class="n">Pix</span> <span class="o">=</span> <span class="n">glReadPixels</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">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">GL_RGBA</span><span class="p">,</span> <span class="n">GL_UNSIGNED_BYTE</span><span class="p">)</span>
    3921                 <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGBA&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
     4202                <span class="n">im</span> <span class="o">=</span> <span class="n">Im</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGBA&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
    39224203            <span class="k">else</span><span class="p">:</span>
    39234204                <span class="n">Pix</span> <span class="o">=</span> <span class="n">glReadPixels</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">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">GL_RGB</span><span class="p">,</span> <span class="n">GL_UNSIGNED_BYTE</span><span class="p">)</span>
    3924                 <span class="n">im</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGB&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
     4205                <span class="n">im</span> <span class="o">=</span> <span class="n">Im</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">&quot;RGB&quot;</span><span class="p">,</span> <span class="p">(</span><span class="n">size</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span>
    39254206            <span class="n">im</span><span class="o">.</span><span class="n">fromstring</span><span class="p">(</span><span class="n">Pix</span><span class="p">)</span>
    39264207            <span class="n">im</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">Fname</span><span class="p">,</span><span class="n">mode</span><span class="p">)</span>
     
    39344215
    39354216    <span class="k">def</span> <span class="nf">OnKey</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>           <span class="c">#on key UP!!</span>
    3936 <span class="c">#        Draw()                          #make sure plot is fresh!!</span>
    39374217        <span class="k">try</span><span class="p">:</span>
    39384218            <span class="n">keyCode</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetKeyCode</span><span class="p">()</span>
     
    40044284            <span class="n">dirDict</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;U&#39;</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="s">&#39;D&#39;</span><span class="p">:[</span><span class="mi">0</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="s">&#39;L&#39;</span><span class="p">:[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">],</span><span class="s">&#39;R&#39;</span><span class="p">:[</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">]}</span>
    40054285            <span class="n">SetMapRoll</span><span class="p">(</span><span class="n">dirDict</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
     4286            <span class="k">if</span> <span class="s">&#39;rho&#39;</span> <span class="ow">in</span> <span class="n">generalData</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;4DmapData&#39;</span><span class="p">,{}):</span>
     4287                <span class="n">Set4DMapRoll</span><span class="p">(</span><span class="n">dirDict</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
    40064288            <span class="n">SetPeakRoll</span><span class="p">(</span><span class="n">dirDict</span><span class="p">[</span><span class="n">key</span><span class="p">])</span>
    40074289            <span class="n">SetMapPeaksText</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">)</span>
     4290        <span class="k">elif</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="s">&#39;-&#39;</span><span class="p">,</span><span class="s">&#39;=&#39;</span><span class="p">,</span><span class="s">&#39;0&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">]:</span>
     4291            <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s">&#39;0&#39;</span><span class="p">:</span>
     4292                <span class="n">G2frame</span><span class="o">.</span><span class="n">tau</span> <span class="o">=</span> <span class="mf">0.</span>
     4293            <span class="k">elif</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;+&#39;</span><span class="p">,</span><span class="s">&#39;=&#39;</span><span class="p">]:</span>
     4294                <span class="n">G2frame</span><span class="o">.</span><span class="n">tau</span> <span class="o">+=</span> <span class="mf">0.05</span>
     4295            <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">&#39;-&#39;</span><span class="p">:</span>
     4296                <span class="n">G2frame</span><span class="o">.</span><span class="n">tau</span> <span class="o">-=</span> <span class="mf">0.05</span>
     4297            <span class="n">G2frame</span><span class="o">.</span><span class="n">tau</span> <span class="o">%=</span> <span class="mf">1.</span>   <span class="c">#force 0-1 range</span>
    40084298        <span class="n">Draw</span><span class="p">(</span><span class="s">&#39;key&#39;</span><span class="p">)</span>
    40094299           
     
    41964486        <span class="n">glLightfv</span><span class="p">(</span><span class="n">GL_LIGHT0</span><span class="p">,</span><span class="n">GL_DIFFUSE</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="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">])</span>
    41974487       
    4198     <span class="k">def</span> <span class="nf">GetRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">,</span><span class="n">rho</span><span class="p">):</span>
     4488    <span class="k">def</span> <span class="nf">GetRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">,</span><span class="n">rhoshape</span><span class="p">):</span>
    41994489        <span class="n">Q</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;Quaternion&#39;</span><span class="p">]</span>
    42004490        <span class="n">dxy</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">prodQVQ</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">invQ</span><span class="p">(</span><span class="n">Q</span><span class="p">),</span><span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">Bmat</span><span class="p">,</span><span class="n">newxy</span><span class="o">+</span><span class="p">[</span><span class="mi">0</span><span class="p">,]))</span>
    4201         <span class="n">dxy</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">dxy</span><span class="o">*</span><span class="n">rho</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>       
     4491        <span class="n">dxy</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">dxy</span><span class="o">*</span><span class="n">rhoshape</span><span class="p">)</span>       
    42024492        <span class="n">roll</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">dxy</span><span class="o">&gt;</span><span class="mf">0.5</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">dxy</span><span class="o">&lt;-.</span><span class="mi">5</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">))</span>
    42034493        <span class="k">return</span> <span class="n">roll</span>
     
    42054495    <span class="k">def</span> <span class="nf">SetMapRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">):</span>
    42064496        <span class="n">rho</span> <span class="o">=</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]</span>
    4207         <span class="n">roll</span> <span class="o">=</span> <span class="n">GetRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">,</span><span class="n">rho</span><span class="p">)</span>
     4497        <span class="n">roll</span> <span class="o">=</span> <span class="n">GetRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">,</span><span class="n">rho</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
    42084498        <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">rho</span><span class="p">,</span><span class="n">roll</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">),</span><span class="n">roll</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span><span class="n">roll</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
    42094499        <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;oldxy&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">newxy</span><span class="p">)</span>
    42104500       
     4501    <span class="k">def</span> <span class="nf">Set4DMapRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">):</span>
     4502        <span class="n">rho</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">][</span><span class="s">&#39;rho&#39;</span><span class="p">]</span>
     4503        <span class="n">roll</span> <span class="o">=</span> <span class="n">GetRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">,</span><span class="n">rho</span><span class="o">.</span><span class="n">shape</span><span class="p">[:</span><span class="mi">3</span><span class="p">])</span>
     4504        <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">][</span><span class="s">&#39;rho&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">roll</span><span class="p">(</span><span class="n">rho</span><span class="p">,</span><span class="n">roll</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">),</span><span class="n">roll</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span><span class="n">roll</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
     4505       
    42114506    <span class="k">def</span> <span class="nf">SetPeakRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">):</span>
    42124507        <span class="n">rho</span> <span class="o">=</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]</span>
    4213         <span class="n">roll</span> <span class="o">=</span> <span class="n">GetRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">,</span><span class="n">rho</span><span class="p">)</span>
     4508        <span class="n">roll</span> <span class="o">=</span> <span class="n">GetRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">,</span><span class="n">rho</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
    42144509        <span class="n">steps</span> <span class="o">=</span> <span class="mf">1.</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">rho</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
    42154510        <span class="n">dxy</span> <span class="o">=</span> <span class="n">roll</span><span class="o">*</span><span class="n">steps</span>
     
    45614856            <span class="n">VP</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">drawingData</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">])</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="o">.</span><span class="mi">5</span><span class="p">,</span><span class="o">.</span><span class="mi">5</span><span class="p">,</span><span class="o">.</span><span class="mi">5</span><span class="p">])</span>
    45624857            <span class="n">contLevel</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;contourLevel&#39;</span><span class="p">]</span><span class="o">*</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rhoMax&#39;</span><span class="p">]</span>
    4563             <span class="k">if</span> <span class="s">&#39;delt-F&#39;</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">]:</span>
     4858            <span class="k">if</span> <span class="s">&#39;delt-F&#39;</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">]</span> <span class="ow">or</span> <span class="s">&#39;N&#39;</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
    45644859                <span class="n">rho</span> <span class="o">=</span> <span class="n">ma</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">],</span><span class="n">mask</span><span class="o">=</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">])</span><span class="o">&lt;</span><span class="n">contLevel</span><span class="p">))</span>
    45654860            <span class="k">else</span><span class="p">:</span>
     
    47185013            <span class="n">XYZ</span> <span class="o">=</span> <span class="n">mapPeaks</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">1</span><span class="p">:</span><span class="mi">4</span><span class="p">]</span><span class="o">.</span><span class="n">T</span>
    47195014            <span class="n">mapBonds</span> <span class="o">=</span> <span class="n">FindPeaksBonds</span><span class="p">(</span><span class="n">XYZ</span><span class="p">)</span>
    4720             <span class="k">for</span> <span class="n">ind</span><span class="p">,[</span><span class="n">mag</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="n">d</span><span class="p">]</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">):</span>
     5015            <span class="k">for</span> <span class="n">ind</span><span class="p">,[</span><span class="n">mag</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">]</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">[:,:</span><span class="mi">4</span><span class="p">]):</span>
    47215016                <span class="k">if</span> <span class="n">ind</span> <span class="ow">in</span> <span class="n">Ind</span> <span class="ow">and</span> <span class="n">pageName</span> <span class="o">==</span> <span class="s">&#39;Map peaks&#39;</span><span class="p">:</span>
    47225017                    <span class="n">RenderMapPeak</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="n">Gr</span><span class="p">,</span><span class="mf">1.0</span><span class="p">)</span>
    47235018                <span class="k">else</span><span class="p">:</span>
    4724                     <span class="n">RenderMapPeak</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">mag</span><span class="o">/</span><span class="n">peakMax</span><span class="p">)</span>
     5019                    <span class="k">if</span> <span class="n">mag</span> <span class="o">&gt;</span> <span class="mf">0.</span><span class="p">:</span>
     5020                        <span class="n">RenderMapPeak</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="n">Wt</span><span class="p">,</span><span class="n">mag</span><span class="o">/</span><span class="n">peakMax</span><span class="p">)</span>
     5021                    <span class="k">else</span><span class="p">:</span>
     5022                        <span class="n">RenderMapPeak</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="n">Rd</span><span class="p">,</span><span class="o">-</span><span class="n">mag</span><span class="o">/</span><span class="n">peakMax</span><span class="p">)</span>
    47255023                <span class="k">if</span> <span class="n">showBonds</span><span class="p">:</span>
    47265024                    <span class="n">RenderLines</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="n">mapBonds</span><span class="p">[</span><span class="n">ind</span><span class="p">],</span><span class="n">Wt</span><span class="p">)</span>
     
    47775075    <span class="k">else</span><span class="p">:</span>
    47785076        <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39; save as/key:&#39;</span><span class="p">,</span><span class="s">&#39;jpeg&#39;</span><span class="p">,</span><span class="s">&#39;tiff&#39;</span><span class="p">,</span><span class="s">&#39;bmp&#39;</span><span class="p">,</span><span class="s">&#39;c: center on 1/2,1/2,1/2&#39;</span><span class="p">,</span><span class="s">&#39;n: next&#39;</span><span class="p">,</span><span class="s">&#39;p: previous&#39;</span><span class="p">]</span>
     5077    <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">drawAtoms</span><span class="p">):</span>
     5078        <span class="n">choice</span> <span class="o">+=</span> <span class="p">[</span><span class="s">&#39;+: increase tau&#39;</span><span class="p">,</span><span class="s">&#39;-: decrease tau&#39;</span><span class="p">,</span><span class="s">&#39;0: set tau = 0&#39;</span><span class="p">]</span>
     5079
    47795080    <span class="n">cb</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">status</span><span class="p">,</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="p">,</span><span class="n">choices</span><span class="o">=</span><span class="n">choice</span><span class="p">)</span>
    47805081    <span class="n">cb</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_COMBOBOX</span><span class="p">,</span> <span class="n">OnKeyBox</span><span class="p">)</span>
     
    47905091    <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">&#39;position&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;cameraPos&#39;</span><span class="p">]</span>
    47915092    <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">Amat</span><span class="p">,</span><span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;viewPoint&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span>
    4792     <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">&#39;backColor&#39;</span><span class="p">]</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="nb">list</span><span class="p">(</span><span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;backColor&#39;</span><span class="p">])</span><span class="o">+</span><span class="p">[</span><span class="mi">0</span><span class="p">,])</span><span class="o">/</span><span class="mf">255.</span>
     5093    <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">&#39;backColor&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">backColor</span><span class="o">/</span><span class="mf">255.</span>
    47935094    <span class="k">try</span><span class="p">:</span>
    47945095        <span class="n">Page</span><span class="o">.</span><span class="n">canvas</span><span class="o">.</span><span class="n">SetCurrent</span><span class="p">()</span>
Note: See TracChangeset for help on using the changeset viewer.