Talk:Data Formats Working Group: Difference between revisions
From canSAS
(items moved from main page) |
(three ways to declare the SASdata units) |
||
Line 1: | Line 1: | ||
---- | |||
==Which way to declare the units?== | |||
--[[User:Jemian|Jemian]] 18:06, 17 December 2007 (EST) | |||
===In the Idata tag=== | |||
<pre> | |||
<SASdata> | |||
<Idata> | |||
<Q units="1/A"></Q> | |||
<I units="1/cm"></I> | |||
<Qdev units="1/A"></Qdev> | |||
<Idev units="1/cm"></Idev> | |||
<Qfwhm units="1/A"><!-- Qfwhm is optional --></Qfwhm> | |||
<Qmean units="1/A"><!-- Qmean is optional --></Qmean> | |||
<ShadowFactor units="1/A"><!-- ShadowFactor is optional --></ShadowFactor> | |||
</Idata> | |||
</SASdata> | |||
</pre> | |||
===As attributes of the SASdata tag=== | |||
<pre> | |||
<SASdata | |||
entries="Q:I:Qdev:Idev:Qfwhm:Qmean:ShadowFactor" | |||
units="1/A:1/cm:1/A:1/cm:1/A:1/A:1/A"> | |||
<Idata> | |||
<Q></Q> | |||
<I></I> | |||
<Qdev></Qdev> | |||
<Idev></Idev> | |||
<Qfwhm><! Qfwhm is optional ></Qfwhm> | |||
<Qmean><!-- Qmean is optional --></Qmean> | |||
<ShadowFactor><!-- ShadowFactor is optional --></ShadowFactor> | |||
</Idata> | |||
</SASdata> | |||
</pre> | |||
===As axis declarations within the SASdata tag=== | |||
<pre> | |||
<SASdata> | |||
<axis name="Q" units="1/A" type="Idata" /> | |||
<axis name="I" units="1/cm" type="Idata" /> | |||
<axis name="Qdev" units="1/A" type="constant" >0.000085</axis> | |||
<axis name="Idev" units="1/cm" type="Idata" /> | |||
<axis name="Qfwhm" units="1/A" type="constant" >0.000191</axis> | |||
<axis name="Qmean" units="1/A" type="undefined" /> | |||
<axis name="ShadowFactor" units="1/A" type="undefined" /> | |||
<Idata> | |||
<Q></Q> | |||
<I></I> | |||
<Qdev></Qdev> | |||
<Idev></Idev> | |||
<Qfwhm><! Qfwhm is optional ></Qfwhm> | |||
<Qmean><!-- Qmean is optional --></Qmean> | |||
<ShadowFactor><!-- ShadowFactor is optional --></ShadowFactor> | |||
</Idata> | |||
</SASdata> | |||
</pre> | |||
---- | ---- | ||
--[[User:Jemian|Jemian]] 12:01, 14 December 2007 (EST) items moved from main page | --[[User:Jemian|Jemian]] 12:01, 14 December 2007 (EST) items moved from main page | ||
==Considerations== | |||
* a key point of what we discussed at NIST: | * a key point of what we discussed at NIST: | ||
namely that our goal is to agree a format which that whilst using as much best XML practice as is reasonable, leaves the file instantly human-readable, editable in the simplest of editors, and importable by simple text import filters in programs that don't recognise the XML. | namely that our goal is to agree a format which that whilst using as much best XML practice as is reasonable, leaves the file instantly human-readable, editable in the simplest of editors, and importable by simple text import filters in programs that don't recognise the XML. |
Revision as of 23:06, 17 December 2007
Which way to declare the units?
--Jemian 18:06, 17 December 2007 (EST)
In the Idata tag
<SASdata> <Idata> <Q units="1/A"></Q> <I units="1/cm"></I> <Qdev units="1/A"></Qdev> <Idev units="1/cm"></Idev> <Qfwhm units="1/A"><!-- Qfwhm is optional --></Qfwhm> <Qmean units="1/A"><!-- Qmean is optional --></Qmean> <ShadowFactor units="1/A"><!-- ShadowFactor is optional --></ShadowFactor> </Idata> </SASdata>
As attributes of the SASdata tag
<SASdata entries="Q:I:Qdev:Idev:Qfwhm:Qmean:ShadowFactor" units="1/A:1/cm:1/A:1/cm:1/A:1/A:1/A"> <Idata> <Q></Q> <I></I> <Qdev></Qdev> <Idev></Idev> <Qfwhm><! Qfwhm is optional ></Qfwhm> <Qmean><!-- Qmean is optional --></Qmean> <ShadowFactor><!-- ShadowFactor is optional --></ShadowFactor> </Idata> </SASdata>
As axis declarations within the SASdata tag
<SASdata> <axis name="Q" units="1/A" type="Idata" /> <axis name="I" units="1/cm" type="Idata" /> <axis name="Qdev" units="1/A" type="constant" >0.000085</axis> <axis name="Idev" units="1/cm" type="Idata" /> <axis name="Qfwhm" units="1/A" type="constant" >0.000191</axis> <axis name="Qmean" units="1/A" type="undefined" /> <axis name="ShadowFactor" units="1/A" type="undefined" /> <Idata> <Q></Q> <I></I> <Qdev></Qdev> <Idev></Idev> <Qfwhm><! Qfwhm is optional ></Qfwhm> <Qmean><!-- Qmean is optional --></Qmean> <ShadowFactor><!-- ShadowFactor is optional --></ShadowFactor> </Idata> </SASdata>
--Jemian 12:01, 14 December 2007 (EST) items moved from main page
Considerations
- a key point of what we discussed at NIST:
namely that our goal is to agree a format which that whilst using as much best XML practice as is reasonable, leaves the file instantly human-readable, editable in the simplest of editors, and importable by simple text import filters in programs that don't recognise the XML.
- document what we decide
- 1DWG will take care of documenting the format it defines.
- make that definition with a schema (for absolute validation of any proposed XML file against the standard)
- instructions on how to use that schema
- XSL style sheets to present the XML contents in various forms (also serves as examples)
- a couple of examples
- maybe also some words.
- move some of this discussion to
- discussion page
- other wiki pages
- /dev/null after its usefulness has been exhausted
- 1DWG will take care of documenting the format it defines.
- coordinate with other communities
- NeXus (http://www.nexusformat.org)
- reflectivity
- powder diffraction
- should we consider a file naming convention?
- should we consider a SAS scan naming convention?
- sequential run number from facility
- convention set by the detector software provider
- XML representation of the I vs. Q data
- tabular format
- vector format
- general XML coding style
- readability by humans
- with lots of computer skills
- with rudimentary computer skills
- readability by computers
- standard XML libraries
- generic visualization tools
- common software such as MS Excel or Open Office or XMLPLO source code for windows/linux/OSX86
- A plugin for IGOR has been written, XMLutils.xop, that can handle XML data. The sasXML and IGOR page gives details on the IGOR code required to write the prototype sasXML file.
- availability of style sheets
- readability by humans
- scalability of XML format to 2D data?
- What is required?
- What is optional?
- Use the same tags again in similar contexts
- X,Y pairs for example, whether detector position, beam center, sample position
inconsistent | consistent |
---|---|
<beam_size axis="x" units="mm">12.00</beam_size> <beam_size axis="y" units="mm">12.00</beam_size> <x0 units="mm">322.64</x0> <y0 units="mm">327.68</y0> <pixel_x units="mm">5.00</pixel_x> <pixel_y units="mm">5.00</pixel_y> |
<beam_size axis="x" units="mm">12.00</beam_size> <beam_size axis="y" units="mm">12.00</beam_size> <beam_center axis="x" units="mm">322.64</beam_center> <beam_center axis="y" units="mm">327.68</beam_center> <pixel_size axis="x" units="mm">5.00</pixel_size> <pixel_size axis="y" units="mm">5.00</pixel_size> |
Points for Discussion
- Do we want to advocate/recommend particular names for particular tags; eg, SASdata, SASsample, Idata, etc.?
- which ones?
- provide for (optional) inclusion of sample prep details
- provide for (optional) inclusion of other (non-SAS) data in the XML
- Need to allow for more than a single SAS data set in one .xml file
Other Points
- It's not clear how to specify that multiple runs were reduced together
- (AJJ) Assuming that those multiple runs were first stored as XML then referencing the individual files would give all that back information (a la Ghosh suggestion). At NIST we take absolute I vs Q files and combine them to produce an absolute I vs Q file thus that is reasonable here. What about elsewhere?
- How does one include the instrument information of the many runs that we used to make up the composite file
- If we have reduction information, then everything needs to be in there, i.e. the run numbers for the can, the standard, the uniform field, etc.
- Information on the averaging, is it radial, sector, rectangular, etc.