Skip to content

Commit

Permalink
Deploying to gh-pages from @ 4358ebc 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
We-Gold committed Aug 7, 2024
1 parent 77e2b93 commit 9b636da
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 8 deletions.
17 changes: 16 additions & 1 deletion guide/backproject/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@
<nav>
<ul>
<li><a href="#backprojection">Backprojection</a></li>
<li><a href="#using-the-backproject-page">Using the Backproject Page</a></li><li><a href="#how-does-backprojection-work">How Does Backprojection Work?</a></li>
<li><a href="#using-the-backproject-page">Using the Backproject Page</a></li><li><a href="#slicing-options">Slicing Options</a></li><li><a href="#how-does-backprojection-work">How Does Backprojection Work?</a></li>
</ul>
</nav>
</aside>
Expand All @@ -406,6 +406,21 @@ <h3 id="using-the-backproject-page">Using the Backproject Page</h3>
<p><strong>Output Position Offset</strong></p>
<p>By default, the slicing output tiff image is backprojected into the space of its minimum bounding box, rather than the space of the entire source scan.</p>
<p>The offset of the minimum bounding box is stored in the output tiff's description metadata. It is also stored in the configuration file (which is modified by the backproject step).</p>
<h3 id="slicing-options">Slicing Options</h3>
<p>📁 - Drag and drop files from File Explorer panel into this option.</p>
<ul>
<li>📁 <code>Straightened Volume File</code> - Path to the volume of slices to backproject (e.g. the output tif of the slicing step).</li>
<li>📁 <code>Slice Configuration File</code> - Path to the <code>-configuration.json</code> file which includes information generated during slicing needed for backprojection.</li>
<li>📁 <code>Output File Folder</code> - The folder to save all the resulting files into.</li>
<li><code>Output File Name</code> - Base name for all output files.</li>
<li><code>Output MIP Level</code> - The mip level to output the backprojection in (essentially an upsample option). Use this if you downsampled in the slicing step.</li>
<li><code>Upsample Order</code> - The interpolation order Ouroboros uses to interpolate values from a lower MIP level. If you check the binary option, feel free to set this to 0.</li>
<li><code>Backprojection Compression</code> - The compression option to use for the backprojected tiff(s). Recommended options: <code>none</code>, <code>zlib</code>, <code>zstd</code>.</li>
<li><code>Output Single File</code> - Whether to output one tiff stack file or a folder of files.</li>
<li><code>Output Min Bounding Box</code> - Save only the minimum volume needed to contain the backprojected slices. The offset will be stored in the <code>-configuration.json</code> file under <code>backprojection_offset</code>. This value is the (x_min, y_min, z_min).</li>
<li><code>Binary Backprojection</code> - Whether or not to binarize all the values of the backprojection. Enable this to backproject a segmentation.</li>
<li><code>Max RAM (GB)</code> - 0 indicates no RAM limit. Setting a RAM limit allows Ouroboros to optimize performance and avoid overusing RAM.</li>
</ul>
<h3 id="how-does-backprojection-work">How Does Backprojection Work?</h3>
<p>A large amount of helpful data is saved in <code>*-configuration.json</code> file after the slicing process. This data contains all of the rectangle corners from slicing, and the bounding boxes the slices are associated with. With this data, Ouroboros recalculates the 2D coordinate grids of 3D points for each slice.</p>
<p><strong>Trilinear Interpolation</strong></p>
Expand Down
7 changes: 4 additions & 3 deletions guide/downloading/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -388,15 +388,16 @@
<main id="terminal-mkdocs-main-content">
<section id="mkdocs-terminal-content">
<h1 id="download-ouroboros">Download Ouroboros</h1>
<p>There are prebuilt applications available in <a href="https://github.com/We-Gold/ouroboros/releases">Releases</a>.</p>
<p><a href="https://www.docker.com/">Docker</a> <strong>is required</strong> to run Ouroboros. Make sure to install and run it before running Ouroboros.</p>
<p>Prebuilt applications are available in <a href="https://github.com/We-Gold/ouroboros/releases">Releases</a>.</p>
<ul>
<li>Windows: <code>*-setup.exe</code></li>
<li>Mac: <code>*.dmg</code></li>
<li>Linux: Multiple options available</li>
</ul>
<p>When you open the app, the GUI will open immediately, but <strong>the local server that runs the processing could take up to 15 seconds to start</strong>. There is an indicator in the GUI that shows if the server is connected.</p>
<p>When you open the app, the GUI will open immediately, but <strong>the local server that runs the processing could take up a minute to start</strong> the first time it is run. There is an indicator in the GUI that shows if the server is connected.</p>
<p>Currently, none of the apps are notarized. </p>
<p>For Mac, if an error occurs when you try to run the app, find the app installation (should be called <code>ouroboros.app</code>) and run <code>xattr -d com.apple.quarantine ouroboros.app</code>. </p>
<p>For Mac, if an error occurs when you try to run the app, find the app installation (should be called <code>Ouroboros.app</code>) and run <code>xattr -d com.apple.quarantine Ouroboros.app</code>. </p>
</section>

</main>
Expand Down
24 changes: 23 additions & 1 deletion guide/slicing/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@
<nav>
<ul>
<li><a href="#slicing">Slicing</a></li>
<li><a href="#using-the-slice-page">Using the Slice Page</a></li><li><a href="#how-does-slicing-work">How Does Slicing Work?</a></li>
<li><a href="#using-the-slice-page">Using the Slice Page</a></li><li><a href="#slicing-options">Slicing Options</a></li><li><a href="#how-does-slicing-work">How Does Slicing Work?</a></li>
</ul>
</nav>
</aside>
Expand All @@ -395,6 +395,28 @@ <h3 id="using-the-slice-page">Using the Slice Page</h3>
<p><img alt="Basic Usage Demo" src="../../assets/slicing/Slice%20Page%20Demo.gif" /></p>
<p><strong>Reusing Options from a Previous Run</strong></p>
<p><img alt="Reusing Options from a Previous Run" src="../../assets/slicing/Slice%20Page%20Options%20Demo.gif" /></p>
<h3 id="slicing-options">Slicing Options</h3>
<p>📁 - Drag and drop files from File Explorer panel into this option.</p>
<ul>
<li>📁 <code>Neuroglancer JSON</code> - Path to the Neuroglancer configuration JSON file (exported from Neuroglancer with <code>{}</code> icon, or through the Neuroglancer Plugin)</li>
<li><code>Neuroglancer Image Layer</code> - Select Neuroglancer image layer to slice from.</li>
<li><code>Neuroglancer Annotation Layer</code> - Select Neuroglancer annotation layer to slice from.</li>
<li><code>Slice Width</code> - The output width of each slice image.</li>
<li><code>Slice Height</code> - The output height of each slice image.</li>
<li>📁 <code>Output File Folder</code> - The folder to save all the resulting files into.</li>
<li><code>Output File Name</code> - Base name for all output files.</li>
<li><code>Annotation MIP Level</code> - The annotation layer's MIP level. </li>
<li><code>Output MIP Level</code> - The mip level to output slices in (essentially a downsample option).</li>
<li><code>Distance Between Slices</code> - The distance between each slice along the annotation path.</li>
<li><code>Output Single File</code> - Whether to output one tiff stack file or a folder of files.</li>
<li><code>Connect Endpoints</code> - Connect the first point in the path to the last point. This is not recommended.</li>
<li><code>Bounding Box Parameters</code><ul>
<li><code>Max Depth</code> - The maximum depth for binary space partitioning. It is not recommended to change this option unless you encounter RAM issues.</li>
<li><code>Target Slices Per Box</code> - If you are running on a low-RAM system, or you are taking very large slices, you may want to decrease this.</li>
</ul>
</li>
<li><code>Max RAM (GB)</code> - 0 indicates no RAM limit. Setting a RAM limit allows Ouroboros to optimize performance and avoid overusing RAM.</li>
</ul>
<h3 id="how-does-slicing-work">How Does Slicing Work?</h3>
<p><strong>Spline Fitting</strong></p>
<p>Ouroboros fits a spline curve to the annotation path from the Neuroglancer JSON file. This produces a smooth, differentiable curve along the length of the annotations. </p>
Expand Down
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -396,9 +396,9 @@ <h1 id="ouroboros">Ouroboros</h1>
<p><img alt="" src="assets/slicing/long-slice.png" /></p>
<p>Extract ROIs from cloud-hosted medical scans.</p>
<p>Ouroboros is a desktop app (built with Electron) and a Python package (with a CLI). </p>
<p>The desktop app comes with a pre-compiled Python server (from the Python package). It runs the server in the background to handle all processing and calculations.</p>
<p>The desktop app uses Docker to build and run its Python server. For this reason, <strong>Docker is required</strong> to run Ouroboros.</p>
<p>If you are interested in using the Python package for its CLI or for a custom usecase, check out the <a href="https://github.com/We-Gold/ouroboros/tree/main/python">python</a> folder in the main repository.</p>
<p>Ouroboros also supports a plugin system. A plugin usage guide is forthcoming.</p>
<p>Ouroboros also has a <a href="guide/plugins/">Plugin System</a>. Plugin servers are also run in Docker.</p>
<h2 id="usage-guide">Usage Guide</h2>
<p><em>It is recommended that you read these pages in order.</em></p>
<ul>
Expand Down
Loading

0 comments on commit 9b636da

Please sign in to comment.