Changeset 1709 for sphinxdocs/build/html/_modules/GSASIIpwdGUI.html
- Timestamp:
- Mar 14, 2015 5:35:03 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sphinxdocs/build/html/_modules/GSASIIpwdGUI.html
r1513 r1709 52 52 <span class="c">#GSASIIpwdGUI - powder data display routines</span> 53 53 <span class="c">########### SVN repository information ###################</span> 54 <span class="c"># $Date: 201 4-10-01 22:35:23 -0500 (Wed, 01 Oct 2014) $</span>55 <span class="c"># $Author: toby$</span>56 <span class="c"># $Revision: 1 512$</span>54 <span class="c"># $Date: 2015-02-28 01:17:11 +0900 (Sat, 28 Feb 2015) $</span> 55 <span class="c"># $Author: vondreele $</span> 56 <span class="c"># $Revision: 1673 $</span> 57 57 <span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIpwdGUI.py $</span> 58 <span class="c"># $Id: GSASIIpwdGUI.py 1 512 2014-10-02 03:35:23Z toby$</span>58 <span class="c"># $Id: GSASIIpwdGUI.py 1673 2015-02-27 16:17:11Z vondreele $</span> 59 59 <span class="c">########### SVN repository information ###################</span> 60 60 <span class="sd">'''</span> … … 79 79 <span class="kn">import</span> <span class="nn">cPickle</span> 80 80 <span class="kn">import</span> <span class="nn">GSASIIpath</span> 81 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 1 512$"</span><span class="p">)</span>81 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">"$Revision: 1673 $"</span><span class="p">)</span> 82 82 <span class="kn">import</span> <span class="nn">GSASIImath</span> <span class="kn">as</span> <span class="nn">G2mth</span> 83 83 <span class="kn">import</span> <span class="nn">GSASIIpwd</span> <span class="kn">as</span> <span class="nn">G2pwd</span> … … 88 88 <span class="kn">import</span> <span class="nn">GSASIIplot</span> <span class="kn">as</span> <span class="nn">G2plt</span> 89 89 <span class="kn">import</span> <span class="nn">GSASIIgrid</span> <span class="kn">as</span> <span class="nn">G2gd</span> 90 <span class="kn">import</span> <span class="nn">GSASIIctrls</span> <span class="kn">as</span> <span class="nn">G2G</span> 90 91 <span class="kn">import</span> <span class="nn">GSASIIElemGUI</span> <span class="kn">as</span> <span class="nn">G2elemGUI</span> 91 92 <span class="kn">import</span> <span class="nn">GSASIIElem</span> <span class="kn">as</span> <span class="nn">G2elem</span> … … 127 128 <span class="s">'Scale'</span><span class="p">:[</span><span class="mf">1.0</span><span class="p">,</span><span class="bp">True</span><span class="p">],</span><span class="s">'Type'</span><span class="p">:</span><span class="s">'Debye-Scherrer'</span><span class="p">,</span><span class="s">'Absorption'</span><span class="p">:[</span><span class="mf">0.0</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span> 128 129 <span class="s">'DisplaceX'</span><span class="p">:[</span><span class="mf">0.0</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span><span class="s">'DisplaceY'</span><span class="p">:[</span><span class="mf">0.0</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span><span class="s">'Diffuse'</span><span class="p">:[],</span> 129 <span class="s">'Temperature'</span><span class="p">:</span><span class="mf">300.</span><span class="p">,</span><span class="s">'Pressure'</span><span class="p">:</span><span class="mf">0.1</span><span class="p">,</span> 130 <span class="s">'Temperature'</span><span class="p">:</span><span class="mf">300.</span><span class="p">,</span><span class="s">'Pressure'</span><span class="p">:</span><span class="mf">0.1</span><span class="p">,</span><span class="s">'Time'</span><span class="p">:</span><span class="mf">0.0</span><span class="p">,</span> 130 131 <span class="s">'FreePrm1'</span><span class="p">:</span><span class="mf">0.</span><span class="p">,</span><span class="s">'FreePrm2'</span><span class="p">:</span><span class="mf">0.</span><span class="p">,</span><span class="s">'FreePrm3'</span><span class="p">:</span><span class="mf">0.</span><span class="p">,</span> 131 132 <span class="s">'Gonio. radius'</span><span class="p">:</span><span class="mf">200.0</span><span class="p">,</span> … … 166 167 <span class="n">parms</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="s">'Chi'</span><span class="p">,</span><span class="s">'Goniometer chi:'</span><span class="p">,[</span><span class="mi">10</span><span class="p">,</span><span class="mi">3</span><span class="p">]])</span> 167 168 <span class="n">parms</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="s">'Phi'</span><span class="p">,</span><span class="s">'Goniometer phi:'</span><span class="p">,[</span><span class="mi">10</span><span class="p">,</span><span class="mi">3</span><span class="p">]])</span> 169 <span class="n">parms</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="s">'Time'</span><span class="p">,</span><span class="s">'Clock time (s)'</span><span class="p">,[</span><span class="mi">12</span><span class="p">,</span><span class="mi">3</span><span class="p">]])</span> 168 170 <span class="n">parms</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="s">'Temperature'</span><span class="p">,</span><span class="s">'Sample temperature (K): '</span><span class="p">,[</span><span class="mi">10</span><span class="p">,</span><span class="mi">3</span><span class="p">]])</span> 169 171 <span class="n">parms</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="s">'Pressure'</span><span class="p">,</span><span class="s">'Sample pressure (MPa): '</span><span class="p">,[</span><span class="mi">10</span><span class="p">,</span><span class="mi">3</span><span class="p">]])</span> … … 255 257 <span class="n">copyNames</span> <span class="o">+=</span> <span class="n">addNames</span> 256 258 <span class="k">return</span> <span class="n">histType</span><span class="p">,</span><span class="n">copyNames</span> 257 </div> 258 <div class="viewcode-block" id="CopySelectedHistItems"><a class="viewcode-back" href="../GSASIIGUI.html#GSASIIpwdGUI.CopySelectedHistItems">[docs]</a><span class="k">def</span> <span class="nf">CopySelectedHistItems</span><span class="p">(</span><span class="n">G2frame</span><span class="p">):</span> 259 <span class="sd">'''Global copy: Copy items from current histogram to others.</span> 260 <span class="sd"> This is called from the menubar and is available only when the top histogram tree entry</span> 261 <span class="sd"> is selected.</span> 259 </div> 260 <div class="viewcode-block" id="CopyPlotCtrls"><a class="viewcode-back" href="../GSASIIGUI.html#GSASIIpwdGUI.CopyPlotCtrls">[docs]</a><span class="k">def</span> <span class="nf">CopyPlotCtrls</span><span class="p">(</span><span class="n">G2frame</span><span class="p">):</span> 261 <span class="sd">'''Global copy: Copy plot controls from current histogram to others.</span> 262 262 <span class="sd"> '''</span> 263 263 <span class="n">hst</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> 264 264 <span class="n">histList</span> <span class="o">=</span> <span class="n">GetHistsLikeSelected</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> 265 265 <span class="k">if</span> <span class="ow">not</span> <span class="n">histList</span><span class="p">:</span> 266 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'No match'</span><span class="p">,</span><span class="s">'No histograms match '</span><span class="o">+</span><span class="n">hst</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> 266 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'No match'</span><span class="p">,</span><span class="s">'No other histograms match '</span><span class="o">+</span><span class="n">hst</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> 267 <span class="k">return</span> 268 <span class="n">sourceData</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> 269 270 <span class="k">if</span> <span class="s">'Offset'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">sourceData</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> <span class="c">#patch for old data</span> 271 <span class="n">sourceData</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> 272 <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> 273 <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">PatternId</span><span class="p">,</span><span class="n">sourceData</span><span class="p">)</span> 274 275 <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">G2MultiChoiceDialog</span><span class="p">(</span> 276 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span> 277 <span class="s">'Copy plot controls from</span><span class="se">\n</span><span class="s">'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">hst</span><span class="p">[</span><span class="mi">5</span><span class="p">:])</span><span class="o">+</span><span class="s">' to...'</span><span class="p">,</span> 278 <span class="s">'Copy plot controls'</span><span class="p">,</span> <span class="n">histList</span><span class="p">)</span> 279 <span class="n">results</span> <span class="o">=</span> <span class="p">[]</span> 280 <span class="k">try</span><span class="p">:</span> 281 <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span> 282 <span class="n">results</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelections</span><span class="p">()</span> 283 <span class="k">finally</span><span class="p">:</span> 284 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 285 <span class="n">copyList</span> <span class="o">=</span> <span class="p">[]</span> 286 <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">results</span><span class="p">:</span> 287 <span class="n">copyList</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">histList</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> 288 289 <span class="n">keys</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Offset'</span><span class="p">,</span><span class="s">'delOffset'</span><span class="p">,</span><span class="s">'refOffset'</span><span class="p">,</span><span class="s">'refDelt'</span><span class="p">,</span><span class="s">'qPlot'</span><span class="p">,</span><span class="s">'dPlot'</span><span class="p">,</span><span class="s">'sqrtPlot'</span><span class="p">]</span> 290 <span class="n">source</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">keys</span><span class="p">,[</span><span class="n">sourceData</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">item</span><span class="p">]</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">keys</span><span class="p">]))</span> 291 <span class="k">for</span> <span class="n">hist</span> <span class="ow">in</span> <span class="n">copyList</span><span class="p">:</span> 292 <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">hist</span><span class="p">)</span> 293 <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">Id</span><span class="p">)</span> 294 <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="n">source</span><span class="p">)</span> 295 <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">Id</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 296 <span class="k">print</span> <span class="s">'Copy of plot controls successful'</span> 297 </div> 298 <div class="viewcode-block" id="CopySelectedHistItems"><a class="viewcode-back" href="../GSASIIGUI.html#GSASIIpwdGUI.CopySelectedHistItems">[docs]</a><span class="k">def</span> <span class="nf">CopySelectedHistItems</span><span class="p">(</span><span class="n">G2frame</span><span class="p">):</span> 299 <span class="sd">'''Global copy: Copy items from current histogram to others.</span> 300 <span class="sd"> '''</span> 301 <span class="n">hst</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> 302 <span class="n">histList</span> <span class="o">=</span> <span class="n">GetHistsLikeSelected</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> 303 <span class="k">if</span> <span class="ow">not</span> <span class="n">histList</span><span class="p">:</span> 304 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'No match'</span><span class="p">,</span><span class="s">'No other histograms match '</span><span class="o">+</span><span class="n">hst</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> 267 305 <span class="k">return</span> 268 306 <span class="n">choices</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Limits'</span><span class="p">,</span><span class="s">'Background'</span><span class="p">,</span><span class="s">'Instrument Parameters'</span><span class="p">,</span><span class="s">'Sample Parameters'</span><span class="p">]</span> … … 402 440 <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">item</span><span class="p">)</span> 403 441 <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> 404 <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">Id</span><span class="p">,</span><span class="s">'Peak List'</span><span class="p">),</span><span class="n">copy</span><span class="o">.</span><span class="n"> copy</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>442 <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">Id</span><span class="p">,</span><span class="s">'Peak List'</span><span class="p">),</span><span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="n">data</span><span class="p">))</span> 405 443 406 444 <span class="k">def</span> <span class="nf">OnUnDo</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 456 494 <span class="n">names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">histList</span><span class="p">[</span><span class="n">sel</span><span class="p">])</span> 457 495 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 458 <span class="n">SeqResult</span> <span class="o">=</span> <span class="p">{ </span><span class="s">'histNames'</span><span class="p">:</span><span class="n">names</span><span class="p">}</span>496 <span class="n">SeqResult</span> <span class="o">=</span> <span class="p">{}</span> 459 497 <span class="n">Reverse</span> <span class="o">=</span> <span class="bp">False</span> 460 498 <span class="n">CopyForward</span> <span class="o">=</span> <span class="bp">False</span> 461 <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">' Copy from prev.'</span><span class="p">,]</span> <span class="c">#'Reverse sequence',</span>499 <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Reverse sequence'</span><span class="p">,</span><span class="s">'Copy from prev.'</span><span class="p">,]</span> 462 500 <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">MultiChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="s">'Sequential controls'</span><span class="p">,</span><span class="s">'Select controls'</span><span class="p">,</span><span class="n">choice</span><span class="p">)</span> 463 501 <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span> … … 476 514 <span class="n">oneCycle</span> <span class="o">=</span> <span class="bp">False</span> 477 515 <span class="n">FitPgm</span> <span class="o">=</span> <span class="s">'LSQ'</span> 516 <span class="n">prevVaryList</span> <span class="o">=</span> <span class="p">[]</span> 517 <span class="n">Names</span> <span class="o">=</span> <span class="p">[]</span> 518 <span class="k">if</span> <span class="n">Reverse</span><span class="p">:</span> 519 <span class="n">names</span><span class="o">.</span><span class="n">reverse</span><span class="p">()</span> 478 520 <span class="k">try</span><span class="p">:</span> 479 521 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">names</span><span class="p">):</span> … … 484 526 <span class="n">PatternId</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">name</span><span class="p">)</span> 485 527 <span class="k">if</span> <span class="n">i</span> <span class="ow">and</span> <span class="n">CopyForward</span><span class="p">:</span> 486 <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">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><span class="n">peaks</span><span class="p">)</span> 528 <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">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><span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="n">peaks</span><span class="p">))</span> 529 <span class="n">prevVaryList</span> <span class="o">=</span> <span class="n">varyList</span><span class="p">[:]</span> 487 530 <span class="n">peaks</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> 488 531 <span class="n">background</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">'Background'</span><span class="p">))</span> … … 495 538 <span class="n">screenSize</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ClientDisplayRect</span><span class="p">()</span> 496 539 <span class="n">Size</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span> 497 <span class="n">dlg2</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span> 540 <span class="k">if</span> <span class="mi">50</span> <span class="o"><</span> <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="mi">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win & wx3.0</span> 541 <span class="n">dlg2</span><span class="o">.</span><span class="n">SetSize</span><span class="p">((</span><span class="nb">int</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="o">*</span><span class="mf">1.2</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="c"># increase size a bit along x</span> 542 <span class="n">dlg2</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span> 498 543 <span class="k">try</span><span class="p">:</span> 499 <span class="n">peaks</span><span class="p">[</span><span class="s">'sigDict'</span><span class="p">],</span><span class="n">result</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Rvals</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">parmDict</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">DoPeakFit</span><span class="p">(</span><span class="n">FitPgm</span><span class="p">,</span><span class="n">peaks</span><span class="p">[</span><span class="s">'peaks'</span><span class="p">],</span>500 <span class="n">background</span><span class="p">,</span><span class="n">limits</span><span class="p">,</span><span class="n">inst</span><span class="p">,</span><span class="n">inst2</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n"> oneCycle</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">dlg2</span><span class="p">)</span>544 <span class="n">peaks</span><span class="p">[</span><span class="s">'sigDict'</span><span class="p">],</span><span class="n">result</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Rvals</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">fullvaryList</span><span class="p">,</span><span class="n">badVary</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">DoPeakFit</span><span class="p">(</span><span class="n">FitPgm</span><span class="p">,</span><span class="n">peaks</span><span class="p">[</span><span class="s">'peaks'</span><span class="p">],</span> 545 <span class="n">background</span><span class="p">,</span><span class="n">limits</span><span class="p">,</span><span class="n">inst</span><span class="p">,</span><span class="n">inst2</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">prevVaryList</span><span class="p">,</span><span class="n">oneCycle</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">dlg2</span><span class="p">)</span> 501 546 <span class="k">finally</span><span class="p">:</span> 502 <span class="n">dlg2</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 503 <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">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><span class="n">peaks</span><span class="p">)</span> 504 <span class="n">SeqResult</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">'variables'</span><span class="p">:</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'varyList'</span><span class="p">:</span><span class="n">varyList</span><span class="p">,</span><span class="s">'sig'</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span><span class="s">'Rvals'</span><span class="p">:</span><span class="n">Rvals</span><span class="p">,</span> 505 <span class="s">'covMatrix'</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">eye</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">])),</span><span class="s">'title'</span><span class="p">:</span><span class="n">name</span><span class="p">,</span><span class="s">'parmDict'</span><span class="p">:</span><span class="n">parmDict</span><span class="p">}</span> 506 <span class="k">else</span><span class="p">:</span> 507 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 508 <span class="k">print</span> <span class="s">' ***** Sequential peak fit successful *****'</span> 547 <span class="n">dlg2</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 548 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">fullvaryList</span><span class="p">):</span> 549 <span class="k">print</span> <span class="s">' ***** Sequential peak fit stopped at '</span><span class="o">+</span><span class="n">name</span><span class="o">+</span><span class="s">' *****'</span> 550 <span class="k">break</span> 551 <span class="k">else</span><span class="p">:</span> 552 <span class="n">Names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> 553 <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">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><span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="n">peaks</span><span class="p">))</span> 554 <span class="n">SeqResult</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">'variables'</span><span class="p">:</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'varyList'</span><span class="p">:</span><span class="n">varyList</span><span class="p">,</span><span class="s">'sig'</span><span class="p">:</span><span class="n">sig</span><span class="p">,</span><span class="s">'Rvals'</span><span class="p">:</span><span class="n">Rvals</span><span class="p">,</span> 555 <span class="s">'covMatrix'</span><span class="p">:</span><span class="n">np</span><span class="o">.</span><span class="n">eye</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">0</span><span class="p">])),</span><span class="s">'title'</span><span class="p">:</span><span class="n">name</span><span class="p">,</span><span class="s">'parmDict'</span><span class="p">:</span><span class="n">parmDict</span><span class="p">,</span> 556 <span class="s">'fullVary'</span><span class="p">:</span><span class="n">fullvaryList</span><span class="p">,</span><span class="s">'badVary'</span><span class="p">:</span><span class="n">badVary</span><span class="p">}</span> 557 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 558 <span class="k">print</span> <span class="s">' ***** Sequential peak fit successful *****'</span> 509 559 <span class="k">finally</span><span class="p">:</span> 510 560 <span class="n">wx</span><span class="o">.</span><span class="n">EndBusyCursor</span><span class="p">()</span> 561 <span class="n">SeqResult</span><span class="p">[</span><span class="s">'histNames'</span><span class="p">]</span> <span class="o">=</span> <span class="n">Names</span> 511 562 <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="s">'Sequential results'</span><span class="p">)</span> 512 563 <span class="k">if</span> <span class="n">Id</span><span class="p">:</span> … … 548 599 <span class="n">screenSize</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ClientDisplayRect</span><span class="p">()</span> 549 600 <span class="n">Size</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span> 550 <span class="n">dlg</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span> 551 <span class="k">try</span><span class="p">:</span> 552 <span class="n">peaks</span><span class="p">[</span><span class="s">'sigDict'</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">DoPeakFit</span><span class="p">(</span><span class="n">FitPgm</span><span class="p">,</span><span class="n">peaks</span><span class="p">[</span><span class="s">'peaks'</span><span class="p">],</span><span class="n">background</span><span class="p">,</span><span class="n">limits</span><span class="p">,</span><span class="n">inst</span><span class="p">,</span><span class="n">inst2</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">oneCycle</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">dlg</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 601 <span class="k">if</span> <span class="mi">50</span> <span class="o"><</span> <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="mi">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win & wx3.0</span> 602 <span class="n">dlg</span><span class="o">.</span><span class="n">SetSize</span><span class="p">((</span><span class="nb">int</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="o">*</span><span class="mf">1.2</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="c"># increase size a bit along x</span> 603 <span class="n">dlg</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span> 604 <span class="k">try</span><span class="p">:</span> 605 <span class="n">peaks</span><span class="p">[</span><span class="s">'sigDict'</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">DoPeakFit</span><span class="p">(</span><span class="n">FitPgm</span><span class="p">,</span><span class="n">peaks</span><span class="p">[</span><span class="s">'peaks'</span><span class="p">],</span><span class="n">background</span><span class="p">,</span><span class="n">limits</span><span class="p">,</span><span class="n">inst</span><span class="p">,</span><span class="n">inst2</span><span class="p">,</span><span class="n">data</span><span class="p">,[],</span><span class="n">oneCycle</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">dlg</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 553 606 <span class="k">finally</span><span class="p">:</span> 554 607 <span class="n">wx</span><span class="o">.</span><span class="n">EndBusyCursor</span><span class="p">()</span> 555 <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">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><span class="n"> peaks</span><span class="p">)</span>556 <span class="n">UpdatePeakGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n"> peaks</span><span class="p">)</span>608 <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">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><span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">peaks</span><span class="p">))</span> 609 <span class="n">UpdatePeakGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">peaks</span><span class="p">))</span> 557 610 <span class="n">G2plt</span><span class="o">.</span><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="s">'PWDR'</span><span class="p">)</span> 558 611 <span class="k">print</span> <span class="s">'finished'</span> … … 710 763 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">AutoSizeColumns</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 711 764 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</span><span class="p">([</span><span class="mi">535</span><span class="p">,</span><span class="mi">350</span><span class="p">])</span> 765 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SendSizeEvent</span><span class="p">()</span> 712 766 713 767 <span class="c">################################################################################</span> … … 805 859 <span class="k">del</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> 806 860 <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">BackId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 807 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateBackground</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 861 <span class="c">#wx.CallAfter(UpdateBackground,G2frame,data)</span> 862 <span class="n">wx</span><span class="o">.</span><span class="n">CallLater</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">UpdateBackground</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 808 863 809 864 <span class="k">def</span> <span class="nf">OnBakVal</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 859 914 <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">N</span><span class="p">,</span><span class="n">M</span><span class="p">):</span> 860 915 <span class="k">del</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">'debyeTerms'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> 861 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateBackground</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 862 916 <span class="c">#wx.CallAfter(UpdateBackground,G2frame,data)</span> 917 <span class="n">wx</span><span class="o">.</span><span class="n">CallLater</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">UpdateBackground</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 918 863 919 <span class="k">def</span> <span class="nf">KeyEditPeakGrid</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 864 920 <span class="n">colList</span> <span class="o">=</span> <span class="n">debyeGrid</span><span class="o">.</span><span class="n">GetSelectedCols</span><span class="p">()</span> … … 918 974 <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">N</span><span class="p">,</span><span class="n">M</span><span class="p">):</span> 919 975 <span class="k">del</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">'peaksList'</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> 920 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateBackground</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 976 <span class="c">#wx.CallAfter(UpdateBackground,G2frame,data)</span> 977 <span class="n">wx</span><span class="o">.</span><span class="n">CallLater</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">UpdateBackground</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 921 978 922 979 <span class="k">def</span> <span class="nf">KeyEditPeakGrid</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 966 1023 967 1024 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">:</span> 968 <span class="c"># G2frame.dataFrame.Clear()</span>969 1025 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DestroyChildren</span><span class="p">()</span> 970 1026 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> … … 1070 1126 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">AutoSizeColumns</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 1071 1127 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</span><span class="p">([</span><span class="mi">230</span><span class="p">,</span><span class="mi">260</span><span class="p">])</span> 1128 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SendSizeEvent</span><span class="p">()</span> 1072 1129 1073 1130 <span class="c">################################################################################</span> … … 1131 1188 <span class="k">if</span> <span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">and</span> <span class="n">peak</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span> 1132 1189 <span class="n">binwid</span> <span class="o">=</span> <span class="n">cw</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">searchsorted</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">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">])]</span> 1133 <span class="n">XY</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">8</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">binwid</span><span class="p">])</span>1190 <span class="n">XY</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="o">-</span><span class="mi">1</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">binwid</span><span class="p">])</span> 1134 1191 <span class="n">Sigs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">IndexPeaks</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">ip</span><span class="p">])</span> 1135 1192 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">XY</span><span class="p">):</span> … … 1273 1330 <span class="sd"> '''</span> 1274 1331 <span class="n">updateData</span><span class="p">(</span><span class="n">insVal</span><span class="p">,</span><span class="n">insRef</span><span class="p">)</span> 1275 <span class="n">G2 gd</span><span class="o">.</span><span class="n">SelectEdit1Var</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">labelLst</span><span class="p">,</span><span class="n">elemKeysLst</span><span class="p">,</span><span class="n">dspLst</span><span class="p">,</span><span class="n">refFlgElem</span><span class="p">)</span>1332 <span class="n">G2G</span><span class="o">.</span><span class="n">SelectEdit1Var</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">labelLst</span><span class="p">,</span><span class="n">elemKeysLst</span><span class="p">,</span><span class="n">dspLst</span><span class="p">,</span><span class="n">refFlgElem</span><span class="p">)</span> 1276 1333 <span class="n">insVal</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">instkeys</span><span class="p">})</span> 1277 1334 <span class="n">insRef</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">key</span><span class="p">:</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">instkeys</span><span class="p">})</span> … … 1349 1406 <span class="n">dspLst</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="mi">10</span><span class="p">,</span><span class="mi">4</span><span class="p">])</span> 1350 1407 <span class="n">refFlgElem</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">key</span><span class="p">,</span><span class="mi">2</span><span class="p">])</span> 1351 <span class="n">ratVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">4</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span>1408 <span class="n">ratVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">4</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1352 1409 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">ratVal</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> 1353 1410 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">RefineBox</span><span class="p">(</span><span class="n">key</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> … … 1363 1420 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">u' Lam (</span><span class="se">\xc5</span><span class="s">): (</span><span class="si">%10.6f</span><span class="s">)'</span><span class="o">%</span><span class="p">(</span><span class="n">insDef</span><span class="p">[</span><span class="n">key</span><span class="p">])),</span> 1364 1421 <span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1365 <span class="n">waveVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">6</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span>1422 <span class="n">waveVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">6</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1366 1423 <span class="n">labelLst</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">u'Lam (</span><span class="se">\xc5</span><span class="s">)'</span><span class="p">)</span> 1367 1424 <span class="n">elemKeysLst</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">key</span><span class="p">,</span><span class="mi">1</span><span class="p">])</span> … … 1384 1441 <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">lblWdef</span><span class="p">(</span><span class="n">item</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="n">insDef</span><span class="p">[</span><span class="n">item</span><span class="p">])),</span> 1385 1442 <span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1386 <span class="n">itemVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">4</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span>1443 <span class="n">itemVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">4</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1387 1444 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">itemVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1388 1445 <span class="n">refFlgElem</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">item</span><span class="p">,</span><span class="mi">2</span><span class="p">])</span> … … 1414 1471 <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">lblWdef</span><span class="p">(</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">insDef</span><span class="p">[</span><span class="n">item</span><span class="p">])),</span> 1415 1472 <span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1416 <span class="n">itemVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="n">nDig</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span>1473 <span class="n">itemVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="n">nDig</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1417 1474 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">itemVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1418 1475 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">RefineBox</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">WACV</span><span class="p">)</span> … … 1463 1520 <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">lblWdef</span><span class="p">(</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">insDef</span><span class="p">[</span><span class="n">item</span><span class="p">])),</span> 1464 1521 <span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1465 <span class="n">itemVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="n">nDig</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span>1522 <span class="n">itemVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="n">nDig</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1466 1523 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">itemVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1467 1524 <span class="n">labelLst</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> … … 1474 1531 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">u' Lam (</span><span class="se">\xc5</span><span class="s">): (</span><span class="si">%10.6f</span><span class="s">)'</span><span class="o">%</span><span class="p">(</span><span class="n">insDef</span><span class="p">[</span><span class="s">'Lam'</span><span class="p">])),</span> 1475 1532 <span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1476 <span class="n">waveVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="s">'Lam'</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">6</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span>1533 <span class="n">waveVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="s">'Lam'</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">6</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1477 1534 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1478 1535 <span class="n">labelLst</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">u'Lam (</span><span class="se">\xc5</span><span class="s">)'</span><span class="p">)</span> … … 1486 1543 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">u' Lam (</span><span class="se">\xc5</span><span class="s">): (</span><span class="si">%10.6f</span><span class="s">)'</span><span class="o">%</span><span class="p">(</span><span class="n">insDef</span><span class="p">[</span><span class="s">'Lam'</span><span class="p">])),</span> 1487 1544 <span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1488 <span class="n">waveVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="s">'Lam'</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">6</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span>1545 <span class="n">waveVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">insVal</span><span class="p">,</span><span class="s">'Lam'</span><span class="p">,</span><span class="n">nDig</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">6</span><span class="p">),</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1489 1546 <span class="n">instSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 1490 1547 <span class="n">labelLst</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">u'Lam (</span><span class="se">\xc5</span><span class="s">)'</span><span class="p">)</span> … … 1572 1629 <span class="c">#G2frame.Bind(wx.EVT_MENU,OnWaveChange,id=G2gd.wxID_CHANGEWAVETYPE) </span> 1573 1630 <span class="n">G2frame</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_MENU</span><span class="p">,</span><span class="n">OnCopy1Val</span><span class="p">,</span><span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_INST1VAL</span><span class="p">)</span> 1631 <span class="k">elif</span> <span class="s">'L'</span> <span class="ow">in</span> <span class="n">insVal</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]:</span> <span class="c">#SASD data menu commands</span> 1632 <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</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">dataFrame</span><span class="o">.</span><span class="n">InstMenu</span><span class="p">)</span> 1633 <span class="k">if</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GetStatusBar</span><span class="p">():</span> 1634 <span class="n">Status</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">CreateStatusBar</span><span class="p">()</span> 1635 <span class="n">G2frame</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_MENU</span><span class="p">,</span><span class="n">OnInstCopy</span><span class="p">,</span><span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_INSTCOPY</span><span class="p">)</span> 1574 1636 <span class="n">MakeParameterWindow</span><span class="p">()</span> 1575 1637 … … 1632 1694 <span class="k">finally</span><span class="p">:</span> 1633 1695 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 1696 1697 <span class="k">def</span> <span class="nf">OnAllSampleLoad</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 1698 <span class="n">filename</span> <span class="o">=</span> <span class="s">''</span> 1699 <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FileDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span> <span class="s">'Choose multihistogram metadata text file'</span><span class="p">,</span> <span class="s">'.'</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> 1700 <span class="s">'metadata file (*.*)|*.*'</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">OPEN</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CHANGE_DIR</span><span class="p">)</span> 1701 <span class="k">try</span><span class="p">:</span> 1702 <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span> 1703 <span class="n">filename</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetPath</span><span class="p">()</span> 1704 <span class="n">File</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span><span class="s">'r'</span><span class="p">)</span> 1705 <span class="n">S</span> <span class="o">=</span> <span class="n">File</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span> 1706 <span class="n">newItems</span> <span class="o">=</span> <span class="p">[]</span> 1707 <span class="n">itemNames</span> <span class="o">=</span> <span class="p">[]</span> 1708 <span class="n">Comments</span> <span class="o">=</span> <span class="p">[]</span> 1709 <span class="k">while</span> <span class="n">S</span><span class="p">:</span> 1710 <span class="k">if</span> <span class="n">S</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s">'#'</span><span class="p">:</span> 1711 <span class="n">Comments</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">S</span><span class="p">)</span> 1712 <span class="n">S</span> <span class="o">=</span> <span class="n">File</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span> 1713 <span class="k">continue</span> 1714 <span class="n">S</span> <span class="o">=</span> <span class="n">S</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><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'</span><span class="se">\t</span><span class="s">'</span><span class="p">,</span><span class="s">' '</span><span class="p">)</span> 1715 <span class="n">Stuff</span> <span class="o">=</span> <span class="n">S</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">split</span><span class="p">()</span> 1716 <span class="n">itemNames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Stuff</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 1717 <span class="n">newItems</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Stuff</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span> 1718 <span class="n">S</span> <span class="o">=</span> <span class="n">File</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span> 1719 <span class="n">File</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> 1720 <span class="k">finally</span><span class="p">:</span> 1721 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 1722 <span class="k">if</span> <span class="ow">not</span> <span class="n">filename</span><span class="p">:</span> 1723 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Nothing to do'</span><span class="p">,</span><span class="s">'No file selected'</span><span class="p">)</span> 1724 <span class="k">return</span> 1725 <span class="n">dataDict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">itemNames</span><span class="p">,</span><span class="n">newItems</span><span class="p">))</span> 1726 <span class="n">ifany</span> <span class="o">=</span> <span class="bp">False</span> 1727 <span class="n">Controls</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">root</span><span class="p">,</span><span class="s">'Controls'</span><span class="p">))</span> 1728 <span class="n">Names</span> <span class="o">=</span> <span class="p">[</span><span class="s">' '</span><span class="p">,</span><span class="s">'Phi'</span><span class="p">,</span><span class="s">'Chi'</span><span class="p">,</span><span class="s">'Omega'</span><span class="p">,</span><span class="s">'Time'</span><span class="p">,</span><span class="s">'Temperature'</span><span class="p">,</span><span class="s">'Pressure'</span><span class="p">]</span> 1729 <span class="n">freeNames</span> <span class="o">=</span> <span class="p">{}</span> 1730 <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'FreePrm1'</span><span class="p">,</span><span class="s">'FreePrm2'</span><span class="p">,</span><span class="s">'FreePrm3'</span><span class="p">]:</span> 1731 <span class="n">freeNames</span><span class="p">[</span><span class="n">Controls</span><span class="p">[</span><span class="n">name</span><span class="p">]]</span> <span class="o">=</span> <span class="n">name</span> 1732 <span class="n">Names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Controls</span><span class="p">[</span><span class="n">name</span><span class="p">])</span> 1733 <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">G2ColumnIDDialog</span><span class="p">(</span> <span class="n">G2frame</span><span class="p">,</span><span class="s">' Choose multihistogram metadata columns:'</span><span class="p">,</span> 1734 <span class="s">'Select columns'</span><span class="p">,</span><span class="n">Comments</span><span class="p">,</span><span class="n">Names</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">newItems</span><span class="p">)</span><span class="o">.</span><span class="n">T</span><span class="p">)</span> 1735 <span class="k">try</span><span class="p">:</span> 1736 <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span> 1737 <span class="n">colNames</span><span class="p">,</span><span class="n">newData</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span> 1738 <span class="n">dataDict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">itemNames</span><span class="p">,</span><span class="n">newData</span><span class="o">.</span><span class="n">T</span><span class="p">))</span> 1739 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">colNames</span><span class="p">:</span> 1740 <span class="k">if</span> <span class="n">item</span> <span class="o">!=</span> <span class="s">' '</span><span class="p">:</span> 1741 <span class="n">ifany</span> <span class="o">=</span> <span class="bp">True</span> 1742 <span class="k">finally</span><span class="p">:</span> 1743 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 1744 <span class="k">if</span> <span class="ow">not</span> <span class="n">ifany</span><span class="p">:</span> 1745 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Nothing to do'</span><span class="p">,</span><span class="s">'No columns identified'</span><span class="p">)</span> 1746 <span class="k">return</span> 1747 <span class="n">histList</span> <span class="o">=</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">),]</span> 1748 <span class="n">histList</span> <span class="o">+=</span> <span class="n">GetHistsLikeSelected</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> 1749 <span class="n">colIds</span> <span class="o">=</span> <span class="p">{}</span> 1750 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">name</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">colNames</span><span class="p">):</span> 1751 <span class="k">if</span> <span class="n">name</span> <span class="o">!=</span> <span class="s">' '</span><span class="p">:</span> 1752 <span class="n">colIds</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">i</span> 1753 <span class="k">for</span> <span class="n">hist</span> <span class="ow">in</span> <span class="n">histList</span><span class="p">:</span> 1754 <span class="n">name</span> <span class="o">=</span> <span class="n">hist</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">1</span><span class="p">]</span> <span class="c">#this is file name</span> 1755 <span class="n">newItems</span> <span class="o">=</span> <span class="p">{}</span> 1756 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">colIds</span><span class="p">:</span> 1757 <span class="n">key</span> <span class="o">=</span> <span class="n">freeNames</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">item</span><span class="p">,</span><span class="n">item</span><span class="p">)</span> 1758 <span class="n">newItems</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">dataDict</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="n">colIds</span><span class="p">[</span><span class="n">item</span><span class="p">]])</span> 1759 <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">hist</span><span class="p">)</span> 1760 <span class="n">sampleData</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">Id</span><span class="p">,</span><span class="s">'Sample Parameters'</span><span class="p">))</span> 1761 <span class="n">sampleData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">newItems</span><span class="p">)</span> 1762 <span class="n">UpdateSampleGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 1634 1763 1635 1764 <span class="k">def</span> <span class="nf">OnSetScale</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 1809 1938 <span class="k">def</span> <span class="nf">OnCopy1Val</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 1810 1939 <span class="s">'Select one value to copy to many histograms and optionally allow values to be edited in a table'</span> 1811 <span class="n">G2 gd</span><span class="o">.</span><span class="n">SelectEdit1Var</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">labelLst</span><span class="p">,</span><span class="n">elemKeysLst</span><span class="p">,</span><span class="n">dspLst</span><span class="p">,</span><span class="n">refFlgElem</span><span class="p">)</span>1940 <span class="n">G2G</span><span class="o">.</span><span class="n">SelectEdit1Var</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">labelLst</span><span class="p">,</span><span class="n">elemKeysLst</span><span class="p">,</span><span class="n">dspLst</span><span class="p">,</span><span class="n">refFlgElem</span><span class="p">)</span> 1812 1941 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateSampleGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 1813 1942 … … 1831 1960 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">OnSampleLoad</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_SAMPLELOAD</span><span class="p">)</span> 1832 1961 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">OnCopy1Val</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_SAMPLE1VAL</span><span class="p">)</span> 1962 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">OnAllSampleLoad</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ALLSAMPLELOAD</span><span class="p">)</span> 1833 1963 <span class="k">if</span> <span class="s">'SASD'</span> <span class="ow">in</span> <span class="n">histName</span><span class="p">:</span> 1834 1964 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetScale</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> … … 1847 1977 <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">'Temperature'</span><span class="p">])</span> <span class="ow">is</span> <span class="nb">int</span><span class="p">:</span> 1848 1978 <span class="n">data</span><span class="p">[</span><span class="s">'Temperature'</span><span class="p">]</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">'Temperature'</span><span class="p">])</span> 1979 <span class="k">if</span> <span class="s">'Time'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> 1980 <span class="n">data</span><span class="p">[</span><span class="s">'Time'</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.0</span> 1849 1981 <span class="k">if</span> <span class="s">'FreePrm1'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">Controls</span><span class="p">:</span> 1850 1982 <span class="n">Controls</span><span class="p">[</span><span class="s">'FreePrm1'</span><span class="p">]</span> <span class="o">=</span> <span class="s">'Sample humidity (%)'</span> … … 1915 2047 <span class="n">dspLst</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">nDig</span><span class="p">)</span> 1916 2048 <span class="k">if</span> <span class="s">'list'</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">])):</span> 1917 <span class="n">parmRef</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">G2CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="s">' '</span><span class="o">+</span><span class="n">lbl</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">],</span><span class="mi">1</span><span class="p">)</span>2049 <span class="n">parmRef</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">G2CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="s">' '</span><span class="o">+</span><span class="n">lbl</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">],</span><span class="mi">1</span><span class="p">)</span> 1918 2050 <span class="n">parmSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">parmRef</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">)</span> 1919 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">],</span><span class="mi">0</span><span class="p">,</span>2051 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="n">key</span><span class="p">],</span><span class="mi">0</span><span class="p">,</span> 1920 2052 <span class="n">nDig</span><span class="o">=</span><span class="n">nDig</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1921 2053 <span class="n">elemKeysLst</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">key</span><span class="p">,</span><span class="mi">0</span><span class="p">])</span> … … 1924 2056 <span class="n">parmSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' '</span><span class="o">+</span><span class="n">lbl</span><span class="p">),</span> 1925 2057 <span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">)</span> 1926 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">key</span><span class="p">,</span>2058 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">key</span><span class="p">,</span> 1927 2059 <span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span><span class="n">OnLeave</span><span class="o">=</span><span class="n">AfterChange</span><span class="p">)</span> 1928 2060 <span class="n">elemKeysLst</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">key</span><span class="p">])</span> … … 1930 2062 <span class="n">parmSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">parmVal</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">)</span> 1931 2063 <span class="n">Info</span> <span class="o">=</span> <span class="p">{}</span> 1932 1933 2064 1934 2065 <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="p">(</span><span class="s">'FreePrm1'</span><span class="p">,</span><span class="s">'FreePrm2'</span><span class="p">,</span><span class="s">'FreePrm3'</span><span class="p">):</span> 1935 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">Controls</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span>2066 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">Controls</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span> 1936 2067 <span class="n">notBlank</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> 1937 2068 <span class="n">parmSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">parmVal</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">)</span> 1938 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">)</span>2069 <span class="n">parmVal</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">key</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">)</span> 1939 2070 <span class="n">parmSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">parmVal</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">)</span> 1940 2071 <span class="n">labelLst</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Controls</span><span class="p">[</span><span class="n">key</span><span class="p">])</span> … … 1992 2123 <span class="sd"> tree item.</span> 1993 2124 <span class="sd"> '''</span> 2125 <span class="n">bravaisSymb</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Fm3m'</span><span class="p">,</span><span class="s">'Im3m'</span><span class="p">,</span><span class="s">'Pm3m'</span><span class="p">,</span><span class="s">'R3-H'</span><span class="p">,</span><span class="s">'P6/mmm'</span><span class="p">,</span><span class="s">'I4/mmm'</span><span class="p">,</span> 2126 <span class="s">'P4/mmm'</span><span class="p">,</span><span class="s">'Fmmm'</span><span class="p">,</span><span class="s">'Immm'</span><span class="p">,</span><span class="s">'Cmmm'</span><span class="p">,</span><span class="s">'Pmmm'</span><span class="p">,</span><span class="s">'C2/m'</span><span class="p">,</span><span class="s">'P2/m'</span><span class="p">,</span><span class="s">'P1'</span><span class="p">]</span> 1994 2127 <span class="n">IndexId</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">PatternId</span><span class="p">,</span> <span class="s">'Index Peak List'</span><span class="p">)</span> 1995 2128 <span class="n">Inst</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><span class="mi">0</span><span class="p">]</span> 2129 1996 2130 <span class="k">def</span> <span class="nf">RefreshIndexPeaksGrid</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 1997 2131 <span class="n">r</span><span class="p">,</span><span class="n">c</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetRow</span><span class="p">(),</span><span class="n">event</span><span class="o">.</span><span class="n">GetCol</span><span class="p">()</span> … … 2005 2139 <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">IndexId</span><span class="p">,[</span><span class="n">peaks</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">]])</span> 2006 2140 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">ForceRefresh</span><span class="p">()</span> 2141 <span class="k">if</span> <span class="s">'PKS'</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">):</span> 2142 <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotPowderLines</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> 2143 <span class="k">else</span><span class="p">:</span> 2144 <span class="n">G2plt</span><span class="o">.</span><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="s">'PWDR'</span><span class="p">)</span> 2007 2145 2008 2146 <span class="k">def</span> <span class="nf">OnReload</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 2012 2150 <span class="k">for</span> <span class="n">ip</span><span class="p">,</span><span class="n">peak</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Peaks</span><span class="p">[</span><span class="s">'peaks'</span><span class="p">]):</span> 2013 2151 <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">Inst</span><span class="p">,</span><span class="n">peak</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2014 <span class="n">peaks</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">0</span><span class="p">],</span><span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="bp">True</span><span class="p">,</span><span class="bp">False</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">dsp</span><span class="p">,</span><span class="mf">0.0</span><span class="p">])</span> 2152 <span class="n">peaks</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">0</span><span class="p">],</span><span class="n">peak</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="bp">True</span><span class="p">,</span><span class="bp">False</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">dsp</span><span class="p">,</span><span class="mf">0.0</span><span class="p">])</span> <span class="c">#SS?</span> 2015 2153 <span class="k">try</span><span class="p">:</span> 2016 2154 <span class="n">sig</span> <span class="o">=</span> <span class="n">Peaks</span><span class="p">[</span><span class="s">'sigDict'</span><span class="p">][</span><span class="s">'pos'</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">ip</span><span class="p">)]</span> … … 2036 2174 <span class="n">key</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetKeyCode</span><span class="p">()</span> 2037 2175 <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">colList</span><span class="p">:</span> 2038 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">IndexPeaksTable</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">col</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'use'</span><span class="p">, </span><span class="s">'refine'</span><span class="p">]:</span>2176 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">IndexPeaksTable</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">col</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'use'</span><span class="p">,]:</span> 2039 2177 <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="mi">89</span><span class="p">:</span> <span class="c">#'Y'</span> 2040 2178 <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">IndexPeaksTable</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">()):</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">row</span><span class="p">][</span><span class="n">col</span><span class="p">]</span><span class="o">=</span><span class="bp">True</span> … … 2053 2191 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span> 2054 2192 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 2055 <span class="n">cells</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">'Unit Cells List'</span><span class="p">))</span> 2056 <span class="k">if</span> <span class="n">cells</span><span class="p">:</span> 2057 <span class="n">cellist</span> <span class="o">=</span> <span class="n">cells</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> 2058 <span class="n">dmin</span> <span class="o">=</span> <span class="n">cells</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> 2193 <span class="n">Unit</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">'Unit Cells List'</span><span class="p">))</span> 2194 <span class="k">if</span> <span class="n">Unit</span><span class="p">:</span> 2195 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">Unit</span><span class="p">)</span> <span class="o">==</span> <span class="mi">4</span><span class="p">:</span> <span class="c">#patch</span> 2196 <span class="n">Unit</span><span class="o">.</span><span class="n">append</span><span class="p">({})</span> 2197 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cellist</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</span> <span class="o">=</span> <span class="n">Unit</span> 2059 2198 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="p">[]</span> 2060 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">cell</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">cellist</span><span class="p">):</span> 2061 <span class="k">if</span> <span class="n">cell</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]:</span> 2062 <span class="n">ibrav</span> <span class="o">=</span> <span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> 2063 <span class="n">A</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">9</span><span class="p">])</span> 2064 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 2065 <span class="n">G2indx</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)</span> 2066 <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> 2067 <span class="n">hkl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">]))</span> 2199 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> 2200 <span class="n">cell</span> <span class="o">=</span> <span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">12</span><span class="p">]</span> 2201 <span class="n">A</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span> 2202 <span class="n">ibrav</span> <span class="o">=</span> <span class="n">bravaisSymb</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">5</span><span class="p">])</span> 2203 <span class="n">spc</span> <span class="o">=</span> <span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">]</span> 2204 <span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">spc</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 2205 <span class="n">SSGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">SGData</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 2206 <span class="n">Vec</span> <span class="o">=</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">]</span> 2207 <span class="n">maxH</span> <span class="o">=</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">]</span> 2208 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLMpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">maxH</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 2209 <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">G2indx</span><span class="o">.</span><span class="n">IndexSSPeaks</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 2210 <span class="k">else</span><span class="p">:</span> <span class="c">#select cell from table - no SS</span> 2211 <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">cell</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">cellist</span><span class="p">):</span> 2212 <span class="k">if</span> <span class="n">cell</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]:</span> 2213 <span class="n">ibrav</span> <span class="o">=</span> <span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> 2214 <span class="n">A</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">cell</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">9</span><span class="p">])</span> 2215 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 2216 <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> 2217 <span class="n">hkl</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">]))</span> 2218 <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">G2indx</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 2219 <span class="k">break</span> 2068 2220 <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span> 2069 2221 <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">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])):</span> <span class="n">rowLabels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">))</span> 2070 2222 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'position'</span><span class="p">,</span><span class="s">'intensity'</span><span class="p">,</span><span class="s">'use'</span><span class="p">,</span><span class="s">'indexed'</span><span class="p">,</span><span class="s">'h'</span><span class="p">,</span><span class="s">'k'</span><span class="p">,</span><span class="s">'l'</span><span class="p">,</span><span class="s">'d-obs'</span><span class="p">,</span><span class="s">'d-calc'</span><span class="p">]</span> 2071 <span class="n">Types</span> <span class="o">=</span> <span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,4'</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,1'</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_BOOL</span><span class="p">,</span> 2072 <span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_BOOL</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,</span> 2073 <span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,5'</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,5'</span><span class="p">]</span> 2223 <span class="n">Types</span> <span class="o">=</span> <span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,4'</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,1'</span><span class="p">,]</span><span class="o">+</span><span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_BOOL</span><span class="p">,]</span><span class="o">+</span> \ 2224 <span class="mi">3</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,]</span><span class="o">+</span><span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,5'</span><span class="p">,]</span> 2225 <span class="k">if</span> <span class="nb">len</span><span class="p">(</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="nb">len</span><span class="p">(</span><span class="n">data</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="o">></span> <span class="mi">9</span><span class="p">:</span> 2226 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'position'</span><span class="p">,</span><span class="s">'intensity'</span><span class="p">,</span><span class="s">'use'</span><span class="p">,</span><span class="s">'indexed'</span><span class="p">,</span><span class="s">'h'</span><span class="p">,</span><span class="s">'k'</span><span class="p">,</span><span class="s">'l'</span><span class="p">,</span><span class="s">'m'</span><span class="p">,</span><span class="s">'d-obs'</span><span class="p">,</span><span class="s">'d-calc'</span><span class="p">]</span> 2227 <span class="n">Types</span> <span class="o">=</span> <span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,4'</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,1'</span><span class="p">,]</span><span class="o">+</span><span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_BOOL</span><span class="p">,]</span><span class="o">+</span> \ 2228 <span class="mi">4</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,]</span><span class="o">+</span><span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,5'</span><span class="p">,]</span> 2074 2229 <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">IndexId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2075 2230 <span class="n">G2frame</span><span class="o">.</span><span class="n">IndexPeaksTable</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">rowLabels</span><span class="p">,</span><span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span> … … 2086 2241 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetReadOnly</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">isReadOnly</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> 2087 2242 <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">r</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span> <span class="ow">and</span> <span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">r</span><span class="p">][</span><span class="mi">3</span><span class="p">]:</span> 2088 <span class="n">XY</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="mi">0</span><span class="p">][</span><span class="n">r</span><span class="p">][</span><span class=" mi">8</span><span class="p">],</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">r</span><span class="p">][</span><span class="mi">0</span><span class="p">]])</span>2243 <span class="n">XY</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="mi">0</span><span class="p">][</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">r</span><span class="p">][</span><span class="mi">0</span><span class="p">]])</span> 2089 2244 <span class="k">try</span><span class="p">:</span> 2090 2245 <span class="n">sig</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">r</span><span class="p">]</span> … … 2100 2255 <span class="n">XY</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">XY</span><span class="p">)</span> 2101 2256 <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotCalib</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">XY</span><span class="p">,</span><span class="n">Sigs</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> 2257 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SendSizeEvent</span><span class="p">()</span> 2102 2258 2103 2259 <span class="c">################################################################################</span> … … 2141 2297 <span class="n">controls</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">NcNo</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span> 2142 2298 2299 <span class="k">def</span> <span class="nf">OnIfX20</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2300 <span class="n">G2frame</span><span class="o">.</span><span class="n">ifX20</span> <span class="o">=</span> <span class="n">x20</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span> 2301 2143 2302 <span class="k">def</span> <span class="nf">OnStartVol</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2144 2303 <span class="k">try</span><span class="p">:</span> … … 2166 2325 <span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">zeroVar</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span> 2167 2326 2327 <span class="k">def</span> <span class="nf">OnSSopt</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2328 <span class="k">if</span> <span class="n">controls</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'Fm3m'</span><span class="p">,</span><span class="s">'Im3m'</span><span class="p">,</span><span class="s">'Pm3m'</span><span class="p">]:</span> 2329 <span class="n">SSopt</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2330 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Cubic lattice'</span><span class="p">,</span> <span class="s">'Superlattice not allowed for a cubic lattice'</span><span class="p">)</span> 2331 <span class="k">return</span> 2332 <span class="n">ssopt</span><span class="p">[</span><span class="s">'Use'</span><span class="p">]</span> <span class="o">=</span> <span class="n">SSopt</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span> 2333 <span class="k">if</span> <span class="s">'ssSymb'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">ssopt</span><span class="p">:</span> 2334 <span class="n">ssopt</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s">'ssSymb'</span><span class="p">:</span><span class="s">'(abg)'</span><span class="p">,</span><span class="s">'ModVec'</span><span class="p">:[</span><span class="mf">0.1</span><span class="p">,</span><span class="mf">0.1</span><span class="p">,</span><span class="mf">0.1</span><span class="p">],</span><span class="s">'maxH'</span><span class="p">:</span><span class="mi">1</span><span class="p">})</span> 2335 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateUnitCellsGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2336 2337 <span class="k">def</span> <span class="nf">OnSelMG</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2338 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">]</span> <span class="o">=</span> <span class="n">selMG</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span> 2339 <span class="n">Vec</span> <span class="o">=</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">]</span> 2340 <span class="n">modS</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">splitSSsym</span><span class="p">(</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span> 2341 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSGModCheck</span><span class="p">(</span><span class="n">Vec</span><span class="p">,</span><span class="n">modS</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 2342 <span class="k">print</span> <span class="s">' Selecting: '</span><span class="p">,</span><span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">],</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">],</span> <span class="s">'maxH:'</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">]</span> 2343 <span class="n">OnHklShow</span><span class="p">(</span><span class="n">event</span><span class="p">)</span> 2344 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateUnitCellsGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2345 2346 <span class="k">def</span> <span class="nf">OnModVal</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2347 <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span> 2348 <span class="n">ObjId</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()</span> 2349 <span class="n">Id</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">ObjId</span><span class="p">]</span> 2350 <span class="k">try</span><span class="p">:</span> 2351 <span class="n">value</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="nb">max</span><span class="p">(</span><span class="mf">0.</span><span class="p">,</span><span class="nb">float</span><span class="p">(</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())))</span> 2352 <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span> 2353 <span class="n">value</span> <span class="o">=</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">][</span><span class="n">Id</span><span class="p">]</span> 2354 <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</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">value</span><span class="p">))</span> 2355 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">][</span><span class="n">Id</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> 2356 <span class="n">OnHklShow</span><span class="p">(</span><span class="n">event</span><span class="p">)</span> 2357 2358 <span class="k">def</span> <span class="nf">OnMoveMod</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2359 <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span> 2360 <span class="n">ObjId</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()</span> 2361 <span class="n">Id</span><span class="p">,</span><span class="n">valObj</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">ObjId</span><span class="p">]</span> 2362 <span class="n">move</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span><span class="o">*</span><span class="mf">0.0005</span> 2363 <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> 2364 <span class="n">value</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="nb">max</span><span class="p">(</span><span class="o">.</span><span class="mi">0</span><span class="p">,</span><span class="nb">float</span><span class="p">(</span><span class="n">valObj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span><span class="o">+</span><span class="n">move</span><span class="p">))</span> 2365 <span class="n">valObj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</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">value</span><span class="p">))</span> 2366 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">][</span><span class="n">Id</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> 2367 <span class="n">OnHklShow</span><span class="p">(</span><span class="n">event</span><span class="p">)</span> 2368 2369 <span class="k">def</span> <span class="nf">OnMaxMH</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2370 <span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">maxMH</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span> 2371 <span class="k">print</span> <span class="s">' Selecting: '</span><span class="p">,</span><span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">],</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">],</span> <span class="s">'maxH:'</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">]</span> 2372 <span class="n">OnHklShow</span><span class="p">(</span><span class="n">event</span><span class="p">)</span> 2373 2374 <span class="k">def</span> <span class="nf">OnFindMV</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2375 <span class="n">Peaks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2376 <span class="k">print</span> <span class="s">' Trying: '</span><span class="p">,</span><span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">],</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">],</span> <span class="s">'maxH:'</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">]</span> 2377 <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ProgressDialog</span><span class="p">(</span><span class="s">'Elapsed time'</span><span class="p">,</span><span class="s">'Modulation vector search'</span><span class="p">,</span> 2378 <span class="n">style</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">PD_ELAPSED_TIME</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">PD_AUTO_HIDE</span><span class="p">)</span> 2379 <span class="k">try</span><span class="p">:</span> 2380 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">findMV</span><span class="p">(</span><span class="n">Peaks</span><span class="p">,</span><span class="n">controls</span><span class="p">,</span><span class="n">ssopt</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">dlg</span><span class="p">)</span> 2381 <span class="k">finally</span><span class="p">:</span> 2382 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 2383 <span class="n">OnHklShow</span><span class="p">(</span><span class="n">event</span><span class="p">)</span> 2384 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateUnitCellsGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2385 2168 2386 <span class="k">def</span> <span class="nf">OnBravSel</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2169 2387 <span class="n">brav</span> <span class="o">=</span> <span class="n">bravSel</span><span class="o">.</span><span class="n">GetString</span><span class="p">(</span><span class="n">bravSel</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">())</span> … … 2174 2392 <span class="k">def</span> <span class="nf">OnSpcSel</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2175 2393 <span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">]</span> <span class="o">=</span> <span class="n">spcSel</span><span class="o">.</span><span class="n">GetString</span><span class="p">(</span><span class="n">spcSel</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">())</span> 2394 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">RefineCell</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 2395 <span class="n">OnHklShow</span><span class="p">(</span><span class="n">event</span><span class="p">)</span> 2176 2396 2177 2397 <span class="k">def</span> <span class="nf">SetCellValue</span><span class="p">(</span><span class="n">Obj</span><span class="p">,</span><span class="n">ObjId</span><span class="p">,</span><span class="n">value</span><span class="p">):</span> … … 2240 2460 <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span> 2241 2461 <span class="n">PickId</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> 2242 <span class="n">peaks</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">'Index Peak List'</span><span class="p">)) [</span><span class="mi">0</span><span class="p">]</span>2462 <span class="n">peaks</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">'Index Peak List'</span><span class="p">))</span> 2243 2463 <span class="n">limits</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">'Limits'</span><span class="p">))[</span><span class="mi">1</span><span class="p">]</span> 2244 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</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">'Unit Cells List'</span><span class="p">))</span>2464 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</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">'Unit Cells List'</span><span class="p">))</span> 2245 2465 <span class="n">cell</span> <span class="o">=</span> <span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">12</span><span class="p">]</span> 2246 2466 <span class="n">A</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span> … … 2248 2468 <span class="n">spc</span> <span class="o">=</span> <span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">]</span> 2249 2469 <span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">spc</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span> 2250 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 2251 <span class="n">dmin</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">Inst</span><span class="p">,</span><span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> 2252 <span class="k">else</span><span class="p">:</span> <span class="c">#TOF - use other limit!</span> 2253 <span class="n">dmin</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">Inst</span><span class="p">,</span><span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2254 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 2255 <span class="n">G2indx</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)</span> 2256 <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> 2257 <span class="n">hkl</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> 2470 <span class="c"># if 'C' in Inst['Type'][0]:</span> 2471 <span class="c"># dmin = G2lat.Pos2dsp(Inst,limits[1])</span> 2472 <span class="c"># else: #TOF - use other limit!</span> 2473 <span class="c"># dmin = G2lat.Pos2dsp(Inst,limits[0])</span> 2474 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> 2475 <span class="n">dmin</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="o">-</span><span class="mi">1</span><span class="p">][</span><span class="mi">8</span><span class="p">]</span> 2476 <span class="n">SSGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">SGData</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 2477 <span class="n">Vec</span> <span class="o">=</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">]</span> 2478 <span class="n">maxH</span> <span class="o">=</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">]</span> 2479 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLMpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">maxH</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 2480 <span class="n">peaks</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2indx</span><span class="o">.</span><span class="n">IndexSSPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span><span class="n">peaks</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="c">#keep esds from peak fit</span> 2481 <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">calc_M20SS</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)</span> 2482 <span class="k">else</span><span class="p">:</span> 2483 <span class="n">dmin</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="o">-</span><span class="mi">1</span><span class="p">][</span><span class="mi">7</span><span class="p">]</span> 2484 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Inst</span><span class="p">)</span> 2485 <span class="n">peaks</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2indx</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span><span class="n">peaks</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="c">#keep esds from peak fit</span> 2486 <span class="n">M20</span><span class="p">,</span><span class="n">X20</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">calc_M20</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)</span> 2487 <span class="k">print</span> <span class="s">' new M20,X20: </span><span class="si">%.2f</span><span class="s"> </span><span class="si">%d</span><span class="s"> fraction found: </span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="nb">float</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span><span class="o">/</span><span class="nb">len</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">))</span> 2488 <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">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="n">peaks</span><span class="p">)</span> 2258 2489 <span class="k">if</span> <span class="s">'PKS'</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">):</span> 2259 2490 <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotPowderLines</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> … … 2262 2493 2263 2494 <span class="k">def</span> <span class="nf">OnSortCells</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2264 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</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">UnitCellsId</span><span class="p">)</span>2495 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</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">UnitCellsId</span><span class="p">)</span> 2265 2496 <span class="n">c</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetCol</span><span class="p">()</span> 2266 2497 <span class="k">if</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">c</span><span class="p">]</span> <span class="o">==</span> <span class="s">'M20'</span><span class="p">:</span> 2267 2498 <span class="n">cells</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">sortM20</span><span class="p">(</span><span class="n">cells</span><span class="p">)</span> 2268 <span class="k">elif</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">c</span><span class="p">]</span> <span class="o">==</span> <span class="s">'Volume'</span><span class="p">:</span> 2269 <span class="n">cells</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">sortVolume</span><span class="p">(</span><span class="n">cells</span><span class="p">)</span> 2499 <span class="k">elif</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">c</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'X20'</span><span class="p">,</span><span class="s">'Bravais'</span><span class="p">,</span><span class="s">'a'</span><span class="p">,</span><span class="s">'b'</span><span class="p">,</span><span class="s">'c'</span><span class="p">,</span><span class="s">'alpha'</span><span class="p">,</span><span class="s">'beta'</span><span class="p">,</span><span class="s">'gamma'</span><span class="p">,</span><span class="s">'Volume'</span><span class="p">]:</span> 2500 <span class="k">if</span> <span class="n">c</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> 2501 <span class="n">c</span> <span class="o">+=</span> <span class="mi">1</span> <span class="c">#X20 before Use</span> 2502 <span class="n">cells</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">sortCells</span><span class="p">(</span><span class="n">cells</span><span class="p">,</span><span class="n">c</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="c">#an extra column (Use) not in cells</span> 2270 2503 <span class="k">else</span><span class="p">:</span> 2271 2504 <span class="k">return</span> 2272 <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p"> ]</span>2505 <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</span><span class="p">]</span> 2273 2506 <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">UnitCellsId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2274 2507 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateUnitCellsGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2275 2508 2276 2509 <span class="k">def</span> <span class="nf">CopyUnitCell</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2277 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</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">UnitCellsId</span><span class="p">)</span>2510 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</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">UnitCellsId</span><span class="p">)</span> 2278 2511 <span class="k">for</span> <span class="n">Cell</span> <span class="ow">in</span> <span class="n">cells</span><span class="p">:</span> 2279 2512 <span class="k">if</span> <span class="n">Cell</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]:</span> … … 2285 2518 <span class="n">controls</span><span class="p">[</span><span class="mi">12</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_V</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">12</span><span class="p">]))</span> 2286 2519 <span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">]</span> <span class="o">=</span> <span class="n">spaceGroups</span><span class="p">[</span><span class="n">bravaisSymb</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">5</span><span class="p">])]</span> 2287 <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">UnitCellsId</span><span class="p">,[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p"> ])</span>2520 <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">UnitCellsId</span><span class="p">,[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</span><span class="p">])</span> 2288 2521 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">RefineCell</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 2289 2522 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateUnitCellsGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2290 2523 2291 2524 <span class="k">def</span> <span class="nf">RefineCell</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2525 2292 2526 <span class="k">def</span> <span class="nf">cellPrint</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">):</span> 2293 2527 <span class="n">cell</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">A2cell</span><span class="p">(</span><span class="n">A</span><span class="p">)</span> 2294 2528 <span class="n">Vol</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_V</span><span class="p">(</span><span class="n">A</span><span class="p">)</span> 2295 2529 <span class="k">if</span> <span class="n">ibrav</span> <span class="ow">in</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">2</span><span class="p">]:</span> 2296 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>2530 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2297 2531 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]:</span> 2298 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">' c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span>2532 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">' c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span> 2299 2533 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">9</span><span class="p">,</span><span class="mi">10</span><span class="p">]:</span> 2300 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'b ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="s">'c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span>2534 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'b ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="s">'c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span> 2301 2535 <span class="k">elif</span> <span class="n">ibrav</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">11</span><span class="p">,</span><span class="mi">12</span><span class="p">]:</span> 2302 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'b ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="s">'c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="s">'beta ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span>2536 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'b ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="s">'c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="s">'beta ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span> 2303 2537 <span class="k">else</span><span class="p">:</span> 2304 <span class="k">print</span> <span class="s">"</span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'b ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="s">'c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> 2305 <span class="k">print</span> <span class="s">"</span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'alpha ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span><span class="s">'beta ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="s">'gamma ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span> 2538 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s"> </span><span class="si">%s%10.6f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'a ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s">'b ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="s">'c ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> 2539 <span class="k">print</span> <span class="s">" </span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%8.3f</span><span class="s"> </span><span class="si">%s%12.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'alpha ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span><span class="s">'beta ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">4</span><span class="p">],</span><span class="s">'gamma ='</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">5</span><span class="p">],</span><span class="s">' volume ='</span><span class="p">,</span><span class="n">Vol</span><span class="p">)</span> 2540 2541 <span class="k">def</span> <span class="nf">vecPrint</span><span class="p">(</span><span class="n">Vec</span><span class="p">):</span> 2542 <span class="k">print</span> <span class="s">' </span><span class="si">%s</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.5f</span><span class="s"> </span><span class="si">%10.5f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="s">'Modulation vector:'</span><span class="p">,</span><span class="n">Vec</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">Vec</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">Vec</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> 2306 2543 2307 2544 <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span> 2308 2545 <span class="n">PickId</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> 2309 2546 <span class="n">peaks</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">'Index Peak List'</span><span class="p">))</span> 2310 <span class="k">if</span> <span class="ow">not</span> <span class="n ">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>2547 <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="mi">0</span><span class="p">]):</span> 2311 2548 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'No peaks!'</span><span class="p">,</span> <span class="s">'Nothing to refine!'</span><span class="p">)</span> 2312 2549 <span class="k">return</span> 2313 <span class="k">print</span> <span class="s">' Refine cell'</span>2314 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</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">'Unit Cells List'</span><span class="p">))</span>2550 <span class="k">print</span> <span class="s">' Refine cell'</span> 2551 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</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">'Unit Cells List'</span><span class="p">))</span> 2315 2552 <span class="n">cell</span> <span class="o">=</span> <span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">12</span><span class="p">]</span> 2316 2553 <span class="n">A</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span> … … 2318 2555 <span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 2319 2556 <span class="n">dmin</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">getDmin</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">-</span><span class="mf">0.005</span> 2320 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">)</span>2321 <span class="n">G2indx</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)</span>2322 2557 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 2323 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Zero</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">refinePeaksZ</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2324 <span class="k">else</span><span class="p">:</span> <span class="c">#'T'OF</span> 2558 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> 2559 <span class="n">vecFlags</span> <span class="o">=</span> <span class="p">[</span><span class="bp">True</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">]</span> <span class="k">else</span> <span class="bp">False</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'a'</span><span class="p">,</span><span class="s">'b'</span><span class="p">,</span><span class="s">'g'</span><span class="p">]]</span> 2560 <span class="n">SSGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">SGData</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 2561 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLMpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">],</span><span class="n">A</span><span class="p">)</span> 2562 <span class="n">peaks</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2indx</span><span class="o">.</span><span class="n">IndexSSPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span><span class="n">peaks</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="c">#put peak fit esds back in peaks</span> 2563 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">Zero</span> <span class="o">=</span> \ 2564 <span class="n">G2indx</span><span class="o">.</span><span class="n">refinePeaksZSS</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">],</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">vecFlags</span><span class="p">,</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2565 <span class="k">else</span><span class="p">:</span> 2566 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Inst</span><span class="p">)</span> 2567 <span class="n">peaks</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2indx</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span><span class="n">peaks</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="c">#put peak fit esds back in peaks</span> 2568 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Zero</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">refinePeaksZ</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">wave</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2569 <span class="k">else</span><span class="p">:</span> <span class="c">#'T'OF - doesn't seem to work</span> 2570 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Inst</span><span class="p">)</span> 2571 <span class="n">peaks</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2indx</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span><span class="p">)[</span><span class="mi">1</span><span class="p">],</span><span class="n">peaks</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="c">#put peak fit esds back in peaks</span> 2325 2572 <span class="n">Lhkl</span><span class="p">,</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">Aref</span><span class="p">,</span><span class="n">Zero</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">refinePeaksT</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">difC</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2326 2573 <span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Zero</span> 2327 2574 <span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">12</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">A2cell</span><span class="p">(</span><span class="n">Aref</span><span class="p">)</span> 2328 2575 <span class="n">controls</span><span class="p">[</span><span class="mi">12</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">calc_V</span><span class="p">(</span><span class="n">Aref</span><span class="p">)</span> 2329 <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">]</span>2330 2576 <span class="n">cells</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">UnitCellsId</span><span class="p">)[</span><span class="mi">2</span><span class="p">]</span> 2331 2577 <span class="k">for</span> <span class="n">cell</span> <span class="ow">in</span> <span class="n">cells</span><span class="p">:</span> 2332 2578 <span class="n">cell</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 2333 2579 <span class="n">cells</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,[</span><span class="n">M20</span><span class="p">,</span><span class="n">X20</span><span class="p">,</span><span class="n">ibrav</span><span class="p">]</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">13</span><span class="p">]</span><span class="o">+</span><span class="p">[</span><span class="bp">True</span><span class="p">,</span><span class="bp">False</span><span class="p">])</span> 2334 <span class="n">data</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="n">cells</span> 2580 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> 2581 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">]</span> <span class="o">=</span> <span class="n">Vec</span> 2582 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLMpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">,</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">],</span><span class="n">A</span><span class="p">)</span> 2583 <span class="k">else</span><span class="p">:</span> 2584 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2pwd</span><span class="o">.</span><span class="n">getHKLpeak</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">,</span><span class="n">Inst</span><span class="p">)</span> 2585 <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</span><span class="p">]</span> 2335 2586 <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">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">'Unit Cells List'</span><span class="p">),</span><span class="n">data</span><span class="p">)</span> 2336 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Aref</span><span class="p">)</span> 2337 <span class="k">print</span> <span class="s">"</span><span class="si">%s%10.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'refinement M20 = '</span><span class="p">,</span><span class="n">M20</span><span class="p">)</span> 2338 <span class="k">print</span> <span class="s">'unindexed lines = '</span><span class="p">,</span><span class="n">X20</span> 2587 <span class="k">print</span> <span class="s">" </span><span class="si">%s%10.3f</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="s">'refinement M20 = '</span><span class="p">,</span><span class="n">M20</span><span class="p">)</span> 2588 <span class="k">print</span> <span class="s">' unindexed lines = '</span><span class="p">,</span><span class="n">X20</span> 2339 2589 <span class="n">cellPrint</span><span class="p">(</span><span class="n">ibrav</span><span class="p">,</span><span class="n">Aref</span><span class="p">)</span> 2590 <span class="n">ip</span> <span class="o">=</span> <span class="mi">4</span> 2591 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> 2592 <span class="n">vecPrint</span><span class="p">(</span><span class="n">Vec</span><span class="p">)</span> 2593 <span class="n">ip</span> <span class="o">=</span> <span class="mi">5</span> 2340 2594 <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> 2341 <span class="n">hkl</span><span class=" o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>2595 <span class="n">hkl</span><span class="p">[</span><span class="n">ip</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">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="n">ip</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> 2342 2596 <span class="k">if</span> <span class="s">'PKS'</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">):</span> 2343 2597 <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotPowderLines</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> … … 2351 2605 <span class="n">keepcells</span> <span class="o">=</span> <span class="p">[]</span> 2352 2606 <span class="k">try</span><span class="p">:</span> 2353 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</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">'Unit Cells List'</span><span class="p">))</span>2607 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</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">'Unit Cells List'</span><span class="p">))</span> 2354 2608 <span class="k">for</span> <span class="n">cell</span> <span class="ow">in</span> <span class="n">cells</span><span class="p">:</span> 2355 2609 <span class="k">if</span> <span class="n">cell</span><span class="p">[</span><span class="mi">11</span><span class="p">]:</span> 2610 <span class="n">cell</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> <span class="c">#clear selection flag on keepers</span> 2356 2611 <span class="n">keepcells</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span> 2357 2612 <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span> … … 2360 2615 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Error'</span><span class="p">,</span><span class="s">'Need to set controls in Unit Cell List first'</span><span class="p">)</span> 2361 2616 <span class="k">return</span> 2617 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> 2618 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Super lattice error'</span><span class="p">,</span><span class="s">'Indexing not available for super lattices'</span><span class="p">)</span> 2619 <span class="k">return</span> 2362 2620 <span class="k">if</span> <span class="bp">True</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">bravais</span><span class="p">:</span> 2363 2621 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Error'</span><span class="p">,</span><span class="s">'No Bravais lattices selected'</span><span class="p">)</span> 2364 2622 <span class="k">return</span> 2623 <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="mi">0</span><span class="p">]):</span> 2624 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Error'</span><span class="p">,</span><span class="s">'Index Peak List is empty'</span><span class="p">)</span> 2625 <span class="k">return</span> 2626 <span class="k">if</span> <span class="nb">len</span><span class="p">(</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> <span class="o">></span> <span class="mi">9</span><span class="p">:</span> 2627 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Error'</span><span class="p">,</span><span class="s">'You need to reload Index Peaks List first'</span><span class="p">)</span> 2628 <span class="k">return</span> 2365 2629 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">CopyCell</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2366 2630 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">RefineCell</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2367 <span class="n">OK</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">newcells</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">DoIndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p"> )</span>2631 <span class="n">OK</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">newcells</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">DoIndexPeaks</span><span class="p">(</span><span class="n">peaks</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">ifX20</span><span class="p">)</span> 2368 2632 <span class="n">cells</span> <span class="o">=</span> <span class="n">keepcells</span><span class="o">+</span><span class="n">newcells</span> 2369 2633 <span class="n">cells</span> <span class="o">=</span> <span class="n">G2indx</span><span class="o">.</span><span class="n">sortM20</span><span class="p">(</span><span class="n">cells</span><span class="p">)</span> 2370 <span class="n">cells</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">10</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>2371 2634 <span class="k">if</span> <span class="n">OK</span><span class="p">:</span> 2372 <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">]</span> 2635 <span class="n">cells</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">10</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span> <span class="c">#select best M20</span> 2636 <span class="n">data</span> <span class="o">=</span> <span class="p">[</span><span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</span><span class="p">]</span> 2373 2637 <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">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">'Unit Cells List'</span><span class="p">),</span><span class="n">data</span><span class="p">)</span> 2374 2638 <span class="n">bestCell</span> <span class="o">=</span> <span class="n">cells</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> … … 2376 2640 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">bestCell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">bestCell</span><span class="p">[</span><span class="mi">3</span><span class="p">:</span><span class="mi">9</span><span class="p">]))</span> 2377 2641 <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> 2378 <span class="n">hkl</span><span class="o">.</span><span class="n"> append</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>2642 <span class="n">hkl</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> 2379 2643 <span class="k">if</span> <span class="s">'PKS'</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">):</span> 2380 2644 <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotPowderLines</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> … … 2384 2648 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 2385 2649 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">MakeNewPhase</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 2386 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateUnitCellsGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2650 <span class="n">G2frame</span><span class="o">.</span><span class="n">ifX20</span> <span class="o">=</span> <span class="bp">True</span> 2651 <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateUnitCellsGrid</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2387 2652 2388 2653 <span class="k">def</span> <span class="nf">RefreshUnitCellsGrid</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2389 <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">UnitCellsId</span><span class="p">)</span>2390 <span class="n">cells</span><span class="p">,</span><span class="n">dmin</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">2</span><span class="p">: ]</span>2654 <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">UnitCellsId</span><span class="p">)</span> 2655 <span class="n">cells</span><span class="p">,</span><span class="n">dmin</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">4</span><span class="p">]</span> 2391 2656 <span class="n">r</span><span class="p">,</span><span class="n">c</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetRow</span><span class="p">(),</span><span class="n">event</span><span class="o">.</span><span class="n">GetCol</span><span class="p">()</span> 2392 2657 <span class="k">if</span> <span class="n">cells</span><span class="p">:</span> … … 2396 2661 <span class="n">UnitCellsTable</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span> 2397 2662 <span class="n">UnitCellsTable</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span> 2398 <span class="n">gridDisplay</span><span class="o">.</span><span class="n"> ForceRefresh</span><span class="p">()</span>2663 <span class="n">gridDisplay</span><span class="o">.</span><span class="n">Refresh</span><span class="p">()</span> 2399 2664 <span class="n">cells</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span> 2400 2665 <span class="n">ibrav</span> <span class="o">=</span> <span class="n">cells</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span> … … 2402 2667 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">ibrav</span><span class="p">,</span><span class="n">A</span><span class="p">)</span> 2403 2668 <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> 2404 <span class="n">hkl</span><span class="o">.</span><span class="n"> append</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>2669 <span class="n">hkl</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> 2405 2670 <span class="k">if</span> <span class="s">'PKS'</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">):</span> 2406 2671 <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotPowderLines</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> … … 2415 2680 <span class="n">UnitCellsTable</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span> 2416 2681 <span class="n">gridDisplay</span><span class="o">.</span><span class="n">ForceRefresh</span><span class="p">()</span> 2417 <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">UnitCellsId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2682 <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">UnitCellsId</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 2418 2683 2419 2684 <span class="k">def</span> <span class="nf">MakeNewPhase</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 2436 2701 <span class="n">E</span><span class="p">,</span><span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">])</span> 2437 2702 <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">sub</span><span class="p">,</span> \ 2438 <span class="n">G2IO</span><span class="o">.</span><span class="n">SetNewPhase</span><span class="p">(</span><span class="n">Name</span><span class="o">=</span><span class="n">PhaseName</span><span class="p">,</span><span class="n">SGData</span><span class="o">=</span><span class="n">SGData</span><span class="p">,</span><span class="n">cell</span><span class="o">=</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">:] ))</span>2703 <span class="n">G2IO</span><span class="o">.</span><span class="n">SetNewPhase</span><span class="p">(</span><span class="n">Name</span><span class="o">=</span><span class="n">PhaseName</span><span class="p">,</span><span class="n">SGData</span><span class="o">=</span><span class="n">SGData</span><span class="p">,</span><span class="n">cell</span><span class="o">=</span><span class="n">cell</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span><span class="n">Super</span><span class="o">=</span><span class="n">ssopt</span><span class="p">))</span> 2439 2704 <span class="n">Status</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">'Change space group from '</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">])</span><span class="o">+</span><span class="s">' if needed'</span><span class="p">)</span> 2440 2705 <span class="k">finally</span><span class="p">:</span> … … 2442 2707 2443 2708 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">:</span> 2444 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">Clear</span><span class="p">()</span> 2709 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DestroyChildren</span><span class="p">()</span> 2710 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">wxscroll</span><span class="o">.</span><span class="n">ScrolledPanel</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> 2445 2711 <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</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">dataFrame</span><span class="o">.</span><span class="n">IndexMenu</span><span class="p">)</span> 2446 2712 <span class="k">if</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GetStatusBar</span><span class="p">():</span> … … 2449 2715 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">CopyUnitCell</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_COPYCELL</span><span class="p">)</span> 2450 2716 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">RefineCell</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_REFINECELL</span><span class="p">)</span> 2451 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">MakeNewPhase</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_MAKENEWPHASE</span><span class="p">)</span> 2452 2453 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span> <span class="o">=</span> <span class="n">data</span> 2717 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">MakeNewPhase</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_MAKENEWPHASE</span><span class="p">)</span> 2718 <span class="n">controls</span><span class="p">,</span><span class="n">bravais</span><span class="p">,</span><span class="n">cells</span><span class="p">,</span><span class="n">dmin</span><span class="p">,</span><span class="n">ssopt</span> <span class="o">=</span> <span class="n">data</span> 2454 2719 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">controls</span><span class="p">)</span> <span class="o"><</span> <span class="mi">13</span><span class="p">:</span> <span class="c">#add cell volume if missing</span> 2455 2720 <span class="n">controls</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">calc_V</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">12</span><span class="p">])))</span> … … 2471 2736 2472 2737 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetLabel</span><span class="p">(</span><span class="s">'Unit Cells List'</span><span class="p">)</span> 2473 <span class="n">G2frame</span><span class="o">.</span><span class="n">sp</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">SplitterWindow</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span>2474 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">sp</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">SUNKEN_BORDER</span><span class="p">)</span>2475 2738 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">IndexPeaks</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2476 2739 <span class="n">peaks</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">'Index Peak List'</span><span class="p">))</span> … … 2483 2746 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">MakeNewPhase</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2484 2747 <span class="k">if</span> <span class="n">cells</span><span class="p">:</span> 2485 <span class="n">G2frame</span><span class="o">.</span><span class="n">bottom</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">sp</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">SUNKEN_BORDER</span><span class="p">)</span>2486 <span class="n">G2frame</span><span class="o">.</span><span class="n">sp</span><span class="o">.</span><span class="n">SplitHorizontally</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">bottom</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>2487 2748 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">CopyCell</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 2488 2749 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">MakeNewPhase</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> … … 2493 2754 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' Max Nc/Nobs '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2494 2755 <span class="n">NcNo</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">SpinCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">)</span> 2495 <span class="n">NcNo</span><span class="o">.</span><span class="n">SetRange</span><span class="p">(</span><span class="mi"> 1</span><span class="p">,</span><span class="mi">6</span><span class="p">)</span>2756 <span class="n">NcNo</span><span class="o">.</span><span class="n">SetRange</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">6</span><span class="p">)</span> 2496 2757 <span class="n">NcNo</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> 2497 2758 <span class="n">NcNo</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_SPINCTRL</span><span class="p">,</span><span class="n">OnNcNo</span><span class="p">)</span> … … 2502 2763 <span class="n">startVol</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnStartVol</span><span class="p">)</span> 2503 2764 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">startVol</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2765 <span class="n">x20</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">'Use M20/(X20+1)?'</span><span class="p">)</span> 2766 <span class="n">x20</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">ifX20</span><span class="p">)</span> 2767 <span class="n">x20</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_CHECKBOX</span><span class="p">,</span><span class="n">OnIfX20</span><span class="p">)</span> 2768 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">x20</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2504 2769 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">littleSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> 2505 2770 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</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="mi">0</span><span class="p">)</span> … … 2532 2797 <span class="n">spcSel</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_CHOICE</span><span class="p">,</span><span class="n">OnSpcSel</span><span class="p">)</span> 2533 2798 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">spcSel</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2534 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">" Zero offset"</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2535 <span class="n">zero</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">value</span><span class="o">=</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">controls</span><span class="p">[</span><span class="mi">1</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">TE_PROCESS_ENTER</span><span class="p">)</span> 2536 <span class="n">zero</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnZero</span><span class="p">)</span> 2537 <span class="n">zero</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnZero</span><span class="p">)</span> 2538 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">zero</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2539 <span class="n">zeroVar</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">"Refine?"</span><span class="p">)</span> 2540 <span class="n">zeroVar</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2541 <span class="n">zeroVar</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_CHECKBOX</span><span class="p">,</span><span class="n">OnZeroVar</span><span class="p">)</span> 2542 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">zeroVar</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2799 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> <span class="c">#zero for super lattice doesn't work!</span> 2800 <span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 2801 <span class="k">else</span><span class="p">:</span> 2802 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">" Zero offset"</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2803 <span class="n">zero</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">value</span><span class="o">=</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">controls</span><span class="p">[</span><span class="mi">1</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">TE_PROCESS_ENTER</span><span class="p">)</span> 2804 <span class="n">zero</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnZero</span><span class="p">)</span> 2805 <span class="n">zero</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnZero</span><span class="p">)</span> 2806 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">zero</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2807 <span class="n">zeroVar</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">"Refine?"</span><span class="p">)</span> 2808 <span class="n">zeroVar</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">controls</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 2809 <span class="n">zeroVar</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_CHECKBOX</span><span class="p">,</span><span class="n">OnZeroVar</span><span class="p">)</span> 2810 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">zeroVar</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2811 <span class="n">SSopt</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">"Super lattice?"</span><span class="p">)</span> 2812 <span class="n">SSopt</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">))</span> 2813 <span class="n">SSopt</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_CHECKBOX</span><span class="p">,</span><span class="n">OnSSopt</span><span class="p">)</span> 2814 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">SSopt</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2543 2815 <span class="n">hklShow</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">"Show hkl positions"</span><span class="p">)</span> 2544 2816 <span class="n">hklShow</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_BUTTON</span><span class="p">,</span><span class="n">OnHklShow</span><span class="p">)</span> … … 2576 2848 <span class="n">littleSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">volVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2577 2849 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">littleSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> 2578 2579 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Layout</span><span class="p">()</span> 2580 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">)</span> 2581 <span class="n">topSize</span> <span class="o">=</span> <span class="n">mainSizer</span><span class="o">.</span><span class="n">Fit</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> 2582 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">topSize</span><span class="p">)</span> 2850 <span class="k">if</span> <span class="n">ssopt</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'Use'</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span> <span class="c">#super lattice display</span> 2851 <span class="n">indChoice</span> <span class="o">=</span> <span class="p">[</span><span class="s">'1'</span><span class="p">,</span><span class="s">'2'</span><span class="p">,</span><span class="s">'3'</span><span class="p">,</span><span class="s">'4'</span><span class="p">,]</span> 2852 <span class="n">SpSg</span> <span class="o">=</span> <span class="n">controls</span><span class="p">[</span><span class="mi">13</span><span class="p">]</span> 2853 <span class="n">ssChoice</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">ssdict</span><span class="p">[</span><span class="n">SpSg</span><span class="p">]</span> 2854 <span class="k">if</span> <span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">]</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">ssChoice</span><span class="p">:</span> 2855 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ssChoice</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> 2856 <span class="n">ssSizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">HORIZONTAL</span><span class="p">)</span> 2857 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' Supersymmetry space group: '</span><span class="o">+</span><span class="n">SpSg</span><span class="o">+</span><span class="s">' '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2858 <span class="n">selMG</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">dataDisplay</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">],</span> 2859 <span class="n">choices</span><span class="o">=</span><span class="n">ssChoice</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_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span> 2860 <span class="n">selMG</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">OnSelMG</span><span class="p">)</span> 2861 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">selMG</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2862 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' Mod. vector: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2863 <span class="n">modS</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">splitSSsym</span><span class="p">(</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ssSymb'</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span> 2864 <span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">ifShow</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSGModCheck</span><span class="p">(</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">modS</span><span class="p">)</span> 2865 <span class="n">Indx</span> <span class="o">=</span> <span class="p">{}</span> 2866 <span class="k">for</span> <span class="n">i</span><span class="p">,[</span><span class="n">val</span><span class="p">,</span><span class="n">show</span><span class="p">]</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'ModVec'</span><span class="p">],</span><span class="n">ifShow</span><span class="p">)):</span> 2867 <span class="k">if</span> <span class="n">show</span><span class="p">:</span> 2868 <span class="n">valSizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">HORIZONTAL</span><span class="p">)</span> 2869 <span class="n">modVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="p">(</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">val</span><span class="p">)),</span> 2870 <span class="n">size</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">Size</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">20</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">TE_PROCESS_ENTER</span><span class="p">)</span> 2871 <span class="n">modVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnModVal</span><span class="p">)</span> 2872 <span class="n">modVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnModVal</span><span class="p">)</span> 2873 <span class="n">valSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">modVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2874 <span class="n">modSpin</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">SpinButton</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</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">SP_VERTICAL</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">Size</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span><span class="mi">20</span><span class="p">))</span> 2875 <span class="n">modSpin</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> 2876 <span class="n">modSpin</span><span class="o">.</span><span class="n">SetRange</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> 2877 <span class="n">modSpin</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_SPIN</span><span class="p">,</span> <span class="n">OnMoveMod</span><span class="p">)</span> 2878 <span class="n">valSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">modSpin</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2879 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">valSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2880 <span class="n">Indx</span><span class="p">[</span><span class="n">modVal</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">i</span> 2881 <span class="n">Indx</span><span class="p">[</span><span class="n">modSpin</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">modVal</span><span class="p">]</span> 2882 <span class="k">else</span><span class="p">:</span> 2883 <span class="n">modVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="p">(</span><span class="s">'</span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">val</span><span class="p">)),</span> 2884 <span class="n">size</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">Size</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">20</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">TE_READONLY</span><span class="p">)</span> 2885 <span class="n">modVal</span><span class="o">.</span><span class="n">SetBackgroundColour</span><span class="p">(</span><span class="n">VERY_LIGHT_GREY</span><span class="p">)</span> 2886 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">modVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2887 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' Max. M: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2888 <span class="n">maxMH</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">dataDisplay</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">ssopt</span><span class="p">[</span><span class="s">'maxH'</span><span class="p">]),</span> 2889 <span class="n">choices</span><span class="o">=</span><span class="n">indChoice</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_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span> 2890 <span class="n">maxMH</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">OnMaxMH</span><span class="p">)</span> 2891 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">maxMH</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2892 <span class="n">findMV</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">"Find mod. vec.?"</span><span class="p">)</span> 2893 <span class="n">findMV</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_BUTTON</span><span class="p">,</span><span class="n">OnFindMV</span><span class="p">)</span> 2894 <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">findMV</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2895 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">ssSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> 2896 2583 2897 <span class="k">if</span> <span class="n">cells</span><span class="p">:</span> 2584 <span class="k">if</span> <span class="n">ibrav</span> <span class="o">==</span> <span class="mi">13</span><span class="p">:</span> 2585 <span class="n">topSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">230</span> 2586 <span class="k">else</span><span class="p">:</span> 2587 <span class="n">topSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">200</span> 2588 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</span><span class="p">(</span><span class="n">topSize</span><span class="p">)</span> 2589 2590 <span class="k">if</span> <span class="n">cells</span><span class="p">:</span> 2591 <span class="n">bottomSize</span> <span class="o">=</span> <span class="n">topSize</span> <span class="c">#screwy but bottom doesn't have a size in linux!</span> 2592 <span class="n">bottomSize</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">20</span> <span class="c">#to reveal slider</span> 2593 <span class="k">if</span> <span class="n">ibrav</span> <span class="o">==</span> <span class="mi">13</span><span class="p">:</span> 2594 <span class="n">bottomSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">240</span> 2595 <span class="k">else</span><span class="p">:</span> 2596 <span class="n">bottomSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">210</span> 2597 <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">bottom</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' Indexing Result '</span><span class="p">)</span> 2898 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">'</span><span class="se">\n</span><span class="s"> Indexing Result:'</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2598 2899 <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span> 2599 2900 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'M20'</span><span class="p">,</span><span class="s">'X20'</span><span class="p">,</span><span class="s">'use'</span><span class="p">,</span><span class="s">'Bravais'</span><span class="p">,</span><span class="s">'a'</span><span class="p">,</span><span class="s">'b'</span><span class="p">,</span><span class="s">'c'</span><span class="p">,</span><span class="s">'alpha'</span><span class="p">,</span><span class="s">'beta'</span><span class="p">,</span><span class="s">'gamma'</span><span class="p">,</span><span class="s">'Volume'</span><span class="p">,</span><span class="s">'Keep'</span><span class="p">]</span> … … 2610 2911 <span class="n">G2frame</span><span class="o">.</span><span class="n">HKL</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenHBravais</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">cell</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">A</span><span class="p">)</span> 2611 2912 <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> 2612 <span class="n">hkl</span><span class="o">.</span><span class="n"> append</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>2913 <span class="n">hkl</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="n">G2lat</span><span class="o">.</span><span class="n">Dsp2pos</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">hkl</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span><span class="o">+</span><span class="n">controls</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> 2613 2914 <span class="n">table</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">row</span><span class="p">)</span> 2614 2915 <span class="n">UnitCellsTable</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="n">table</span><span class="p">,</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">rowLabels</span><span class="p">,</span><span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span> 2615 <span class="n">gridDisplay</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GSGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">bottom</span><span class="p">)</span> 2616 <span class="n">gridDisplay</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">20</span><span class="p">))</span> 2916 <span class="n">gridDisplay</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GSGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">)</span> 2617 2917 <span class="n">gridDisplay</span><span class="o">.</span><span class="n">SetTable</span><span class="p">(</span><span class="n">UnitCellsTable</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span> 2618 2918 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">CopyCell</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> … … 2628 2928 <span class="k">else</span><span class="p">:</span> 2629 2929 <span class="n">gridDisplay</span><span class="o">.</span><span class="n">SetReadOnly</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">isReadOnly</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> 2630 <span class="n">gridDisplay</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">bottomSize</span><span class="p">)</span> 2631 2930 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">gridDisplay</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2931 <span class="n">mainSizer</span><span class="o">.</span><span class="n">Layout</span><span class="p">()</span> 2932 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">)</span> 2933 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetAutoLayout</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> 2934 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetupScrolling</span><span class="p">()</span> 2935 <span class="n">Size</span> <span class="o">=</span> <span class="n">mainSizer</span><span class="o">.</span><span class="n">Fit</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> 2936 <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">25</span> 2937 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span> 2938 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span> 2939 2632 2940 <span class="c">################################################################################</span> 2633 2941 <span class="c">##### Reflection list</span> … … 2635 2943 </div> 2636 2944 <div class="viewcode-block" id="UpdateReflectionGrid"><a class="viewcode-back" href="../GSASIIGUI.html#GSASIIpwdGUI.UpdateReflectionGrid">[docs]</a><span class="k">def</span> <span class="nf">UpdateReflectionGrid</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">HKLF</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span><span class="n">Name</span><span class="o">=</span><span class="s">''</span><span class="p">):</span> 2637 <span class="sd">'''respond to selection of PWDR Reflections data tree item.</span> 2945 <span class="sd">'''respond to selection of PWDR Reflections data tree item by displaying</span> 2946 <span class="sd"> a table of reflections in the data window.</span> 2638 2947 <span class="sd"> '''</span> 2639 2948 <span class="k">def</span> <span class="nf">OnPlotHKL</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2949 <span class="sd">'''Plots a layer of reflections</span> 2950 <span class="sd"> '''</span> 2951 <span class="n">phaseName</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span> 2952 <span class="n">pId</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="s">'Phases'</span><span class="p">)</span> 2953 <span class="n">phaseId</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">pId</span><span class="p">,</span><span class="n">phaseName</span><span class="p">)</span> 2954 <span class="n">General</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">phaseId</span><span class="p">)[</span><span class="s">'General'</span><span class="p">]</span> 2955 <span class="n">Super</span> <span class="o">=</span> <span class="n">General</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="mi">0</span><span class="p">)</span> 2956 <span class="n">SuperVec</span> <span class="o">=</span> <span class="n">General</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'SuperVec'</span><span class="p">,[])</span> 2957 <span class="k">if</span> <span class="s">'list'</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">data</span><span class="p">)):</span> <span class="c">#single crystal data is 2 dict in list</span> 2958 <span class="n">refList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">'RefList'</span><span class="p">]</span> 2959 <span class="k">else</span><span class="p">:</span> <span class="c">#powder data is a dict of dicts; each same structure as SC 2nd dict</span> 2960 <span class="n">refList</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="n">phaseName</span><span class="p">][</span><span class="s">'RefList'</span><span class="p">])</span> 2640 2961 <span class="n">FoMax</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">8</span><span class="o">+</span><span class="n">Super</span><span class="p">])</span> 2641 2962 <span class="n">Hmin</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">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">refList</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="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">refList</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="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">2</span><span class="p">]))])</span> … … 2646 2967 2647 2968 <span class="k">def</span> <span class="nf">OnPlot3DHKL</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 2969 <span class="sd">'''Plots the reflections in 3D</span> 2970 <span class="sd"> '''</span> 2971 <span class="n">phaseName</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span> 2972 <span class="n">pId</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="s">'Phases'</span><span class="p">)</span> 2973 <span class="n">phaseId</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">pId</span><span class="p">,</span><span class="n">phaseName</span><span class="p">)</span> 2974 <span class="n">General</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">phaseId</span><span class="p">)[</span><span class="s">'General'</span><span class="p">]</span> 2975 <span class="n">Super</span> <span class="o">=</span> <span class="n">General</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="mi">0</span><span class="p">)</span> 2976 <span class="n">SuperVec</span> <span class="o">=</span> <span class="n">General</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'SuperVec'</span><span class="p">,[])</span> 2977 <span class="k">if</span> <span class="s">'list'</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">data</span><span class="p">)):</span> <span class="c">#single crystal data is 2 dict in list</span> 2978 <span class="n">refList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">'RefList'</span><span class="p">]</span> 2979 <span class="k">else</span><span class="p">:</span> <span class="c">#powder data is a dict of dicts; each same structure as SC 2nd dict</span> 2980 <span class="n">refList</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="n">phaseName</span><span class="p">][</span><span class="s">'RefList'</span><span class="p">])</span> 2648 2981 <span class="n">FoMax</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">8</span><span class="o">+</span><span class="n">Super</span><span class="p">])</span> 2649 2982 <span class="n">Hmin</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">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">refList</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="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">refList</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="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">2</span><span class="p">]))])</span> … … 2656 2989 <span class="n">G2plt</span><span class="o">.</span><span class="n">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">True</span><span class="p">,</span><span class="n">Data</span><span class="o">=</span><span class="n">controls</span><span class="p">,</span><span class="n">hklRef</span><span class="o">=</span><span class="n">refList</span><span class="p">,</span><span class="n">Title</span><span class="o">=</span><span class="n">phaseName</span><span class="p">)</span> 2657 2990 2991 <span class="k">def</span> <span class="nf">MakeReflectionTable</span><span class="p">(</span><span class="n">phaseName</span><span class="p">):</span> 2992 <span class="sd">'''Returns a wx.grid table (G2gd.Table) containing a list of all reflections</span> 2993 <span class="sd"> for a phase. </span> 2994 <span class="sd"> '''</span> 2995 <span class="k">if</span> <span class="n">phaseName</span><span class="p">:</span> 2996 <span class="n">pId</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="s">'Phases'</span><span class="p">)</span> 2997 <span class="n">phaseId</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">pId</span><span class="p">,</span><span class="n">phaseName</span><span class="p">)</span> 2998 <span class="n">General</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">phaseId</span><span class="p">)[</span><span class="s">'General'</span><span class="p">]</span> 2999 <span class="n">Super</span> <span class="o">=</span> <span class="n">General</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="mi">0</span><span class="p">)</span> 3000 <span class="n">SuperVec</span> <span class="o">=</span> <span class="n">General</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'SuperVec'</span><span class="p">,[])</span> 3001 <span class="k">else</span><span class="p">:</span> 3002 <span class="n">Super</span> <span class="o">=</span> <span class="mi">0</span> 3003 <span class="n">SuperVec</span> <span class="o">=</span> <span class="p">[]</span> 3004 <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span> 3005 <span class="k">if</span> <span class="n">HKLF</span><span class="p">:</span> 3006 <span class="n">refList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">'RefList'</span><span class="p">]</span> 3007 <span class="n">refs</span> <span class="o">=</span> <span class="n">refList</span> 3008 <span class="k">else</span><span class="p">:</span> 3009 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> 3010 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SelectPhase</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 3011 <span class="k">try</span><span class="p">:</span> <span class="c">#patch for old reflection lists</span> 3012 <span class="n">refList</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="n">phaseName</span><span class="p">][</span><span class="s">'RefList'</span><span class="p">])</span> 3013 <span class="n">I100</span> <span class="o">=</span> <span class="n">refList</span><span class="o">.</span><span class="n">T</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="o">*</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">11</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span> 3014 <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span> 3015 <span class="n">refList</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">refl</span><span class="p">[:</span><span class="mi">11</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span> <span class="k">for</span> <span class="n">refl</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]])</span> 3016 <span class="n">I100</span> <span class="o">=</span> <span class="n">refList</span><span class="o">.</span><span class="n">T</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="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">refl</span><span class="p">[</span><span class="mi">11</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span> <span class="k">for</span> <span class="n">refl</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]])</span> 3017 <span class="n">Imax</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">I100</span><span class="p">)</span> 3018 <span class="k">if</span> <span class="n">Imax</span><span class="p">:</span> 3019 <span class="n">I100</span> <span class="o">*=</span> <span class="mf">100.0</span><span class="o">/</span><span class="n">Imax</span> 3020 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 3021 <span class="n">refs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">((</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[:</span><span class="mi">15</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="n">I100</span><span class="p">))</span><span class="o">.</span><span class="n">T</span> 3022 <span class="k">elif</span> <span class="s">'T'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 3023 <span class="n">refs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">((</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[:</span><span class="mi">18</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="n">I100</span><span class="p">))</span><span class="o">.</span><span class="n">T</span> 3024 <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">refs</span><span class="p">)):</span> <span class="n">rowLabels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> 3025 <span class="n">Types</span> <span class="o">=</span> <span class="p">(</span><span class="mi">4</span><span class="o">+</span><span class="n">Super</span><span class="p">)</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,]</span><span class="o">+</span><span class="mi">4</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,4'</span><span class="p">,]</span><span class="o">+</span> \ 3026 <span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,2'</span><span class="p">,]</span><span class="o">+</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span><span class="o">+</span> \ 3027 <span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 3028 <span class="k">if</span> <span class="n">HKLF</span><span class="p">:</span> 3029 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'FoTsq'</span><span class="p">,</span><span class="s">'FcTsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'ExtC'</span><span class="p">,]</span> 3030 <span class="k">if</span> <span class="s">'T'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 3031 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'FoTsq'</span><span class="p">,</span><span class="s">'FcTsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'ExtC'</span><span class="p">,</span><span class="s">'wave'</span><span class="p">,</span><span class="s">'tbar'</span><span class="p">]</span> 3032 <span class="n">Types</span> <span class="o">+=</span> <span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 3033 <span class="k">if</span> <span class="n">Super</span><span class="p">:</span> 3034 <span class="n">colLabels</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="s">'M'</span><span class="p">)</span> 3035 <span class="k">else</span><span class="p">:</span> 3036 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 3037 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'pos'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'gam'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'Icorr'</span><span class="p">,</span><span class="s">'Prfo'</span><span class="p">,</span><span class="s">'Trans'</span><span class="p">,</span><span class="s">'ExtP'</span><span class="p">,</span><span class="s">'I100'</span><span class="p">]</span> 3038 <span class="n">Types</span> <span class="o">+=</span> <span class="mi">4</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 3039 <span class="k">elif</span> <span class="s">'T'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 3040 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'pos'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'gam'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'Icorr'</span><span class="p">,</span><span class="s">'alp'</span><span class="p">,</span><span class="s">'bet'</span><span class="p">,</span><span class="s">'wave'</span><span class="p">,</span><span class="s">'Prfo'</span><span class="p">,</span><span class="s">'Abs'</span><span class="p">,</span><span class="s">'Ext'</span><span class="p">,</span><span class="s">'I100'</span><span class="p">]</span> 3041 <span class="n">Types</span> <span class="o">+=</span> <span class="mi">7</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 3042 <span class="k">if</span> <span class="n">Super</span><span class="p">:</span> 3043 <span class="n">colLabels</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="s">'M'</span><span class="p">)</span> 3044 <span class="k">return</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="n">refs</span><span class="p">,</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">rowLabels</span><span class="p">,</span><span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span> 3045 3046 <span class="k">def</span> <span class="nf">ShowReflTable</span><span class="p">(</span><span class="n">phaseName</span><span class="p">):</span> 3047 <span class="sd">'''Posts a table of reflections for a phase, creating the table</span> 3048 <span class="sd"> if needed using MakeReflectionTable</span> 3049 <span class="sd"> '''</span> 3050 <span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span> <span class="o">=</span> <span class="n">phaseName</span> 3051 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetLabel</span><span class="p">(</span><span class="s">'Reflection List for '</span><span class="o">+</span><span class="n">phaseName</span><span class="p">)</span> 3052 <span class="c"># has this table already been displayed?</span> 3053 <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span><span class="o">.</span><span class="n">GetTable</span><span class="p">()</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> 3054 <span class="n">PeakTable</span> <span class="o">=</span> <span class="n">MakeReflectionTable</span><span class="p">(</span><span class="n">phaseName</span><span class="p">)</span> 3055 <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span><span class="o">.</span><span class="n">SetTable</span><span class="p">(</span><span class="n">PeakTable</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span> 3056 <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span><span class="o">.</span><span class="n">EnableEditing</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 3057 <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span><span class="o">.</span><span class="n">SetMargins</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> 3058 <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span><span class="o">.</span><span class="n">AutoSizeColumns</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 3059 <span class="c"># raise the tab (needed for 1st use and from OnSelectPhase)</span> 3060 <span class="k">for</span> <span class="n">PageNum</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageCount</span><span class="p">()):</span> 3061 <span class="k">if</span> <span class="n">phaseName</span> <span class="o">==</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">PageNum</span><span class="p">):</span> 3062 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="n">PageNum</span><span class="p">)</span> 3063 <span class="k">break</span> 3064 <span class="k">else</span><span class="p">:</span> 3065 <span class="k">print</span> <span class="n">phaseName</span> 3066 <span class="k">print</span> <span class="n">phases</span> 3067 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">"how did we not find a phase name?"</span><span class="p">)</span> 3068 3069 <span class="k">def</span> <span class="nf">OnPageChanged</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 3070 <span class="sd">'''Respond to a press on a phase tab by displaying the reflections. This</span> 3071 <span class="sd"> routine is needed because the reflection table may not have been created yet.</span> 3072 <span class="sd"> '''</span> 3073 <span class="n">page</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span> 3074 <span class="n">phaseName</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">page</span><span class="p">)</span> 3075 <span class="n">ShowReflTable</span><span class="p">(</span><span class="n">phaseName</span><span class="p">)</span> 3076 2658 3077 <span class="k">def</span> <span class="nf">OnSelectPhase</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 3078 <span class="sd">'''For PWDR, selects a phase with a selection box. Called from menu.</span> 3079 <span class="sd"> '''</span> 3080 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">phases</span><span class="p">)</span> <span class="o"><</span> <span class="mi">2</span><span class="p">:</span> <span class="k">return</span> 2659 3081 <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">SingleChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="s">'Select'</span><span class="p">,</span><span class="s">'Phase'</span><span class="p">,</span><span class="n">phases</span><span class="p">)</span> 2660 3082 <span class="k">try</span><span class="p">:</span> 2661 3083 <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span> 2662 3084 <span class="n">sel</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span> 2663 <span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span> <span class="o">=</span> <span class="n">phases</span><span class="p">[</span><span class="n">sel</span><span class="p">]</span> 2664 <span class="n">UpdateReflectionGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span> 3085 <span class="n">ShowReflTable</span><span class="p">(</span><span class="n">phases</span><span class="p">[</span><span class="n">sel</span><span class="p">])</span> 2665 3086 <span class="k">finally</span><span class="p">:</span> 2666 3087 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 2667 <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotPatterns</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span>2668 3088 2669 3089 <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">:</span> … … 2673 3093 <span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span> <span class="o">=</span> <span class="mi">1</span> 2674 3094 <span class="n">phaseName</span> <span class="o">=</span> <span class="n">IsHistogramInAnyPhase</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">Name</span><span class="p">)</span> 3095 <span class="n">phases</span> <span class="o">=</span> <span class="p">[</span><span class="n">phaseName</span><span class="p">]</span> 2675 3096 <span class="k">else</span><span class="p">:</span> 2676 3097 <span class="n">phaseName</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span> … … 2679 3100 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">Clear</span><span class="p">()</span> 2680 3101 <span class="n">Inst</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><span class="mi">0</span><span class="p">]</span> 2681 <span class="k">if</span> <span class="n">phaseName</span><span class="p">:</span>2682 <span class="n">pId</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="s">'Phases'</span><span class="p">)</span>2683 <span class="n">phaseId</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">pId</span><span class="p">,</span><span class="n">phaseName</span><span class="p">)</span>2684 <span class="n">General</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">phaseId</span><span class="p">)[</span><span class="s">'General'</span><span class="p">]</span>2685 <span class="n">Super</span> <span class="o">=</span> <span class="n">General</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="mi">0</span><span class="p">)</span>2686 <span class="n">SuperVec</span> <span class="o">=</span> <span class="n">General</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'SuperVec'</span><span class="p">,[])</span>2687 <span class="k">else</span><span class="p">:</span>2688 <span class="n">Super</span> <span class="o">=</span> <span class="mi">0</span>2689 <span class="n">SuperVec</span> <span class="o">=</span> <span class="p">[]</span>2690 <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span>2691 3102 <span class="k">if</span> <span class="n">HKLF</span><span class="p">:</span> 2692 3103 <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">)</span> 2693 <span class="n">refList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">'RefList'</span><span class="p">]</span>2694 3104 <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</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">dataFrame</span><span class="o">.</span><span class="n">ReflMenu</span><span class="p">)</span> 2695 3105 <span class="k">if</span> <span class="ow">not</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GetStatusBar</span><span class="p">():</span> … … 2698 3108 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">OnPlot3DHKL</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_PWD3DHKLPLOT</span><span class="p">)</span> 2699 3109 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SelectPhase</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2700 <span class="n">refs</span> <span class="o">=</span> <span class="n">refList</span>2701 3110 <span class="k">else</span><span class="p">:</span> 2702 3111 <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</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">dataFrame</span><span class="o">.</span><span class="n">ReflMenu</span><span class="p">)</span> … … 2707 3116 <span class="n">G2frame</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_MENU</span><span class="p">,</span> <span class="n">OnPlot3DHKL</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_PWD3DHKLPLOT</span><span class="p">)</span> 2708 3117 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SelectPhase</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2709 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>2710 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SelectPhase</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>2711 <span class="k">try</span><span class="p">:</span> <span class="c">#patch for old reflection lists</span>2712 <span class="n">refList</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="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>2713 <span class="n">I100</span> <span class="o">=</span> <span class="n">refList</span><span class="o">.</span><span class="n">T</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="o">*</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">11</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span>2714 <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>2715 <span class="n">refList</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">refl</span><span class="p">[:</span><span class="mi">11</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span> <span class="k">for</span> <span class="n">refl</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span><span class="p">]])</span>2716 <span class="n">I100</span> <span class="o">=</span> <span class="n">refList</span><span class="o">.</span><span class="n">T</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="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">refl</span><span class="p">[</span><span class="mi">11</span><span class="o">+</span><span class="n">Super</span><span class="p">]</span> <span class="k">for</span> <span class="n">refl</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span><span class="p">]])</span>2717 <span class="n">Imax</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">I100</span><span class="p">)</span>2718 <span class="k">if</span> <span class="n">Imax</span><span class="p">:</span>2719 <span class="n">I100</span> <span class="o">*=</span> <span class="mf">100.0</span><span class="o">/</span><span class="n">Imax</span>2720 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>2721 <span class="n">refs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">((</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[:</span><span class="mi">15</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="n">I100</span><span class="p">))</span><span class="o">.</span><span class="n">T</span>2722 <span class="k">elif</span> <span class="s">'T'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>2723 <span class="n">refs</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">vstack</span><span class="p">((</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[:</span><span class="mi">18</span><span class="o">+</span><span class="n">Super</span><span class="p">],</span><span class="n">I100</span><span class="p">))</span><span class="o">.</span><span class="n">T</span>2724 3118 2725 <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">refs</span><span class="p">)):</span> <span class="n">rowLabels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span> 2726 <span class="n">Types</span> <span class="o">=</span> <span class="p">(</span><span class="mi">4</span><span class="o">+</span><span class="n">Super</span><span class="p">)</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,]</span><span class="o">+</span><span class="mi">4</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,4'</span><span class="p">,]</span><span class="o">+</span> \ 2727 <span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,2'</span><span class="p">,]</span><span class="o">+</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span><span class="o">+</span> \ 2728 <span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 2729 <span class="n">superLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'M1'</span><span class="p">,</span><span class="s">'M2'</span><span class="p">,</span><span class="s">'M3'</span><span class="p">]</span> 2730 <span class="k">if</span> <span class="n">HKLF</span><span class="p">:</span> 2731 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'FoTsq'</span><span class="p">,</span><span class="s">'FcTsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'ExtC'</span><span class="p">,]</span> 2732 <span class="k">if</span> <span class="s">'T'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 2733 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'FoTsq'</span><span class="p">,</span><span class="s">'FcTsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'ExtC'</span><span class="p">,</span><span class="s">'wave'</span><span class="p">,</span><span class="s">'tbar'</span><span class="p">]</span> 2734 <span class="n">Types</span> <span class="o">+=</span> <span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 2735 <span class="k">if</span> <span class="n">Super</span><span class="p">:</span> 2736 <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> 2737 <span class="n">colLabels</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">3</span><span class="o">+</span><span class="n">i</span><span class="p">,</span><span class="n">superLabels</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> 2738 <span class="k">else</span><span class="p">:</span> 2739 <span class="k">if</span> <span class="s">'C'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 2740 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'pos'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'gam'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'Icorr'</span><span class="p">,</span><span class="s">'Prfo'</span><span class="p">,</span><span class="s">'Trans'</span><span class="p">,</span><span class="s">'ExtP'</span><span class="p">,</span><span class="s">'I100'</span><span class="p">]</span> 2741 <span class="n">Types</span> <span class="o">+=</span> <span class="mi">4</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 2742 <span class="k">elif</span> <span class="s">'T'</span> <span class="ow">in</span> <span class="n">Inst</span><span class="p">[</span><span class="s">'Type'</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span> 2743 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'H'</span><span class="p">,</span><span class="s">'K'</span><span class="p">,</span><span class="s">'L'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'pos'</span><span class="p">,</span><span class="s">'sig'</span><span class="p">,</span><span class="s">'gam'</span><span class="p">,</span><span class="s">'Fosq'</span><span class="p">,</span><span class="s">'Fcsq'</span><span class="p">,</span><span class="s">'phase'</span><span class="p">,</span><span class="s">'Icorr'</span><span class="p">,</span><span class="s">'alp'</span><span class="p">,</span><span class="s">'bet'</span><span class="p">,</span><span class="s">'wave'</span><span class="p">,</span><span class="s">'Prfo'</span><span class="p">,</span><span class="s">'Abs'</span><span class="p">,</span><span class="s">'Ext'</span><span class="p">,</span><span class="s">'I100'</span><span class="p">]</span> 2744 <span class="n">Types</span> <span class="o">+=</span> <span class="mi">7</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,3'</span><span class="p">,]</span> 2745 <span class="k">if</span> <span class="n">Super</span><span class="p">:</span> 2746 <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> 2747 <span class="n">colLabels</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">3</span><span class="o">+</span><span class="n">i</span><span class="p">,</span><span class="n">superLabels</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> 2748 2749 <span class="n">G2frame</span><span class="o">.</span><span class="n">PeakTable</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="n">refs</span><span class="p">,</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">rowLabels</span><span class="p">,</span><span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span> 2750 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetLabel</span><span class="p">(</span><span class="s">'Reflection List for '</span><span class="o">+</span><span class="n">phaseName</span><span class="p">)</span> 2751 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GSGrid</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span> 2752 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetTable</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PeakTable</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span> 2753 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">EnableEditing</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2754 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetMargins</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span> 2755 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">AutoSizeColumns</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> 2756 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span> 2757 <span class="n">size</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span> 2758 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</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="o">+</span><span class="mi">32</span><span class="p">,</span><span class="mi">350</span><span class="p">])</span> 3119 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GSNoteBook</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GetClientSize</span><span class="p">())</span> 3120 <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span> <span class="o">=</span> <span class="p">{}</span> 3121 <span class="k">for</span> <span class="n">tabnum</span><span class="p">,</span><span class="n">phase</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">phases</span><span class="p">):</span> 3122 <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phase</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GSGrid</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">)</span> 3123 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">AddPage</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phase</span><span class="p">],</span><span class="n">phase</span><span class="p">)</span> 3124 <span class="k">if</span> <span class="n">phaseName</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">:</span> 3125 <span class="k">print</span> <span class="n">phaseName</span> 3126 <span class="k">print</span> <span class="n">phases</span> 3127 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s">"how did we get a invalid phase name?"</span><span class="p">)</span> 3128 <span class="n">ShowReflTable</span><span class="p">(</span><span class="n">phaseName</span><span class="p">)</span> 3129 <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span> 3130 <span class="n">size</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">refTable</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span> 3131 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</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="o">+</span><span class="mi">32</span><span class="p">,</span><span class="mi">350</span><span class="p">])</span> 3132 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</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">aui</span><span class="o">.</span><span class="n">EVT_AUINOTEBOOK_PAGE_CHANGED</span><span class="p">,</span> <span class="n">OnPageChanged</span><span class="p">)</span> 2759 3133 2760 3134 <span class="c">################################################################################</span> … … 3202 3576 <span class="n">ISample</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">Id</span><span class="p">,</span> <span class="s">'Sample Parameters'</span><span class="p">))</span> 3203 3577 <span class="n">ILimits</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">Id</span><span class="p">,</span> <span class="s">'Limits'</span><span class="p">))</span> 3204 <span class="n">IInst</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">Id</span><span class="p">,</span> <span class="s">'Instrument Parameters'</span><span class="p">))</span>3205 3578 <span class="n">IfOK</span><span class="p">,</span><span class="n">result</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">Rvals</span><span class="p">,</span><span class="n">covMatrix</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">Msg</span> <span class="o">=</span> <span class="n">G2sasd</span><span class="o">.</span><span class="n">ModelFit</span><span class="p">(</span><span class="n">IProfile</span><span class="p">,</span><span class="n">IProfDict</span><span class="p">,</span><span class="n">ILimits</span><span class="p">,</span><span class="n">ISample</span><span class="p">,</span><span class="n">IModel</span><span class="p">)</span> 3206 3579 <span class="n">JModel</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="n">IModel</span><span class="p">)</span> … … 3525 3898 <span class="n">sizeSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">nRadii</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 3526 3899 <span class="n">sizeSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' R dist. cutoff: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 3527 <span class="n">rCutoff</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">level</span><span class="p">[</span><span class="s">'Controls'</span><span class="p">],</span><span class="s">'Cutoff'</span><span class="p">,</span>3900 <span class="n">rCutoff</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">level</span><span class="p">[</span><span class="s">'Controls'</span><span class="p">],</span><span class="s">'Cutoff'</span><span class="p">,</span> 3528 3901 <span class="nb">min</span><span class="o">=</span><span class="mf">0.001</span><span class="p">,</span><span class="nb">max</span><span class="o">=</span><span class="mf">0.1</span><span class="p">,</span><span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">)</span> 3529 3902 <span class="n">sizeSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">rCutoff</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> … … 3621 3994 <span class="n">topSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">matsel</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 3622 3995 <span class="n">topSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">' Volume fraction: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 3623 <span class="n">volfrac</span> <span class="o">=</span> <span class="n">G2 gd</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="s">'Particle'</span><span class="p">][</span><span class="s">'Matrix'</span><span class="p">][</span><span class="s">'VolFrac'</span><span class="p">],</span><span class="mi">0</span><span class="p">,</span>3996 <span class="n">volfrac</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ValidatedTxtCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="s">'Particle'</span><span class="p">][</span><span class="s">'Matrix'</span><span class="p">][</span><span class="s">'VolFrac'</span><span class="p">],</span><span class="mi">0</span><span class="p">,</span> 3624 3997 <span class="n">typeHint</span><span class="o">=</span><span class="nb">float</span><span class="p">)</span> 3625 3998 <span class="n">topSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">volfrac</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> … … 3671 4044 <span class="n">RefreshPlots</span><span class="p">()</span> 3672 4045 3673 <span class="k">def</span> <span class="nf">OnBackFile</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 4046 <span class="k">def</span> <span class="nf">OnBackFile</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> <span class="c">#multiple backgrounds?</span> 3674 4047 <span class="n">data</span><span class="p">[</span><span class="s">'BackFile'</span><span class="p">]</span> <span class="o">=</span> <span class="n">backFile</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span> 3675 4048 <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="s">'BackFile'</span><span class="p">]:</span> … … 3678 4051 <span class="n">BackSample</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">BackId</span><span class="p">,</span> <span class="s">'Sample Parameters'</span><span class="p">))</span> 3679 4052 <span class="n">Profile</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">BackSample</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="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">BackId</span><span class="p">)[</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> 3680 <span class="n">RefreshPlots</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 4053 <span class="k">else</span><span class="p">:</span> 4054 <span class="n">Profile</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">zeros</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">Profile</span><span class="p">[</span><span class="mi">5</span><span class="p">]))</span> 4055 <span class="n">RefreshPlots</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span> 3681 4056 3682 4057 <span class="n">Sample</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">'Sample Parameters'</span><span class="p">))</span> 3683 4058 <span class="n">Limits</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">'Limits'</span><span class="p">))</span> 3684 <span class="n">Inst</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>3685 4059 <span class="n">Substances</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">'Substances'</span><span class="p">))</span> 3686 4060 <span class="n">ProfDict</span><span class="p">,</span><span class="n">Profile</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><span class="mi">2</span><span class="p">]</span> … … 3738 4112 <span class="n">backVar</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">'Back'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span> 3739 4113 <span class="n">backVar</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_CHECKBOX</span><span class="p">,</span> <span class="n">OnCheckBox</span><span class="p">)</span> 3740 <span class="n">backSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">backVar</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4114 <span class="n">backSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">backVar</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4115 <span class="c">#multiple background files?</span> 3741 4116 <span class="n">backSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">' Background file: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 3742 4117 <span class="n">Choices</span> <span class="o">=</span> <span class="p">[</span><span class="s">''</span><span class="p">,]</span><span class="o">+</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeDataNames</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,[</span><span class="s">'SASD'</span><span class="p">,])</span> … … 4059 4434 4060 4435 <span class="k">def</span> <span class="nf">OnSavePDFControls</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 4061 <span class="k">print</span> <span class="s">'save PDF controls? '</span>4436 <span class="k">print</span> <span class="s">'save PDF controls? TBD'</span> 4062 4437 4063 4438 <span class="k">def</span> <span class="nf">OnLoadPDFControls</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 4064 <span class="k">print</span> <span class="s">'Load PDF controls? '</span>4439 <span class="k">print</span> <span class="s">'Load PDF controls? TBD'</span> 4065 4440 4066 4441 <span class="k">def</span> <span class="nf">OnAddElement</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
Note: See TracChangeset
for help on using the changeset viewer.