Changeset 99


Ignore:
Timestamp:
Sep 25, 2009 5:14:06 PM (10 years ago)
Author:
prjemian
Message:

IgorPro? documentation, refs #19

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 1dwg/trunk/doc/cansas1d_binding_IgorPro.xml

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