source: 1dwg/trunk/doc/cansas1d_binding_IgorPro.xml @ 119

Last change on this file since 119 was 119, checked in by prjemian, 12 years ago

table formatting, math typesetting, more content in the Preface and elements sections, refs #19

  • Property svn:keywords set to Date Revision Author HeadURL Id
File size: 30.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" type="xml"?>
3<!--
4    ########### SVN repository information ###################
5    # $Date$
6    # $Author$
7    # $Revision$
8    # $HeadURL$
9    # $Id$
10    ########### SVN repository information ###################
11-->
12<!-- from: http://www.smallangles.net/wgwiki/index.php/cansas1d_binding_IgorPro -->
13<section xml:id="cansas1d_documentation-binding-IgorPro" xmlns="http://docbook.org/ns/docbook"
14    version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
15    <title>IgorPro binding</title>
16    <bridgehead>
17        $Revision$
18        $Date$
19    </bridgehead>
20    <para>An import tool (binding) for IgorPro has been created (cansasXML.ipf). You can check out
21        the IgorPro working directory from the SVN server (see instructions below). </para>
22    <para>To use the canSASxml.ipf procedure, you must have the XMLutils XOP IGOR plugin installed.
23        See the Usage Notes below. </para>
24    <note><para>Note that this tool is not a true
25        <link xlink:href="http://en.wikipedia.org/wiki/Binding_%28computer_science%29">binding</link>
26        in that the structure of the
27        XML file is not replicated in IgorPro data structures.
28        This tool reads the vectors of 1-D SAS data (Q, I, ...)
29        into IgorPro waves (Qsas, Isas, ...). The tool also reads
30        most of the metadata into an IgorPro textWave for use by other
31        support in IgorPro.</para></note>
32    <note><para>Note that the code described here is <emphasis>not a complete user interface</emphasis>.
33        (See further comments below.) It is expected that this code will be called by a graphical
34        user interface routine and that routine will handle the work of copying the loaded SAS data
35        in IgorPro from the root:Packages:CS_XMLreader data folder to the destination of choice
36        (including any renaming of waves as desired).
37    </para></note>
38    <glosslist>
39        <glossentry>
40            <glossterm>file</glossterm>
41            <glossdef>
42                <para><link
43                    xlink:href="http://svn.smallangles.net/trac/canSAS/browser/1dwg/trunk/IgorPro/cansasXML.ipf"
44                    ><citetitle>cansasXML.ipf</citetitle></link></para>
45            </glossdef>
46        </glossentry>
47        <glossentry>
48            <glossterm>author</glossterm>
49            <glossdef><para>Pete R. Jemian &lt;jemian@anl.gov&gt;</para></glossdef>
50        </glossentry>
51        <glossentry>
52            <glossterm>date</glossterm>
53            <glossdef><para>2009-09-02</para></glossdef>
54        </glossentry>
55        <glossentry>
56            <glossterm>version</glossterm>
57            <glossdef><para>1.11 (<emphasis role="bold">requires</emphasis> 
58                latest XMLutils XOP -- see below)</para></glossdef>
59        </glossentry>
60        <glossentry>
61            <glossterm>purpose</glossterm>
62            <glossdef><para>implement an IgorPro file reader to read the canSAS 1-D reduced SAS
63                data in XML files adheres to the cansas1d/1.0 standard:
64                http://www.smallangles.net/wgwiki/index.php/cansas1d_documentation</para></glossdef>
65        </glossentry>
66        <glossentry>
67            <glossterm>URL</glossterm>
68            <glossdef>
69                <para>
70                  TRAC:
71                  http://svn.smallangles.net/trac/canSAS/browser/1dwg/trunk/IgorPro/cansasXML.ipf
72                </para>
73                <para>
74                  SVN:
75                  http://svn.smallangles.net/svn/canSAS/1dwg/trunk/IgorPro/cansasXML.ipf
76                </para>
77            </glossdef>
78        </glossentry>
79        <glossentry>
80            <glossterm>requires</glossterm>
81            <glossdef><para>
82                IgorPro: http://www.wavemetrics.com XMLutils - XOP:
83                http://www.igorexchange.com/project/XMLutils (IGOR.5.04.x-1.x-dev,
84                2008-Aug-22)
85            </para></glossdef>
86        </glossentry>
87    </glosslist>
88    <section>
89        <title>Checkout of support code in Subversion</title>
90        <para> Subversion (http://subversion.tigris.org/) is a program formanaging software
91            versions. There are command line and GUI clientsfor a variety of operating systems. We
92            won't recommend any herebut will show the command lines necessary. </para>
93        <section>
94            <title>XMLutils XOP</title>
95            <para> The XMLutils XOP, written by Andrew Nelson (ANSTO), is hosted on the IgorExchange
96                (http://www.igorexchange.com/). </para>
97            <para> One good location to place the checked out XMLutils directoryis in the
98                Wavemetrics directory, next to the Igor Pro
99                Folder<programlisting>svn://svn.igorexchange.com/packages/XMLutils/ XMLutils</programlisting></para>
100            <para> In the future, to retrieve an updated version of this support, go intothe
101                XMLutils directory (created above) and type the
102                command<programlisting>svn update</programlisting>This will check the repository and
103                update files as needed.If the installer program was updated, you;ll need to run the
104                newinstaller program. It is not necessary to uninstall first. </para>
105            <para> The installer executables contained in the download will do all the installation
106                for you. They will place the XOP in the folder <emphasis>/User
107                    Procedures/motofit/XMLutils</emphasis>, and create a shortcut/alias to the
108                plugin in /Igor Extensions.Packages from other facilities should place the XOP there
109                as well. </para>
110        </section>
111        <section>
112            <title>cansasXML.ipf</title>
113            <para> Check out the canSAS 1d SAS XML reader from the subversion
114                repository:<programlisting>svn checkout http://svn.smallangles.net/svn/canSAS/1dwg/trunk cansas-1dwg</programlisting></para>
115            <para> This will download lots of extra files. The file of interest is in the
116                IgorProdirectory and is called cansasXML.ipf </para>
117            <para> In the future, to retrieve an updated version of this support, go intothe
118                cansas-1dwg directory (created above) and type the
119                command<programlisting>svn update</programlisting>This will check the repository and
120                update files as needed. </para>
121        </section>
122    </section>
123    <section>
124        <title>Installation</title>
125        <orderedlist numeration="arabic">
126            <listitem>
127                <para> License and Install IgorPro (should have already been done by now) </para>
128            </listitem>
129            <listitem>
130                <para> Quit IgorPro if it is running </para>
131            </listitem>
132            <listitem>
133                <para> Download XMLutils XOP. Either checkout from subversion (see above) or, with a
134                    web browser, go to http://svn.igorexchange.com/viewvc/packages/XMLutils/trunk/
135                </para>
136            </listitem>
137            <listitem>
138                <para> Install XMLutils XOP by double-clicking the installer for you operating
139                    system. </para>
140            </listitem>
141            <listitem>
142                <para> Download cansasXML.ipf. Either checkout from subversion (see above) or, with
143                    a web browser, copy cansasXML.ipf from on-line subversion repository:
144                    http://svn.smallangles.net/svn/canSAS/1dwg/trunk/IgorPro/cansasXML.ipf </para>
145            </listitem>
146            <listitem>
147                <para> Copy cansasXML.ipf file to ...WavemetricsIgor Pro FolderUser Procedures (or
148                    file system equivalent) </para>
149            </listitem>
150            <listitem>
151                <para> Then, you should be able to restart IgorPro and progress from there </para>
152            </listitem>
153        </orderedlist>
154    </section>
155    <section>
156        <title>Usage Notes</title>
157        <para> To use the canSASxml.ipf procedure, you must have the XMLutils XOP IGOR plugin
158            installed. This may be downloaded from the IgorExchange Project site. There are
159            installer executables contained in the download that will do all the installation for
160            you. Each installer will place the XOP in the folder ...WavemetricsIgor Pro FolderUser
161            ProceduresmotofitXMLutils, and create a shortcut/alias to the plugin in
162            ...WavemetricsIgor Pro FolderIgor Extensions. </para>
163    </section>
164    <section>
165        <title>What it does</title>
166        <para> Given an XML file, <emphasis role="bold">CS_XmlReader(fileName)</emphasis> attempts
167            to open the fileand read its contents as if it conformed to the canSAS XML standard
168            forreduced 1-D SAS data (cansas1d/1.0, also known as SASXML). If the file is found to be
169            non-conforming, then <emphasis role="bold">CS_XmlReader(fileName)</emphasis> returns
170            with anerror code (show below), otherwise it returns <emphasis role="bold">0</emphasis>
171            that indicates <emphasis>no error</emphasis>.All data read by this code is left in the
172            IgorPro data folder <emphasis role="bold"
173                    ><emphasis>root:Packages:CS_XMLreader</emphasis></emphasis> for pickup by the
174            calling routine.(Two examples are provided to show how a routine might retrieve the
175            data.) </para>
176        <para> After opening the XML file (with a file identifier <emphasis>fileID</emphasis>),
177            control is passed to <emphasis role="bold">CS_1i_parseXml(fileID)</emphasis> which then
178            walks through the XMLelements. For each <emphasis role="bold">SASentry</emphasis> in the
179            file, a new data folder is createdwith the name derived from the Title element (or best
180            effort determination).Efforts are taken to avoid duplication of data folder names (using
181            standard IgorPro routines). For <emphasis role="bold">SASentry</emphasis> elements that
182            contain more than one SASdataelement, a <emphasis role="bold">SASdata</emphasis> folder
183            is created for each and the corresponding <emphasis>I(Q)</emphasis> is placed in that
184            subfolder. When only one <emphasis role="bold">SASdata</emphasis> is found, the
185                <emphasis>I(Q)</emphasis>data is placed in the main <emphasis>Title</emphasis>
186            folder. </para>
187        <section>
188            <title>data columns</title>
189            <para> Each column of data in the <emphasis role="bold">SASdata/Idata/*</emphasis> table
190                is placed into a singleIgorPro wave. At present, the code does not check for
191                non-standard data columns.(The capability is built into the code but is deactivated
192                at present). </para>
193        </section>
194        <section>
195            <title>metadata</title>
196            <para> Additional metadata is collected into a single text wave
197                (<emphasis>metadata</emphasis>) where the first columnis
198                an identifier (or
199                <emphasis>key</emphasis>) and the second identifier is the
200                <emphasis>value</emphasis>. Only those keys with non-empty values
201                are retained in the metadata table.
202            </para>
203            <caution><para>
204                The <emphasis>values</emphasis> are not checked for
205                characters that may cause
206                trouble when placed in a wave note. This will be the
207                responsibility of the calling
208                routineto <emphasis>clean these up</emphasis> if the need arises.
209            </para></caution>
210                <para> The code checks for most metadata elements and will check for repeated
211                elements where the standard permits. </para>
212            <para> Here is an example of the metadata for the
213                <literal>cs_collagen_full.xml</literal> case study:
214                <table>
215                    <title>metadata for the ''cs_collagen_full.xml'' case study</title>
216                    <tgroup cols="3">
217                        <colspec colwidth="5*"/>
218                        <colspec colwidth="40*"/>
219                        <colspec colwidth="55*"/>
220                        <tbody>
221                            <row>
222                                <entry><?dblatex bgcolor="[gray]{0.8}"?>
223                                    row: <literal>i</literal></entry>
224                                <entry><?dblatex bgcolor="[gray]{0.8}"?>
225                                    key: <literal>metadata[i][0]</literal></entry>
226                                <entry><?dblatex bgcolor="[gray]{0.8}"?>
227                                    value: <literal>metadata[i][1]</literal></entry>
228                            </row>
229                            <row>
230                                <entry>0</entry>
231                                <entry>xmlFile</entry>
232                                <entry>cs_collagen_full.xml</entry>
233                            </row>
234                            <row>
235                                <entry>1</entry>
236                                <entry>namespace</entry>
237                                <entry>cansas1d/1.0</entry>
238                            </row>
239                            <row>
240                                <entry>2</entry>
241                                <entry>Title</entry>
242                                <entry>dry chick collagen, d = 673 A, 6531 eV, X6B</entry>
243                            </row>
244                            <row>
245                                <entry>3</entry>
246                                <entry>Run</entry>
247                                <entry>Sep 19 1994 01:41:02 am</entry>
248                            </row>
249                            <row>
250                                <entry>4</entry>
251                                <entry>SASsample/ID</entry>
252                                <entry>dry chick collagen, d = 673 A, 6531 eV, X6B</entry>
253                            </row>
254                            <row>
255                                <entry>5</entry>
256                                <entry>SASinstrument/name</entry>
257                                <entry>X6B, NSLS, BNL</entry>
258                            </row>
259                            <row>
260                                <entry>6</entry>
261                                <entry>SASinstrument/SASsource/radiation</entry>
262                                <entry>X-ray synchrotron</entry>
263                            </row>
264                            <row>
265                                <entry>7</entry>
266                                <entry>SASinstrument/SASsource/wavelength</entry>
267                                <entry>1.898</entry>
268                            </row>
269                            <row>
270                                <entry>8</entry>
271                                <entry>SASinstrument/SASsource/wavelength/@unit</entry>
272                                <entry>A</entry>
273                            </row>
274                            <row>
275                                <entry>9</entry>
276                                <entry>SASinstrument/SASdetector/@name</entry>
277                                <entry>X6B PSD</entry>
278                            </row>
279                            <row>
280                                <entry>10</entry>
281                                <entry>SASnote</entry>
282                                <entry>
283<programlisting>Sep 19 1994     01:41:02 am     Elt: 00090 Seconds
284ID: No spectrum identifier defined
285Memory Size: 8192 Chls  Conversion Gain: 1024  Adc Offset: 0000 Chls
286
287dry chick collagen, d = 673 A
2886531 eV, X6B</programlisting>
289                                </entry>
290                            </row>
291                        </tbody>
292                    </tgroup>
293            </table>
294            </para>
295        </section>
296        <section>
297            <title>XML foreign namespace elements</title>
298            <para> These are ignored at this time. </para>
299        </section>
300        <section>
301            <title>XML namespace and header</title>
302            <para> The routine does a <emphasis>best-efforts</emphasis> check to ensure that the
303                givenXML file conforms to the [[cansas1d_documentation#Required_XML_file_header
304                |required XML file header]]. If you take a minimalist view
305                    (<emphasis>a.k.a.</emphasis> a shortcut),it is likely that your file may be
306                refused by this and other readers. Pay particular attention to UPPER/lower case in
307                the text <emphasis role="bold">cansas1d/1.0</emphasis> as this is a <emphasis
308                    role="bold">key component</emphasis> used toindex through the XML file. </para>
309        </section>
310        <section>
311            <title>XML stylesheet processing-instruction is not generated</title>
312            <para> The <link xlink:href="http://www.igorexchange.com/project/XMLutils"
313                        ><citetitle>'''XMLutils'''</citetitle></link> package does not provide a
314                method to insert the prescribed XML stylesheet processing-instruction into the XML
315                data
316                file.<programlisting>?xml-stylesheet type=text/xsl href=example.xsl ?</programlisting>If
317                this processing-instruction is desired, it must be added to each XML data file by
318                other methods such as use of a text editor or application of an XSLT transformation.
319            </para>
320        </section>
321    </section>
322    <section>
323        <title>List of Functions</title>
324        <para> These are (most of) the FUNCTIONS in the cansasXML.ipf code.The only functions of
325            interest are <emphasis role="bold">CS_XmlReader(fileName)</emphasis>which reads the
326            named XML file and and loads SAS data and the two demonstrationfunctions <emphasis
327                role="bold">prj_grabMyXmlData()</emphasis> and <emphasis role="bold"
328                >prjTest_cansas1d()</emphasis>that together show a usage example. </para>
329        <itemizedlist mark="opencircle">
330            <listitem>
331                <para>
332                    <emphasis role="bold">CS_XmlReader(fileName)</emphasis> : open a canSAS 1-D
333                    reduced SAS XML data file </para>
334            </listitem>
335        </itemizedlist>
336        <itemizedlist mark="opencircle">
337            <listitem>
338                <para> input: <emphasis>fileName</emphasis> (string) name of canSAS XML file (can
339                    include file system path name to file) </para>
340            </listitem>
341            <listitem>
342                <para> returns: </para>
343                <itemizedlist mark="opencircle">
344                    <listitem>
345                        <para> 0 successful </para>
346                    </listitem>
347                    <listitem>
348                        <para> -1: XML file not found </para>
349                    </listitem>
350                    <listitem>
351                        <para> -2: root element is not SASroot with valid canSAS namespace </para>
352                    </listitem>
353                    <listitem>
354                        <para> -3: SASroot version is not 1.0 </para>
355                    </listitem>
356                    <listitem>
357                        <para> -4: no SASentry elements (NOT USED NOW) </para>
358                    </listitem>
359                    <listitem>
360                        <para> -5: XOPutils needs upgrade </para>
361                    </listitem>
362                </itemizedlist>
363            </listitem>
364        </itemizedlist>
365        <itemizedlist mark="opencircle">
366            <listitem>
367                <para> CS_1i_parseXml(fileID) : <emphasis role="bold">This is what guides the
368                        work</emphasis>, given a file ID returned from <emphasis role="bold"
369                        >XMLOpenFile()</emphasis>, parses that file for SAS data and metadata (1i in
370                    the function name signifies this is a function that supports INPUT from version
371                    1.0 XML files) </para>
372            </listitem>
373            <listitem>
374                <para> CS_1i_getOneSASdata(fileID, Title, SASdataPath) : harvest the data and
375                    metadata in the specific SASdata element </para>
376            </listitem>
377            <listitem>
378                <para> CS_1i_getOneVector(file,prefix,XML_name,Igor_name) : harvest just one column
379                    (vector) of data </para>
380            </listitem>
381            <listitem>
382                <para> CS_1i_GetReducedSASdata(fileID, SASdataPath) : grab the data and put it in
383                    the working data folder </para>
384            </listitem>
385            <listitem>
386                <para> CS_1i_locateTitle(fileID, SASentryPath) : determine the title for this
387                    experiment </para>
388            </listitem>
389            <listitem>
390                <para> CS_appendMetaData(fileID, key, xpath, value) : queries XML file for <emphasis
391                        role="bold">xpath</emphasis>. If <emphasis role="bold">value</emphasis> is
392                    not empty, appends it to <emphasis role="bold">metadata</emphasis> where
393                        <emphasis>last</emphasis> is the new last row: metadata[last][0]=key;
394                    metadata[last][1]=value </para>
395            </listitem>
396            <listitem>
397                <para> CS_buildXpathStr(prefix, value) : this function can be used only with very
398                    simple XPath constructions </para>
399            </listitem>
400            <listitem>
401                <para> CS_cleanFolderName(proposal) : given a proposal string, returns a candidate
402                    folder name for immediate use </para>
403            </listitem>
404            <listitem>
405                <para> CS_findElementIndex(matchStr) : looks for element index in structure
406                        <emphasis>W_ElementList</emphasis> returned from call to <emphasis
407                        role="bold">XmlElemList(fileID)</emphasis>
408                </para>
409            </listitem>
410            <listitem>
411                <para> CS_getDefaultNamespace(fileID) : returns the string containing the default
412                    namespace for the XML file </para>
413            </listitem>
414            <listitem>
415                <para> CS_registerNameSpaces() : Builds a table of all namespaces used in the XML
416                    file and appends <emphasis role="bold">W_ElementList</emphasis> with full
417                    namespace-xpath string for each element. </para>
418            </listitem>
419            <listitem>
420                <para> CS_simpleXmlListXpath(fileID, prefix, value) : Calls <emphasis role="bold"
421                        >XMLlistXpath()</emphasis> with proper namespace prefix attached. </para>
422            </listitem>
423            <listitem>
424                <para> CS_simpleXmlWaveFmXpath(fileID, prefix, value) : Calls <emphasis role="bold"
425                        >XMLwaveFmXpath()</emphasis> with proper namespace prefix attached. </para>
426            </listitem>
427            <listitem>
428                <para> CS_updateWaveNote(wavName, key, value) : adds (or replaces) definition of
429                        <emphasis>key</emphasis>=<emphasis>value</emphasis> in the wave note of
430                        <emphasis>wavName</emphasis>
431                </para>
432            </listitem>
433            <listitem>
434                <para> CS_XmlStrFmXpath(fileID, prefix, value) : Calls <emphasis role="bold"
435                        >XmlStrFmXpath()</emphasis> with proper namespace prefix attached. Trims the
436                    result string. </para>
437            </listitem>
438            <listitem>
439                <para> CS_XPath_NS(simpleStr) : this function adds namespace info as necessary to
440                    simpleStr (an XPath) </para>
441            </listitem>
442            <listitem>
443                <para> TrimWS(str) : Calls <emphasis role="bold">TrimWSL(TrimWSR(str))</emphasis>
444                </para>
445            </listitem>
446            <listitem>
447                <para> TrimWSL(str) : Trims white space from left (leading) end of <emphasis
448                        role="bold">str</emphasis>
449                </para>
450            </listitem>
451            <listitem>
452                <para> TrimWSR(str) : Trims white space from right (trailing) end of <emphasis
453                        role="bold">str</emphasis>
454                </para>
455            </listitem>
456            <listitem>
457                <para> prjTest_cansas1d() : Demonstration function that calls <emphasis role="bold"
458                        >CS_XmlReader(fileName)</emphasis> for many of the test data sets. </para>
459            </listitem>
460            <listitem>
461                <para> prj_grabMyXmlData() : Demonstration function that moves loaded data from
462                    root:Packages:CS_XMLreader to a user's data folder. (In this
463                        <emphasis>example</emphasis>, that folder is root:PRJ_canSAS.) </para>
464            </listitem>
465            <listitem>
466                <para> testCollette() : Demonstration function that reads an ISIS/LOQ file and
467                    copies the data to the root folder a la COLLETE </para>
468            </listitem>
469        </itemizedlist>
470    </section>
471    <section>
472        <title>Example test case</title>
473        <para> Here is an example running the test routine <emphasis role="bold"
474                >prjTest_cansas1d()</emphasis>.
475            <programlisting>
476•prjTest_cansas1d()
477XMLopenfile: File(path) to open doesn't exist, or file can't be opened
478elmo.xml either not found or cannot be opened for reading
479    Completed in 0.00669666 seconds
480XMLopenfile: XML file was not parseable
481cansasXML.ipf: failed to parse XML
482    Completed in 0.0133704 seconds
483root element is not SASroot with valid canSAS namespace
484    Completed in 0.0134224 seconds
485bimodal-test1.xml                identified as: cansas1d/1.0 XML file
486    Title: SAS bimodal test1
487    Completed in 0.068654 seconds
488root element is not SASroot with valid canSAS namespace
489    Completed in 0.0172572 seconds
490root element is not SASroot with valid canSAS namespace
491    Completed in 0.0123102 seconds
492root element is not SASroot with valid canSAS namespace
493    Completed in 0.00930118 seconds
494ISIS_SANS_Example.xml            identified as: cansas1d/1.0 XML file
495    Title: standard can 12mm SANS
496    Completed in 0.0410387 seconds
497W1W2.xml                 identified as: cansas1d/1.0 XML file
498    Title: standard can 12mm SANS
499    Title: TK49 standard 12mm SANS
500    Completed in 0.0669074 seconds
501ill_sasxml_example.xml           identified as: cansas1d/1.0 XML file
502    Title: ILL-D22 example: 7D1 2mm
503    Completed in 0.0332752 seconds
504isis_sasxml_example.xml                  identified as: cansas1d/1.0 XML file
505    Title: LOQ TK49 Standard 12mm C9
506    Completed in 0.0388868 seconds
507r586.xml                 identified as: cansas1d/1.0 XML file
508    Title: ILL-D11 example1: 2A 5mM 0%D2O
509    Completed in 0.0213737 seconds
510r597.xml                 identified as: cansas1d/1.0 XML file
511    Title: ILL-D11 example2: 2A 5mM 0%D2O
512    Completed in 0.0221894 seconds
513xg009036_001.xml                 identified as: cansas1d/1.0 XML file
514    Title: det corrn 5m
515    Completed in 0.0286721 seconds
516cs_collagen.xml                  identified as: cansas1d/1.0 XML file
517    Title: dry chick collagen, d = 673 A, 6531 eV, X6B
518    Completed in 0.0296247 seconds
519cs_collagen_full.xml             identified as: cansas1d/1.0 XML file
520    Title: dry chick collagen, d = 673 A, 6531 eV, X6B
521    Completed in 0.0751836 seconds
522cs_af1410.xml            identified as: cansas1d/1.0 XML file
523    Title: AF1410-10 (AF1410 steel aged 10 h)
524    Title: AF1410-8h (AF1410 steel aged 8 h)
525    Title: AF1410-qu (AF1410 steel aged 0.25 h)
526    Title: AF1410-cc (AF1410 steel aged 100 h)
527    Title: AF1410-2h (AF1410 steel aged 2 h)
528    Title: AF1410-50 (AF1410 steel aged 50 h)
529    Title: AF1410-20 (AF1410 steel aged 20 h)
530    Title: AF1410-5h (AF1410 steel aged 5 h)
531    Title: AF1410-1h (AF1410 steel aged 1 h)
532    Title: AF1410-hf (AF1410 steel aged 0.5 h)
533    Completed in 0.338425 seconds
534XMLopenfile: File(path) to open doesn't exist, or file can't be opened
535cansas1d-template.xml either not found or cannot be opened for reading
536    Completed in 0.00892823 seconds
5371998spheres.xml                  identified as: cansas1d/1.0 XML file
538    Title: 255 nm PS spheres
539    Title: 460 nm PS spheres
540    Completed in 2.87649 seconds
541XMLopenfile: File(path) to open doesn't exist, or file can't be opened
542does-not-exist-file.xml either not found or cannot be opened for reading
543    Completed in 0.00404549 seconds
544cs_rr_polymers.xml               identified as: cansas1d/1.0 XML file
545    Title: Round Robin Polymer A
546    Title: Round Robin Polymer B
547    Title: Round Robin Polymer C
548    Title: Round Robin Polymer D
549    Completed in 0.0943477 seconds
550s81-polyurea.xml                 identified as: cansas1d/1.0 XML file
551    Title: S7 Neat Polyurea
552    Completed in 0.0361616 seconds
553            </programlisting></para>
554    </section>
555    <section>
556        <title>Graphical User Interface</title>
557        <para> At least two groups are working on graphical user interfaces that use the canSAS 1-D
558            SAS XML format binding to IgorPro. The GUIs are intended to be used with their suites of
559            SAS analysis tools (and hide the detailsof using this support code from the user). </para>
560        <para> NOTE: There is no support yet for writing the data back into the canSAS format.
561            Several details need to be described, and theseare being collected on the discussion
562            page for the XML format </para>
563        <section>
564            <title>Irena tool suite</title>
565            <para> Jan Ilavsky's <emphasis role="bold">Irena</emphasis> tool suite
566                (http://usaxs.xor.aps.anl.gov/staff/ilavsky/irena.html) for IgorPro has a GUI to
567                load the data found in the XML file. Refer to the WWW site for more details. </para>
568        </section>
569    </section>
570</section>
Note: See TracBrowser for help on using the repository browser.