source: sphinxdocs/build/html/_modules/G2export_examples.html @ 1998

Last change on this file since 1998 was 1998, checked in by toby, 7 years ago

rebuild docs

  • Property svn:mime-type set to text/html
File size: 62.0 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5<html xmlns="http://www.w3.org/1999/xhtml">
6  <head>
7    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8   
9    <title>G2export_examples &mdash; GSAS-II 0.2.0 documentation</title>
10   
11    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
12    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13   
14    <script type="text/javascript">
15      var DOCUMENTATION_OPTIONS = {
16        URL_ROOT:    '../',
17        VERSION:     '0.2.0',
18        COLLAPSE_INDEX: false,
19        FILE_SUFFIX: '.html',
20        HAS_SOURCE:  true
21      };
22    </script>
23    <script type="text/javascript" src="../_static/jquery.js"></script>
24    <script type="text/javascript" src="../_static/underscore.js"></script>
25    <script type="text/javascript" src="../_static/doctools.js"></script>
26    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
27    <link rel="top" title="GSAS-II 0.2.0 documentation" href="../index.html" />
28    <link rel="up" title="Module code" href="index.html" /> 
29  </head>
30  <body>
31    <div class="related">
32      <h3>Navigation</h3>
33      <ul>
34        <li class="right" style="margin-right: 10px">
35          <a href="../genindex.html" title="General Index"
36             accesskey="I">index</a></li>
37        <li class="right" >
38          <a href="../py-modindex.html" title="Python Module Index"
39             >modules</a> |</li>
40        <li><a href="../index.html">GSAS-II 0.2.0 documentation</a> &raquo;</li>
41          <li><a href="index.html" accesskey="U">Module code</a> &raquo;</li> 
42      </ul>
43    </div> 
44
45    <div class="document">
46      <div class="documentwrapper">
47        <div class="bodywrapper">
48          <div class="body">
49           
50  <h1>Source code for G2export_examples</h1><div class="highlight"><pre>
51<span class="c">#!/usr/bin/env python</span>
52<span class="c"># -*- coding: utf-8 -*-</span>
53<span class="c">########### SVN repository information ###################</span>
54<span class="c"># $Date: 2015-10-10 11:58:12 -0500 (Sat, 10 Oct 2015) $</span>
55<span class="c"># $Author: toby $</span>
56<span class="c"># $Revision: 1997 $</span>
57<span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/exports/G2export_examples.py $</span>
58<span class="c"># $Id: G2export_examples.py 1997 2015-10-10 16:58:12Z toby $</span>
59<span class="c">########### SVN repository information ###################</span>
60<span class="sd">&#39;&#39;&#39;</span>
61<span class="sd">*Module G2export_examples: Examples*</span>
62<span class="sd">-------------------------------------------</span>
63
64<span class="sd">Code to demonstrate how GSAS-II data export routines are created. The</span>
65<span class="sd">classes defined here, :class:`ExportPhaseText`, </span>
66<span class="sd">:class:`ExportSingleText`, :class:`ExportPowderReflText`, </span>
67<span class="sd">and :class:`ExportPowderText` each demonstrate a different type</span>
68<span class="sd">of export. Also see :class:`G2export_map.ExportMapASCII` for an</span>
69<span class="sd">example of a map export.</span>
70
71<span class="sd">&#39;&#39;&#39;</span>
72<span class="kn">import</span> <span class="nn">os.path</span>
73<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
74<span class="kn">import</span> <span class="nn">GSASIIpath</span>
75<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1997 $&quot;</span><span class="p">)</span>
76<span class="kn">import</span> <span class="nn">GSASIIIO</span> <span class="kn">as</span> <span class="nn">G2IO</span>
77<span class="kn">import</span> <span class="nn">GSASIIpy3</span> <span class="kn">as</span> <span class="nn">G2py3</span>
78<span class="c">#import GSASIIgrid as G2gd</span>
79<span class="c">#import GSASIIstrIO as G2stIO</span>
80<span class="kn">import</span> <span class="nn">GSASIImath</span> <span class="kn">as</span> <span class="nn">G2mth</span>
81<span class="kn">import</span> <span class="nn">GSASIIpwd</span> <span class="kn">as</span> <span class="nn">G2pwd</span>
82<span class="c">#import GSASIIlattice as G2lat</span>
83<span class="c">#import GSASIIspc as G2spc</span>
84<span class="c">#import GSASIIphsGUI as G2pg</span>
85<span class="c">#import GSASIIstrMain as G2stMn</span>
86
87<div class="viewcode-block" id="ExportPhaseText"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportPhaseText">[docs]</a><span class="k">class</span> <span class="nc">ExportPhaseText</span><span class="p">(</span><span class="n">G2IO</span><span class="o">.</span><span class="n">ExportBaseclass</span><span class="p">):</span>
88    <span class="sd">&#39;&#39;&#39;Used to create a text file for a phase</span>
89
90<span class="sd">    :param wx.Frame G2frame: reference to main GSAS-II frame</span>
91<span class="sd">    &#39;&#39;&#39;</span>
92    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">G2frame</span><span class="p">):</span>
93        <span class="nb">super</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span> <span class="c"># fancy way to say &lt;parentclass&gt;.__init__</span>
94            <span class="n">G2frame</span><span class="o">=</span><span class="n">G2frame</span><span class="p">,</span>
95            <span class="n">formatName</span> <span class="o">=</span> <span class="s">&#39;Text file&#39;</span><span class="p">,</span>
96            <span class="n">extension</span><span class="o">=</span><span class="s">&#39;.txt&#39;</span><span class="p">,</span>
97            <span class="n">longFormatName</span> <span class="o">=</span> <span class="s">&#39;Export phase as text file&#39;</span>
98            <span class="p">)</span>
99        <span class="bp">self</span><span class="o">.</span><span class="n">exporttype</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;phase&#39;</span><span class="p">]</span>
100        <span class="bp">self</span><span class="o">.</span><span class="n">multiple</span> <span class="o">=</span> <span class="bp">True</span> <span class="c"># allow multiple phases to be selected</span>
101
102<div class="viewcode-block" id="ExportPhaseText.Exporter"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportPhaseText.Exporter">[docs]</a>    <span class="k">def</span> <span class="nf">Exporter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
103        <span class="sd">&#39;&#39;&#39;Export a phase as a text file</span>
104<span class="sd">        &#39;&#39;&#39;</span>
105        <span class="c"># the export process starts here</span>
106        <span class="bp">self</span><span class="o">.</span><span class="n">InitExport</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
107        <span class="c"># load all of the tree into a set of dicts</span>
108        <span class="bp">self</span><span class="o">.</span><span class="n">loadTree</span><span class="p">()</span>
109        <span class="c"># create a dict with refined values and their uncertainties</span>
110        <span class="bp">self</span><span class="o">.</span><span class="n">loadParmDict</span><span class="p">()</span>
111        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ExportSelect</span><span class="p">():</span> <span class="k">return</span> <span class="c"># set export parameters; prompt for file name</span>
112        <span class="bp">self</span><span class="o">.</span><span class="n">OpenFile</span><span class="p">()</span>
113        <span class="c"># if more than one format is selected, put them into a single file</span>
114        <span class="k">for</span> <span class="n">phasenam</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">phasenam</span><span class="p">:</span>
115            <span class="n">phasedict</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Phases</span><span class="p">[</span><span class="n">phasenam</span><span class="p">]</span> <span class="c"># pointer to current phase info            </span>
116            <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Phases</span><span class="p">[</span><span class="n">phasenam</span><span class="p">][</span><span class="s">&#39;pId&#39;</span><span class="p">]</span>
117            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="o">+</span><span class="mi">80</span><span class="o">*</span><span class="s">&#39;=&#39;</span><span class="p">)</span>
118            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&quot;Phase &quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">phasenam</span><span class="p">)</span><span class="o">+</span><span class="s">&quot; from &quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">G2frame</span><span class="o">.</span><span class="n">GSASprojectfile</span><span class="p">))</span>
119            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">Space group = &quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">phasedict</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">][</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SpGrp&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()))</span>
120            <span class="c"># get cell parameters &amp; print them</span>
121            <span class="n">cellList</span><span class="p">,</span><span class="n">cellSig</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetCell</span><span class="p">(</span><span class="n">phasenam</span><span class="p">)</span>
122            <span class="n">prevsig</span> <span class="o">=</span> <span class="mi">0</span>
123            <span class="k">for</span> <span class="n">lbl</span><span class="p">,</span><span class="n">defsig</span><span class="p">,</span><span class="n">val</span><span class="p">,</span><span class="n">sig</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span>
124                <span class="p">[</span><span class="s">&#39;a&#39;</span><span class="p">,</span><span class="s">&#39;b&#39;</span><span class="p">,</span><span class="s">&#39;c&#39;</span><span class="p">,</span><span class="s">&#39;alpha&#39;</span><span class="p">,</span><span class="s">&#39;beta &#39;</span><span class="p">,</span><span class="s">&#39;gamma&#39;</span><span class="p">,</span><span class="s">&#39;volume&#39;</span><span class="p">],</span>
125                <span class="mi">3</span><span class="o">*</span><span class="p">[</span><span class="o">-</span><span class="mf">0.00001</span><span class="p">]</span> <span class="o">+</span> <span class="mi">3</span><span class="o">*</span><span class="p">[</span><span class="o">-</span><span class="mf">0.001</span><span class="p">]</span> <span class="o">+</span> <span class="p">[</span><span class="o">-</span><span class="mf">0.01</span><span class="p">],</span> <span class="c"># sign values to use when no sigma</span>
126                <span class="n">cellList</span><span class="p">,</span><span class="n">cellSig</span>
127                <span class="p">):</span>
128                <span class="k">if</span> <span class="n">sig</span><span class="p">:</span>
129                    <span class="n">txt</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">ValEsd</span><span class="p">(</span><span class="n">val</span><span class="p">,</span><span class="n">sig</span><span class="p">)</span>
130                    <span class="n">prevsig</span> <span class="o">=</span> <span class="o">-</span><span class="n">sig</span> <span class="c"># use this as the significance for next value</span>
131                <span class="k">else</span><span class="p">:</span>
132                    <span class="n">txt</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">ValEsd</span><span class="p">(</span><span class="n">val</span><span class="p">,</span><span class="nb">min</span><span class="p">(</span><span class="n">defsig</span><span class="p">,</span><span class="n">prevsig</span><span class="p">),</span><span class="bp">True</span><span class="p">)</span>
133                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">lbl</span><span class="o">+</span><span class="s">&#39; = &#39;</span><span class="o">+</span><span class="n">txt</span><span class="p">)</span>
134            <span class="c"># get atoms and print them in nice columns</span>
135            <span class="n">AtomsList</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetAtoms</span><span class="p">(</span><span class="n">phasenam</span><span class="p">)</span>
136            <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{:8s} {:4s} {:4s} {:12s} {:12s} {:12s} {:10s} {:10s}&quot;</span>
137            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">Atoms</span><span class="se">\n</span><span class="s">&#39;</span><span class="o">+</span><span class="mi">80</span><span class="o">*</span><span class="s">&#39;-&#39;</span><span class="p">)</span>
138            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s">&quot;label&quot;</span><span class="p">,</span><span class="s">&quot;elem&quot;</span><span class="p">,</span><span class="s">&quot;mult&quot;</span><span class="p">,</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="s">&quot;y&quot;</span><span class="p">,</span><span class="s">&quot;z&quot;</span><span class="p">,</span><span class="s">&quot;frac&quot;</span><span class="p">,</span><span class="s">&quot;Uiso&quot;</span><span class="p">))</span>
139            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">80</span><span class="o">*</span><span class="s">&#39;-&#39;</span><span class="p">)</span>
140            <span class="n">aniso</span> <span class="o">=</span> <span class="bp">False</span>
141            <span class="k">for</span> <span class="n">lbl</span><span class="p">,</span><span class="n">typ</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">xyz</span><span class="p">,</span><span class="n">td</span> <span class="ow">in</span> <span class="n">AtomsList</span><span class="p">:</span>
142                <span class="n">vals</span> <span class="o">=</span> <span class="p">[</span><span class="n">lbl</span><span class="p">,</span><span class="n">typ</span><span class="p">,</span><span class="nb">str</span><span class="p">(</span><span class="n">mult</span><span class="p">)]</span>
143                <span class="k">if</span> <span class="n">xyz</span><span class="p">[</span><span class="mi">3</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">continue</span>
144                <span class="k">for</span> <span class="n">val</span><span class="p">,</span><span class="n">sig</span> <span class="ow">in</span> <span class="n">xyz</span><span class="p">:</span>
145                    <span class="n">vals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">ValEsd</span><span class="p">(</span><span class="n">val</span><span class="p">,</span><span class="n">sig</span><span class="p">))</span>
146                <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">td</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
147                    <span class="n">vals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">ValEsd</span><span class="p">(</span><span class="n">td</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">td</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]))</span>
148                <span class="k">else</span><span class="p">:</span>
149                    <span class="n">vals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">&quot;aniso&quot;</span><span class="p">)</span>
150                    <span class="n">aniso</span> <span class="o">=</span> <span class="bp">True</span>
151                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">*</span><span class="n">vals</span><span class="p">))</span>
152            <span class="c"># print anisotropic values, if any</span>
153            <span class="k">if</span> <span class="n">aniso</span><span class="p">:</span>
154                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">Anisotropic parameters&#39;</span><span class="p">)</span>
155                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">80</span><span class="o">*</span><span class="s">&#39;-&#39;</span><span class="p">)</span>
156                <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{:8s} {:4s} {:10s} {:10s} {:10s} {:10s} {:10s} {:10s}&quot;</span>
157                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s">&quot;label&quot;</span><span class="p">,</span><span class="s">&quot;elem&quot;</span><span class="p">,</span><span class="s">&#39;U11&#39;</span><span class="p">,</span><span class="s">&#39;U22&#39;</span><span class="p">,</span><span class="s">&#39;U33&#39;</span><span class="p">,</span><span class="s">&#39;U12&#39;</span><span class="p">,</span><span class="s">&#39;U13&#39;</span><span class="p">,</span><span class="s">&#39;U23&#39;</span><span class="p">))</span>
158                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">80</span><span class="o">*</span><span class="s">&#39;-&#39;</span><span class="p">)</span>
159                <span class="k">for</span> <span class="n">lbl</span><span class="p">,</span><span class="n">typ</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">xyz</span><span class="p">,</span><span class="n">td</span> <span class="ow">in</span> <span class="n">AtomsList</span><span class="p">:</span>
160                    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">td</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> <span class="k">continue</span>
161                    <span class="k">if</span> <span class="n">xyz</span><span class="p">[</span><span class="mi">3</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> <span class="k">continue</span>
162                    <span class="n">vals</span> <span class="o">=</span> <span class="p">[</span><span class="n">lbl</span><span class="p">,</span><span class="n">typ</span><span class="p">]</span>
163                    <span class="k">for</span> <span class="n">val</span><span class="p">,</span><span class="n">sig</span> <span class="ow">in</span> <span class="n">td</span><span class="p">:</span>
164                        <span class="n">vals</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">ValEsd</span><span class="p">(</span><span class="n">val</span><span class="p">,</span><span class="n">sig</span><span class="p">))</span>
165                    <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="o">*</span><span class="n">vals</span><span class="p">))</span>
166            <span class="k">print</span><span class="p">(</span><span class="s">&#39;Phase &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">phasenam</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; written to file &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fullpath</span><span class="p">))</span>
167        <span class="bp">self</span><span class="o">.</span><span class="n">CloseFile</span><span class="p">()</span>
168</div></div>
169<div class="viewcode-block" id="ExportPowderText"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportPowderText">[docs]</a><span class="k">class</span> <span class="nc">ExportPowderText</span><span class="p">(</span><span class="n">G2IO</span><span class="o">.</span><span class="n">ExportBaseclass</span><span class="p">):</span>
170    <span class="sd">&#39;&#39;&#39;Used to create a text file for a powder data set</span>
171
172<span class="sd">    :param wx.Frame G2frame: reference to main GSAS-II frame</span>
173<span class="sd">    &#39;&#39;&#39;</span>
174    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">G2frame</span><span class="p">):</span>
175        <span class="nb">super</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span> <span class="c"># fancy way to say &lt;parentclass&gt;.__init__</span>
176            <span class="n">G2frame</span><span class="o">=</span><span class="n">G2frame</span><span class="p">,</span>
177            <span class="n">formatName</span> <span class="o">=</span> <span class="s">&#39;Text file&#39;</span><span class="p">,</span>
178            <span class="n">extension</span><span class="o">=</span><span class="s">&#39;.txt&#39;</span><span class="p">,</span>
179            <span class="n">longFormatName</span> <span class="o">=</span> <span class="s">&#39;Export powder data as text file&#39;</span>
180            <span class="p">)</span>
181        <span class="bp">self</span><span class="o">.</span><span class="n">exporttype</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;powder&#39;</span><span class="p">]</span>
182        <span class="bp">self</span><span class="o">.</span><span class="n">multiple</span> <span class="o">=</span> <span class="bp">False</span> <span class="c"># only allow one histogram to be selected</span>
183
184    <span class="k">def</span> <span class="nf">Writer</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">TreeName</span><span class="p">,</span><span class="n">filename</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
185        <span class="bp">self</span><span class="o">.</span><span class="n">OpenFile</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
186        <span class="n">histblk</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Histograms</span><span class="p">[</span><span class="n">TreeName</span><span class="p">]</span>
187        <span class="n">hfmt</span> <span class="o">=</span> <span class="mi">5</span><span class="o">*</span><span class="s">&quot;{:12s} &quot;</span>
188        <span class="n">digitList</span> <span class="o">=</span> <span class="mi">2</span><span class="o">*</span><span class="p">((</span><span class="mi">13</span><span class="p">,</span><span class="mi">3</span><span class="p">),)</span> <span class="o">+</span> <span class="p">((</span><span class="mi">13</span><span class="p">,</span><span class="mi">5</span><span class="p">),)</span> <span class="o">+</span> <span class="mi">2</span><span class="o">*</span><span class="p">((</span><span class="mi">13</span><span class="p">,</span><span class="mi">3</span><span class="p">),)</span>
189       
190        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">hfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="s">&quot;y_obs&quot;</span><span class="p">,</span><span class="s">&quot;weight&quot;</span><span class="p">,</span><span class="s">&quot;y_calc&quot;</span><span class="p">,</span><span class="s">&quot;y_bkg&quot;</span><span class="p">))</span>
191        <span class="k">for</span> <span class="n">vallist</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Data&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span>
192                           <span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Data&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">],</span>
193                           <span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Data&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">],</span>
194                           <span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Data&#39;</span><span class="p">][</span><span class="mi">3</span><span class="p">],</span>
195                           <span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Data&#39;</span><span class="p">][</span><span class="mi">4</span><span class="p">],</span>
196                           <span class="c">#histblk[&#39;Data&#39;][5],</span>
197                           <span class="p">):</span>
198            <span class="n">strg</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
199            <span class="k">for</span> <span class="n">val</span><span class="p">,</span><span class="n">digits</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">vallist</span><span class="p">,</span><span class="n">digitList</span><span class="p">):</span>
200                <span class="n">strg</span> <span class="o">+=</span> <span class="n">G2py3</span><span class="o">.</span><span class="n">FormatPadValue</span><span class="p">(</span><span class="n">val</span><span class="p">,</span><span class="n">digits</span><span class="p">)</span>
201            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">strg</span><span class="p">)</span>
202        <span class="bp">self</span><span class="o">.</span><span class="n">CloseFile</span><span class="p">()</span>
203       
204<div class="viewcode-block" id="ExportPowderText.Exporter"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportPowderText.Exporter">[docs]</a>    <span class="k">def</span> <span class="nf">Exporter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
205        <span class="sd">&#39;&#39;&#39;Export a set of powder data as a text file</span>
206<span class="sd">        &#39;&#39;&#39;</span>
207        <span class="c"># the export process starts here</span>
208        <span class="bp">self</span><span class="o">.</span><span class="n">InitExport</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
209        <span class="c"># load all of the tree into a set of dicts</span>
210        <span class="bp">self</span><span class="o">.</span><span class="n">loadTree</span><span class="p">()</span>
211        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ExportSelect</span><span class="p">(</span> <span class="c"># set export parameters</span>
212            <span class="n">AskFile</span><span class="o">=</span><span class="s">&#39;default&#39;</span> <span class="c"># base name on the GPX file name</span>
213            <span class="p">):</span> <span class="k">return</span> 
214        <span class="n">hist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">histnam</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="c"># there should only be one histogram, in any case take the 1st</span>
215        <span class="bp">self</span><span class="o">.</span><span class="n">Writer</span><span class="p">(</span><span class="n">hist</span><span class="p">)</span>
216        <span class="k">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">hist</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; written to file &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fullpath</span><span class="p">))</span>
217        </div></div>
218<div class="viewcode-block" id="ExportPowderReflText"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportPowderReflText">[docs]</a><span class="k">class</span> <span class="nc">ExportPowderReflText</span><span class="p">(</span><span class="n">G2IO</span><span class="o">.</span><span class="n">ExportBaseclass</span><span class="p">):</span>
219    <span class="sd">&#39;&#39;&#39;Used to create a text file of reflections from a powder data set</span>
220
221<span class="sd">    :param wx.Frame G2frame: reference to main GSAS-II frame</span>
222<span class="sd">    &#39;&#39;&#39;</span>
223    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">G2frame</span><span class="p">):</span>
224        <span class="nb">super</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span> <span class="c"># fancy way to say &lt;parentclass&gt;.__init__</span>
225            <span class="n">G2frame</span><span class="o">=</span><span class="n">G2frame</span><span class="p">,</span>
226            <span class="n">formatName</span> <span class="o">=</span> <span class="s">&#39;reflection list as text&#39;</span><span class="p">,</span>
227            <span class="n">extension</span><span class="o">=</span><span class="s">&#39;.txt&#39;</span><span class="p">,</span>
228            <span class="n">longFormatName</span> <span class="o">=</span> <span class="s">&#39;Export powder reflection list as a text file&#39;</span>
229            <span class="p">)</span>
230        <span class="bp">self</span><span class="o">.</span><span class="n">exporttype</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;powder&#39;</span><span class="p">]</span>
231        <span class="bp">self</span><span class="o">.</span><span class="n">multiple</span> <span class="o">=</span> <span class="bp">False</span> <span class="c"># only allow one histogram to be selected</span>
232
233<div class="viewcode-block" id="ExportPowderReflText.Exporter"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportPowderReflText.Exporter">[docs]</a>    <span class="k">def</span> <span class="nf">Exporter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
234        <span class="sd">&#39;&#39;&#39;Export a set of powder reflections as a text file</span>
235<span class="sd">        &#39;&#39;&#39;</span>
236        <span class="bp">self</span><span class="o">.</span><span class="n">InitExport</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
237        <span class="c"># load all of the tree into a set of dicts</span>
238        <span class="bp">self</span><span class="o">.</span><span class="n">loadTree</span><span class="p">()</span>
239        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ExportSelect</span><span class="p">(</span> <span class="c"># set export parameters</span>
240            <span class="n">AskFile</span><span class="o">=</span><span class="s">&#39;default&#39;</span> <span class="c"># base name on the GPX file name</span>
241            <span class="p">):</span> <span class="k">return</span> 
242        <span class="bp">self</span><span class="o">.</span><span class="n">OpenFile</span><span class="p">()</span>
243        <span class="n">hist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">histnam</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="c"># there should only be one histogram, in any case take the 1st</span>
244        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">Histogram &#39;</span><span class="o">+</span><span class="n">hist</span><span class="p">)</span>
245        <span class="n">histblk</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Histograms</span><span class="p">[</span><span class="n">hist</span><span class="p">]</span>
246        <span class="k">for</span> <span class="n">phasenam</span> <span class="ow">in</span> <span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">]:</span>
247            <span class="n">phasDict</span> <span class="o">=</span> <span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">][</span><span class="n">phasenam</span><span class="p">]</span>
248            <span class="n">tname</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;T&#39;</span><span class="p">:</span><span class="s">&#39;TOF&#39;</span><span class="p">,</span><span class="s">&#39;C&#39;</span><span class="p">:</span><span class="s">&#39;2-theta&#39;</span><span class="p">}[</span><span class="n">phasDict</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">]]</span>
249            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">Phase &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">phasenam</span><span class="p">))</span>
250            <span class="k">if</span> <span class="n">phasDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Super&#39;</span><span class="p">,</span><span class="bp">False</span><span class="p">):</span>
251                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">96</span><span class="o">*</span><span class="s">&#39;=&#39;</span><span class="p">)</span>
252                <span class="n">hklfmt</span> <span class="o">=</span> <span class="s">&quot;{:.0f},{:.0f},{:.0f},{:.0f}&quot;</span>
253                <span class="n">hfmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;10s} {:&gt;8s} {:&gt;12s} {:&gt;12s} {:&gt;7s} {:&gt;6s} {:&gt;8s} {:&gt;8s} {:&gt;8s} {:&gt;8s}&quot;</span>
254                <span class="k">if</span> <span class="s">&#39;T&#39;</span> <span class="ow">in</span> <span class="n">phasDict</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
255                    <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;10s} {:8.3f} {:12.3f} {:12.3f} {:7.2f} {:6.0f} {:8.3f} {:8.3f} {:8.3f} {:8.4f}&quot;</span>
256                <span class="k">else</span><span class="p">:</span>
257                    <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;10s} {:8.3f} {:12.3f} {:12.3f} {:7.2f} {:6.0f} {:8.5f} {:8.5f} {:8.5f} {:8.4f}&quot;</span>
258                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">hfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s">&quot;h,k,l,m&quot;</span><span class="p">,</span><span class="n">tname</span><span class="p">,</span><span class="s">&quot;F_obs&quot;</span><span class="p">,</span><span class="s">&quot;F_calc&quot;</span><span class="p">,</span><span class="s">&quot;phase&quot;</span><span class="p">,</span><span class="s">&quot;mult&quot;</span><span class="p">,</span><span class="s">&quot;sig&quot;</span><span class="p">,</span><span class="s">&quot;gam&quot;</span><span class="p">,</span><span class="s">&quot;FWHM&quot;</span><span class="p">,</span><span class="s">&quot;Prfo&quot;</span><span class="p">))</span>
259                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">96</span><span class="o">*</span><span class="s">&#39;=&#39;</span><span class="p">)</span>
260                <span class="n">refList</span> <span class="o">=</span> <span class="n">phasDict</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
261                <span class="k">for</span> <span class="n">refItem</span> <span class="ow">in</span> <span class="n">refList</span><span class="p">:</span>
262                    <span class="k">if</span> <span class="s">&#39;T&#39;</span> <span class="ow">in</span> <span class="n">phasDict</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
263                        <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">dsp</span><span class="p">,</span><span class="n">pos</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">prfo</span> <span class="o">=</span> <span class="n">refItem</span><span class="p">[:</span><span class="mi">17</span><span class="p">]</span>
264                        <span class="n">FWHM</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">G2pwd</span><span class="o">.</span><span class="n">getgamFW</span><span class="p">(</span><span class="n">gam</span><span class="p">,</span><span class="n">sig</span><span class="p">)</span>
265                        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hklfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">),</span><span class="n">pos</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">FWHM</span><span class="p">,</span><span class="n">prfo</span><span class="p">))</span>
266                    <span class="k">else</span><span class="p">:</span>
267                        <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">dsp</span><span class="p">,</span><span class="n">pos</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">prfo</span> <span class="o">=</span> <span class="n">refItem</span><span class="p">[:</span><span class="mi">14</span><span class="p">]</span>
268                        <span class="n">FWHM</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">G2pwd</span><span class="o">.</span><span class="n">getgamFW</span><span class="p">(</span><span class="n">gam</span><span class="p">,</span><span class="n">sig</span><span class="p">)</span>
269                        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hklfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">),</span><span class="n">pos</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span> \
270                            <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="n">sig</span><span class="p">,</span><span class="mf">0.0001</span><span class="p">))</span><span class="o">/</span><span class="mf">100.</span><span class="p">,</span><span class="n">gam</span><span class="o">/</span><span class="mf">100.</span><span class="p">,</span><span class="n">FWHM</span><span class="o">/</span><span class="mf">100.</span><span class="p">,</span><span class="n">prfo</span><span class="p">))</span>
271            <span class="k">else</span><span class="p">:</span>
272                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">94</span><span class="o">*</span><span class="s">&#39;=&#39;</span><span class="p">)</span>
273                <span class="n">hklfmt</span> <span class="o">=</span> <span class="s">&quot;{:.0f},{:.0f},{:.0f}&quot;</span>
274                <span class="n">hfmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;8s} {:&gt;8s} {:&gt;12s} {:&gt;12s} {:&gt;7s} {:&gt;6s} {:&gt;8s} {:&gt;8s} {:&gt;8s} {:&gt;8s}&quot;</span>
275                <span class="k">if</span> <span class="s">&#39;T&#39;</span> <span class="ow">in</span> <span class="n">phasDict</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
276                    <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;8s} {:8.3f} {:12.3f} {:12.3f} {:7.2f} {:6.0f} {:8.3f} {:8.3f} {:8.3f} {:8.4f}&quot;</span>
277                <span class="k">else</span><span class="p">:</span>
278                    <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;8s} {:8.3f} {:12.3f} {:12.3f} {:7.2f} {:6.0f} {:8.5f} {:8.5f} {:8.5f} {:8.4f}&quot;</span>
279                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">hfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s">&quot;h,k,l&quot;</span><span class="p">,</span><span class="n">tname</span><span class="p">,</span><span class="s">&quot;F_obs&quot;</span><span class="p">,</span><span class="s">&quot;F_calc&quot;</span><span class="p">,</span><span class="s">&quot;phase&quot;</span><span class="p">,</span><span class="s">&quot;mult&quot;</span><span class="p">,</span><span class="s">&quot;sig&quot;</span><span class="p">,</span><span class="s">&quot;gam&quot;</span><span class="p">,</span><span class="s">&quot;FWHM&quot;</span><span class="p">,</span><span class="s">&quot;Prfo&quot;</span><span class="p">))</span>
280                <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">94</span><span class="o">*</span><span class="s">&#39;=&#39;</span><span class="p">)</span>
281                <span class="n">refList</span> <span class="o">=</span> <span class="n">phasDict</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
282                <span class="k">for</span> <span class="n">refItem</span> <span class="ow">in</span> <span class="n">refList</span><span class="p">:</span>
283                    <span class="k">if</span> <span class="s">&#39;T&#39;</span> <span class="ow">in</span> <span class="n">phasDict</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
284                        <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">dsp</span><span class="p">,</span><span class="n">pos</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">prfo</span> <span class="o">=</span> <span class="n">refItem</span><span class="p">[:</span><span class="mi">16</span><span class="p">]</span>
285                        <span class="n">FWHM</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">G2pwd</span><span class="o">.</span><span class="n">getgamFW</span><span class="p">(</span><span class="n">gam</span><span class="p">,</span><span class="n">sig</span><span class="p">)</span>
286                        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hklfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">),</span><span class="n">pos</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">sig</span><span class="p">,</span><span class="mf">0.0001</span><span class="p">)),</span><span class="n">gam</span><span class="p">,</span><span class="n">FWHM</span><span class="p">,</span><span class="n">prfo</span><span class="p">))</span>
287                    <span class="k">else</span><span class="p">:</span>
288                        <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">dsp</span><span class="p">,</span><span class="n">pos</span><span class="p">,</span><span class="n">sig</span><span class="p">,</span><span class="n">gam</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">prfo</span> <span class="o">=</span> <span class="n">refItem</span><span class="p">[:</span><span class="mi">13</span><span class="p">]</span>
289                        <span class="n">FWHM</span> <span class="o">=</span> <span class="mf">2.</span><span class="o">*</span><span class="n">G2pwd</span><span class="o">.</span><span class="n">getgamFW</span><span class="p">(</span><span class="n">gam</span><span class="p">,</span><span class="n">sig</span><span class="p">)</span>
290                        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hklfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">),</span><span class="n">pos</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span>   \
291                            <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="n">sig</span><span class="p">,</span><span class="mf">0.0001</span><span class="p">))</span><span class="o">/</span><span class="mf">100.</span><span class="p">,</span><span class="n">gam</span><span class="o">/</span><span class="mf">100.</span><span class="p">,</span><span class="n">FWHM</span><span class="o">/</span><span class="mf">100.</span><span class="p">,</span><span class="n">prfo</span><span class="p">))</span>
292        <span class="bp">self</span><span class="o">.</span><span class="n">CloseFile</span><span class="p">()</span>
293        <span class="k">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">hist</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;reflections written to file &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fullpath</span><span class="p">))</span>                       
294</div></div>
295<div class="viewcode-block" id="ExportSingleText"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportSingleText">[docs]</a><span class="k">class</span> <span class="nc">ExportSingleText</span><span class="p">(</span><span class="n">G2IO</span><span class="o">.</span><span class="n">ExportBaseclass</span><span class="p">):</span>
296    <span class="sd">&#39;&#39;&#39;Used to create a text file with single crystal reflection data</span>
297
298<span class="sd">    :param wx.Frame G2frame: reference to main GSAS-II frame</span>
299<span class="sd">    &#39;&#39;&#39;</span>
300    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">G2frame</span><span class="p">):</span>
301        <span class="nb">super</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span> <span class="c"># fancy way to say &lt;parentclass&gt;.__init__</span>
302            <span class="n">G2frame</span><span class="o">=</span><span class="n">G2frame</span><span class="p">,</span>
303            <span class="n">formatName</span> <span class="o">=</span> <span class="s">&#39;Text file&#39;</span><span class="p">,</span>
304            <span class="n">extension</span><span class="o">=</span><span class="s">&#39;.txt&#39;</span><span class="p">,</span>
305            <span class="n">longFormatName</span> <span class="o">=</span> <span class="s">&#39;Export reflection list as a text file&#39;</span>
306            <span class="p">)</span>
307        <span class="bp">self</span><span class="o">.</span><span class="n">exporttype</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;single&#39;</span><span class="p">]</span>
308        <span class="bp">self</span><span class="o">.</span><span class="n">multiple</span> <span class="o">=</span> <span class="bp">False</span> <span class="c"># only allow one histogram to be selected</span>
309
310<div class="viewcode-block" id="ExportSingleText.Exporter"><a class="viewcode-back" href="../exports.html#G2export_examples.ExportSingleText.Exporter">[docs]</a>    <span class="k">def</span> <span class="nf">Exporter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
311        <span class="sd">&#39;&#39;&#39;Export a set of single crystal data as a text file</span>
312<span class="sd">        &#39;&#39;&#39;</span>
313        <span class="c"># the export process starts here</span>
314        <span class="bp">self</span><span class="o">.</span><span class="n">InitExport</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
315        <span class="c"># load all of the tree into a set of dicts</span>
316        <span class="bp">self</span><span class="o">.</span><span class="n">loadTree</span><span class="p">()</span>
317        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ExportSelect</span><span class="p">(</span> <span class="c"># set export parameters</span>
318            <span class="n">AskFile</span><span class="o">=</span><span class="s">&#39;default&#39;</span> <span class="c"># base name on the GPX file name</span>
319            <span class="p">):</span> <span class="k">return</span> 
320        <span class="bp">self</span><span class="o">.</span><span class="n">OpenFile</span><span class="p">()</span>
321        <span class="n">hist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">histnam</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="c"># there should only be one histogram, in any case take the 1st</span>
322        <span class="n">histblk</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Histograms</span><span class="p">[</span><span class="n">hist</span><span class="p">]</span>
323        <span class="n">hklfmt</span> <span class="o">=</span> <span class="s">&quot;{:.0f},{:.0f},{:.0f}&quot;</span>
324        <span class="n">hfmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;10s} {:&gt;8s} {:&gt;12s} {:&gt;12s} {:&gt;12s} {:&gt;7s} {:&gt;6s}&quot;</span>
325        <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{:&gt;10s} {:8.3f} {:12.2f} {:12.4f} {:12.2f} {:7.2f} {:6.0f}&quot;</span>
326        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">80</span><span class="o">*</span><span class="s">&#39;=&#39;</span><span class="p">)</span>
327        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">hfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="s">&quot;h,k,l&quot;</span><span class="p">,</span><span class="s">&quot;d-space&quot;</span><span class="p">,</span><span class="s">&quot;F_obs&quot;</span><span class="p">,</span><span class="s">&quot;sig(Fobs)&quot;</span><span class="p">,</span><span class="s">&quot;F_calc&quot;</span><span class="p">,</span><span class="s">&quot;phase&quot;</span><span class="p">,</span><span class="s">&quot;mult&quot;</span><span class="p">))</span>
328        <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="mi">80</span><span class="o">*</span><span class="s">&#39;=&#39;</span><span class="p">)</span>
329        <span class="k">for</span> <span class="p">(</span>
330            <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mult</span><span class="p">,</span><span class="n">dsp</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">sigFobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">FobsT</span><span class="p">,</span><span class="n">FcalcT</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">Icorr</span>
331            <span class="p">)</span> <span class="ow">in</span> <span class="n">histblk</span><span class="p">[</span><span class="s">&#39;Data&#39;</span><span class="p">][</span><span class="s">&#39;RefList&#39;</span><span class="p">]:</span>
332            <span class="bp">self</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hklfmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">),</span><span class="n">dsp</span><span class="p">,</span><span class="n">Fobs</span><span class="p">,</span><span class="n">sigFobs</span><span class="p">,</span><span class="n">Fcalc</span><span class="p">,</span><span class="n">phase</span><span class="p">,</span><span class="n">mult</span><span class="p">))</span>
333        <span class="bp">self</span><span class="o">.</span><span class="n">CloseFile</span><span class="p">()</span>
334        <span class="k">print</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">hist</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; written to file &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fullpath</span><span class="p">))</span>                       
335</pre></div></div></div>
336
337          </div>
338        </div>
339      </div>
340      <div class="sphinxsidebar">
341        <div class="sphinxsidebarwrapper">
342            <p class="logo"><a href="../index.html">
343              <img class="logo" src="../_static/G2_html_logo.png" alt="Logo"/>
344            </a></p>
345<div id="searchbox" style="display: none">
346  <h3>Quick search</h3>
347    <form class="search" action="../search.html" method="get">
348      <input type="text" name="q" />
349      <input type="submit" value="Go" />
350      <input type="hidden" name="check_keywords" value="yes" />
351      <input type="hidden" name="area" value="default" />
352    </form>
353    <p class="searchtip" style="font-size: 90%">
354    Enter search terms or a module, class or function name.
355    </p>
356</div>
357<script type="text/javascript">$('#searchbox').show(0);</script>
358        </div>
359      </div>
360      <div class="clearer"></div>
361    </div>
362    <div class="related">
363      <h3>Navigation</h3>
364      <ul>
365        <li class="right" style="margin-right: 10px">
366          <a href="../genindex.html" title="General Index"
367             >index</a></li>
368        <li class="right" >
369          <a href="../py-modindex.html" title="Python Module Index"
370             >modules</a> |</li>
371        <li><a href="../index.html">GSAS-II 0.2.0 documentation</a> &raquo;</li>
372          <li><a href="index.html" >Module code</a> &raquo;</li> 
373      </ul>
374    </div>
375    <div class="footer">
376        &copy; Copyright 2013, Von Dreele and Toby for Argonne National Laboratory.
377      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
378    </div>
379  </body>
380</html>
Note: See TracBrowser for help on using the repository browser.