Index: dev/api/sas.dataloader.readers.html
===================================================================
--- dev/api/sas.dataloader.readers.html	(revision a462c6a6616628a6536b55fc2886d9ab1224149a)
+++ dev/api/sas.dataloader.readers.html	(revision a462c6a6616628a6536b55fc2886d9ab1224149a)
@@ -0,0 +1,1486 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>sas.dataloader.readers package &mdash; SasView 3.0.0 documentation</title>
+    
+    <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
+    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../',
+        VERSION:     '3.0.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../_static/doctools.js"></script>
+    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+    <link rel="top" title="SasView 3.0.0 documentation" href="../../index.html" />
+    <link rel="up" title="sas.dataloader package" href="sas.dataloader.html" />
+    <link rel="next" title="sas.fit package" href="sas.fit.html" />
+    <link rel="prev" title="sas.dataloader package" href="sas.dataloader.html" /> 
+  </head>
+  <body>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../../genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="../../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="right" >
+          <a href="sas.fit.html" title="sas.fit package"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="sas.dataloader.html" title="sas.dataloader package"
+             accesskey="P">previous</a> |</li>
+        <li><a href="../../index.html">SasView 3.0.0 documentation</a> &raquo;</li>
+          <li><a href="../dev.html" >Developer Documentation</a> &raquo;</li>
+          <li><a href="modules.html" >lib.macosx-10.5-x86_64-2.7</a> &raquo;</li>
+          <li><a href="sas.html" >sas package</a> &raquo;</li>
+          <li><a href="sas.dataloader.html" accesskey="U">sas.dataloader package</a> &raquo;</li> 
+      </ul>
+    </div>  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="sas-dataloader-readers-package">
+<h1>sas.dataloader.readers package</h1>
+<div class="section" id="submodules">
+<h2>Submodules</h2>
+</div>
+<div class="section" id="module-sas.dataloader.readers.IgorReader">
+<span id="sas-dataloader-readers-igorreader-module"></span><h2>sas.dataloader.readers.IgorReader module</h2>
+<p>IGOR 2D reduced file reader</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.IgorReader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.IgorReader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/IgorReader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Simple data reader for Igor data files</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.IgorReader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.ASC', '.asc']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.IgorReader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>filename=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/IgorReader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Read file</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.IgorReader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['IGOR 2D files (*.ASC)|*.ASC']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.IgorReader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'IGOR 2D'</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.abs_reader">
+<span id="sas-dataloader-readers-abs-reader-module"></span><h2>sas.dataloader.readers.abs_reader module</h2>
+<dl class="class">
+<dt id="sas.dataloader.readers.abs_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.abs_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/abs_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Class to load IGOR reduced .ABS files</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.abs_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.abs', '.ABS']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.abs_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>path</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/abs_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Load data file.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>path</strong> &#8211; file path</p>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Data1D object, or None</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><ul class="first last simple">
+<li><strong>RuntimeError</strong> &#8211; when the file can&#8217;t be opened</li>
+<li><strong>ValueError</strong> &#8211; when the length of the data vectors are inconsistent</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.abs_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['IGOR 1D files (*.abs)|*.abs']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.abs_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'IGOR 1D'</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.ascii_reader">
+<span id="sas-dataloader-readers-ascii-reader-module"></span><h2>sas.dataloader.readers.ascii_reader module</h2>
+<p>ASCII reader</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.ascii_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.ascii_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/ascii_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Class to load ascii files (2, 3 or 4 columns).</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.ascii_reader.Reader.allow_all">
+<tt class="descname">allow_all</tt><em class="property"> = True</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.ascii_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.txt', '.TXT', '.dat', '.DAT', '.abs', '.ABS', 'csv', 'CSV']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.ascii_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>path</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/ascii_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Load data file</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>path</strong> &#8211; file path</p>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Data1D object, or None</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><ul class="first last simple">
+<li><strong>RuntimeError</strong> &#8211; when the file can&#8217;t be opened</li>
+<li><strong>ValueError</strong> &#8211; when the length of the data vectors are inconsistent</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.ascii_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['ASCII files (*.txt)|*.txt', 'ASCII files (*.dat)|*.dat', 'ASCII files (*.abs)|*.abs', 'CSV files (*.csv)|*.csv']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.ascii_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'ASCII'</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.associations">
+<span id="sas-dataloader-readers-associations-module"></span><h2>sas.dataloader.readers.associations module</h2>
+<p>Module to associate default readers to file extensions.
+The module reads an xml file to get the readers for each file extension.
+The readers are tried in order they appear when reading a file.</p>
+<dl class="function">
+<dt id="sas.dataloader.readers.associations.read_associations">
+<tt class="descclassname">sas.dataloader.readers.associations.</tt><tt class="descname">read_associations</tt><big>(</big><em>loader</em>, <em>settings='defaults.xml'</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/associations.html#read_associations"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Read the specified settings file to associate
+default readers to file extension.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>loader</strong> &#8211; Loader object</li>
+<li><strong>settings</strong> &#8211; path to the XML settings file [string]</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="sas.dataloader.readers.associations.register_readers">
+<tt class="descclassname">sas.dataloader.readers.associations.</tt><tt class="descname">register_readers</tt><big>(</big><em>registry_function</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/associations.html#register_readers"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Function called by the registry/loader object to register
+all default readers using a call back function.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">WARNING:</th><td class="field-body">this method is now obsolete</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Parameters:</th><td class="field-body"><strong>registry_function</strong> &#8211; function to be called to register each reader</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.cansas_constants">
+<span id="sas-dataloader-readers-cansas-constants-module"></span><h2>sas.dataloader.readers.cansas_constants module</h2>
+<p>Information relating to the CanSAS data format. These constants are used in
+the cansas_reader.py file to read in any version of the cansas format.</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.cansas_constants.</tt><tt class="descname">CansasConstants</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_constants.html#CansasConstants"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>The base class to define where all of the data is to be saved by
+cansas_reader.py.</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.ANY">
+<tt class="descname">ANY</tt><em class="property"> = {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.CANSAS_FORMAT">
+<tt class="descname">CANSAS_FORMAT</tt><em class="property"> = {'SASentry': {'variable': None, 'attributes': {'name': {'variable': '{0}.run_name[node_value] = &quot;{1}&quot;'}}, 'units_optional': True, 'storeas': 'content', 'children': {'SASsample': {'variable': None, 'attributes': {'name': {'variable': '{0}.sample.name = &quot;{1}&quot;'}}, 'children': {'&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'orientation': {'variable': None, 'children': {'yaw': {'variable': '{0}.sample.orientation.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}, 'roll': {'variable': '{0}.sample.orientation.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}, 'pitch': {'variable': '{0}.sample.orientation.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}}}, 'temperature': {'variable': '{0}.sample.temperature = {1}', 'attributes': {'unit': {'variable': '{0}.sample.temperature_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.temperature_unit'}, 'transmission': {'variable': '{0}.sample.transmission = {1}', 'storeas': 'float'}, 'position': {'children': {'variable': None, 'x': {'variable': '{0}.sample.position.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}, 'z': {'variable': '{0}.sample.position.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}, 'y': {'variable': '{0}.sample.position.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}}}, 'details': {'variable': '{0}.sample.details.append(&quot;{1}&quot;)'}, 'ID': {'variable': '{0}.sample.ID = &quot;{1}&quot;'}, 'thickness': {'variable': '{0}.sample.thickness = {1}', 'attributes': {'unit': {'variable': '{0}.sample.thickness_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.thickness_unit'}}}, 'SASinstrument': {'variable': None, 'children': {'variable': None, 'SAScollimation': {'variable': None, 'attributes': {'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'aperture': {'variable': None, 'attributes': {'type': {'variable': '{0}.type = &quot;{1}&quot;'}, 'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'distance': {'variable': '{0}.distance = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'distance_unit'}, 'size': {'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.size.y = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'x': {'variable': '{0}.size.x = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'z': {'variable': '{0}.size.z = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'storeas': 'float'}}}}, 'length': {'variable': '{0}.length = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.length_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'length_unit'}}}, 'SASdetector': {'variable': None, 'attributes': {'name': {'variable': '{0}.name = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'children': {'orientation': {'variable': None, 'children': {'yaw': {'variable': '{0}.orientation.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'roll': {'variable': '{0}.orientation.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'pitch': {'variable': '{0}.orientation.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}}}, 'beam_center': {'variable': None, 'children': {'y': {'variable': '{0}.beam_center.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'x': {'variable': '{0}.beam_center.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'z': {'variable': '{0}.beam_center.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}}}, 'SDD': {'variable': '{0}.distance = {1}', 'attributes': {'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'distance_unit'}, 'slit_length': {'variable': '{0}.slit_length = {1}', 'attributes': {'unit': {'variable': '{0}.slit_length_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'slit_length_unit'}, 'offset': {'variable': None, 'children': {'y': {'variable': '{0}.offset.y = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'x': {'variable': '{0}.offset.x = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'z': {'variable': '{0}.offset.z = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}}}, 'pixel_size': {'variable': None, 'children': {'y': {'variable': '{0}.pixel_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'x': {'variable': '{0}.pixel_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'z': {'variable': '{0}.pixel_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}}}, 'name': {'variable': '{0}.name = &quot;{1}&quot;', 'storeas': 'content'}}}, 'name': {'variable': '{0}.instrument = &quot;{1}&quot;'}, 'SASsource': {'variable': None, 'attributes': {'name': {'variable': '{0}.source.name = &quot;{1}&quot;'}}, 'children': {'wavelength_max': {'variable': '{0}.source.wavelength_max = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_max_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_max_unit'}, 'radiation': {'variable': '{0}.source.radiation = &quot;{1}&quot;'}, 'wavelength_spread': {'variable': '{0}.source.wavelength_spread = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_spread_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_spread_unit'}, 'beam_size': {'variable': None, 'attributes': {'name': {'variable': '{0}.source.beam_size_name = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.source.beam_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'x': {'variable': '{0}.source.beam_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'z': {'variable': '{0}.source.beam_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}}}, 'wavelength': {'variable': '{0}.source.wavelength = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_unit'}, 'wavelength_min': {'variable': '{0}.source.wavelength_min = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_min_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_min_unit'}, 'beam_shape': {'variable': '{0}.source.beam_shape = &quot;{1}&quot;'}}}}}, 'Run': {'variable': '{0}.run.append(&quot;{1}&quot;)', 'attributes': {'name': {'variable': '{0}.run_name[node_value] = &quot;{1}&quot;'}}}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'Title': {'variable': '{0}.title = &quot;{1}&quot;'}, 'SASnote': {'variable': &quot;{0}.notes.append('{1}')&quot;}, 'SAStransmission_spectrum': {'variable': None, 'attributes': {'timestamp': {'variable': '{0}.timestamp = &quot;{1}&quot;'}, 'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'Tdata': {'variable': None, 'storeas': 'float', 'children': {'Tdev': {'variable': '{0}.transmission_deviation.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_deviation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_deviation_unit'}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'T': {'variable': '{0}.transmission.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_unit'}, 'Lambda': {'variable': '{0}.wavelength.append({1})', 'attributes': {'unit': {'variable': '{0}.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'wavelength_unit'}}}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}}}, 'SASdata': {'variable': None, 'attributes': {'name': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;'}}, 'children': {'Idata': {'variable': None, 'attributes': {'timestamp': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'timestamp'}, 'name': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'units_optional': False, 'storeas': 'float', 'children': {'Q': {'variable': '{0}.x = numpy.append({0}.x, {1})', 'attributes': {'unit': {'variable': '{0}._xunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'dQl': {'variable': '{0}.dxl = numpy.append({0}.dxl, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'Qdev': {'variable': '{0}.dx = numpy.append({0}.dx, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'dQw': {'variable': '{0}.dxw = numpy.append({0}.dxw, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'I': {'variable': '{0}.y = numpy.append({0}.y, {1})', 'attributes': {'unit': {'variable': '{0}._yunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}, 'Shadowfactor': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}, 'Idev': {'variable': '{0}.dy = numpy.append({0}.dy, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}, 'Qmean': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;'}}, 'storeas': 'content', 'unit': 'x_unit'}}}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}}}, 'SASprocess': {'variable': None, 'children': {'term': {'variable': None, 'attributes': {'name': {'variable': None}, 'unit': {'variable': None}}}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'description': {'variable': &quot;{0}.description = '{1}'&quot;}, 'SASprocessnote': {'variable': None, 'children': {'&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}}}, 'date': {'variable': &quot;{0}.date = '{1}'&quot;}, 'name': {'variable': &quot;{0}.name = '{1}'&quot;}}}}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.CANSAS_NS">
+<tt class="descname">CANSAS_NS</tt><em class="property"> = {'1.0': {'ns': 'cansas1d/1.0', 'schema': 'cansas1d_v1_0.xsd'}, '1.1': {'ns': 'urn:cansas1d:1.1', 'schema': 'cansas1d_v1_1.xsd'}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.META_DATA">
+<tt class="descname">META_DATA</tt><em class="property"> = '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;'</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.RUN">
+<tt class="descname">RUN</tt><em class="property"> = {'variable': '{0}.run.append(&quot;{1}&quot;)', 'attributes': {'name': {'variable': '{0}.run_name[node_value] = &quot;{1}&quot;'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA">
+<tt class="descname">SASDATA</tt><em class="property"> = {'variable': None, 'attributes': {'name': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;'}}, 'children': {'Idata': {'variable': None, 'attributes': {'timestamp': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'timestamp'}, 'name': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'units_optional': False, 'storeas': 'float', 'children': {'Q': {'variable': '{0}.x = numpy.append({0}.x, {1})', 'attributes': {'unit': {'variable': '{0}._xunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'dQl': {'variable': '{0}.dxl = numpy.append({0}.dxl, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'Qdev': {'variable': '{0}.dx = numpy.append({0}.dx, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'dQw': {'variable': '{0}.dxw = numpy.append({0}.dxw, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'I': {'variable': '{0}.y = numpy.append({0}.y, {1})', 'attributes': {'unit': {'variable': '{0}._yunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}, 'Shadowfactor': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}, 'Idev': {'variable': '{0}.dy = numpy.append({0}.dy, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}, 'Qmean': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;'}}, 'storeas': 'content', 'unit': 'x_unit'}}}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA">
+<tt class="descname">SASDATA_IDATA</tt><em class="property"> = {'variable': None, 'attributes': {'timestamp': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'timestamp'}, 'name': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'units_optional': False, 'storeas': 'float', 'children': {'Q': {'variable': '{0}.x = numpy.append({0}.x, {1})', 'attributes': {'unit': {'variable': '{0}._xunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'dQl': {'variable': '{0}.dxl = numpy.append({0}.dxl, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'Qdev': {'variable': '{0}.dx = numpy.append({0}.dx, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, 'dQw': {'variable': '{0}.dxw = numpy.append({0}.dxw, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'I': {'variable': '{0}.y = numpy.append({0}.y, {1})', 'attributes': {'unit': {'variable': '{0}._yunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}, 'Shadowfactor': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}, 'Idev': {'variable': '{0}.dy = numpy.append({0}.dy, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}, 'Qmean': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;'}}, 'storeas': 'content', 'unit': 'x_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_DQL">
+<tt class="descname">SASDATA_IDATA_DQL</tt><em class="property"> = {'variable': '{0}.dxl = numpy.append({0}.dxl, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_DQW">
+<tt class="descname">SASDATA_IDATA_DQW</tt><em class="property"> = {'variable': '{0}.dxw = numpy.append({0}.dxw, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_I">
+<tt class="descname">SASDATA_IDATA_I</tt><em class="property"> = {'variable': '{0}.y = numpy.append({0}.y, {1})', 'attributes': {'unit': {'variable': '{0}._yunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_IDEV">
+<tt class="descname">SASDATA_IDATA_IDEV</tt><em class="property"> = {'variable': '{0}.dy = numpy.append({0}.dy, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'y_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_Q">
+<tt class="descname">SASDATA_IDATA_Q</tt><em class="property"> = {'variable': '{0}.x = numpy.append({0}.x, {1})', 'attributes': {'unit': {'variable': '{0}._xunit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_QDEV">
+<tt class="descname">SASDATA_IDATA_QDEV</tt><em class="property"> = {'variable': '{0}.dx = numpy.append({0}.dx, {1})', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'x_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_QMEAN">
+<tt class="descname">SASDATA_IDATA_QMEAN</tt><em class="property"> = {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'attributes': {'unit': {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;'}}, 'storeas': 'content', 'unit': 'x_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASDATA_IDATA_SHADOWFACTOR">
+<tt class="descname">SASDATA_IDATA_SHADOWFACTOR</tt><em class="property"> = {'variable': '{0}.meta_data[&quot;{2}&quot;] = &quot;{1}&quot;', 'storeas': 'content'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR">
+<tt class="descname">SASINSTR</tt><em class="property"> = {'variable': None, 'children': {'variable': None, 'SAScollimation': {'variable': None, 'attributes': {'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'aperture': {'variable': None, 'attributes': {'type': {'variable': '{0}.type = &quot;{1}&quot;'}, 'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'distance': {'variable': '{0}.distance = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'distance_unit'}, 'size': {'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.size.y = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'x': {'variable': '{0}.size.x = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'z': {'variable': '{0}.size.z = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'storeas': 'float'}}}}, 'length': {'variable': '{0}.length = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.length_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'length_unit'}}}, 'SASdetector': {'variable': None, 'attributes': {'name': {'variable': '{0}.name = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'children': {'orientation': {'variable': None, 'children': {'yaw': {'variable': '{0}.orientation.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'roll': {'variable': '{0}.orientation.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'pitch': {'variable': '{0}.orientation.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}}}, 'beam_center': {'variable': None, 'children': {'y': {'variable': '{0}.beam_center.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'x': {'variable': '{0}.beam_center.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'z': {'variable': '{0}.beam_center.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}}}, 'SDD': {'variable': '{0}.distance = {1}', 'attributes': {'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'distance_unit'}, 'slit_length': {'variable': '{0}.slit_length = {1}', 'attributes': {'unit': {'variable': '{0}.slit_length_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'slit_length_unit'}, 'offset': {'variable': None, 'children': {'y': {'variable': '{0}.offset.y = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'x': {'variable': '{0}.offset.x = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'z': {'variable': '{0}.offset.z = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}}}, 'pixel_size': {'variable': None, 'children': {'y': {'variable': '{0}.pixel_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'x': {'variable': '{0}.pixel_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'z': {'variable': '{0}.pixel_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}}}, 'name': {'variable': '{0}.name = &quot;{1}&quot;', 'storeas': 'content'}}}, 'name': {'variable': '{0}.instrument = &quot;{1}&quot;'}, 'SASsource': {'variable': None, 'attributes': {'name': {'variable': '{0}.source.name = &quot;{1}&quot;'}}, 'children': {'wavelength_max': {'variable': '{0}.source.wavelength_max = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_max_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_max_unit'}, 'radiation': {'variable': '{0}.source.radiation = &quot;{1}&quot;'}, 'wavelength_spread': {'variable': '{0}.source.wavelength_spread = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_spread_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_spread_unit'}, 'beam_size': {'variable': None, 'attributes': {'name': {'variable': '{0}.source.beam_size_name = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.source.beam_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'x': {'variable': '{0}.source.beam_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'z': {'variable': '{0}.source.beam_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}}}, 'wavelength': {'variable': '{0}.source.wavelength = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_unit'}, 'wavelength_min': {'variable': '{0}.source.wavelength_min = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_min_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_min_unit'}, 'beam_shape': {'variable': '{0}.source.beam_shape = &quot;{1}&quot;'}}}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL">
+<tt class="descname">SASINSTR_COLL</tt><em class="property"> = {'variable': None, 'attributes': {'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'aperture': {'variable': None, 'attributes': {'type': {'variable': '{0}.type = &quot;{1}&quot;'}, 'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'distance': {'variable': '{0}.distance = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'distance_unit'}, 'size': {'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.size.y = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'x': {'variable': '{0}.size.x = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'z': {'variable': '{0}.size.z = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'storeas': 'float'}}}}, 'length': {'variable': '{0}.length = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.length_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'length_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL_APER">
+<tt class="descname">SASINSTR_COLL_APER</tt><em class="property"> = {'variable': None, 'attributes': {'type': {'variable': '{0}.type = &quot;{1}&quot;'}, 'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'distance': {'variable': '{0}.distance = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'distance_unit'}, 'size': {'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.size.y = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'x': {'variable': '{0}.size.x = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'z': {'variable': '{0}.size.z = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'storeas': 'float'}}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL_APER_ATTR">
+<tt class="descname">SASINSTR_COLL_APER_ATTR</tt><em class="property"> = {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL_APER_DIST">
+<tt class="descname">SASINSTR_COLL_APER_DIST</tt><em class="property"> = {'variable': '{0}.distance = {1}', 'attributes': {'storeas': 'content', 'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;'}}, 'storeas': 'float', 'unit': 'distance_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL_APER_SIZE">
+<tt class="descname">SASINSTR_COLL_APER_SIZE</tt><em class="property"> = {'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.size.y = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'x': {'variable': '{0}.size.x = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'z': {'variable': '{0}.size.z = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}, 'storeas': 'float'}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL_APER_X">
+<tt class="descname">SASINSTR_COLL_APER_X</tt><em class="property"> = {'variable': '{0}.size.x = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL_APER_Y">
+<tt class="descname">SASINSTR_COLL_APER_Y</tt><em class="property"> = {'variable': '{0}.size.y = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_COLL_APER_Z">
+<tt class="descname">SASINSTR_COLL_APER_Z</tt><em class="property"> = {'variable': '{0}.size.z = {1}', 'attributes': {'unit': {'variable': '{0}.size_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET">
+<tt class="descname">SASINSTR_DET</tt><em class="property"> = {'variable': None, 'attributes': {'name': {'variable': '{0}.name = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'children': {'orientation': {'variable': None, 'children': {'yaw': {'variable': '{0}.orientation.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'roll': {'variable': '{0}.orientation.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'pitch': {'variable': '{0}.orientation.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}}}, 'beam_center': {'variable': None, 'children': {'y': {'variable': '{0}.beam_center.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'x': {'variable': '{0}.beam_center.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'z': {'variable': '{0}.beam_center.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}}}, 'SDD': {'variable': '{0}.distance = {1}', 'attributes': {'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'distance_unit'}, 'slit_length': {'variable': '{0}.slit_length = {1}', 'attributes': {'unit': {'variable': '{0}.slit_length_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'slit_length_unit'}, 'offset': {'variable': None, 'children': {'y': {'variable': '{0}.offset.y = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'x': {'variable': '{0}.offset.x = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'z': {'variable': '{0}.offset.z = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}}}, 'pixel_size': {'variable': None, 'children': {'y': {'variable': '{0}.pixel_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'x': {'variable': '{0}.pixel_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'z': {'variable': '{0}.pixel_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}}}, 'name': {'variable': '{0}.name = &quot;{1}&quot;', 'storeas': 'content'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_BC">
+<tt class="descname">SASINSTR_DET_BC</tt><em class="property"> = {'variable': None, 'children': {'y': {'variable': '{0}.beam_center.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'x': {'variable': '{0}.beam_center.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}, 'z': {'variable': '{0}.beam_center.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_BC_X">
+<tt class="descname">SASINSTR_DET_BC_X</tt><em class="property"> = {'variable': '{0}.beam_center.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_BC_Y">
+<tt class="descname">SASINSTR_DET_BC_Y</tt><em class="property"> = {'variable': '{0}.beam_center.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_BC_Z">
+<tt class="descname">SASINSTR_DET_BC_Z</tt><em class="property"> = {'variable': '{0}.beam_center.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.beam_center_unit = &quot;{1}&quot;'}, 'unit': 'beam_center_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OFF">
+<tt class="descname">SASINSTR_DET_OFF</tt><em class="property"> = {'variable': None, 'children': {'y': {'variable': '{0}.offset.y = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'x': {'variable': '{0}.offset.x = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}, 'z': {'variable': '{0}.offset.z = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OFF_ATTR">
+<tt class="descname">SASINSTR_DET_OFF_ATTR</tt><em class="property"> = {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OFF_X">
+<tt class="descname">SASINSTR_DET_OFF_X</tt><em class="property"> = {'variable': '{0}.offset.x = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OFF_Y">
+<tt class="descname">SASINSTR_DET_OFF_Y</tt><em class="property"> = {'variable': '{0}.offset.y = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OFF_Z">
+<tt class="descname">SASINSTR_DET_OFF_Z</tt><em class="property"> = {'variable': '{0}.offset.z = {1}', 'attributes': {'unit': {'variable': '{0}.offset_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'offset_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OR">
+<tt class="descname">SASINSTR_DET_OR</tt><em class="property"> = {'variable': None, 'children': {'yaw': {'variable': '{0}.orientation.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'roll': {'variable': '{0}.orientation.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}, 'pitch': {'variable': '{0}.orientation.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OR_ATTR">
+<tt class="descname">SASINSTR_DET_OR_ATTR</tt><em class="property"> = {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OR_PITCH">
+<tt class="descname">SASINSTR_DET_OR_PITCH</tt><em class="property"> = {'variable': '{0}.orientation.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OR_ROLL">
+<tt class="descname">SASINSTR_DET_OR_ROLL</tt><em class="property"> = {'variable': '{0}.orientation.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_OR_YAW">
+<tt class="descname">SASINSTR_DET_OR_YAW</tt><em class="property"> = {'variable': '{0}.orientation.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.orientation_unit = &quot;{1}&quot;'}, 'unit': 'orientation_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_PIXEL">
+<tt class="descname">SASINSTR_DET_PIXEL</tt><em class="property"> = {'variable': None, 'children': {'y': {'variable': '{0}.pixel_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'x': {'variable': '{0}.pixel_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}, 'z': {'variable': '{0}.pixel_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_PIXEL_X">
+<tt class="descname">SASINSTR_DET_PIXEL_X</tt><em class="property"> = {'variable': '{0}.pixel_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_PIXEL_Y">
+<tt class="descname">SASINSTR_DET_PIXEL_Y</tt><em class="property"> = {'variable': '{0}.pixel_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_PIXEL_Z">
+<tt class="descname">SASINSTR_DET_PIXEL_Z</tt><em class="property"> = {'variable': '{0}.pixel_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.pixel_size_unit = &quot;{1}&quot;'}, 'unit': 'pixel_size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_SDD">
+<tt class="descname">SASINSTR_DET_SDD</tt><em class="property"> = {'variable': '{0}.distance = {1}', 'attributes': {'unit': {'variable': '{0}.distance_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'distance_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_DET_SLIT">
+<tt class="descname">SASINSTR_DET_SLIT</tt><em class="property"> = {'variable': '{0}.slit_length = {1}', 'attributes': {'unit': {'variable': '{0}.slit_length_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'slit_length_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC">
+<tt class="descname">SASINSTR_SRC</tt><em class="property"> = {'variable': None, 'attributes': {'name': {'variable': '{0}.source.name = &quot;{1}&quot;'}}, 'children': {'wavelength_max': {'variable': '{0}.source.wavelength_max = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_max_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_max_unit'}, 'radiation': {'variable': '{0}.source.radiation = &quot;{1}&quot;'}, 'wavelength_spread': {'variable': '{0}.source.wavelength_spread = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_spread_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_spread_unit'}, 'beam_size': {'variable': None, 'attributes': {'name': {'variable': '{0}.source.beam_size_name = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.source.beam_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'x': {'variable': '{0}.source.beam_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'z': {'variable': '{0}.source.beam_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}}}, 'wavelength': {'variable': '{0}.source.wavelength = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_unit'}, 'wavelength_min': {'variable': '{0}.source.wavelength_min = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_min_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_min_unit'}, 'beam_shape': {'variable': '{0}.source.beam_shape = &quot;{1}&quot;'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_BEAMSIZE">
+<tt class="descname">SASINSTR_SRC_BEAMSIZE</tt><em class="property"> = {'variable': None, 'attributes': {'name': {'variable': '{0}.source.beam_size_name = &quot;{1}&quot;'}}, 'children': {'y': {'variable': '{0}.source.beam_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'x': {'variable': '{0}.source.beam_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}, 'z': {'variable': '{0}.source.beam_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_BEAMSIZE_ATTR">
+<tt class="descname">SASINSTR_SRC_BEAMSIZE_ATTR</tt><em class="property"> = {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_BEAMSIZE_X">
+<tt class="descname">SASINSTR_SRC_BEAMSIZE_X</tt><em class="property"> = {'variable': '{0}.source.beam_size.x = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_BEAMSIZE_Y">
+<tt class="descname">SASINSTR_SRC_BEAMSIZE_Y</tt><em class="property"> = {'variable': '{0}.source.beam_size.y = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_BEAMSIZE_Z">
+<tt class="descname">SASINSTR_SRC_BEAMSIZE_Z</tt><em class="property"> = {'variable': '{0}.source.beam_size.z = {1}', 'attributes': {'storeas': 'content', 'unit': '{0}.source.beam_size_unit = &quot;{1}&quot;'}, 'storeas': 'float', 'unit': 'source.beam_size_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_WL">
+<tt class="descname">SASINSTR_SRC_WL</tt><em class="property"> = {'variable': '{0}.source.wavelength = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_WL_MAX">
+<tt class="descname">SASINSTR_SRC_WL_MAX</tt><em class="property"> = {'variable': '{0}.source.wavelength_max = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_max_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_max_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_WL_MIN">
+<tt class="descname">SASINSTR_SRC_WL_MIN</tt><em class="property"> = {'variable': '{0}.source.wavelength_min = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_min_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_min_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASINSTR_SRC_WL_SPR">
+<tt class="descname">SASINSTR_SRC_WL_SPR</tt><em class="property"> = {'variable': '{0}.source.wavelength_spread = {1}', 'attributes': {'unit': {'variable': '{0}.source.wavelength_spread_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'source.wavelength_spread_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASNOTE">
+<tt class="descname">SASNOTE</tt><em class="property"> = {'variable': &quot;{0}.notes.append('{1}')&quot;}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASPROCESS">
+<tt class="descname">SASPROCESS</tt><em class="property"> = {'variable': None, 'children': {'term': {'variable': None, 'attributes': {'name': {'variable': None}, 'unit': {'variable': None}}}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'description': {'variable': &quot;{0}.description = '{1}'&quot;}, 'SASprocessnote': {'variable': None, 'children': {'&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}}}, 'date': {'variable': &quot;{0}.date = '{1}'&quot;}, 'name': {'variable': &quot;{0}.name = '{1}'&quot;}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASPROCESS_SASPROCESSNOTE">
+<tt class="descname">SASPROCESS_SASPROCESSNOTE</tt><em class="property"> = {'variable': None, 'children': {'&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASPROCESS_TERM">
+<tt class="descname">SASPROCESS_TERM</tt><em class="property"> = {'variable': None, 'attributes': {'name': {'variable': None}, 'unit': {'variable': None}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE">
+<tt class="descname">SASSAMPLE</tt><em class="property"> = {'variable': None, 'attributes': {'name': {'variable': '{0}.sample.name = &quot;{1}&quot;'}}, 'children': {'&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'orientation': {'variable': None, 'children': {'yaw': {'variable': '{0}.sample.orientation.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}, 'roll': {'variable': '{0}.sample.orientation.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}, 'pitch': {'variable': '{0}.sample.orientation.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}}}, 'temperature': {'variable': '{0}.sample.temperature = {1}', 'attributes': {'unit': {'variable': '{0}.sample.temperature_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.temperature_unit'}, 'transmission': {'variable': '{0}.sample.transmission = {1}', 'storeas': 'float'}, 'position': {'children': {'variable': None, 'x': {'variable': '{0}.sample.position.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}, 'z': {'variable': '{0}.sample.position.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}, 'y': {'variable': '{0}.sample.position.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}}}, 'details': {'variable': '{0}.sample.details.append(&quot;{1}&quot;)'}, 'ID': {'variable': '{0}.sample.ID = &quot;{1}&quot;'}, 'thickness': {'variable': '{0}.sample.thickness = {1}', 'attributes': {'unit': {'variable': '{0}.sample.thickness_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.thickness_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_ORIENT">
+<tt class="descname">SASSAMPLE_ORIENT</tt><em class="property"> = {'variable': None, 'children': {'yaw': {'variable': '{0}.sample.orientation.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}, 'roll': {'variable': '{0}.sample.orientation.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}, 'pitch': {'variable': '{0}.sample.orientation.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_ORIENT_ATTR">
+<tt class="descname">SASSAMPLE_ORIENT_ATTR</tt><em class="property"> = {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_ORIENT_PITCH">
+<tt class="descname">SASSAMPLE_ORIENT_PITCH</tt><em class="property"> = {'variable': '{0}.sample.orientation.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_ORIENT_ROLL">
+<tt class="descname">SASSAMPLE_ORIENT_ROLL</tt><em class="property"> = {'variable': '{0}.sample.orientation.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_ORIENT_YAW">
+<tt class="descname">SASSAMPLE_ORIENT_YAW</tt><em class="property"> = {'variable': '{0}.sample.orientation.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.orientation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.orientation_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_POS">
+<tt class="descname">SASSAMPLE_POS</tt><em class="property"> = {'children': {'variable': None, 'x': {'variable': '{0}.sample.position.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}, 'z': {'variable': '{0}.sample.position.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}, 'y': {'variable': '{0}.sample.position.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_POS_ATTR">
+<tt class="descname">SASSAMPLE_POS_ATTR</tt><em class="property"> = {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_POS_X">
+<tt class="descname">SASSAMPLE_POS_X</tt><em class="property"> = {'variable': '{0}.sample.position.x = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_POS_Y">
+<tt class="descname">SASSAMPLE_POS_Y</tt><em class="property"> = {'variable': '{0}.sample.position.y = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_POS_Z">
+<tt class="descname">SASSAMPLE_POS_Z</tt><em class="property"> = {'variable': '{0}.sample.position.z = {1}', 'attributes': {'unit': {'variable': '{0}.sample.position_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.position_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_TEMP">
+<tt class="descname">SASSAMPLE_TEMP</tt><em class="property"> = {'variable': '{0}.sample.temperature = {1}', 'attributes': {'unit': {'variable': '{0}.sample.temperature_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.temperature_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_THICK">
+<tt class="descname">SASSAMPLE_THICK</tt><em class="property"> = {'variable': '{0}.sample.thickness = {1}', 'attributes': {'unit': {'variable': '{0}.sample.thickness_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'storeas': 'float', 'unit': 'sample.thickness_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASSAMPLE_TRANS">
+<tt class="descname">SASSAMPLE_TRANS</tt><em class="property"> = {'variable': '{0}.sample.transmission = {1}', 'storeas': 'float'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASTRANSSPEC">
+<tt class="descname">SASTRANSSPEC</tt><em class="property"> = {'variable': None, 'attributes': {'timestamp': {'variable': '{0}.timestamp = &quot;{1}&quot;'}, 'name': {'variable': '{0}.name = &quot;{1}&quot;'}}, 'children': {'Tdata': {'variable': None, 'storeas': 'float', 'children': {'Tdev': {'variable': '{0}.transmission_deviation.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_deviation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_deviation_unit'}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'T': {'variable': '{0}.transmission.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_unit'}, 'Lambda': {'variable': '{0}.wavelength.append({1})', 'attributes': {'unit': {'variable': '{0}.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'wavelength_unit'}}}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASTRANSSPEC_TDATA">
+<tt class="descname">SASTRANSSPEC_TDATA</tt><em class="property"> = {'variable': None, 'storeas': 'float', 'children': {'Tdev': {'variable': '{0}.transmission_deviation.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_deviation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_deviation_unit'}, '&lt;any&gt;': {'variable': '{0}.meta_data[&quot;{2}&quot;] = \'{1}\'', 'storeas': 'content'}, 'T': {'variable': '{0}.transmission.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_unit'}, 'Lambda': {'variable': '{0}.wavelength.append({1})', 'attributes': {'unit': {'variable': '{0}.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'wavelength_unit'}}}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASTRANSSPEC_TDATA_LAMDBA">
+<tt class="descname">SASTRANSSPEC_TDATA_LAMDBA</tt><em class="property"> = {'variable': '{0}.wavelength.append({1})', 'attributes': {'unit': {'variable': '{0}.wavelength_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'wavelength_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASTRANSSPEC_TDATA_T">
+<tt class="descname">SASTRANSSPEC_TDATA_T</tt><em class="property"> = {'variable': '{0}.transmission.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.SASTRANSSPEC_TDATA_TDEV">
+<tt class="descname">SASTRANSSPEC_TDATA_TDEV</tt><em class="property"> = {'variable': '{0}.transmission_deviation.append({1})', 'attributes': {'unit': {'variable': '{0}.transmission_deviation_unit = &quot;{1}&quot;', 'storeas': 'content'}}, 'unit': 'transmission_deviation_unit'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.TITLE">
+<tt class="descname">TITLE</tt><em class="property"> = {'variable': '{0}.title = &quot;{1}&quot;'}</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.format">
+<tt class="descname">format</tt><em class="property"> = ''</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.get_namespace_map">
+<tt class="descname">get_namespace_map</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_constants.html#CansasConstants.get_namespace_map"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Helper method to get the names namespace list</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.iterate_namespace">
+<tt class="descname">iterate_namespace</tt><big>(</big><em>namespace</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_constants.html#CansasConstants.iterate_namespace"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Method to iterate through a cansas constants tree based on a list of
+names</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>namespace</strong> &#8211; A list of names that match the tree structure of
+cansas_constants</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CansasConstants.names">
+<tt class="descname">names</tt><em class="property"> = ''</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.cansas_constants.</tt><tt class="descname">CurrentLevel</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_constants.html#CurrentLevel"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>A helper class to hold information on where you are in the constants tree</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel.current_level">
+<tt class="descname">current_level</tt><em class="property"> = ''</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel.get_current_level">
+<tt class="descname">get_current_level</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_constants.html#CurrentLevel.get_current_level"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Helper method to get the current_level map</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel.get_data_type">
+<tt class="descname">get_data_type</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_constants.html#CurrentLevel.get_data_type"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Helper method to get the ns_datatype label</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel.get_variable">
+<tt class="descname">get_variable</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_constants.html#CurrentLevel.get_variable"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Helper method to get the ns_variable label</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel.ns_datatype">
+<tt class="descname">ns_datatype</tt><em class="property"> = ''</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel.ns_optional">
+<tt class="descname">ns_optional</tt><em class="property"> = True</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_constants.CurrentLevel.ns_variable">
+<tt class="descname">ns_variable</tt><em class="property"> = ''</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.cansas_reader">
+<span id="sas-dataloader-readers-cansas-reader-module"></span><h2>sas.dataloader.readers.cansas_reader module</h2>
+<p>CanSAS data reader - new recursive cansas_version.</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.cansas_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.cansas_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Bases: <a class="reference internal" href="#sas.dataloader.readers.xml_reader.XMLreader" title="sas.dataloader.readers.xml_reader.XMLreader"><tt class="xref py py-class docutils literal"><span class="pre">sas.dataloader.readers.xml_reader.XMLreader</span></tt></a></p>
+<p>Class to load cansas 1D XML files</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Dependencies:</th><td class="field-body">The CanSAS reader requires PyXML 0.8.4 or later.</td>
+</tr>
+</tbody>
+</table>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.allow_all">
+<tt class="descname">allow_all</tt><em class="property"> = True</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.base_ns">
+<tt class="descname">base_ns</tt><em class="property"> = '{cansas1d/1.0}'</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.cansas_version">
+<tt class="descname">cansas_version</tt><em class="property"> = '1.0'</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.errors">
+<tt class="descname">errors</tt><em class="property"> = []</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.xml', '.XML', '.svs', '.SVS']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.is_cansas">
+<tt class="descname">is_cansas</tt><big>(</big><em>ext='xml'</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#Reader.is_cansas"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Checks to see if the xml file is a CanSAS file</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>ext</strong> &#8211; The file extension of the data file</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.load_file_and_schema">
+<tt class="descname">load_file_and_schema</tt><big>(</big><em>xml_file</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#Reader.load_file_and_schema"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Loads the file and associates a schema, if a known schema exists</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>xml_file</strong> &#8211; The xml file path sent to Reader.read</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.logging">
+<tt class="descname">logging</tt><em class="property"> = []</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>xml_file</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Validate and read in an xml_file file in the canSAS format.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>xml_file</strong> &#8211; A canSAS file path in proper XML format</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['XML files (*.xml)|*.xml', 'SasView Save Files (*.svs)|*.svs']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'canSAS'</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.write">
+<tt class="descname">write</tt><big>(</big><em>filename</em>, <em>datainfo</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#Reader.write"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Write the content of a Data1D as a CanSAS XML file</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>filename</strong> &#8211; name of the file to write</li>
+<li><strong>datainfo</strong> &#8211; Data1D object</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.cansas_reader.Reader.write_node">
+<tt class="descname">write_node</tt><big>(</big><em>parent</em>, <em>name</em>, <em>value</em>, <em>attr=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#Reader.write_node"><span class="viewcode-link">[source]</span></a></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>doc</strong> &#8211; document DOM</li>
+<li><strong>parent</strong> &#8211; parent node</li>
+<li><strong>name</strong> &#8211; tag of the element</li>
+<li><strong>value</strong> &#8211; value of the child text node</li>
+<li><strong>attr</strong> &#8211; attribute dictionary</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">True if something was appended, otherwise False</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="sas.dataloader.readers.cansas_reader.get_content">
+<tt class="descclassname">sas.dataloader.readers.cansas_reader.</tt><tt class="descname">get_content</tt><big>(</big><em>location</em>, <em>node</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#get_content"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Get the first instance of the content of a xpath location.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>location</strong> &#8211; xpath location</li>
+<li><strong>node</strong> &#8211; node to start at</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Element, or None</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="function">
+<dt id="sas.dataloader.readers.cansas_reader.write_node">
+<tt class="descclassname">sas.dataloader.readers.cansas_reader.</tt><tt class="descname">write_node</tt><big>(</big><em>doc</em>, <em>parent</em>, <em>name</em>, <em>value</em>, <em>attr=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/cansas_reader.html#write_node"><span class="viewcode-link">[source]</span></a></dt>
+<dd><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
+<li><strong>doc</strong> &#8211; document DOM</li>
+<li><strong>parent</strong> &#8211; parent node</li>
+<li><strong>name</strong> &#8211; tag of the element</li>
+<li><strong>value</strong> &#8211; value of the child text node</li>
+<li><strong>attr</strong> &#8211; attribute dictionary</li>
+</ul>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">True if something was appended, otherwise False</p>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.danse_reader">
+<span id="sas-dataloader-readers-danse-reader-module"></span><h2>sas.dataloader.readers.danse_reader module</h2>
+<p>DANSE/SANS file reader</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.danse_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.danse_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/danse_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Example data manipulation</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.danse_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.sans', '.SANS']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.danse_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>filename=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/danse_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Open and read the data in a file
+&#64;param file: path of the file</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.danse_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['DANSE files (*.sans)|*.sans']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.danse_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'DANSE'</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.hfir1d_reader">
+<span id="sas-dataloader-readers-hfir1d-reader-module"></span><h2>sas.dataloader.readers.hfir1d_reader module</h2>
+<p>HFIR 1D 4-column data reader</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.hfir1d_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.hfir1d_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/hfir1d_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
+<p>Class to load HFIR 1D 4-column files</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.hfir1d_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.d1d']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.hfir1d_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>path</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/hfir1d_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Load data file</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>path</strong> &#8211; file path</p>
+</td>
+</tr>
+<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Data1D object, or None</p>
+</td>
+</tr>
+<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><ul class="first last simple">
+<li><strong>RuntimeError</strong> &#8211; when the file can&#8217;t be opened</li>
+<li><strong>ValueError</strong> &#8211; when the length of the data vectors are inconsistent</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.hfir1d_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['HFIR 1D files (*.d1d)|*.d1d']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.hfir1d_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'HFIR 1D'</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.nexus_reader">
+<span id="sas-dataloader-readers-nexus-reader-module"></span><h2>sas.dataloader.readers.nexus_reader module</h2>
+<p>Nexus reader for 2D data reduced by Mantid</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.nexus_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.nexus_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/nexus_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Nexus reader for 2D data reduced by Mantid</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.nexus_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.nxs']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.nexus_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>filename=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/nexus_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Open and read the data in a file</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>filename</strong> &#8211; path of the file</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.nexus_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['Nexus files (*.nxs)|*.nxs']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.nexus_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'NXS'</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.red2d_reader">
+<span id="sas-dataloader-readers-red2d-reader-module"></span><h2>sas.dataloader.readers.red2d_reader module</h2>
+<p>TXT/IGOR 2D Q Map file reader</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.red2d_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.red2d_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/red2d_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Simple data reader for Igor data files</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.red2d_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.DAT', '.dat']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.red2d_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>filename=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/red2d_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Read file</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.red2d_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['IGOR/DAT 2D file in Q_map (*.dat)|*.DAT']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.red2d_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'IGOR/DAT 2D Q_map'</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.red2d_reader.Reader.write">
+<tt class="descname">write</tt><big>(</big><em>filename</em>, <em>data</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/red2d_reader.html#Reader.write"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Write to .dat</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>filename</strong> &#8211; file name to write</li>
+<li><strong>data</strong> &#8211; data2D</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="sas.dataloader.readers.red2d_reader.check_point">
+<tt class="descclassname">sas.dataloader.readers.red2d_reader.</tt><tt class="descname">check_point</tt><big>(</big><em>x_point</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/red2d_reader.html#check_point"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>check point validity</p>
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.tiff_reader">
+<span id="sas-dataloader-readers-tiff-reader-module"></span><h2>sas.dataloader.readers.tiff_reader module</h2>
+<p>Image reader. Untested.</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.tiff_reader.Reader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.tiff_reader.</tt><tt class="descname">Reader</tt><a class="reference internal" href="../../_modules/sas/dataloader/readers/tiff_reader.html#Reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Example data manipulation</p>
+<dl class="attribute">
+<dt id="sas.dataloader.readers.tiff_reader.Reader.ext">
+<tt class="descname">ext</tt><em class="property"> = ['.tif', '.tiff']</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.tiff_reader.Reader.read">
+<tt class="descname">read</tt><big>(</big><em>filename=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/tiff_reader.html#Reader.read"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Open and read the data in a file</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>file</strong> &#8211; path of the file</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.tiff_reader.Reader.type">
+<tt class="descname">type</tt><em class="property"> = ['TIF files (*.tif)|*.tif', 'TIFF files (*.tiff)|*.tiff']</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.tiff_reader.Reader.type_name">
+<tt class="descname">type_name</tt><em class="property"> = 'TIF'</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers.xml_reader">
+<span id="sas-dataloader-readers-xml-reader-module"></span><h2>sas.dataloader.readers.xml_reader module</h2>
+<p>Generic XML read and write utility</p>
+<p>Usage: Either extend xml_reader or add as a class variable.</p>
+<dl class="class">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader">
+<em class="property">class </em><tt class="descclassname">sas.dataloader.readers.xml_reader.</tt><tt class="descname">XMLreader</tt><big>(</big><em>xml=None</em>, <em>schema=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Generic XML read and write class. Mostly helper functions.
+Makes reading/writing XML a bit easier than calling lxml libraries directly.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Dependencies:</th><td class="field-body">This class requires lxml 2.3 or higher.</td>
+</tr>
+</tbody>
+</table>
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.append">
+<tt class="descname">append</tt><big>(</big><em>element</em>, <em>tree</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.append"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Append an etree Element to an ElementTree.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>element</strong> &#8211; etree Element to append</li>
+<li><strong>tree</strong> &#8211; ElementTree object to append to</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.break_processing_instructions">
+<tt class="descname">break_processing_instructions</tt><big>(</big><em>string</em>, <em>dic</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.break_processing_instructions"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Method to break a processing instruction string apart and add to a dict</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>string</strong> &#8211; A processing instruction as a string</li>
+<li><strong>dic</strong> &#8211; The dictionary to save the PIs to</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.create_element">
+<tt class="descname">create_element</tt><big>(</big><em>name</em>, <em>attrib=None</em>, <em>nsmap=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.create_element"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Create an XML element for writing to file</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> &#8211; The name of the element to be created</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.create_element_from_string">
+<tt class="descname">create_element_from_string</tt><big>(</big><em>xml_string</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.create_element_from_string"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Create an element from an XML string</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>xml_string</strong> &#8211; A string of xml</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.create_tree">
+<tt class="descname">create_tree</tt><big>(</big><em>root</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.create_tree"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Create an element tree for processing from an etree element</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>root</strong> &#8211; etree Element(s)</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.ebuilder">
+<tt class="descname">ebuilder</tt><big>(</big><em>parent</em>, <em>elementname</em>, <em>text=None</em>, <em>attrib=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.ebuilder"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Use lxml E builder class with arbitrary inputs.</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>parnet</strong> &#8211; The parent element to append a child to</li>
+<li><strong>elementname</strong> &#8211; The name of the child in string form</li>
+<li><strong>text</strong> &#8211; The element text</li>
+<li><strong>attrib</strong> &#8211; A dictionary of attribute names to attribute values</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.encoding">
+<tt class="descname">encoding</tt><em class="property"> = None</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.find_invalid_xml">
+<tt class="descname">find_invalid_xml</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.find_invalid_xml"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Finds the first offending element that should not be present in XML file</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.parse_schema_and_doc">
+<tt class="descname">parse_schema_and_doc</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.parse_schema_and_doc"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Creates a dictionary of the parsed schema and xml files.</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.processing_instructions">
+<tt class="descname">processing_instructions</tt><em class="property"> = None</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.reader">
+<tt class="descname">reader</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.reader"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Read in an XML file into memory and return an lxml dictionary</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.return_processing_instructions">
+<tt class="descname">return_processing_instructions</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.return_processing_instructions"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Get all processing instructions saved when loading the document</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>tree</strong> &#8211; etree.ElementTree object to write PIs to</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.schema">
+<tt class="descname">schema</tt><em class="property"> = None</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.schemadoc">
+<tt class="descname">schemadoc</tt><em class="property"> = None</em></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.set_encoding">
+<tt class="descname">set_encoding</tt><big>(</big><em>attr_str</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.set_encoding"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Find the encoding in the xml declaration and save it as a string</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>attr_str</strong> &#8211; All attributes as a string
+e.g. &#8220;foo1=&#8221;bar1&#8221; foo2=&#8221;bar2&#8221; foo3=&#8221;bar3&#8221; ... foo_n=&#8221;bar_n&#8221;&#8220;</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.set_processing_instructions">
+<tt class="descname">set_processing_instructions</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.set_processing_instructions"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Take out all processing instructions and create a dictionary from them
+If there is a default encoding, the value is also saved</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.set_schema">
+<tt class="descname">set_schema</tt><big>(</big><em>schema</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.set_schema"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Set the schema file and parse</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.set_xml_file">
+<tt class="descname">set_xml_file</tt><big>(</big><em>xml</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.set_xml_file"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Set the XML file and parse</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.to_string">
+<tt class="descname">to_string</tt><big>(</big><em>elem</em>, <em>pretty_print=False</em>, <em>encoding=None</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.to_string"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Converts an etree element into a string</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.validate_xml">
+<tt class="descname">validate_xml</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.validate_xml"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Checks to see if the XML file meets the schema</p>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.write_attribute">
+<tt class="descname">write_attribute</tt><big>(</big><em>elem</em>, <em>attr_name</em>, <em>attr_value</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.write_attribute"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Write attributes to an Element</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>elem</strong> &#8211; etree.Element object</li>
+<li><strong>attr_name</strong> &#8211; attribute name to write</li>
+<li><strong>attr_value</strong> &#8211; attribute value to set</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="method">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.write_text">
+<tt class="descname">write_text</tt><big>(</big><em>elem</em>, <em>text</em><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers/xml_reader.html#XMLreader.write_text"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Write text to an etree Element</p>
+<table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
+<li><strong>elem</strong> &#8211; etree.Element object</li>
+<li><strong>text</strong> &#8211; text to write to the element</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.xml">
+<tt class="descname">xml</tt><em class="property"> = None</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.xmldoc">
+<tt class="descname">xmldoc</tt><em class="property"> = None</em></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="sas.dataloader.readers.xml_reader.XMLreader.xmlroot">
+<tt class="descname">xmlroot</tt><em class="property"> = None</em></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-sas.dataloader.readers">
+<span id="module-contents"></span><h2>Module contents</h2>
+<dl class="function">
+<dt id="sas.dataloader.readers.get_data_path">
+<tt class="descclassname">sas.dataloader.readers.</tt><tt class="descname">get_data_path</tt><big>(</big><big>)</big><a class="reference internal" href="../../_modules/sas/dataloader/readers.html#get_data_path"><span class="viewcode-link">[source]</span></a></dt>
+<dd><p>Return the location of the settings file for the data readers.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="../../index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">sas.dataloader.readers package</a><ul>
+<li><a class="reference internal" href="#submodules">Submodules</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.IgorReader">sas.dataloader.readers.IgorReader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.abs_reader">sas.dataloader.readers.abs_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.ascii_reader">sas.dataloader.readers.ascii_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.associations">sas.dataloader.readers.associations module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.cansas_constants">sas.dataloader.readers.cansas_constants module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.cansas_reader">sas.dataloader.readers.cansas_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.danse_reader">sas.dataloader.readers.danse_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.hfir1d_reader">sas.dataloader.readers.hfir1d_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.nexus_reader">sas.dataloader.readers.nexus_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.red2d_reader">sas.dataloader.readers.red2d_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.tiff_reader">sas.dataloader.readers.tiff_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers.xml_reader">sas.dataloader.readers.xml_reader module</a></li>
+<li><a class="reference internal" href="#module-sas.dataloader.readers">Module contents</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="sas.dataloader.html"
+                        title="previous chapter">sas.dataloader package</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="sas.fit.html"
+                        title="next chapter">sas.fit package</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="../../_sources/dev/api/sas.dataloader.readers.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="../../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../../genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="../../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li class="right" >
+          <a href="sas.fit.html" title="sas.fit package"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="sas.dataloader.html" title="sas.dataloader package"
+             >previous</a> |</li>
+        <li><a href="../../index.html">SasView 3.0.0 documentation</a> &raquo;</li>
+          <li><a href="../dev.html" >Developer Documentation</a> &raquo;</li>
+          <li><a href="modules.html" >lib.macosx-10.5-x86_64-2.7</a> &raquo;</li>
+          <li><a href="sas.html" >sas package</a> &raquo;</li>
+          <li><a href="sas.dataloader.html" >sas.dataloader package</a> &raquo;</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        &copy; Copyright 2013, The SasView Project.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+    </div>
+  </body>
+</html>
