Ignore:
Timestamp:
Oct 10, 2015 9:59:34 PM (7 years ago)
Author:
toby
Message:

rebuild docs

File:
1 edited

Legend:

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

    r1832 r1998  
    5757<span class="sd">&#39;&#39;&#39;</span>
    5858<span class="c">########### SVN repository information ###################</span>
    59 <span class="c"># $Date: 2015-03-23 16:21:36 -0500 (Mon, 23 Mar 2015) $</span>
    60 <span class="c"># $Author: vondreele $</span>
    61 <span class="c"># $Revision: 1759 $</span>
     59<span class="c"># $Date: 2015-06-26 15:50:52 -0500 (Fri, 26 Jun 2015) $</span>
     60<span class="c"># $Author: toby $</span>
     61<span class="c"># $Revision: 1911 $</span>
    6262<span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIpwd.py $</span>
    63 <span class="c"># $Id: GSASIIpwd.py 1759 2015-03-23 21:21:36Z vondreele $</span>
     63<span class="c"># $Id: GSASIIpwd.py 1911 2015-06-26 20:50:52Z toby $</span>
    6464<span class="c">########### SVN repository information ###################</span>
    6565<span class="kn">import</span> <span class="nn">sys</span>
     
    7676
    7777<span class="kn">import</span> <span class="nn">GSASIIpath</span>
    78 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1759 $&quot;</span><span class="p">)</span>
     78<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1911 $&quot;</span><span class="p">)</span>
    7979<span class="kn">import</span> <span class="nn">GSASIIlattice</span> <span class="kn">as</span> <span class="nn">G2lat</span>
    8080<span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span>
     
    320320    <span class="n">MuR</span> <span class="o">=</span> <span class="n">Abs</span><span class="o">*</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Diam&#39;</span><span class="p">]</span><span class="o">/</span><span class="mf">20.0</span>
    321321    <span class="n">xydata</span><span class="p">[</span><span class="s">&#39;IofQ&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">/=</span> <span class="n">Absorb</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Geometry&#39;</span><span class="p">],</span><span class="n">MuR</span><span class="p">,</span><span class="n">Tth</span><span class="p">)</span>
    322     <span class="n">xydata</span><span class="p">[</span><span class="s">&#39;IofQ&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">/=</span> <span class="n">Polarization</span><span class="p">(</span><span class="n">inst</span><span class="p">[</span><span class="s">&#39;Polariz.&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Tth</span><span class="p">,</span><span class="n">Azm</span><span class="o">=</span><span class="n">inst</span><span class="p">[</span><span class="s">&#39;Azimuth&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
     322    <span class="k">if</span> <span class="s">&#39;X&#39;</span> <span class="ow">in</span> <span class="n">inst</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
     323        <span class="n">xydata</span><span class="p">[</span><span class="s">&#39;IofQ&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">/=</span> <span class="n">Polarization</span><span class="p">(</span><span class="n">inst</span><span class="p">[</span><span class="s">&#39;Polariz.&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span><span class="n">Tth</span><span class="p">,</span><span class="n">Azm</span><span class="o">=</span><span class="n">inst</span><span class="p">[</span><span class="s">&#39;Azimuth&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
    323324    <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;DetType&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;Image plate&#39;</span><span class="p">:</span>
    324325        <span class="n">xydata</span><span class="p">[</span><span class="s">&#39;IofQ&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">*=</span> <span class="n">Oblique</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;ObliqCoeff&#39;</span><span class="p">],</span><span class="n">Tth</span><span class="p">)</span>
     
    528529    </div>
    529530<div class="viewcode-block" id="getFWHM"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.getFWHM">[docs]</a><span class="k">def</span> <span class="nf">getFWHM</span><span class="p">(</span><span class="n">pos</span><span class="p">,</span><span class="n">Inst</span><span class="p">):</span>
    530     <span class="s">&#39;needs a doc string&#39;</span>
    531     <span class="n">sig</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">Th</span><span class="p">,</span><span class="n">U</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">W</span><span class="p">:</span> <span class="mf">1.17741</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.001</span><span class="p">,</span><span class="n">U</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="n">V</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">+</span><span class="n">W</span><span class="p">))</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span>
     531    <span class="s">&#39;1.17741*pi/180 = sqrt(8ln2)/(2pi/180)&#39;</span>
     532    <span class="n">sig</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">Th</span><span class="p">,</span><span class="n">U</span><span class="p">,</span><span class="n">V</span><span class="p">,</span><span class="n">W</span><span class="p">:</span> <span class="mf">1.17741</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.001</span><span class="p">,</span><span class="n">U</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="n">V</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">+</span><span class="n">W</span><span class="p">))</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span>
    532533    <span class="n">sigTOF</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">dsp</span><span class="p">,</span><span class="n">S0</span><span class="p">,</span><span class="n">S1</span><span class="p">,</span><span class="n">S2</span><span class="p">,</span><span class="n">Sq</span><span class="p">:</span>  <span class="n">S0</span><span class="o">+</span><span class="n">S1</span><span class="o">*</span><span class="n">dsp</span><span class="o">**</span><span class="mi">2</span><span class="o">+</span><span class="n">S2</span><span class="o">*</span><span class="n">dsp</span><span class="o">**</span><span class="mi">4</span><span class="o">+</span><span class="n">Sq</span><span class="o">/</span><span class="n">dsp</span><span class="o">**</span><span class="mi">2</span>
    533534    <span class="n">gam</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">Th</span><span class="p">,</span><span class="n">X</span><span class="p">,</span><span class="n">Y</span><span class="p">:</span> <span class="p">(</span><span class="n">X</span><span class="o">/</span><span class="n">cosd</span><span class="p">(</span><span class="n">Th</span><span class="p">)</span><span class="o">+</span><span class="n">Y</span><span class="o">*</span><span class="n">tand</span><span class="p">(</span><span class="n">Th</span><span class="p">))</span><span class="o">*</span><span class="n">math</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span>
     
    598599            <span class="n">yb</span> <span class="o">+=</span> <span class="n">ybi</span>
    599600        <span class="n">sumBk</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">yb</span><span class="p">)</span>
    600     <span class="k">elif</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Q^2 power series&#39;</span><span class="p">,</span><span class="s">&#39;Q^-2 powder series&#39;</span><span class="p">]:</span>
     601    <span class="k">elif</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Q^2 power series&#39;</span><span class="p">,</span><span class="s">&#39;Q^-2 power series&#39;</span><span class="p">]:</span>
    601602        <span class="n">QT</span> <span class="o">=</span> <span class="mf">1.</span>
    602603        <span class="n">yb</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">ones_like</span><span class="p">(</span><span class="n">yb</span><span class="p">)</span><span class="o">*</span><span class="n">parmDict</span><span class="p">[</span><span class="n">pfx</span><span class="o">+</span><span class="s">&#39;Back;0&#39;</span><span class="p">]</span>
     
    718719            <span class="k">elif</span> <span class="n">bakType</span> <span class="o">==</span> <span class="s">&#39;cosine&#39;</span><span class="p">:</span>
    719720                <span class="n">dydb</span><span class="p">[</span><span class="n">iBak</span><span class="p">]</span> <span class="o">=</span> <span class="n">npcosd</span><span class="p">(</span><span class="n">xdata</span><span class="o">*</span><span class="n">iBak</span><span class="p">)</span>
    720     <span class="k">elif</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Q^2 power series&#39;</span><span class="p">,</span><span class="s">&#39;Q^-2 powder series&#39;</span><span class="p">]:</span>
     721    <span class="k">elif</span> <span class="n">bakType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Q^2 power series&#39;</span><span class="p">,</span><span class="s">&#39;Q^-2 power series&#39;</span><span class="p">]:</span>
    721722        <span class="n">QT</span> <span class="o">=</span> <span class="mf">1.</span>
    722723        <span class="n">dydb</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">ones_like</span><span class="p">(</span><span class="n">xdata</span><span class="p">)</span>
     
    10431044    <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">varyList</span><span class="p">:</span>
    10441045        <span class="k">if</span> <span class="s">&#39;Debye&#39;</span> <span class="ow">in</span> <span class="n">name</span><span class="p">:</span>
    1045             <span class="n">parm</span><span class="p">,</span><span class="nb">id</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;:&#39;</span><span class="p">)</span>
     1046            <span class="n">parm</span><span class="p">,</span><span class="nb">id</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;;&#39;</span><span class="p">)</span>
    10461047            <span class="n">ip</span> <span class="o">=</span> <span class="n">names</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">parm</span><span class="p">)</span>
    10471048            <span class="n">dMdv</span><span class="p">[</span><span class="n">varyList</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">name</span><span class="p">)]</span> <span class="o">=</span> <span class="n">dMddb</span><span class="p">[</span><span class="mi">3</span><span class="o">*</span><span class="nb">int</span><span class="p">(</span><span class="nb">id</span><span class="p">)</span><span class="o">+</span><span class="n">ip</span><span class="p">]</span>
     
    12541255    <span class="n">debyeList</span> <span class="o">=</span> <span class="p">[]</span>
    12551256    <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">Debye</span><span class="p">[</span><span class="s">&#39;nDebye&#39;</span><span class="p">]):</span>
    1256         <span class="n">debyeNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;DebyeA:&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="s">&#39;DebyeR:&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="s">&#39;DebyeU:&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span>
     1257        <span class="n">debyeNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;DebyeA;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="s">&#39;DebyeR;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="s">&#39;DebyeU;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)]</span>
    12571258        <span class="n">debyeDict</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">debyeNames</span><span class="p">,</span><span class="n">Debye</span><span class="p">[</span><span class="s">&#39;debyeTerms&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">][::</span><span class="mi">2</span><span class="p">])))</span>
    12581259        <span class="n">debyeList</span> <span class="o">+=</span> <span class="nb">zip</span><span class="p">(</span><span class="n">debyeNames</span><span class="p">,</span><span class="n">Debye</span><span class="p">[</span><span class="s">&#39;debyeTerms&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="mi">1</span><span class="p">::</span><span class="mi">2</span><span class="p">])</span>
     
    13691370           
    13701371<div class="viewcode-block" id="DoPeakFit"><a class="viewcode-back" href="../GSASIIpwd.html#GSASIIpwd.DoPeakFit">[docs]</a><span class="k">def</span> <span class="nf">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="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="o">=</span><span class="p">[],</span><span class="n">oneCycle</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span><span class="n">controls</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">dlg</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
    1371     <span class="s">&#39;needs a doc string&#39;</span>
    1372        
     1372    <span class="sd">&#39;&#39;&#39;Called to perform a peak fit, refining the selected items in the peak</span>
     1373<span class="sd">    table as well as selected items in the background.</span>
     1374
     1375<span class="sd">    :param str FitPgm: type of fit to perform. At present &quot;LSQ&quot; is the only</span>
     1376<span class="sd">      option that works</span>
     1377<span class="sd">    :param list Peaks: a list of peaks. Each peak entry is a list with 8 values:</span>
     1378<span class="sd">      four values followed by a refine flag where the values are: position, intensity,</span>
     1379<span class="sd">      sigma (Gaussian width) and gamma (Lorentzian width). From the Histogram/&quot;Peak List&quot;</span>
     1380<span class="sd">      tree entry, dict item &quot;peaks&quot;</span>
     1381<span class="sd">    :param list Background: describes the background. List with two items.</span>
     1382<span class="sd">      Item 0 specifies a background model and coefficients. Item 1 is a dict.</span>
     1383<span class="sd">      From the Histogram/Background tree entry.</span>
     1384<span class="sd">    :param list Limits: min and max x-value to use</span>
     1385<span class="sd">    :param dict Inst: Instrument parameters</span>
     1386<span class="sd">    :param dict Inst2: more Instrument parameters</span>
     1387<span class="sd">    :param numpy.array data: a 5xn array. data[0] is the x-values,</span>
     1388<span class="sd">      data[1] is the y-values, data[2] are weight values, data[3], [4] and [5] are</span>
     1389<span class="sd">      calc, background and difference intensities, respectively. </span>
     1390<span class="sd">    :param list prevVaryList: Used in sequential refinements to override the</span>
     1391<span class="sd">      variable list. Defaults as an empty list.</span>
     1392<span class="sd">    :param bool oneCycle: True if only one cycle of fitting should be performed</span>
     1393<span class="sd">    :param dict controls: a dict specifying two values, Ftol = controls[&#39;min dM/M&#39;]</span>
     1394<span class="sd">      and derivType = controls[&#39;deriv type&#39;]. If None default values are used. </span>
     1395<span class="sd">    :param wx.Dialog dlg: A dialog box that is updated with progress from the fit.</span>
     1396<span class="sd">      Defaults to None, which means no updates are done. </span>
     1397<span class="sd">    &#39;&#39;&#39;</span>
    13731398    <span class="k">def</span> <span class="nf">GetBackgroundParms</span><span class="p">(</span><span class="n">parmList</span><span class="p">,</span><span class="n">Background</span><span class="p">):</span>
    13741399        <span class="n">iBak</span> <span class="o">=</span> <span class="mi">0</span>
     
    13821407        <span class="n">iDb</span> <span class="o">=</span> <span class="mi">0</span>
    13831408        <span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
    1384             <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;DebyeA:&#39;</span><span class="p">,</span><span class="s">&#39;DebyeR:&#39;</span><span class="p">,</span><span class="s">&#39;DebyeU:&#39;</span><span class="p">]</span>
     1409            <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;DebyeA;&#39;</span><span class="p">,</span><span class="s">&#39;DebyeR;&#39;</span><span class="p">,</span><span class="s">&#39;DebyeU;&#39;</span><span class="p">]</span>
    13851410            <span class="k">try</span><span class="p">:</span>
    13861411                <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>
     
    14021427               
    14031428    <span class="k">def</span> <span class="nf">BackgroundPrint</span><span class="p">(</span><span class="n">Background</span><span class="p">,</span><span class="n">sigDict</span><span class="p">):</span>
    1404         <span class="k">if</span> <span class="n">Background</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]:</span>
    1405             <span class="k">print</span> <span class="s">&#39;Background coefficients for&#39;</span><span class="p">,</span><span class="n">Background</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="s">&#39;function&#39;</span>
    1406             <span class="n">ptfmt</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si">%12.5f</span><span class="s">&quot;</span>
    1407             <span class="n">ptstr</span> <span class="o">=</span>  <span class="s">&#39;values:&#39;</span>
    1408             <span class="n">sigstr</span> <span class="o">=</span> <span class="s">&#39;esds  :&#39;</span>
    1409             <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">back</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Background</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">3</span><span class="p">:]):</span>
    1410                 <span class="n">ptstr</span> <span class="o">+=</span> <span class="n">ptfmt</span> <span class="o">%</span> <span class="p">(</span><span class="n">back</span><span class="p">)</span>
     1429        <span class="k">print</span> <span class="s">&#39;Background coefficients for&#39;</span><span class="p">,</span><span class="n">Background</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="s">&#39;function&#39;</span>
     1430        <span class="n">ptfmt</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si">%12.5f</span><span class="s">&quot;</span>
     1431        <span class="n">ptstr</span> <span class="o">=</span>  <span class="s">&#39;value: &#39;</span>
     1432        <span class="n">sigstr</span> <span class="o">=</span> <span class="s">&#39;esd  : &#39;</span>
     1433        <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">back</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Background</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">3</span><span class="p">:]):</span>
     1434            <span class="n">ptstr</span> <span class="o">+=</span> <span class="n">ptfmt</span> <span class="o">%</span> <span class="p">(</span><span class="n">back</span><span class="p">)</span>
     1435            <span class="k">if</span> <span class="n">Background</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]:</span>
    14111436                <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">ptfmt</span> <span class="o">%</span> <span class="p">(</span><span class="n">sigDict</span><span class="p">[</span><span class="s">&#39;Back;&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)])</span>
     1437            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ptstr</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">75</span><span class="p">:</span>
     1438                <span class="k">print</span> <span class="n">ptstr</span>
     1439                <span class="k">if</span> <span class="n">Background</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="k">print</span> <span class="n">sigstr</span>
     1440                <span class="n">ptstr</span> <span class="o">=</span>  <span class="s">&#39;value: &#39;</span>
     1441                <span class="n">sigstr</span> <span class="o">=</span> <span class="s">&#39;esd  : &#39;</span>
     1442        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ptstr</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">8</span><span class="p">:</span>
    14121443            <span class="k">print</span> <span class="n">ptstr</span>
    1413             <span class="k">print</span> <span class="n">sigstr</span>
    1414         <span class="k">else</span><span class="p">:</span>
    1415             <span class="k">print</span> <span class="s">&#39;Background not refined&#39;</span>
     1444            <span class="k">if</span> <span class="n">Background</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="k">print</span> <span class="n">sigstr</span>
     1445
    14161446        <span class="k">if</span> <span class="n">Background</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;nDebye&#39;</span><span class="p">]:</span>
    1417             <span class="n">parms</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;DebyeA&#39;</span><span class="p">,</span><span class="s">&#39;DebyeR&#39;</span><span class="p">,</span><span class="s">&#39;DebyeU&#39;</span><span class="p">]</span>
     1447            <span class="n">parms</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;DebyeA;&#39;</span><span class="p">,</span><span class="s">&#39;DebyeR;&#39;</span><span class="p">,</span><span class="s">&#39;DebyeU;&#39;</span><span class="p">]</span>
    14181448            <span class="k">print</span> <span class="s">&#39;Debye diffuse scattering coefficients&#39;</span>
    14191449            <span class="n">ptfmt</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si">%12.5f</span><span class="s">&quot;</span>
    1420             <span class="n">names</span> <span class="o">=</span>   <span class="s">&#39;names :&#39;</span>
    1421             <span class="n">ptstr</span> <span class="o">=</span>  <span class="s">&#39;values:&#39;</span>
    1422             <span class="n">sigstr</span> <span class="o">=</span> <span class="s">&#39;esds  :&#39;</span>
    1423             <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span>
    1424                 <span class="k">if</span> <span class="s">&#39;Debye&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">:</span>
    1425                     <span class="n">names</span> <span class="o">+=</span> <span class="s">&#39;</span><span class="si">%12s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    1426                     <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">sigDict</span><span class="p">[</span><span class="n">item</span><span class="p">])</span>
    1427                     <span class="n">parm</span><span class="p">,</span><span class="nb">id</span> <span class="o">=</span> <span class="n">item</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;:&#39;</span><span class="p">)</span>
    1428                     <span class="n">ip</span> <span class="o">=</span> <span class="n">parms</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">parm</span><span class="p">)</span>
    1429                     <span class="n">ptstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">Background</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;debyeTerms&#39;</span><span class="p">][</span><span class="nb">int</span><span class="p">(</span><span class="nb">id</span><span class="p">)][</span><span class="mi">2</span><span class="o">*</span><span class="n">ip</span><span class="p">])</span>
    1430             <span class="k">print</span> <span class="n">names</span>
    1431             <span class="k">print</span> <span class="n">ptstr</span>
    1432             <span class="k">print</span> <span class="n">sigstr</span>
     1450            <span class="k">print</span> <span class="s">&#39; term       DebyeA       esd        DebyeR       esd        DebyeU        esd&#39;</span>
     1451            <span class="k">for</span> <span class="n">term</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Background</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;nDebye&#39;</span><span class="p">]):</span>
     1452                <span class="n">line</span> <span class="o">=</span> <span class="s">&#39; term </span><span class="si">%d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">term</span><span class="p">)</span>
     1453                <span class="k">for</span> <span class="n">ip</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">parms</span><span class="p">):</span>
     1454                    <span class="n">line</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">Background</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;debyeTerms&#39;</span><span class="p">][</span><span class="n">term</span><span class="p">][</span><span class="mi">2</span><span class="o">*</span><span class="n">ip</span><span class="p">])</span>
     1455                    <span class="k">if</span> <span class="n">name</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">term</span><span class="p">)</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span>
     1456                        <span class="n">line</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">sigDict</span><span class="p">[</span><span class="n">name</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">term</span><span class="p">)])</span>
     1457                <span class="k">print</span> <span class="n">line</span>
    14331458        <span class="k">if</span> <span class="n">Background</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;nPeaks&#39;</span><span class="p">]:</span>
    1434             <span class="n">parms</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;BkPkpos&#39;</span><span class="p">,</span><span class="s">&#39;BkPkint&#39;</span><span class="p">,</span><span class="s">&#39;BkPksig&#39;</span><span class="p">,</span><span class="s">&#39;BkPkgam&#39;</span><span class="p">]</span>
    1435             <span class="k">print</span> <span class="s">&#39;Peaks in background coefficients&#39;</span>
     1459            <span class="k">print</span> <span class="s">&#39;Coefficients for Background Peaks&#39;</span>
    14361460            <span class="n">ptfmt</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si">%15.3f</span><span class="s">&quot;</span>
    1437             <span class="n">names</span> <span class="o">=</span>   <span class="s">&#39;names :&#39;</span>
    1438             <span class="n">ptstr</span> <span class="o">=</span>  <span class="s">&#39;values:&#39;</span>
    1439             <span class="n">sigstr</span> <span class="o">=</span> <span class="s">&#39;esds  :&#39;</span>
    1440             <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span>
    1441                 <span class="k">if</span> <span class="s">&#39;BkPk&#39;</span> <span class="ow">in</span> <span class="n">item</span><span class="p">:</span>
    1442                     <span class="n">names</span> <span class="o">+=</span> <span class="s">&#39;</span><span class="si">%15s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    1443                     <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">sigDict</span><span class="p">[</span><span class="n">item</span><span class="p">])</span>
    1444                     <span class="n">parm</span><span class="p">,</span><span class="nb">id</span> <span class="o">=</span> <span class="n">item</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;;&#39;</span><span class="p">)</span>
    1445                     <span class="n">ip</span> <span class="o">=</span> <span class="n">parms</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">parm</span><span class="p">)</span>
    1446                     <span class="n">ptstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">Background</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;peaksList&#39;</span><span class="p">][</span><span class="nb">int</span><span class="p">(</span><span class="nb">id</span><span class="p">)][</span><span class="mi">2</span><span class="o">*</span><span class="n">ip</span><span class="p">])</span>
    1447             <span class="k">print</span> <span class="n">names</span>
    1448             <span class="k">print</span> <span class="n">ptstr</span>
    1449             <span class="k">print</span> <span class="n">sigstr</span>
     1461            <span class="k">for</span> <span class="n">j</span><span class="p">,</span><span class="n">pl</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Background</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="s">&#39;peaksList&#39;</span><span class="p">]):</span>
     1462                <span class="n">names</span> <span class="o">=</span>  <span class="s">&#39;peak </span><span class="si">%3d</span><span class="s">:&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span>
     1463                <span class="n">ptstr</span> <span class="o">=</span>  <span class="s">&#39;values  :&#39;</span>
     1464                <span class="n">sigstr</span> <span class="o">=</span> <span class="s">&#39;esds    :&#39;</span>
     1465                <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">lbl</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s">&#39;BkPkpos&#39;</span><span class="p">,</span><span class="s">&#39;BkPkint&#39;</span><span class="p">,</span><span class="s">&#39;BkPksig&#39;</span><span class="p">,</span><span class="s">&#39;BkPkgam&#39;</span><span class="p">]):</span>
     1466                    <span class="n">val</span> <span class="o">=</span> <span class="n">pl</span><span class="p">[</span><span class="mi">2</span><span class="o">*</span><span class="n">i</span><span class="p">]</span>
     1467                    <span class="n">prm</span> <span class="o">=</span> <span class="n">lbl</span><span class="o">+</span><span class="s">&quot;;&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">j</span><span class="p">)</span>
     1468                    <span class="n">names</span> <span class="o">+=</span> <span class="s">&#39;</span><span class="si">%15s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">prm</span><span class="p">)</span>
     1469                    <span class="n">ptstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
     1470                    <span class="k">if</span> <span class="n">prm</span> <span class="ow">in</span> <span class="n">sigDict</span><span class="p">:</span>
     1471                        <span class="n">sigstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="o">%</span><span class="p">(</span><span class="n">sigDict</span><span class="p">[</span><span class="n">prm</span><span class="p">])</span>
     1472                    <span class="k">else</span><span class="p">:</span>
     1473                        <span class="n">sigstr</span> <span class="o">+=</span> <span class="s">&quot; &quot;</span><span class="o">*</span><span class="mi">15</span>
     1474                <span class="k">print</span> <span class="n">names</span>
     1475                <span class="k">print</span> <span class="n">ptstr</span>
     1476                <span class="k">print</span> <span class="n">sigstr</span>
    14501477                           
    14511478    <span class="k">def</span> <span class="nf">SetInstParms</span><span class="p">(</span><span class="n">Inst</span><span class="p">):</span>
     
    15641591        <span class="n">head</span> <span class="o">=</span> <span class="mi">13</span><span class="o">*</span><span class="s">&#39; &#39;</span>
    15651592        <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>
    1566             <span class="n">head</span> <span class="o">+=</span> <span class="n">name</span><span class="o">.</span><span class="n">center</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;esd&#39;</span><span class="o">.</span><span class="n">center</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
     1593            <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;alp&#39;</span><span class="p">,</span><span class="s">&#39;bet&#39;</span><span class="p">]:</span>
     1594                <span class="n">head</span> <span class="o">+=</span> <span class="n">name</span><span class="o">.</span><span class="n">center</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;esd&#39;</span><span class="o">.</span><span class="n">center</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>
     1595            <span class="k">else</span><span class="p">:</span>
     1596                <span class="n">head</span> <span class="o">+=</span> <span class="n">name</span><span class="o">.</span><span class="n">center</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;esd&#39;</span><span class="o">.</span><span class="n">center</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
    15671597        <span class="k">print</span> <span class="n">head</span>
    15681598        <span class="k">if</span> <span class="s">&#39;C&#39;</span> <span class="ow">in</span> <span class="n">dataType</span><span class="p">:</span>
    15691599            <span class="n">ptfmt</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;pos&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;int&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.1f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;sig&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.3f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;gam&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.3f</span><span class="s">&quot;</span><span class="p">}</span>
    15701600        <span class="k">else</span><span class="p">:</span>
    1571             <span class="n">ptfmt</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;pos&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.2f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;int&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.4f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;alp&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.3f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;bet&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;sig&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.3f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;gam&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.3f</span><span class="s">&quot;</span><span class="p">}</span>
     1601            <span class="n">ptfmt</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;pos&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.2f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;int&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.4f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;alp&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%8.3f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;bet&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%8.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;sig&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.3f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&#39;gam&#39;</span><span class="p">:</span><span class="s">&quot;</span><span class="si">%10.3f</span><span class="s">&quot;</span><span class="p">}</span>
    15721602        <span class="k">for</span> <span class="n">i</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>
    15731603            <span class="n">ptstr</span> <span class="o">=</span>  <span class="s">&#39;:&#39;</span>
     
    15771607                <span class="n">ptstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">%</span> <span class="p">(</span><span class="n">parmDict</span><span class="p">[</span><span class="n">parName</span><span class="p">])</span>
    15781608                <span class="k">if</span> <span class="n">parName</span> <span class="ow">in</span> <span class="n">varyList</span><span class="p">:</span>
    1579 <span class="c">#                    ptstr += G2IO.ValEsd(parmDict[parName],sigDict[parName])</span>
    15801609                    <span class="n">ptstr</span> <span class="o">+=</span> <span class="n">ptfmt</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">%</span> <span class="p">(</span><span class="n">sigDict</span><span class="p">[</span><span class="n">parName</span><span class="p">])</span>
    15811610                <span class="k">else</span><span class="p">:</span>
    1582 <span class="c">#                    ptstr += G2IO.ValEsd(parmDict[parName],0.0)</span>
    1583                     <span class="n">ptstr</span> <span class="o">+=</span> <span class="mi">10</span><span class="o">*</span><span class="s">&#39; &#39;</span>
     1611                    <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;alp&#39;</span><span class="p">,</span><span class="s">&#39;bet&#39;</span><span class="p">]:</span>
     1612                        <span class="n">ptstr</span> <span class="o">+=</span> <span class="mi">8</span><span class="o">*</span><span class="s">&#39; &#39;</span>
     1613                    <span class="k">else</span><span class="p">:</span>
     1614                        <span class="n">ptstr</span> <span class="o">+=</span> <span class="mi">10</span><span class="o">*</span><span class="s">&#39; &#39;</span>
    15841615            <span class="k">print</span> <span class="s">&#39;</span><span class="si">%s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">((</span><span class="s">&#39;Peak&#39;</span><span class="o">+</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><span class="o">.</span><span class="n">center</span><span class="p">(</span><span class="mi">8</span><span class="p">)),</span><span class="n">ptstr</span>
    15851616               
     
    15881619        <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">weights</span><span class="p">)</span><span class="o">*</span><span class="n">getPeakProfileDerv</span><span class="p">(</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmdict</span><span class="p">,</span><span class="n">xdata</span><span class="p">,</span><span class="n">varylist</span><span class="p">,</span><span class="n">bakType</span><span class="p">)</span>
    15891620           
    1590     <span class="k">def</span> <span class="nf">errPeakProfile</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">xdata</span><span class="p">,</span><span class="n">ydata</span><span class="p">,</span> <span class="n">weights</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmdict</span><span class="p">,</span><span class="n">varylist</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dlg</span><span class="p">):</span>       
     1621    <span class="k">def</span> <span class="nf">errPeakProfile</span><span class="p">(</span><span class="n">values</span><span class="p">,</span><span class="n">xdata</span><span class="p">,</span><span class="n">ydata</span><span class="p">,</span><span class="n">weights</span><span class="p">,</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmdict</span><span class="p">,</span><span class="n">varylist</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dlg</span><span class="p">):</span>       
    15911622        <span class="n">parmdict</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">varylist</span><span class="p">,</span><span class="n">values</span><span class="p">))</span>
    15921623        <span class="n">M</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">weights</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">getPeakProfile</span><span class="p">(</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmdict</span><span class="p">,</span><span class="n">xdata</span><span class="p">,</span><span class="n">varylist</span><span class="p">,</span><span class="n">bakType</span><span class="p">)</span><span class="o">-</span><span class="n">ydata</span><span class="p">)</span>
     
    16341665            <span class="k">try</span><span class="p">:</span>
    16351666                <span class="n">result</span> <span class="o">=</span> <span class="n">so</span><span class="o">.</span><span class="n">leastsq</span><span class="p">(</span><span class="n">errPeakProfile</span><span class="p">,</span><span class="n">values</span><span class="p">,</span><span class="n">Dfun</span><span class="o">=</span><span class="n">devPeakProfile</span><span class="p">,</span><span class="n">full_output</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">ftol</span><span class="o">=</span><span class="n">Ftol</span><span class="p">,</span><span class="n">col_deriv</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
    1636                     <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">],</span><span class="n">y</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">],</span><span class="n">w</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">],</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dlg</span><span class="p">))</span>
     1667                   <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">],</span><span class="n">y</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">],</span><span class="n">w</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">],</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">bakType</span><span class="p">,</span><span class="n">dlg</span><span class="p">))</span>
    16371668                <span class="n">ncyc</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="s">&#39;nfev&#39;</span><span class="p">]</span><span class="o">/</span><span class="mi">2</span><span class="p">)</span>
    16381669            <span class="k">finally</span><span class="p">:</span>
    1639                 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     1670                <span class="k">if</span> <span class="n">dlg</span><span class="p">:</span> <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    16401671            <span class="n">runtime</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span><span class="o">-</span><span class="n">begin</span>   
    16411672            <span class="n">chisq</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="s">&#39;fvec&#39;</span><span class="p">]</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span>
     
    16441675            <span class="n">Rvals</span><span class="p">[</span><span class="s">&#39;GOF&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">chisq</span><span class="o">/</span><span class="p">(</span><span class="n">xFin</span><span class="o">-</span><span class="n">xBeg</span><span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">varyList</span><span class="p">))</span>       <span class="c">#reduced chi^2</span>
    16451676            <span class="k">print</span> <span class="s">&#39;Number of function calls:&#39;</span><span class="p">,</span><span class="n">result</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="s">&#39;nfev&#39;</span><span class="p">],</span><span class="s">&#39; Number of observations: &#39;</span><span class="p">,</span><span class="n">xFin</span><span class="o">-</span><span class="n">xBeg</span><span class="p">,</span><span class="s">&#39; Number of parameters: &#39;</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">varyList</span><span class="p">)</span>
    1646             <span class="k">print</span> <span class="s">&#39;fitpeak time = </span><span class="si">%8.3f</span><span class="s">s, </span><span class="si">%8.3f</span><span class="s">s/cycle&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">runtime</span><span class="p">,</span><span class="n">runtime</span><span class="o">/</span><span class="n">ncyc</span><span class="p">)</span>
     1677            <span class="k">if</span> <span class="n">ncyc</span><span class="p">:</span>
     1678                <span class="k">print</span> <span class="s">&#39;fitpeak time = </span><span class="si">%8.3f</span><span class="s">s, </span><span class="si">%8.3f</span><span class="s">s/cycle&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">runtime</span><span class="p">,</span><span class="n">runtime</span><span class="o">/</span><span class="n">ncyc</span><span class="p">)</span>
    16471679            <span class="k">print</span> <span class="s">&#39;Rwp = </span><span class="si">%7.2f%%</span><span class="s">, chi**2 = </span><span class="si">%12.6g</span><span class="s">, reduced chi**2 = </span><span class="si">%6.2f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Rvals</span><span class="p">[</span><span class="s">&#39;Rwp&#39;</span><span class="p">],</span><span class="n">chisq</span><span class="p">,</span><span class="n">Rvals</span><span class="p">[</span><span class="s">&#39;GOF&#39;</span><span class="p">])</span>
     1680            <span class="n">sig</span> <span class="o">=</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">varyList</span><span class="p">)</span>
     1681            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">varyList</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">break</span>  <span class="c"># if nothing was refined</span>
    16481682            <span class="k">try</span><span class="p">:</span>
    16491683                <span class="n">sig</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">result</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="n">Rvals</span><span class="p">[</span><span class="s">&#39;GOF&#39;</span><span class="p">])</span>
     
    16601694                        <span class="k">del</span><span class="p">(</span><span class="n">varyList</span><span class="p">[</span><span class="n">ipvt</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
    16611695                        <span class="k">break</span>
     1696                <span class="k">else</span><span class="p">:</span> <span class="c"># nothing removed</span>
     1697                    <span class="k">break</span>
    16621698        <span class="k">elif</span> <span class="n">FitPgm</span> <span class="o">==</span> <span class="s">&#39;BFGS&#39;</span><span class="p">:</span>
    16631699            <span class="k">print</span> <span class="s">&#39;Other program here&#39;</span>
     
    16691705    <span class="n">yd</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span> <span class="o">=</span> <span class="n">y</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span><span class="o">-</span><span class="n">yc</span><span class="p">[</span><span class="n">xBeg</span><span class="p">:</span><span class="n">xFin</span><span class="p">]</span>
    16701706    <span class="n">GetBackgroundParms</span><span class="p">(</span><span class="n">parmDict</span><span class="p">,</span><span class="n">Background</span><span class="p">)</span>
    1671     <span class="n">BackgroundPrint</span><span class="p">(</span><span class="n">Background</span><span class="p">,</span><span class="n">sigDict</span><span class="p">)</span>
     1707    <span class="k">if</span> <span class="n">bakVary</span><span class="p">:</span> <span class="n">BackgroundPrint</span><span class="p">(</span><span class="n">Background</span><span class="p">,</span><span class="n">sigDict</span><span class="p">)</span>
    16721708    <span class="n">GetInstParms</span><span class="p">(</span><span class="n">parmDict</span><span class="p">,</span><span class="n">Inst</span><span class="p">,</span><span class="n">varyList</span><span class="p">,</span><span class="n">Peaks</span><span class="p">)</span>
    1673     <span class="n">InstPrint</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">sigDict</span><span class="p">)</span>
     1709    <span class="k">if</span> <span class="n">insVary</span><span class="p">:</span> <span class="n">InstPrint</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">sigDict</span><span class="p">)</span>
    16741710    <span class="n">GetPeaksParms</span><span class="p">(</span><span class="n">Inst</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">Peaks</span><span class="p">,</span><span class="n">varyList</span><span class="p">)</span>   
    1675     <span class="n">PeaksPrint</span><span class="p">(</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">sigDict</span><span class="p">,</span><span class="n">varyList</span><span class="p">)</span>
     1711    <span class="k">if</span> <span class="n">peakVary</span><span class="p">:</span> <span class="n">PeaksPrint</span><span class="p">(</span><span class="n">dataType</span><span class="p">,</span><span class="n">parmDict</span><span class="p">,</span><span class="n">sigDict</span><span class="p">,</span><span class="n">varyList</span><span class="p">)</span>
    16761712    <span class="k">return</span> <span class="n">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>
    16771713</div>
Note: See TracChangeset for help on using the changeset viewer.