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

Last change on this file since 101 was 101, checked in by prjemian, 10 years ago

IgorPro? documentation converted

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