<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Modules and Processes on Astro Live Stacker</title>
    <link>https://als-app.org/docs/v0.7.1/reference/modules/</link>
    <description>Recent content in Modules and Processes on Astro Live Stacker</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 30 May 2026 17:59:16 +0200</lastBuildDate>
    <atom:link href="https://als-app.org/docs/v0.7.1/reference/modules/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Scanner</title>
      <link>https://als-app.org/docs/v0.7.1/reference/modules/scanner/</link>
      <pubDate>Sun, 31 May 2026 06:32:34 +0000</pubDate>
      <guid>https://als-app.org/docs/v0.7.1/reference/modules/scanner/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Scanner&lt;/strong&gt; module is the entry point for your subs in ALS.&lt;/p&gt;&#xA;&lt;p&gt;It is responsible for:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Monitoring the &lt;strong&gt;appearance&lt;/strong&gt; of subs in the &lt;strong&gt;scan folder&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Loading the detected subs&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&#xA;&#xA;&#xA;    &lt;p&gt;ℹ️ &lt;strong&gt;Existing files are ignored&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Files present in the &lt;strong&gt;scan folder&lt;/strong&gt; before the &lt;strong&gt;Scanner&lt;/strong&gt; module is started are not detected&lt;/p&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&#xA;&#xA;&#xA;    &lt;p&gt;ℹ️ &lt;strong&gt;Detection of subs is recursive&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Subs are detected regardless of the level of subfolders where they appear within the &lt;strong&gt;scan folder&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stacker</title>
      <link>https://als-app.org/docs/v0.7.1/reference/modules/stack/</link>
      <pubDate>Sun, 31 May 2026 06:32:34 +0000</pubDate>
      <guid>https://als-app.org/docs/v0.7.1/reference/modules/stack/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Stacker&lt;/strong&gt; module handles the alignment and stacking of calibrated subs.&lt;/p&gt;&#xA;&lt;h1 id=&#34;configuration&#34;&gt;Configuration&lt;/h1&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Source&lt;/th&gt;&#xA;          &lt;th&gt;Data type&lt;/th&gt;&#xA;          &lt;th&gt;Required&lt;/th&gt;&#xA;          &lt;th&gt;Default value&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Alignment ON/OFF&lt;/td&gt;&#xA;          &lt;td&gt;Interface: &lt;a href=&#34;https://als-app.org/docs/v0.7.1/userguide/ui/controls/#controls&#34;&gt;Stacking controls&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;ON/OFF&lt;/td&gt;&#xA;          &lt;td&gt;∅&lt;/td&gt;&#xA;          &lt;td&gt;ON&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Stacking mode&lt;/td&gt;&#xA;          &lt;td&gt;Interface: &lt;a href=&#34;https://als-app.org/docs/v0.7.1/userguide/ui/controls/#controls&#34;&gt;Stacking controls&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;choices:&lt;br&gt;- mean&lt;br&gt;- sum&lt;/td&gt;&#xA;          &lt;td&gt;YES&lt;/td&gt;&#xA;          &lt;td&gt;mean&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Detection threshold&lt;/td&gt;&#xA;          &lt;td&gt;Interface: &lt;a href=&#34;https://als-app.org/docs/v0.7.1/userguide/ui/controls/#threshold&#34;&gt;Stacking controls&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;integer&lt;/td&gt;&#xA;          &lt;td&gt;YES&lt;/td&gt;&#xA;          &lt;td&gt;25&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h1 id=&#34;control&#34;&gt;Control&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Stack&lt;/strong&gt; module is launched in the background at ALS startup&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Source&lt;/th&gt;&#xA;          &lt;th&gt;Type&lt;/th&gt;&#xA;          &lt;th&gt;Response&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;sub(s) in queue&lt;/td&gt;&#xA;          &lt;td&gt;Event&lt;/td&gt;&#xA;          &lt;td&gt;trigger processing&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h1 id=&#34;input&#34;&gt;Input&lt;/h1&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Data&lt;/th&gt;&#xA;          &lt;th&gt;Type&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;sub at queue front&lt;/td&gt;&#xA;          &lt;td&gt;Image&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;session alignment reference&lt;/td&gt;&#xA;          &lt;td&gt;Image&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h1 id=&#34;behavior&#34;&gt;Behavior&lt;/h1&gt;&#xA;&lt;pre class=&#34;mermaid&#34;&gt;flowchart LR&#xA;Start([START])&#xA;FirstSub{{First sub of the session?}}&#xA;SetAlignReference[Set sub as alignment reference]&#xA;CheckShape{{Sub same dimensions as previous result?}}&#xA;CheckAlign{{Alignment ON?}}&#xA;AlignImage[Align sub]&#xA;StackImage[Add sub to Stack]&#xA;ComputeStacking[Compute stacking]&#xA;PublishReference[Return alignment reference]&#xA;PublishResult[Return generated image]&#xA;End([END])&#xA;&#xA;Start --&amp;gt; FirstSub&#xA;FirstSub -- YES --&amp;gt; SetAlignReference&#xA;SetAlignReference --&amp;gt; PublishReference&#xA;FirstSub -- NO --&amp;gt; CheckShape&#xA;CheckShape -- YES --&amp;gt; CheckAlign&#xA;CheckAlign -- YES --&amp;gt; AlignImage&#xA;AlignImage --&amp;gt; StackImage&#xA;CheckAlign -- NO --&amp;gt; StackImage&#xA;StackImage --&amp;gt; ComputeStacking&#xA;ComputeStacking --&amp;gt; PublishResult&#xA;CheckShape -- NO --&amp;gt; End&#xA;PublishReference --&amp;gt; End&#xA;PublishResult --&amp;gt; End&#xA;&#xA;classDef bounds fill: #333, stroke: #666, stroke-width: 2px, color: #BBB, font-family: &amp;#39;Poppins&amp;#39;, sans-serif&#xA;classDef step fill: #444, stroke: #622, stroke-width:2px, color: #c6c6c6, font-family: &amp;#39;Poppins&amp;#39;,sans-serif&#xA;classDef test fill: #444, stroke: #226, stroke-width: 2px, color: #c6c6c6, font-family: &amp;#39;Poppins&amp;#39;, sans-serif&#xA;&#xA;class Start,End bounds&#xA;class SetAlignReference,AlignImage,StackImage,PublishResult,ComputeStacking,PublishReference step&#xA;class CheckShape,CheckAlign,FirstSub test&lt;/pre&gt;&#xA;&lt;h2 id=&#34;alignment&#34;&gt;Alignment&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;If alignment is ON&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Save</title>
      <link>https://als-app.org/docs/v0.7.1/reference/modules/save/</link>
      <pubDate>Sun, 31 May 2026 06:32:34 +0000</pubDate>
      <guid>https://als-app.org/docs/v0.7.1/reference/modules/save/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Save&lt;/strong&gt; module handles the saving on disk of all images generated by ALS.&lt;/p&gt;&#xA;&lt;p&gt;Its configuration is managed via ALS preferences&lt;/p&gt;&#xA;&lt;h1 id=&#34;configuration&#34;&gt;Configuration&lt;/h1&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Source&lt;/th&gt;&#xA;          &lt;th&gt;Data type&lt;/th&gt;&#xA;          &lt;th&gt;Required&lt;/th&gt;&#xA;          &lt;th&gt;Default value&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;work folder&lt;/td&gt;&#xA;          &lt;td&gt;Prefs: &lt;a href=&#34;https://als-app.org/docs/v0.7.1/userguide/preferences/output/#work-folder&#34;&gt;Output Tab&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;path to a folder&lt;/td&gt;&#xA;          &lt;td&gt;Yes&lt;/td&gt;&#xA;          &lt;td&gt;∅&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;web folder&lt;/td&gt;&#xA;          &lt;td&gt;Prefs: &lt;a href=&#34;https://als-app.org/docs/v0.7.1/userguide/preferences/output/#web-folder&#34;&gt;Output Tab&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;path to a folder&lt;/td&gt;&#xA;          &lt;td&gt;Yes&lt;/td&gt;&#xA;          &lt;td&gt;= work folder&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;file format&lt;/td&gt;&#xA;          &lt;td&gt;Prefs: &lt;a href=&#34;https://als-app.org/docs/v0.7.1/userguide/preferences/output/#format&#34;&gt;Output Tab&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td&gt;choices:&lt;br&gt;- TIFF&lt;br&gt;- PNG&lt;br&gt;- JPEG&lt;/td&gt;&#xA;          &lt;td&gt;Yes&lt;/td&gt;&#xA;          &lt;td&gt;JPEG&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h1 id=&#34;control&#34;&gt;Control&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Save&lt;/strong&gt; module is launched in the background at ALS startup&lt;/p&gt;</description>
    </item>
    <item>
      <title>Server</title>
      <link>https://als-app.org/docs/v0.7.1/reference/modules/server/</link>
      <pubDate>Sun, 31 May 2026 06:32:34 +0000</pubDate>
      <guid>https://als-app.org/docs/v0.7.1/reference/modules/server/</guid>
      <description>&lt;h1 id=&#34;overview&#34;&gt;Overview&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Server&lt;/strong&gt; utility module exposes ALS processing results through a lightweight HTTP and WebSocket service.&lt;/p&gt;&#xA;&lt;p&gt;It is responsible for:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Publishing the &lt;strong&gt;latest stacked image&lt;/strong&gt; and session metrics in the configured &lt;strong&gt;web folder&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Serving the &lt;strong&gt;viewer web application&lt;/strong&gt; (&lt;code&gt;index.html&lt;/code&gt;, JavaScript and icons)&lt;/li&gt;&#xA;&lt;li&gt;Streaming live &lt;strong&gt;new-image notifications&lt;/strong&gt; to connected browsers over WebSockets&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The module runs in its own asyncio event loop and accepts concurrent browser clients. It never alters the processing&#xA;pipeline; it only serves the web image written by the &lt;strong&gt;Save&lt;/strong&gt; module.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
