Difference between revisions of "Team:TU Darmstadt/tech/software"

Line 1: Line 1:
 
{{TU_Darmstadt/chiTU}}
 
{{TU_Darmstadt/chiTU}}
 
<html>
 
<html>
<body>
+
    <body>
<!-- Header -->
+
        <!-- Header -->
<section id="header">
+
        <section id="header">
<header>
+
            <header>
<style>
+
                <style>
#one:before {
+
                #one:before {
background-image: url("https://static.igem.org/mediawiki/2017/9/92/Banner_prov.jpg");
+
                background-image: url("https://static.igem.org/mediawiki/2017/9/92/Banner_prov.jpg");
height: 10em;
+
                height: 10em;
}
+
                }
</style>
+
                </style>
<span class="image avatar"><img src="https://static.igem.org/mediawiki/2017/3/3d/LogoOWL.png" alt="" /></span>
+
                <span class="image avatar"><img src="https://static.igem.org/mediawiki/2017/3/3d/LogoOWL.png" alt="" /></span>
<h1 id="logo"><a href="https://2017.igem.org/Team:TU_Darmstadt" alt="home">ChiTUcare</a></h1>
+
                <h1 id="logo"><a href="https://2017.igem.org/Team:TU_Darmstadt" alt="home">ChiTUcare</a></h1>
</header>
+
            </header>
<nav id="nav">
+
            <nav id="nav">
<ul>
+
                <ul>
<div class="mainmenu">
+
                    <div class="mainmenu">
                                        <div class="nav-follow">
+
                        <div class="nav-follow">
                                        <div class="nav-drop">
+
                            <div class="nav-drop">
<li><a href="https://2017.igem.org/Team:TU_Darmstadt/project">Project</a></li>
+
                                <li><a href="https://2017.igem.org/Team:TU_Darmstadt/project">Project</a></li>
<li><a href="https://2017.igem.org/Team:TU_Darmstadt/human_practices">Human Practices</a></li>
+
                                <li><a href="https://2017.igem.org/Team:TU_Darmstadt/human_practices">Human Practices</a></li>
</div></div>
+
                            </div></div>
<li><a href="https://2017.igem.org/Team:TU_Darmstadt/tech" class="active">Tech</a></li></div>
+
                            <li><a href="https://2017.igem.org/Team:TU_Darmstadt/tech" class="active">Tech</a></li></div>
<div class="nav-proj-drop">
+
                            <div class="nav-proj-drop">
<li><a href="https://2017.igem.org/Team:TU_Darmstadt/tech/hardware">Hardware</a></li>
+
                                <li><a href="https://2017.igem.org/Team:TU_Darmstadt/tech/hardware">Hardware</a></li>
<li><a href="https://2017.igem.org/Team:TU_Darmstadt/tech/software" class="active">Software</a></li>
+
                                <li><a href="https://2017.igem.org/Team:TU_Darmstadt/tech/software" class="active">Software</a></li>
</div>
+
                            </div>
<div class="mainmenu">
+
                            <div class="mainmenu">
                                        <div class="nav-follow">
+
                                <div class="nav-follow">
                                        <div class="nav-drop_b">
+
                                    <div class="nav-drop_b">
<li><a href="https://2017.igem.org/Team:TU_Darmstadt/team">Team</a></li>
+
                                        <li><a href="https://2017.igem.org/Team:TU_Darmstadt/team">Team</a></li>
<li><a href="https://2017.igem.org/Team:TU_Darmstadt/judging">Judging</a></li>
+
                                        <li><a href="https://2017.igem.org/Team:TU_Darmstadt/judging">Judging</a></li>
</div>
+
                                    </div>
<input type="button" div class="submenuV" onclick="toggleImage();toggleImage_b();toggleImage2();this.value=this.value=='Show menu'?'Show submenu':'Show menu'" value="Show menu">
+
                                    <input type="button" div class="submenuV" onclick="toggleImage();toggleImage_b();toggleImage2();this.value=this.value=='Show menu'?'Show submenu':'Show menu'" value="Show menu">
</div></div>
+
                                </div></div>
</ul>
+
                            </ul>
                                </nav>
+
                        </nav>
</body>
+
                    </body>
</html>
+
                </html>
{{TU_Darmstadt/header-footer}}
+
                {{TU_Darmstadt/header-footer}}
<html>
+
                <html>
<body>
+
                    <body>
</section>
+
                    </section>
 
+
                    <!-- Wrapper -->
<!-- Wrapper -->
+
                    <div id="wrapper">
<div id="wrapper">
+
                        <!-- Main -->
 
+
                        <div id="main">
<!-- Main -->
+
                            <!-- One -->
<div id="main">
+
                            <section id="one">
 
+
                                <div class="container">
<!-- One -->
+
                                    <header class="major">
    <section id="one">
+
                                        <h2>Software HoloPyGuy</h2>
        <div class="container">
+
                                    </header>
<header class="major">
+
                                    <div class="post-it">
<h2>Software HoloPyGuy</h2>
+
                                        <p style="font-size:20px">Here, we present an universal software solution which we, the team iGEM TU Darmstadt, created for digital inline holographic microscopy (DHIM).
</header>
+
                                            We therefore employ the open-source framework <b>Holopy</b> and extended the existing solution with a graphical user interface.
<div class="post-it">
+
                                            The resulting software includes the connection to a raspberry pi cam as well as a control element for a commonly used blue-ray laser.
            <p style="font-size:20px">Here, we present an universal software solution which we, the team iGEM TU Darmstadt, created for digital inline holographic microscopy (DHIM).
+
                                            The graphical user interface relies on the <b>Qt5</b> framework and is written in <b>Python</b>. The solution
    We therefore employ the open-source framework <b>Holopy</b> and extended the existing solution with a graphical user interface.
+
                                            aims to be applicable for self-made DIHM and an ‘easy-to-use‘ hologram reconstruction suite. The project is hosted on <b>GitHub</b> under <b>MIT License</b>
    The resulting software includes the connection to a raspberry pi cam as well as a control element for a commonly used blue-ray laser.
+
                                            and is also available for download. A complete user manual is provided in the following section.
    The graphical user interface relies on the <b>Qt5</b> framework and is written in <b>Python</b>. The solution
+
                                        </p>
    aims to be applicable for self-made DIHM and an ‘easy-to-use‘ hologram reconstruction suite. The project is hosted on <b>GitHub</b> under <b>MIT License</b>
+
                                    </div>
    and is also available for download. A complete user manual is provided in the following section.
+
                                    <h2>HoloPyGuy - An Introduction</h2>
</p>
+
                                    <center>
    </div>
+
                                    <!--<img src="https://static.igem.org/mediawiki/2017/9/99/T--TU_Darmstadt--holopyguy.png" alt="A screenshot of v0.5 of HolopyGuy" style="width=50%;max-width:821px;">-->
<h2>HoloPyGuy - An Introduction</h2>
+
                                    <video src="https://static.igem.org/mediawiki/2017/0/09/T--TU_Darmstadt--holo.webm" controls poster="https://static.igem.org/mediawiki/2017/9/99/T--TU_Darmstadt--holopyguy.png" style="width=50%;max-width:821px;">
            <center>
+
                                        </center>
    <!--<img src="https://static.igem.org/mediawiki/2017/9/99/T--TU_Darmstadt--holopyguy.png" alt="A screenshot of v0.5 of HolopyGuy" style="width=50%;max-width:821px;">-->
+
                                        <p>First, a reference picture, taken without a sample, needs to be provided in order to analyze a hologram. These reference pictures can be imported by choosing the panel ‘Open Background’.
<video src="https://static.igem.org/mediawiki/2017/0/09/T--TU_Darmstadt--holo.webm" controls poster="https://static.igem.org/mediawiki/2017/9/99/T--TU_Darmstadt--holopyguy.png" style="width=50%;max-width:821px;">
+
                                            Several background pictures, which are turned into one averaged hologram, is subtracted from the sample hologram, which can
    </center>
+
                                            be imported via the panel ‘Load Sample’.
<p>First, a reference picture, taken without a sample, needs to be provided in order to analyze a hologram. These reference pictures can be imported by choosing the panel ‘Open Background’.
+
                                            A dark field image can be generated by taking a picture without laser light if you are concerned about residual light in your setup, but it is not obligatory for each setup. The settings for
Several background pictures, which are turned into one averaged hologram, is subtracted from the sample hologram, which can
+
                                            reconstruction are controlled using the Boxes on the left. Reconstructing a hologram
be imported via the panel ‘Load Sample’.
+
                                            can be easily accomplished by choosing the panel ‘Hologram’.  The single settings provided will be further explained
A dark field image can be generated by taking a picture without laser light if you are concerned about residual light in your setup, but it is not obligatory for each setup. The settings for
+
                                            in the section ‘controls’. The algorithm used for reconstruction is applicable for light coming from point sources only.
reconstruction are controlled using the Boxes on the left. Reconstructing a hologram
+
                                            <center>
can be easily accomplished by choosing the panel ‘Hologram’.  The single settings provided will be further explained
+
                                            <figure>
in the section ‘controls’. The algorithm used for reconstruction is applicable for light coming from point sources only.
+
                                                <img src="https://static.igem.org/mediawiki/2017/f/f1/T--TU_Darmstadt--background3.png" alt="A reference image for a laser system." style="width:32%;max-width:1944px;margin:1.5% 1% 1.5% 1%;float:left">
    <center>
+
                                            </figure>
            <figure>
+
                                            <figure>
    <img src="https://static.igem.org/mediawiki/2017/f/f1/T--TU_Darmstadt--background3.png" alt="A reference image for a laser system." style="width:32%;max-width:1944px;margin:1.5% 1% 1.5% 1%;float:left">
+
                                                <img src="https://static.igem.org/mediawiki/2017/0/09/T--TU_Darmstadt--wrongsample.png" alt="A raw hologram on the background." style="width:32%;max-width:1944px;margin:1.5% 0 1.5% 1%;float:left">
</figure>
+
                                            </figure>
            <figure>
+
                                            <figure>
<img src="https://static.igem.org/mediawiki/2017/0/09/T--TU_Darmstadt--wrongsample.png" alt="A raw hologram on the background." style="width:32%;max-width:1944px;margin:1.5% 0 1.5% 1%;float:left">
+
                                                <img src="https://static.igem.org/mediawiki/2017/e/e4/T--TU_Darmstadt--hologram.png" alt="A reconstructed hologram with HoloPyGuy." style="width:32%;max-width:1944px;margin:1.5% 0 1.5% 1%;float:left">
            </figure>
+
                                                <figcaption>At first, a picture of the beam without sample serves as reference (left). A raw hologram has fringes around the objects of interest (middle). The reconstructed object is calculated
                <figure>
+
                                                by substracting the reference picture from the raw hologram and then analyzed with reverse propagation.</figcaption>
                <img src="https://static.igem.org/mediawiki/2017/e/e4/T--TU_Darmstadt--hologram.png" alt="A reconstructed hologram with HoloPyGuy." style="width:32%;max-width:1944px;margin:1.5% 0 1.5% 1%;float:left">
+
                                            </figure>
<figcaption>At first, a picture of the beam without sample serves as reference (left). A raw hologram has fringes around the objects of interest (middle). The reconstructed object is calculated
+
                                            </center>
    by substracting the reference picture from the raw hologram and then analyzed with reverse propagation.</figcaption>
+
                                        </p>
                </figure>
+
                                        <h3>Settings</h3>
        </center>
+
                                        <p>
 
+
                                            All lengths are internal converted to meters. The preset values are corresponding to
</p>
+
                                            our DIHM setup.
            <h3>Settings</h3>
+
                                            <table style = "width:100%">
            <p>
+
                                                <tr>
            All lengths are internal converted to meters. The preset values are corresponding to
+
                                                    <td>Parameters</td>
our DIHM setup.
+
                                                    <td>Description</td>
 
+
                                                </tr>
            <table style = "width:100%">
+
                                                <tr>
        <tr>
+
                                                    <td>Distance</td>
            <td>Parameters</td>
+
                                                    <td>The distance between cam to light source in mm</td>
            <td>Description</td>
+
                                                </tr>
        </tr>
+
                                                <tr>
        <tr>
+
                                                    <td>Z min</td>
            <td>Distance</td>
+
                                                    <td>Smallest distance from camera to calculate wavefronts</td>
            <td>The distance between cam to light source in mm</td>
+
                                                </tr>
        </tr>
+
                                                <tr>
        <tr>
+
                                                    <td>Z max</td>
            <td>Z min</td>
+
                                                    <td>Greatest distance from camera to object of interest</td>
            <td>Smallest distance from camera to calculate wavefronts</td>
+
                                                </tr>
        </tr>
+
                                                <tr>
        <tr>
+
                                                    <td>Z steps</td>
            <td>Z max</td>
+
                                                    <td>Number of calculate distances between Z min and Z max</td>
            <td>Greatest distance from camera to object of interest</td>
+
                                                </tr>
        </tr>
+
                                                <tr>
        <tr>
+
                                                    <td>Pixel out</td>
            <td>Z steps</td>
+
                                                    <td>Size of squared hologram reconstruction. Decrease for smaller resolution but shorter computational time</td>
            <td>Number of calculate distances between Z min and Z max</td>
+
                                                </tr>
        </tr>
+
                                                <tr>
        <tr>
+
                                                    <td>Magnification</td>
            <td>Pixel out</td>
+
                                                    <td>Specifies the magnification on the output picture. Higher magnifications means higher computational costs</td>
            <td>Size of squared hologram reconstruction. Decrease for smaller resolution but shorter computational time</td>
+
                                                </tr>
        </tr>
+
                                                <tr>
        <tr>
+
                                                    <td>Wavelength</td>
            <td>Magnification</td>
+
                                                    <td>Wavelength of the used light in nm. Blue is 480 nm</td>
            <td>Specifies the magnification on the output picture. Higher magnifications means higher computational costs</td>
+
                                                </tr>
        </tr>
+
                                                <tr>
        <tr>
+
                                                    <td>Spacing</td>
            <td>Wavelength</td>
+
                                                    <td>Distance between the center of two pixels. We show how to calculate it for our photosensor.</td>
            <td>Wavelength of the used light in nm. Blue is 480 nm</td>
+
                                                </tr>
        </tr>
+
                                            </table>
        <tr>
+
                                        </p>
            <td>Spacing</td>
+
                                        <h3>Download and further documentation</h3>
            <td>Distance between the center of two pixels. We show how to calculate it for our photosensor.</td>
+
                                        <p>
        </tr>
+
                                            We provide the entire software as it is. A short installation manual for python exists.
    </table>
+
                                        </p>
</p>
+
                                    </div>
<h3>Download and further documentation</h3>
+
                                </section>
<p>
+
                                <!-- References -->
            We provide the entire software as it is. A short installation manual for python exists.
+
                                <section id="seven"><div class="container">
</p>
+
                                    <h3>References</h3>
        </div>
+
                                    <p>
    </section>
+
                                        <table width="100%" border="0" cellpadding="0" cellspacing="2">
<!-- References -->
+
                                            <tr>
    <section id="references">
+
                                                <td id="[1]">[1]</td>
        <div class="container">
+
                                                <td>Samain, E., Drouillard, S., Heyraud, A., Driguez, H., and Geremia, R. A. (1997) Gram-scale synthesis of recombinant chitooligosaccharides in <i>Escherichia coli</i>. <i>Carbohydrate Research</i>, 302, 35 – 42
            <h3>References</h3>
+
                                                <br>DOI: 10.1016/S0008-6215(97)00107-9</td>
            <ul>
+
                                            </tr>
                <li>Holopy: <a href="python.org">HoloPy</a></li>
+
                                            <tr>
            </ul>
+
                                                <td id="[2]">[2]</td>
        </div>
+
                                                <td>Kurita, K. (2006) Chitin and Chitosan: Functional Biopolymers from Marine Crustaceans. <i>Marine Biotechnology</i>, 8, 203 – 226
    </section>
+
                                                <br>DOI: 10.1007/s10126-005-0097-5</td>
 
+
                                            </tr>
<!-- Footer -->
+
                                            <tr>
  <section id="footer">
+
                                                <td id="[3]">[3]</td>
<div class="container">
+
                                                <td>Knight, T. (2003) Idempotent Vector Design for Standard Assembly of Biobricks. <i>MIT Artificial Intellignece Laboratory</i> </td>
<ul class="copyright">
+
                                            </tr>
<li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
+
                                            <tr>
</ul>
+
                                                <td id="[4]">[4]</td>
</div>
+
                                                <td>Dutta, P. K., Dutta, J., and Tripathi, V. S. (2004) Chitin and Chitosan: Chemistry, properties and applications. <i>Journal of Scientific &amp; Industrial Research</i>, 63, 20 – 31  </td>
  </section>
+
                                            </tr>
 
+
                                            <tr>
</div>
+
                                                <td id="[5]">[5]</td>
</body>
+
                                                <td> Kumar, M. N. V. R. (2000) A review of chitin and chitosan applications. <i>Reactive &amp; Functional Polymers</i>, 46, 1 – 27
</html>
+
                                                <br>DOI: 10.1016/S1381-5148(00)00038-9</td>
 +
                                            </tr>
 +
                                            <tr>
 +
                                                <td id="[6]">[6]</td>
 +
                                                <td>Debellé, F., Rosenberg, C., and Dénarié, J. (1992) The <i>Rhizobium, Bradyrhizobium</i>, and <i>Azorhizobium</i> NodC proteins are homologous to yeast chitin synthases. <i>Molecular Plant-Microbe Interactions</i>, 5, 443 – 446
 +
                                                <br>PMID: 1472721</td>
 +
                                            </tr>
 +
                                            <tr>
 +
                                                <td id="[7]">[7]</td>
 +
                                                <td>Long, S. R. (1996) <i>Rhizobium</i> Symbiosis: Nod Factors in Perspective. <i>The Plant Cell</i>, 8, 1885 – 1898
 +
                                                <br>DOI: 10.1105/tpc.8.10.1885</td>
 +
                                            </tr>
 +
                                            <tr>
 +
                                                <td id="[8]">[8]</td>
 +
                                                <td>Barny, M. A., and Downie, J. A. (1993) Identification of the NodC Protein in the Inner but Not the Outer Membrane of <i>Rhizobium leguminosarum</i>. <i>Molecular Plant-Microbe Interactions</i>, 6, 669 – 672</td>
 +
                                            </tr>
 +
                                            <tr>
 +
                                                <td id="[9]">[9]</td>
 +
                                                <td>Dorfmueller, H.C., Ferenbach, A. T., Borodkin, V. S., and van Aalten, D. M. F. (2014) A Structural and Biochemical Model of Processive Chitin Synthesis. <i>The Journal of Biological Chemistry</i>, 289, 23020 – 23028
 +
                                                <br>DOI: 10.1074/jbc.M114.563353</td>
 +
                                            </tr>
 +
                                            <tr>
 +
                                                <td id="[10]">[10]</td>
 +
                                                <td>Kamst, E., van der Drift, K. M. G. M., Thomas-Oates, J. E., Lugtenberg, B. J. J., and Spaink, H. P. (1995) Mass Spectrometric Analysis of Chitin Oligosaccharides Produced by <i>Rhizobium</i> NodC Protein in <i>Escherichia coli</i>. <i>Journal of Bacteriology</i>, 177, 6282 - 6285
 +
                                                <br>DOI:  10.1128/jb.177.21.6282-6285.199</td>
 +
                                            </tr>
 +
                                            <tr>
 +
                                                <td id="[11]">[11]</td>
 +
                                                <td>Promega (2015) UDP-Glo<sup>TM</sup> Glycosyltransferase Assay, Technical Manual</td>
 +
                                            </tr>
 +
                                        </table>
 +
                                    </p>
 +
                                </div>
 +
                            </section>
 +
                            <!-- Footer -->
 +
                            <section id="footer">
 +
                                <div class="container">
 +
                                    <ul class="copyright">
 +
                                        <li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
 +
                                    </ul>
 +
                                </div>
 +
                            </section>
 +
                        </div>
 +
                    </body>
 +
                </html>

Revision as of 06:58, 15 October 2017

MainPage

Software HoloPyGuy

Here, we present an universal software solution which we, the team iGEM TU Darmstadt, created for digital inline holographic microscopy (DHIM). We therefore employ the open-source framework Holopy and extended the existing solution with a graphical user interface. The resulting software includes the connection to a raspberry pi cam as well as a control element for a commonly used blue-ray laser. The graphical user interface relies on the Qt5 framework and is written in Python. The solution aims to be applicable for self-made DIHM and an ‘easy-to-use‘ hologram reconstruction suite. The project is hosted on GitHub under MIT License and is also available for download. A complete user manual is provided in the following section.

HoloPyGuy - An Introduction

First, a reference picture, taken without a sample, needs to be provided in order to analyze a hologram. These reference pictures can be imported by choosing the panel ‘Open Background’. Several background pictures, which are turned into one averaged hologram, is subtracted from the sample hologram, which can be imported via the panel ‘Load Sample’. A dark field image can be generated by taking a picture without laser light if you are concerned about residual light in your setup, but it is not obligatory for each setup. The settings for reconstruction are controlled using the Boxes on the left. Reconstructing a hologram can be easily accomplished by choosing the panel ‘Hologram’. The single settings provided will be further explained in the section ‘controls’. The algorithm used for reconstruction is applicable for light coming from point sources only.

A reference image for a laser system.
A raw hologram on the background.
A reconstructed hologram with HoloPyGuy.
At first, a picture of the beam without sample serves as reference (left). A raw hologram has fringes around the objects of interest (middle). The reconstructed object is calculated by substracting the reference picture from the raw hologram and then analyzed with reverse propagation.

Settings

All lengths are internal converted to meters. The preset values are corresponding to our DIHM setup.

Parameters Description
Distance The distance between cam to light source in mm
Z min Smallest distance from camera to calculate wavefronts
Z max Greatest distance from camera to object of interest
Z steps Number of calculate distances between Z min and Z max
Pixel out Size of squared hologram reconstruction. Decrease for smaller resolution but shorter computational time
Magnification Specifies the magnification on the output picture. Higher magnifications means higher computational costs
Wavelength Wavelength of the used light in nm. Blue is 480 nm
Spacing Distance between the center of two pixels. We show how to calculate it for our photosensor.

Download and further documentation

We provide the entire software as it is. A short installation manual for python exists.

References

[1] Samain, E., Drouillard, S., Heyraud, A., Driguez, H., and Geremia, R. A. (1997) Gram-scale synthesis of recombinant chitooligosaccharides in Escherichia coli. Carbohydrate Research, 302, 35 – 42
DOI: 10.1016/S0008-6215(97)00107-9
[2] Kurita, K. (2006) Chitin and Chitosan: Functional Biopolymers from Marine Crustaceans. Marine Biotechnology, 8, 203 – 226
DOI: 10.1007/s10126-005-0097-5
[3] Knight, T. (2003) Idempotent Vector Design for Standard Assembly of Biobricks. MIT Artificial Intellignece Laboratory
[4] Dutta, P. K., Dutta, J., and Tripathi, V. S. (2004) Chitin and Chitosan: Chemistry, properties and applications. Journal of Scientific & Industrial Research, 63, 20 – 31
[5] Kumar, M. N. V. R. (2000) A review of chitin and chitosan applications. Reactive & Functional Polymers, 46, 1 – 27
DOI: 10.1016/S1381-5148(00)00038-9
[6] Debellé, F., Rosenberg, C., and Dénarié, J. (1992) The Rhizobium, Bradyrhizobium, and Azorhizobium NodC proteins are homologous to yeast chitin synthases. Molecular Plant-Microbe Interactions, 5, 443 – 446
PMID: 1472721
[7] Long, S. R. (1996) Rhizobium Symbiosis: Nod Factors in Perspective. The Plant Cell, 8, 1885 – 1898
DOI: 10.1105/tpc.8.10.1885
[8] Barny, M. A., and Downie, J. A. (1993) Identification of the NodC Protein in the Inner but Not the Outer Membrane of Rhizobium leguminosarum. Molecular Plant-Microbe Interactions, 6, 669 – 672
[9] Dorfmueller, H.C., Ferenbach, A. T., Borodkin, V. S., and van Aalten, D. M. F. (2014) A Structural and Biochemical Model of Processive Chitin Synthesis. The Journal of Biological Chemistry, 289, 23020 – 23028
DOI: 10.1074/jbc.M114.563353
[10] Kamst, E., van der Drift, K. M. G. M., Thomas-Oates, J. E., Lugtenberg, B. J. J., and Spaink, H. P. (1995) Mass Spectrometric Analysis of Chitin Oligosaccharides Produced by Rhizobium NodC Protein in Escherichia coli. Journal of Bacteriology, 177, 6282 - 6285
DOI: 10.1128/jb.177.21.6282-6285.199
[11] Promega (2015) UDP-GloTM Glycosyltransferase Assay, Technical Manual