Skip to content

Commit

Permalink
Update the quickstart tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
Ruben Verweij committed Apr 2, 2017
1 parent 6e17cad commit f4e4a67
Show file tree
Hide file tree
Showing 20 changed files with 258 additions and 111 deletions.
2 changes: 1 addition & 1 deletion .buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 898e525c310dedf23208700f938e8fd6
config: 83b08d1ac6655b7ec9fb73d5f207b273
tags: 645f666f9bcd5a90fca523b33c5a78b7
10 changes: 5 additions & 5 deletions _modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Overview: module code &#8212; nd2reader documentation</title>
<title>Overview: module code &#8212; nd2reader 3.0.0 documentation</title>

<link rel="stylesheet" href="../_static/classic.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />

<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '',
VERSION: '3.0.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
Expand All @@ -37,7 +37,7 @@ <h3>Navigation</h3>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">nd2reader documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../index.html">nd2reader 3.0.0 documentation</a> &#187;</li>
</ul>
</div>

Expand Down Expand Up @@ -85,12 +85,12 @@ <h3>Navigation</h3>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">nd2reader documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../index.html">nd2reader 3.0.0 documentation</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2017, Ruben Verweij.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.1.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.3.
</div>
</body>
</html>
18 changes: 9 additions & 9 deletions _modules/nd2reader/artificial.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>nd2reader.artificial &#8212; nd2reader documentation</title>
<title>nd2reader.artificial &#8212; nd2reader 3.0.0 documentation</title>

<link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />

<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../',
VERSION: '',
VERSION: '3.0.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
Expand All @@ -37,7 +37,7 @@ <h3>Navigation</h3>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader 3.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand All @@ -59,9 +59,9 @@ <h1>Source code for nd2reader.artificial</h1><div class="highlight"><pre>
<span class="sd">&quot;&quot;&quot;Artificial ND2 class (for testing purposes)</span>
<span class="sd"> &quot;&quot;&quot;</span>

<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">)):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fh</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">file</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">write_version</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">write_version</span><span class="p">(</span><span class="n">version</span><span class="p">)</span>

<span class="k">def</span> <span class="nf">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span>
Expand All @@ -85,14 +85,14 @@ <h1>Source code for nd2reader.artificial</h1><div class="highlight"><pre>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fh</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fh</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>

<div class="viewcode-block" id="ArtificialND2.write_version"><a class="viewcode-back" href="../../nd2reader.html#nd2reader.artificial.ArtificialND2.write_version">[docs]</a> <span class="k">def</span> <span class="nf">write_version</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<div class="viewcode-block" id="ArtificialND2.write_version"><a class="viewcode-back" href="../../nd2reader.html#nd2reader.artificial.ArtificialND2.write_version">[docs]</a> <span class="k">def</span> <span class="nf">write_version</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">)):</span>
<span class="sd">&quot;&quot;&quot;Write file header</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="c1"># write 16 empty bytes</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fh</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="nb">bytearray</span><span class="p">(</span><span class="mi">16</span><span class="p">))</span>

<span class="c1"># write version info</span>
<span class="n">version_info</span> <span class="o">=</span> <span class="n">six</span><span class="o">.</span><span class="n">b</span><span class="p">(</span><span class="s1">&#39;ND2 FILE SIGNATURE CHUNK NAME01!Ver3.0&#39;</span><span class="p">)</span>
<span class="n">version_info</span> <span class="o">=</span> <span class="n">six</span><span class="o">.</span><span class="n">b</span><span class="p">(</span><span class="s1">&#39;ND2 FILE SIGNATURE CHUNK NAME01!Ver</span><span class="si">%s</span><span class="s1">.</span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">version</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fh</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">version_info</span><span class="p">)</span></div>

<span class="nd">@staticmethod</span>
Expand Down Expand Up @@ -171,13 +171,13 @@ <h3>Navigation</h3>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader 3.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2017, Ruben Verweij.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.1.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.3.
</div>
</body>
</html>
65 changes: 54 additions & 11 deletions _modules/nd2reader/common.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>nd2reader.common &#8212; nd2reader documentation</title>
<title>nd2reader.common &#8212; nd2reader 3.0.0 documentation</title>

<link rel="stylesheet" href="../../_static/classic.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />

<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../',
VERSION: '',
VERSION: '3.0.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
Expand All @@ -37,7 +37,7 @@ <h3>Navigation</h3>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader 3.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand All @@ -48,7 +48,8 @@ <h3>Navigation</h3>
<div class="body" role="main">

<h1>Source code for nd2reader.common</h1><div class="highlight"><pre>
<span></span><span class="kn">import</span> <span class="nn">struct</span>
<span></span><span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">struct</span>
<span class="kn">import</span> <span class="nn">array</span>
<span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span>
<span class="kn">import</span> <span class="nn">six</span>
Expand Down Expand Up @@ -104,7 +105,7 @@ <h1>Source code for nd2reader.common</h1><div class="highlight"><pre>
<span class="sd"> bytes: the data at the chunk location</span>

<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">chunk_location</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">if</span> <span class="n">chunk_location</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">fh</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">return</span> <span class="kc">None</span>
<span class="n">fh</span><span class="o">.</span><span class="n">seek</span><span class="p">(</span><span class="n">chunk_location</span><span class="p">)</span>
<span class="c1"># The chunk metadata is always 16 bytes long</span>
Expand Down Expand Up @@ -204,10 +205,19 @@ <h1>Source code for nd2reader.common</h1><div class="highlight"><pre>

<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="c1"># the string ends at the first instance of \x00\x00</span>
<span class="k">while</span> <span class="ow">not</span> <span class="n">value</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="n">six</span><span class="o">.</span><span class="n">b</span><span class="p">(</span><span class="s2">&quot;</span><span class="se">\x00\x00</span><span class="s2">&quot;</span><span class="p">)):</span>
<span class="c1"># the string ends at the first instance of \x00\x00</span>
<span class="n">value</span> <span class="o">+=</span> <span class="n">data</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="k">return</span> <span class="n">value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">&quot;utf16&quot;</span><span class="p">)[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s2">&quot;utf8&quot;</span><span class="p">)</span>
<span class="n">next_data</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">next_data</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="k">break</span>
<span class="n">value</span> <span class="o">+=</span> <span class="n">next_data</span>

<span class="k">try</span><span class="p">:</span>
<span class="n">decoded</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">&quot;utf16&quot;</span><span class="p">)[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s2">&quot;utf8&quot;</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">UnicodeDecodeError</span><span class="p">:</span>
<span class="n">decoded</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">&#39;utf8&#39;</span><span class="p">)</span>

<span class="k">return</span> <span class="n">decoded</span>


<span class="k">def</span> <span class="nf">_parse_char_array</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
Expand Down Expand Up @@ -246,7 +256,10 @@ <h1>Source code for nd2reader.common</h1><div class="highlight"><pre>
<span class="k">except</span> <span class="p">(</span><span class="ne">TypeError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">):</span>
<span class="n">absolute_start</span> <span class="o">=</span> <span class="kc">None</span>

<span class="k">return</span> <span class="n">absolute_start</span></div>
<span class="k">if</span> <span class="n">absolute_start</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">return</span> <span class="n">absolute_start</span>

<span class="k">return</span> <span class="kc">None</span></div>


<span class="k">def</span> <span class="nf">_parse_metadata_item</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">cursor_position</span><span class="p">):</span>
Expand Down Expand Up @@ -359,6 +372,36 @@ <h1>Source code for nd2reader.common</h1><div class="highlight"><pre>
<span class="n">metadata</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>

<span class="k">return</span> <span class="n">metadata</span>


<div class="viewcode-block" id="get_from_dict_if_exists"><a class="viewcode-back" href="../../nd2reader.html#nd2reader.common.get_from_dict_if_exists">[docs]</a><span class="k">def</span> <span class="nf">get_from_dict_if_exists</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">dictionary</span><span class="p">,</span> <span class="n">convert_key_to_binary</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get the entry from the dictionary if it exists</span>
<span class="sd"> Args:</span>
<span class="sd"> key: key to lookup</span>
<span class="sd"> dictionary: dictionary to look in</span>
<span class="sd"> convert_key_to_binary: convert the key from string to binary if true</span>

<span class="sd"> Returns:</span>
<span class="sd"> the value of dictionary[key] or None</span>

<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">convert_key_to_binary</span><span class="p">:</span>
<span class="n">key</span> <span class="o">=</span> <span class="n">six</span><span class="o">.</span><span class="n">b</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>

<span class="k">if</span> <span class="n">key</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dictionary</span><span class="p">:</span>
<span class="k">return</span> <span class="kc">None</span>
<span class="k">return</span> <span class="n">dictionary</span><span class="p">[</span><span class="n">key</span><span class="p">]</span></div>


<div class="viewcode-block" id="check_or_make_dir"><a class="viewcode-back" href="../../nd2reader.html#nd2reader.common.check_or_make_dir">[docs]</a><span class="k">def</span> <span class="nf">check_or_make_dir</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Check if a directory exists, if not, create it</span>
<span class="sd"> Args:</span>
<span class="sd"> directory: the path to the directory</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span>
<span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">directory</span><span class="p">)</span></div>
</pre></div>

</div>
Expand Down Expand Up @@ -389,13 +432,13 @@ <h3>Navigation</h3>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="../../index.html">nd2reader 3.0.0 documentation</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2017, Ruben Verweij.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.1.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.3.
</div>
</body>
</html>

0 comments on commit f4e4a67

Please sign in to comment.