Changeset 1709 for sphinxdocs/build/html/_modules/GSASIIplot.html
- Timestamp:
- Mar 14, 2015 5:35:03 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sphinxdocs/build/html/_modules/GSASIIplot.html
r1513 r1709 56 56 <span class="sd">'''</span> 57 57 <span class="c">########### SVN repository information ###################</span> 58 <span class="c"># $Date: 201 4-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> 59 59 <span class="c"># $Author: vondreele $</span> 60 <span class="c"># $Revision: 1 506$</span>60 <span class="c"># $Revision: 1694 $</span> 61 61 <span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIplot.py $</span> 62 <span class="c"># $Id: GSASIIplot.py 1 506 2014-09-26 14:41:33Z vondreele $</span>62 <span class="c"># $Id: GSASIIplot.py 1694 2015-03-10 16:35:24Z vondreele $</span> 63 63 <span class="c">########### SVN repository information ###################</span> 64 64 <span class="kn">import</span> <span class="nn">math</span> … … 76 76 <span class="kn">import</span> <span class="nn">mpl_toolkits.mplot3d.axes3d</span> <span class="kn">as</span> <span class="nn">mp3d</span> 77 77 <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">"$Revision: 1 506$"</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">"$Revision: 1694 $"</span><span class="p">)</span> 79 79 <span class="kn">import</span> <span class="nn">GSASIIgrid</span> <span class="kn">as</span> <span class="nn">G2gd</span> 80 80 <span class="kn">import</span> <span class="nn">GSASIIimage</span> <span class="kn">as</span> <span class="nn">G2img</span> … … 87 87 <span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span> 88 88 <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> 89 90 <span class="kn">import</span> <span class="nn">pytexture</span> <span class="kn">as</span> <span class="nn">ptx</span> 90 91 <span class="kn">from</span> <span class="nn">OpenGL.GL</span> <span class="kn">import</span> <span class="o">*</span> … … 112 113 <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> 113 114 <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> 114 116 115 117 <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> … … 260 262 </div></div> 261 263 <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">' needs a doc string'</span>264 <span class="s">'Override the matplotlib toolbar so we can add more icons'</span> 263 265 <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> 264 266 <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">'left'</span><span class="p">,</span><span class="s">'right'</span><span class="p">,</span><span class="s">'up'</span><span class="p">,</span><span class="s">'down'</span><span class="p">,</span><span class="s">'Expand X'</span><span class="p">,</span> 269 <span class="s">'Shrink X'</span><span class="p">,</span><span class="s">'Expand Y'</span><span class="p">,</span><span class="s">'Shrink Y'</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> 265 271 <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">'''Adds additional icons to toolbar'''</span> 266 273 <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> 268 276 <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> 270 278 <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">'key.ico'</span><span class="p">)</span> 271 279 <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">'Key press'</span><span class="p">,</span><span class="s">'Select key press'</span><span class="p">)</span> … … 274 282 <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">'Help on'</span><span class="p">,</span><span class="s">'Show help on'</span><span class="p">)</span> 275 283 <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">'left'</span><span class="p">,</span><span class="s">'right'</span><span class="p">,</span><span class="s">'up'</span><span class="p">,</span><span class="s">'down'</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">'arrow.ico'</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">'Shift '</span><span class="o">+</span><span class="n">direc</span><span class="p">,</span><span class="s">'Shift plot '</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">'Expand X'</span><span class="p">,</span><span class="s">'Shrink X'</span><span class="p">,</span><span class="s">'Expand Y'</span><span class="p">,</span><span class="s">'Shrink Y'</span><span class="p">):</span> 291 <span class="n">fil</span> <span class="o">=</span> <span class="s">''</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">'arrow.ico'</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">'Zoom: '</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">'reposition limits to scan or zoom by button press'</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">'right'</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">'left'</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">'up'</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">'down'</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">'Expand X'</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">'Expand Y'</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">'Shrink X'</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">'Shrink Y'</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> 276 343 <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">' needs a doc string'</span>344 <span class="s">'Respond to press of help button on plot toolbar'</span> 278 345 <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> 279 346 <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> 280 347 <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> 281 348 <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">')'</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'('</span><span class="p">,</span><span class="s">'_'</span><span class="p">)</span> 282 <span class="n">G2 gd</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> 283 350 <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">'needs a doc string'</span> 351 <span class="sd">'''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"> '''</span> 285 354 <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> 286 355 <span class="k">if</span> <span class="n">parent</span><span class="o">.</span><span class="n">Choice</span><span class="p">:</span> … … 321 390 <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">'d'</span><span class="p">:</span> 322 391 <span class="n">Data</span><span class="p">[</span><span class="s">'Scale'</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">'+'</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">'+'</span><span class="p">,</span><span class="s">'='</span><span class="p">]:</span> 324 393 <span class="n">Data</span><span class="p">[</span><span class="s">'Layer'</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">'Layer'</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> 325 394 <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">'-'</span><span class="p">:</span> … … 410 479 <span class="n">Super</span> <span class="o">=</span> <span class="n">Data</span><span class="p">[</span><span class="s">'Super'</span><span class="p">]</span> 411 480 <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">'SuperVec'</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">'SuperVec'</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> 415 483 <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> 416 484 <span class="n">xlabel</span> <span class="o">=</span> <span class="p">[</span><span class="s">'k, h='</span><span class="p">,</span><span class="s">'h, k='</span><span class="p">,</span><span class="s">'h, l='</span><span class="p">]</span> … … 429 497 <span class="k">else</span><span class="p">:</span> 430 498 <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> 432 503 <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> 433 504 <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">'Layer'</span><span class="p">]:</span> … … 462 533 <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> 463 534 <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"><</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> 466 540 <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> 467 541 <span class="k">if</span> <span class="n">Type</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'|DFsq|/sig'</span><span class="p">,</span><span class="s">'|DFsq|>sig'</span><span class="p">,</span><span class="s">'|DFsq|>3sig'</span><span class="p">]:</span> … … 504 578 <span class="c">################################################################################</span> 505 579 </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">''</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> 507 581 <span class="sd">'''3D Structure factor plotting package - displays reflections as rings proportional</span> 508 582 <span class="sd"> to F, F**2, etc. as requested as 3D array</span> 509 583 <span class="sd"> '''</span> 510 584 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> 511 587 <span class="k">def</span> <span class="nf">OnKeyBox</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 512 588 <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> … … 520 596 <span class="k">print</span> <span class="s">"PIL/pillow Image module not present. Cannot save images without this"</span> 521 597 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">"PIL/pillow Image module not found"</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">'Name'</span><span class="p">]</span><span class="o">+</span><span class="s">'.'</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">'Name'</span><span class="p">]</span><span class="o">+</span><span class="s">'.'</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'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">'unknown'</span><span class="o">+</span><span class="s">'.'</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">' saved'</span> 523 603 <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> 524 604 <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> 525 605 <span class="k">if</span> <span class="n">mode</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'jpeg'</span><span class="p">,]:</span> 526 606 <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">Im age</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">"RGBA"</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">"RGBA"</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> 528 608 <span class="k">else</span><span class="p">:</span> 529 609 <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">Im age</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">"RGB"</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">"RGB"</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> 531 611 <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> 532 612 <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> … … 540 620 541 621 <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> 542 623 <span class="n">Choice</span> <span class="o">=</span> <span class="p">{</span><span class="s">'F'</span><span class="p">:</span><span class="s">'Fo'</span><span class="p">,</span><span class="s">'S'</span><span class="p">:</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'U'</span><span class="p">:</span><span class="s">'Unit'</span><span class="p">,</span><span class="s">'D'</span><span class="p">:</span><span class="s">'dFsq'</span><span class="p">,</span><span class="s">'W'</span><span class="p">:</span><span class="s">'dFsq/sig'</span><span class="p">}</span> 543 624 <span class="k">try</span><span class="p">:</span> … … 559 640 <span class="n">drawingData</span><span class="p">[</span><span class="s">'Quaternion'</span><span class="p">]</span> <span class="o">=</span> <span class="n">Q</span> 560 641 <span class="n">Q</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">'Quaternion'</span><span class="p">]</span> 561 <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">'+'</span><span class="p">:</span> 642 <span class="k">elif</span> <span class="n">key</span> <span class="ow">in</span> <span class="s">'B'</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">'+'</span><span class="p">,</span><span class="s">'='</span><span class="p">]:</span> 562 645 <span class="n">Data</span><span class="p">[</span><span class="s">'Scale'</span><span class="p">]</span> <span class="o">*=</span> <span class="mf">1.25</span> 563 646 <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">'-'</span><span class="p">:</span> 564 647 <span class="n">Data</span><span class="p">[</span><span class="s">'Scale'</span><span class="p">]</span> <span class="o">/=</span> <span class="mf">1.25</span> 565 648 <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">'0'</span><span class="p">:</span> 649 <span class="n">drawingData</span><span class="p">[</span><span class="s">'viewPoint'</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> 566 650 <span class="n">Data</span><span class="p">[</span><span class="s">'Scale'</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.0</span> 567 651 <span class="k">elif</span> <span class="n">key</span> <span class="o">==</span> <span class="s">'I'</span><span class="p">:</span> … … 572 656 573 657 <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">'no phase'</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> 575 659 <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">'General'</span><span class="p">]</span> 576 660 <span class="n">cell</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Cell'</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">'Mydir'</span><span class="p">]</span> 577 662 <span class="k">else</span><span class="p">:</span> 578 663 <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> 579 665 <span class="n">drawingData</span> <span class="o">=</span> <span class="n">Data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]</span> 580 666 <span class="n">Super</span> <span class="o">=</span> <span class="n">Data</span><span class="p">[</span><span class="s">'Super'</span><span class="p">]</span> 581 667 <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">'SuperVec'</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">'SuperVec'</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> 585 670 <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">'viewPoint'</span><span class="p">])</span> 586 671 <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> … … 599 684 <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> 600 685 <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> 604 690 <span class="k">def</span> <span class="nf">FillHKLRC</span><span class="p">():</span> 605 691 <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> … … 613 699 <span class="k">else</span><span class="p">:</span> 614 700 <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> 616 705 <span class="k">if</span> <span class="n">Data</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'Unit'</span><span class="p">:</span> 617 706 <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> … … 762 851 <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> 763 852 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 764 870 <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> 765 871 <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> … … 769 875 <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> 770 876 <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> 772 878 <span class="n">glColor3ubv</span><span class="p">(</span><span class="n">color</span><span class="p">)</span> 773 879 <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> … … 833 939 <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> 834 940 <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">'viewPoint'</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> 836 945 <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> 837 946 <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> … … 854 963 <span class="n">Page</span><span class="o">.</span><span class="n">SetFocus</span><span class="p">()</span> 855 964 <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">' save as/key:'</span><span class="p">,</span><span class="s">'jpeg'</span><span class="p">,</span><span class="s">'tiff'</span><span class="p">,</span><span class="s">'bmp'</span><span class="p">,</span><span class="s">'c: recenter to default'</span><span class="p">,</span><span class="s">' +: increase scale'</span><span class="p">,</span>965 <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">' save as/key:'</span><span class="p">,</span><span class="s">'jpeg'</span><span class="p">,</span><span class="s">'tiff'</span><span class="p">,</span><span class="s">'bmp'</span><span class="p">,</span><span class="s">'c: recenter to default'</span><span class="p">,</span><span class="s">'b: toggle box '</span><span class="p">,</span><span class="s">'+: increase scale'</span><span class="p">,</span> 857 966 <span class="s">'-: decrease scale'</span><span class="p">,</span><span class="s">'f: Fobs'</span><span class="p">,</span><span class="s">'s: Fobs**2'</span><span class="p">,</span><span class="s">'u: unit'</span><span class="p">,</span><span class="s">'d: Fo-Fc'</span><span class="p">,</span><span class="s">'w: DF/sig'</span><span class="p">,</span><span class="s">'i: toggle intensity scaling'</span><span class="p">]</span> 858 967 <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> … … 869 978 <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">'viewPoint'</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">'viewPoint'</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> 870 979 <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">'backColor'</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">'backColor'</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> 871 981 <span class="k">try</span><span class="p">:</span> 872 982 <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> … … 891 1001 <span class="k">global</span> <span class="n">Ymax</span> 892 1002 <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">'Offset'</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">'PWDR'</span><span class="p">,</span><span class="s">'SASD'</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">'Offset'</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">'delOffset'</span><span class="p">:</span><span class="mf">0.02</span><span class="p">,</span><span class="s">'refOffset'</span><span class="p">:</span><span class="o">-</span><span class="mf">1.0</span><span class="p">,</span> 1007 <span class="s">'refDelt'</span><span class="p">:</span><span class="mf">0.01</span><span class="p">,</span><span class="s">'qPlot'</span><span class="p">:</span><span class="bp">False</span><span class="p">,</span><span class="s">'dPlot'</span><span class="p">:</span><span class="bp">False</span><span class="p">,</span><span class="s">'sqrtPlot'</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> 894 1010 <span class="k">def</span> <span class="nf">OnPlotKeyPress</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 895 1011 <span class="k">try</span><span class="p">:</span> <span class="c">#one way to check if key stroke will work on plot</span> … … 916 1032 <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> 917 1033 <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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span> 919 1035 <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span> 920 1036 <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">'s'</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> … … 930 1046 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 931 1047 <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">'sqrtPlot'</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">'sqrtPlot'</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">'sqrtPlot'</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">'delOffset'</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">'refOffset'</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">'refDelt'</span><span class="p">]</span> <span class="o">=</span> <span class="o">.</span><span class="mo">001</span> 937 1053 <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">'delOffset'</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">'refOffset'</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">'refDelt'</span><span class="p">]</span> <span class="o">=</span> <span class="o">.</span><span class="mo">01</span> 941 1057 <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span> 942 1058 <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">'u'</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> 943 1059 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span> 944 1060 <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"><</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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span> 947 1063 <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">'d'</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> 948 1064 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span> 949 1065 <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">></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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">></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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span> 952 1068 <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">'l'</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">'Offset'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span> 954 1070 <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">'r'</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">'Offset'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span> 956 1072 <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">'o'</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> 957 1073 <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">'Offset'</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> 959 1075 <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">'c'</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 960 1076 <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span> 961 1077 <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> 962 1078 <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">'Offset'</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> 964 1080 <span class="k">else</span><span class="p">:</span> 965 1081 <span class="n">G2frame</span><span class="o">.</span><span class="n">SinglePlot</span> <span class="o">=</span> <span class="bp">True</span> … … 968 1084 <span class="k">if</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 969 1085 <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">'qPlot'</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">'qPlot'</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">'dPlot'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 972 1088 <span class="k">elif</span> <span class="s">'SASD'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 973 1089 <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span> 974 1090 <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> 975 1091 <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">'t'</span> <span class="ow">and</span> <span class="s">'PWDR'</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">'dPlot'</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">'dPlot'</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">'qPlot'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 978 1094 <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span> 979 1095 <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">'m'</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">'sqrtPlot'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 981 1097 <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> 982 1098 <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">'+'</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">'+'</span><span class="p">,</span><span class="s">'='</span><span class="p">]:</span> 984 1100 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">:</span> 985 1101 <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="bp">False</span> … … 995 1111 <span class="n">G2frame</span><span class="o">.</span><span class="n">Interpolate</span> <span class="o">=</span> <span class="s">'nearest'</span> 996 1112 <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 'no binding for key',event.key</span> 1115 <span class="c">#GSASIIpath.IPyBreak()</span> 1116 <span class="k">return</span> 998 1117 <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> 999 1118 … … 1005 1124 <span class="k">try</span><span class="p">:</span> 1006 1125 <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">'Instrument Parameters'</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">'PWDR'</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">'qPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1008 1127 <span class="n">q</span> <span class="o">=</span> <span class="n">xpos</span> 1009 1128 <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> … … 1015 1134 <span class="n">q</span> <span class="o">=</span> <span class="n">xpos</span> 1016 1135 <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">'dPlot'</span><span class="p">]:</span> 1018 1137 <span class="n">dsp</span> <span class="o">=</span> <span class="n">xpos</span> 1019 1138 <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> 1020 1139 <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">'T'</span> <span class="ow">in</span> <span class="n">Parms</span><span class="p">[</span><span class="s">'Type'</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> 1021 1144 <span class="k">else</span><span class="p">:</span> 1022 1145 <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> … … 1030 1153 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Parms</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 1031 1154 <span class="k">if</span> <span class="s">'PWDR'</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">'sqrtPlot'</span><span class="p">]:</span> 1033 1156 <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">'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">'</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> 1034 1157 <span class="k">else</span><span class="p">:</span> … … 1037 1160 <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">'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">'</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> 1038 1161 <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">'sqrtPlot'</span><span class="p">]:</span> 1040 1163 <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">'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">'</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> 1041 1164 <span class="k">else</span><span class="p">:</span> … … 1045 1168 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">:</span> 1046 1169 <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">'Index Peak List'</span><span class="p">,</span><span class="s">'Unit Cells List'</span><span class="p">,</span><span class="s">'Reflection Lists'</span><span class="p">]</span> <span class="ow">or</span> \ 1048 <span class="s">'PWDR'</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">'Index Peak List'</span><span class="p">,</span><span class="s">'Unit Cells List'</span><span class="p">,</span><span class="s">'Reflection Lists'</span><span class="p">]</span> <span class="ow">or</span> \ 1172 <span class="s">'PWDR'</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">'Index Peak List'</span><span class="p">,</span><span class="s">'Unit Cells List'</span><span class="p">,]:</span> 1175 <span class="n">indx</span> <span class="o">=</span> <span class="o">-</span><span class="mi">2</span> 1049 1176 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">HKL</span><span class="p">):</span> 1050 1177 <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> 1051 1178 <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"><</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"><</span> <span class="mf">0.002</span><span class="o">*</span><span class="n">wid</span><span class="p">)]</span> 1053 1180 <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">'</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="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">></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">'</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">'</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">'</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="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> 1056 1187 <span class="k">else</span><span class="p">:</span> 1057 1188 <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">''</span><span class="p">)</span> … … 1080 1211 <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> 1081 1212 <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">'qPlot'</span><span class="p">]:</span> <span class="c">#qplot - convert back to 2-theta</span> 1083 1214 <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">'dPlot'</span><span class="p">]:</span> <span class="c">#dplot - convert back to 2-theta</span> 1085 1216 <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> 1086 1217 <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> … … 1095 1226 <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">'Limits'</span><span class="p">)</span> 1096 1227 <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">'qPlot'</span><span class="p">]:</span> <span class="c">#qplot - convert back to 2-theta</span> 1098 1229 <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">'dPlot'</span><span class="p">]:</span> <span class="c">#dplot - convert back to 2-theta</span> 1100 1231 <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> 1101 1232 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">ifGetExclude</span><span class="p">:</span> … … 1134 1265 <span class="k">def</span> <span class="nf">OnRelease</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 1135 1266 <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> 1136 1268 <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> 1137 1270 <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">'delOffset'</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> 1139 1272 <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> 1140 1274 <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> 1141 1275 <span class="k">return</span> 1142 1276 <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">'Instrument Parameters'</span><span class="p">))</span> 1143 1277 <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>1145 1278 <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">'Peak List'</span><span class="p">,</span><span class="s">'Limits'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">xpos</span><span class="p">:</span> 1146 1279 <span class="n">lines</span> <span class="o">=</span> <span class="p">[]</span> … … 1156 1289 <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> 1157 1290 <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">'PWDR'</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">'qPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1159 1292 <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">'PWDR'</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">'dPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1161 1294 <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> 1162 1295 <span class="k">else</span><span class="p">:</span> … … 1175 1308 <span class="k">del</span> <span class="n">data</span><span class="p">[</span><span class="s">'peaks'</span><span class="p">][</span><span class="n">lineNo</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> 1176 1309 <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">'qPlot'</span><span class="p">]:</span> 1178 1311 <span class="n">data</span><span class="p">[</span><span class="s">'peaks'</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">'dPlot'</span><span class="p">]:</span> 1180 1313 <span class="n">data</span><span class="p">[</span><span class="s">'peaks'</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> 1181 1314 <span class="k">else</span><span class="p">:</span> … … 1204 1337 <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">'('</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">')'</span><span class="p">)</span> 1205 1338 <span class="k">if</span> <span class="s">'line'</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> 1206 1340 <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> 1207 1341 <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">'refDelt'</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">'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> 1209 1343 <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">'refOffset'</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> 1211 1346 <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> 1212 1347 <span class="n">G2frame</span><span class="o">.</span><span class="n">itemPicked</span> <span class="o">=</span> <span class="bp">None</span> … … 1287 1422 <span class="n">Lines</span> <span class="o">=</span> <span class="p">[]</span> 1288 1423 <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> 1290 1425 <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> 1291 1426 <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> … … 1319 1454 <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">'Reflection Lists'</span><span class="p">))</span> 1320 1455 <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> 1322 1457 <span class="k">try</span><span class="p">:</span> 1323 1458 <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">'RefList'</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">></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> 1326 1464 <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> 1327 1465 <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> … … 1336 1474 <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> 1337 1475 <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">'Offset'</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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> 1339 1478 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">logPlot</span><span class="p">:</span> 1340 1479 <span class="n">Title</span> <span class="o">=</span> <span class="s">'log('</span><span class="o">+</span><span class="n">Title</span><span class="o">+</span><span class="s">')'</span> 1341 1480 <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">'SASD'</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">'qPlot'</span><span class="p">]</span> <span class="ow">or</span> <span class="s">'SASD'</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> 1343 1482 <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r'$Q, \AA^{-1}$'</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">'PWDR'</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">'dPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</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> 1345 1484 <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r'$d, \AA$'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span> 1346 1485 <span class="k">else</span><span class="p">:</span> … … 1348 1487 <span class="n">Plot</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s">r'$\mathsf{2\theta}$'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span> 1349 1488 <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'$TOF, \mathsf{\mu}$s'</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'Channel no.'</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'$TOF, \mathsf{\mu}$s'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span> 1351 1493 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Weight</span><span class="p">:</span> 1352 1494 <span class="k">if</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> … … 1357 1499 <span class="k">if</span> <span class="s">'C'</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">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 1358 1500 <span class="k">if</span> <span class="s">'PWDR'</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">'sqrtPlot'</span><span class="p">]:</span> 1360 1502 <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">r'$\sqrt{Intensity}$'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span> 1361 1503 <span class="k">else</span><span class="p">:</span> … … 1367 1509 <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">r'$Intensity, cm^{-1}$'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span> 1368 1510 <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">'sqrtPlot'</span><span class="p">]:</span> 1370 1512 <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">r'$\sqrt{Normalized\ intensity}$'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">16</span><span class="p">)</span> 1371 1513 <span class="k">else</span><span class="p">:</span> … … 1394 1536 <span class="k">for</span> <span class="n">excl</span> <span class="ow">in</span> <span class="n">excls</span><span class="p">:</span> 1395 1537 <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">'PWDR'</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">'qPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1397 1539 <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> 1398 1540 <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">'PWDR'</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">'dPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1400 1542 <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> 1401 1543 <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> … … 1405 1547 <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> 1406 1548 <span class="k">if</span> <span class="s">'PWDR'</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">'sqrtPlot'</span><span class="p">]:</span> 1408 1550 <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">'ignore'</span><span class="p">)</span> <span class="c">#get around sqrt(-ve) error</span> 1409 1551 <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">>=</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> 1410 1552 <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">'invalid'</span><span class="p">])</span> 1411 1553 <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> 1413 1555 <span class="k">elif</span> <span class="s">'SASD'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1414 1556 <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> 1415 1557 <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">'Scale'</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.0 05</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">'Scale'</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> 1417 1559 <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">'Scale'</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.0 05</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">'Scale'</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> 1419 1561 <span class="k">if</span> <span class="n">LimitId</span> <span class="ow">and</span> <span class="n">ifpicked</span><span class="p">:</span> 1420 1562 <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> 1421 1563 <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">'PWDR'</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">'qPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1423 1565 <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">'PWDR'</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">'dPlot'</span><span class="p">]</span> <span class="ow">and</span> <span class="s">'PWDR'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1425 1567 <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> 1426 1568 <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">'g'</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> … … 1430 1572 <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">'m'</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> 1431 1573 <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> 1434 1575 <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> 1435 1576 <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> 1436 1577 <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">'C'</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">'Type'</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">#'T'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> 1438 1582 <span class="n">Nseq</span> <span class="o">+=</span> <span class="mi">1</span> 1439 1583 <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">'Data sequence'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">12</span><span class="p">)</span> 1440 1584 <span class="k">else</span><span class="p">:</span> 1441 1585 <span class="k">if</span> <span class="s">'SASD'</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> 1443 1587 <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> 1445 1589 <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> 1446 1590 <span class="n">DifLine</span> <span class="o">=</span> <span class="p">[</span><span class="s">''</span><span class="p">]</span> 1447 1591 <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">'sqrtPlot'</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">'ignore'</span><span class="p">)</span> <span class="c">#get around sqrt(-ve) error</span> 1449 1594 <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">>=</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">'invalid'</span><span class="p">])</span> 1450 1596 <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> 1452 1598 <span class="k">if</span> <span class="s">'PWDR'</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">'sqrtPlot'</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">'ignore'</span><span class="p">)</span> <span class="c">#get around sqrt(-ve) error</span> 1454 1601 <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">>=</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">'invalid'</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">'delOffset'</span><span class="p">]</span> 1456 1604 <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">'delOffset'</span><span class="p">]</span> <span class="c">#powder background</span> 1459 1607 <span class="k">elif</span> <span class="s">'SASD'</span> <span class="ow">in</span> <span class="n">plottype</span><span class="p">:</span> 1460 1608 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">sqPlot</span><span class="p">:</span> … … 1508 1656 <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> 1509 1657 <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">'delOffset'</span><span class="p">]</span> 1511 1659 <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">'+'</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> 1512 1660 <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> … … 1538 1686 <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">'Peak List'</span><span class="p">))</span> 1539 1687 <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">'peaks'</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">'qPlot'</span><span class="p">]:</span> 1541 1689 <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">'dPlot'</span><span class="p">]:</span> 1543 1691 <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> 1544 1692 <span class="k">else</span><span class="p">:</span> … … 1567 1715 <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">'Instrument Parameters'</span><span class="p">))</span> 1568 1716 <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">'Index Peak List'</span><span class="p">,</span><span class="s">'Unit Cells List'</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">'Index Peak List'</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">'b'</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">'b'</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">'Index Peak List'</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">'qPlot'</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">'b'</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">'dPlot'</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">'b'</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">'b'</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">'r'</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">></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">'g'</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">'qPlot'</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">'dPlot'</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> 1575 1735 <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">'b'</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">'r'</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">'r'</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">'r'</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> 1584 1737 <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">'Reflection Lists'</span><span class="p">]</span> <span class="ow">or</span> \ 1585 1738 <span class="s">'PWDR'</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> … … 1593 1746 <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> 1594 1747 <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">'Super'</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">'refOffset'</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">'refDelt'</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">'qPlot'</span><span class="p">]:</span> 1598 1754 <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">'|'</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">'dPlot'</span><span class="p">]:</span> 1600 1756 <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">'|'</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> 1601 1757 <span class="k">else</span><span class="p">:</span> … … 1704 1860 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span> 1705 1861 <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"><</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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span> 1708 1864 <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">'d'</span><span class="p">:</span> 1709 1865 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span> 1710 1866 <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">></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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">></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">'Offset'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span> 1713 1869 <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">'l'</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">'Offset'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mf">1.</span> 1715 1871 <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">'r'</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">'Offset'</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mf">1.</span> 1717 1873 <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">'o'</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">'Offset'</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> 1719 1875 <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">'c'</span><span class="p">:</span> 1720 1876 <span class="n">newPlot</span> <span class="o">=</span> <span class="bp">True</span> … … 1722 1878 <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> 1723 1879 <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">'Offset'</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> 1725 1881 <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">'s'</span><span class="p">:</span> 1726 1882 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span> … … 1836 1992 <span class="n">lenX</span> <span class="o">=</span> <span class="mi">0</span> 1837 1993 <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> 1839 1998 <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">'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> 1841 2000 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Contour</span><span class="p">:</span> 1842 2001 <span class="n">ContourZ</span> <span class="o">=</span> <span class="p">[]</span> … … 1859 2018 <span class="n">Plot</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s">'Data sequence'</span><span class="p">,</span><span class="n">fontsize</span><span class="o">=</span><span class="mi">12</span><span class="p">)</span> 1860 2019 <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">'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> 1862 2021 <span class="k">if</span> <span class="n">ifpicked</span><span class="p">:</span> 1863 2022 <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">'+'</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> … … 2176 2335 <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> 2177 2336 <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"><</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"><</span> <span class="mf">0.002</span><span class="o">*</span><span class="n">wid</span><span class="p">)]</span> 2179 2338 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">found</span><span class="p">):</span> 2180 2339 <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> … … 2205 2364 <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> 2206 2365 <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">'r'</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">'r'</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> 2208 2367 <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> 2209 2368 <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> … … 2681 2840 2682 2841 <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">'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">'</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">'Select '</span><span class="o">+</span><span class="n">Title</span><span class="o">+</span><span class="s">' pattern first'</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">'0'</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">'+'</span><span class="p">,</span><span class="s">'='</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">'-'</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">'l'</span><span class="p">,</span><span class="s">'r'</span><span class="p">,]</span> <span class="ow">and</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'Flip'</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">'l'</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">'rho'</span><span class="p">]</span> 2874 <span class="n">Map</span><span class="p">[</span><span class="s">'rho'</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">'Modulation'</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">'Modulation'</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">'Modulation'</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">'motion_notify_event'</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">'key_press_event'</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">'General'</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">'AtomPtrs'</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">'Map'</span><span class="p">]</span> 2895 <span class="k">if</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'Flip'</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">'+: shift up'</span><span class="p">,</span><span class="s">'-: shift down'</span><span class="p">,</span><span class="s">'0: reset shift'</span><span class="p">,</span><span class="s">'l: move left'</span><span class="p">,</span><span class="s">'r: move right'</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">'+: shift up'</span><span class="p">,</span><span class="s">'-: shift down'</span><span class="p">,</span><span class="s">'0: reset shift'</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">'4DmapData'</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">'MapType'</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">'rho'</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">'SS1'</span><span class="p">][</span><span class="s">'waveType'</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">'SS1'</span><span class="p">][</span><span class="s">'Spos'</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">'Sawtooth'</span><span class="p">,</span><span class="s">'ZigZag'</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">'Sawtooth'</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">'ZigZag'</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">'Flip'</span><span class="p">]:</span> 2924 <span class="n">Title</span> <span class="o">=</span> <span class="s">'Charge flip'</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">' map for atom '</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">' 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">'</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">'i'</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">'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="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">'x'</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">'y'</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">'z'</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">'t'</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'$\mathsf{\Delta}$</span><span class="si">%s</span><span class="s">'</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> 2683 2952 <span class="c">##### PlotCovariance</span> 2684 2953 <span class="c">################################################################################</span> 2685 </div>2954 2686 2955 <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> 2687 2956 <span class="s">'needs a doc string'</span> … … 2989 3258 <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> 2990 3259 <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> 2992 3270 <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> 2996 3274 <span class="k">else</span><span class="p">:</span> 2997 3275 <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">'o'</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">'o'</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> 3002 3280 <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> 3003 3281 <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> … … 3356 3634 <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> 3357 3635 <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> 3359 3637 <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> 3360 3638 <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> … … 3826 4104 <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> 3827 4105 <span class="n">SGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">]</span> 4106 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</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">'SSGData'</span><span class="p">]</span> 3828 4108 <span class="n">Mydir</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Mydir'</span><span class="p">]</span> 3829 4109 <span class="n">atomData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Atoms'</span><span class="p">]</span> … … 3880 4160 <span class="k">if</span> <span class="s">'Flip'</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span> 3881 4161 <span class="n">flipData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Flip'</span><span class="p">]</span> 3882 <span class="n">flipData</span><span class="p">[</span><span class="s">'mapRoll'</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>3883 4162 <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> 3884 4163 <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> … … 3897 4176 <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> 3898 4177 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">'backColor'</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">'backColor'</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> 3900 4181 <span class="n">altDown</span> <span class="o">=</span> <span class="bp">False</span> 3901 4182 <span class="n">shiftDown</span> <span class="o">=</span> <span class="bp">False</span> 3902 4183 <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> 3903 4185 3904 4186 <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>3906 4187 <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> 3907 4188 <span class="k">if</span> <span class="n">mode</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'jpeg'</span><span class="p">,</span><span class="s">'bmp'</span><span class="p">,</span><span class="s">'tiff'</span><span class="p">,]:</span> … … 3919 4200 <span class="k">if</span> <span class="n">mode</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'jpeg'</span><span class="p">,]:</span> 3920 4201 <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">Im age</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">"RGBA"</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">"RGBA"</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> 3922 4203 <span class="k">else</span><span class="p">:</span> 3923 4204 <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">Im age</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s">"RGB"</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">"RGB"</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> 3925 4206 <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> 3926 4207 <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> … … 3934 4215 3935 4216 <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>3937 4217 <span class="k">try</span><span class="p">:</span> 3938 4218 <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> … … 4004 4284 <span class="n">dirDict</span> <span class="o">=</span> <span class="p">{</span><span class="s">'U'</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">'D'</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">'L'</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">'R'</span><span class="p">:[</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">]}</span> 4005 4285 <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">'rho'</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">'4DmapData'</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> 4006 4288 <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> 4007 4289 <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">'+'</span><span class="p">,</span><span class="s">'-'</span><span class="p">,</span><span class="s">'='</span><span class="p">,</span><span class="s">'0'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 4291 <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s">'0'</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">'+'</span><span class="p">,</span><span class="s">'='</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">'-'</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> 4008 4298 <span class="n">Draw</span><span class="p">(</span><span class="s">'key'</span><span class="p">)</span> 4009 4299 … … 4196 4486 <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> 4197 4487 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> 4199 4489 <span class="n">Q</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">'Quaternion'</span><span class="p">]</span> 4200 4490 <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> 4202 4492 <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">></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"><-.</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> 4203 4493 <span class="k">return</span> <span class="n">roll</span> … … 4205 4495 <span class="k">def</span> <span class="nf">SetMapRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">):</span> 4206 4496 <span class="n">rho</span> <span class="o">=</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'rho'</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> 4208 4498 <span class="n">mapData</span><span class="p">[</span><span class="s">'rho'</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> 4209 4499 <span class="n">drawingData</span><span class="p">[</span><span class="s">'oldxy'</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> 4210 4500 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">'4DmapData'</span><span class="p">][</span><span class="s">'rho'</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">'4DmapData'</span><span class="p">][</span><span class="s">'rho'</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 4211 4506 <span class="k">def</span> <span class="nf">SetPeakRoll</span><span class="p">(</span><span class="n">newxy</span><span class="p">):</span> 4212 4507 <span class="n">rho</span> <span class="o">=</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'rho'</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> 4214 4509 <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> 4215 4510 <span class="n">dxy</span> <span class="o">=</span> <span class="n">roll</span><span class="o">*</span><span class="n">steps</span> … … 4561 4856 <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">'viewPoint'</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> 4562 4857 <span class="n">contLevel</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">'contourLevel'</span><span class="p">]</span><span class="o">*</span><span class="n">mapData</span><span class="p">[</span><span class="s">'rhoMax'</span><span class="p">]</span> 4563 <span class="k">if</span> <span class="s">'delt-F'</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'MapType'</span><span class="p">] :</span>4858 <span class="k">if</span> <span class="s">'delt-F'</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'MapType'</span><span class="p">]</span> <span class="ow">or</span> <span class="s">'N'</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]:</span> 4564 4859 <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">'rho'</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">'rho'</span><span class="p">])</span><span class="o"><</span><span class="n">contLevel</span><span class="p">))</span> 4565 4860 <span class="k">else</span><span class="p">:</span> … … 4718 5013 <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> 4719 5014 <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> 4721 5016 <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">'Map peaks'</span><span class="p">:</span> 4722 5017 <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> 4723 5018 <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">></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> 4725 5023 <span class="k">if</span> <span class="n">showBonds</span><span class="p">:</span> 4726 5024 <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> … … 4777 5075 <span class="k">else</span><span class="p">:</span> 4778 5076 <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">' save as/key:'</span><span class="p">,</span><span class="s">'jpeg'</span><span class="p">,</span><span class="s">'tiff'</span><span class="p">,</span><span class="s">'bmp'</span><span class="p">,</span><span class="s">'c: center on 1/2,1/2,1/2'</span><span class="p">,</span><span class="s">'n: next'</span><span class="p">,</span><span class="s">'p: previous'</span><span class="p">]</span> 5077 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</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">'+: increase tau'</span><span class="p">,</span><span class="s">'-: decrease tau'</span><span class="p">,</span><span class="s">'0: set tau = 0'</span><span class="p">]</span> 5079 4779 5080 <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> 4780 5081 <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> … … 4790 5091 <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">'position'</span><span class="p">]</span> <span class="o">=</span> <span class="n">drawingData</span><span class="p">[</span><span class="s">'cameraPos'</span><span class="p">]</span> 4791 5092 <span class="n">Page</span><span class="o">.</span><span class="n">camera</span><span class="p">[</span><span class="s">'viewPoint'</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">'viewPoint'</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">'backColor'</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">'backColor'</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">'backColor'</span><span class="p">]</span> <span class="o">=</span> <span class="n">backColor</span><span class="o">/</span><span class="mf">255.</span> 4793 5094 <span class="k">try</span><span class="p">:</span> 4794 5095 <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.