Changeset 42 for 1dwg


Ignore:
Timestamp:
May 19, 2008 3:47:36 PM (12 years ago)
Author:
prjemian
Message:

describe better what the IgorPro? XML reader does and how the data is structured in IgorPro?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 1dwg/trunk/IgorPro/readme.wiki

    r41 r42  
    104104<nowiki>...\Wavemetrics\Igor Pro Folder\Igor Extensions</nowiki>.  
    105105 
     106== What it does == 
     107 
     108Given an XML file, '''CS_XmlReader(fileName)''' attempts to open the file 
     109and read its contents as if it conformed to the canSAS XML standard for 
     110reduced 1-D SAS data (cansas1d/1.0, also known as SASXML).  If the file is  
     111found to be non-conforming, then '''CS_XmlReader(fileName)''' returns with an 
     112error code (show below), otherwise it returns '''0''' that indicates ''no error''. 
     113All data read by this code is left in the IgorPro data folder  
     114'''''root:Packages:CS_XMLreader''''' for pickup by the calling routine. 
     115(Two examples are provided to show how a routine might retrieve the data.) 
     116 
     117After opening the XML file (with a file identifier ''fileID''), control is  
     118passed to '''CS_1i_parseXml(fileID)''' which then walks through the XML 
     119elements.  For each '''SASentry''' in the file, a new data folder is created 
     120with the name derived from the Title element (or best effort determination). 
     121Efforts are taken to avoid duplication of data folder names (using standard  
     122IgorPro routines).  For '''SASentry''' elements that contain  more than one SASdata 
     123element, a '''SASdata''' folder is created for each and the corresponding ''I(Q)''  
     124is placed in that subfolder.  When only one '''SASdata''' is found, the ''I(Q)'' 
     125data is placed in the main ''Title'' folder. 
     126 
     127=== data columns === 
     128 
     129Each column of data in the '''SASdata/Idata/*''' table is placed into a single 
     130IgorPro wave.  At present, the code does not check for non-standard data columns. 
     131(The capability is built into the code but is deactivated at present). 
     132 
     133=== metadata === 
     134 
     135Additional metadata is collected into a single text wave (''metadata'') where the first column 
     136is an identifier (or ''key'') and the second identifier is the ''value''.  Only 
     137those keys with non-empty values are retained in the metadata table. 
     138'''CAUTION:''' The ''values'' are not checked for characters that may cause trouble when 
     139placed in a wave note.  This will be the responsibility of the calling routine 
     140to ''clean these up'' if the need arises. 
     141 
     142The code checks for most metadata elements and will check for repeated elements 
     143where the standard permits. 
     144 
     145Here is an example of the metadata for the [[cansas1d_casestudy_collagen | ''cs_collagen_full.xml'']] data: 
     146 
     147{| {{Tablestyle}} 
     148|- 
     149! {{Headcellstyle}} | ''i'' (''row'') 
     150! {{Headcellstyle}} | metadata[''i''][0] (''key'') 
     151! {{Headcellstyle}} | metadata[''i''][1] (''value'') 
     152|- 
     153|| 0 
     154|| xmlFile 
     155|| cs_collagen_full.xml 
     156|- 
     157|| 1 
     158|| namespace 
     159|| cansas1d/1.0 
     160|- 
     161|| 2 
     162|| Title 
     163|| dry chick collagen, d = 673 A, 6531 eV, X6B 
     164|- 
     165|| 3 
     166|| Run 
     167|| Sep 19 1994     01:41:02 am 
     168|- 
     169|| 4 
     170|| SASsample/ID 
     171|| dry chick collagen, d = 673 A, 6531 eV, X6B 
     172|- 
     173|| 5 
     174|| SASinstrument/name 
     175|| X6B, NSLS, BNL 
     176|- 
     177|| 6 
     178|| SASinstrument/SASsource/radiation 
     179|| X-ray synchrotron 
     180|- 
     181|| 7 
     182|| SASinstrument/SASsource/wavelength 
     183|| 1.898 
     184|- 
     185|| 8 
     186|| SASinstrument/SASsource/wavelength/@unit 
     187|| A 
     188|- 
     189|| 9 
     190|| SASinstrument/SASdetector/@name 
     191|| X6B PSD 
     192|- 
     193|| 10 
     194|| SASnote 
     195|| <pre>Sep 19 1994     01:41:02 am     Elt: 00090 Seconds  
     196ID: No spectrum identifier defined 
     197Memory Size: 8192 Chls  Conversion Gain: 1024  Adc Offset: 0000 Chls 
     198 
     199dry chick collagen, d = 673 A 
     2006531 eV, X6B</pre> 
     201|- 
     202|} 
     203 
     204=== XML foreign namespace elements === 
     205 
     206These are ignored at this time. 
     207 
     208=== XML namespace and header === 
     209 
     210The routine does a ''best-efforts'' check to ensure that the given 
     211XML file conforms to the [[cansas1d_documentation#Required_XML_file_header | 
     212required XML file header]].  If you take a minimalist view (''a.k.a.'' a shortcut), 
     213it is likely that your file may be refused by this and other readers.   
     214Pay particular attention to  
     215UPPER/lower case in the text '''cansas1d/1.0''' as this is a '''key component''' used to 
     216index through the XML file. 
    106217 
    107218==  List of Functions  == 
Note: See TracChangeset for help on using the changeset viewer.