Concepts
Categories:
Introduction
By the end of this chapter, the basic concepts of ALS will be familiar to you.
You will understand what ALS does and how it does it.
Stacking
Stacking is the process of combining multiple subs of the same target to generate a more detailed and contrasted image than a single sub.
The quality of the result increases as more subs are used.
The stack
The stack is the set of subs on which ALS performs real-time stacking (livestacking).
Livestacking with ALS
ALS monitors the destination folder of your image acquisition system.
When a new sub is detected, it is added to the stack and a new stacking result is generated.
ALS modules
ALS is architected into autonomous modules, divided into two families:
-
Main modules
Responsible for image processing:
- Preprocess: Calibration
- Stacker: Alignment and stacking
- Process: Visual processing
- Save: Disk saving
-
Utility modules
Responsible for auxiliary tasks:
- Scanner: Monitoring the scan folder
- Server: Sharing images over the network
Image path
Images pass through ALS, module after module, from the scan folder, up to display and disk saving.
graph LR SCANNER(Scanner) PREPROCESS(Preprocess) STACKER(Stacker) PROCESS(Process) SAVE(Save) SCAN_FOLDER@{ shape: lin-cyl, label: "Scan Folder" } WORK_FOLDER@{ shape: lin-cyl, label: "Work Folder" } WEB_FOLDER@{ shape: lin-cyl, label: "Web Folder" } SERVER(Server) GUI@{ shape: curv-trap, label: "Interface" } SCAN_FOLDER -.-> SCANNER SCANNER -.-> PREPROCESS PREPROCESS -.-> STACKER STACKER ---> PROCESS PROCESS --> SAVE SAVE --> WORK_FOLDER SAVE --> WEB_FOLDER WEB_FOLDER ---> SERVER PROCESS ---> GUI style SCANNER fill:#333,stroke:darkred,stroke-width:2px style PREPROCESS fill:#333,stroke:darkred,stroke-width:4px,color:#c6c6c6,font-family:'Poppins',sans-serif style STACKER fill:#333,stroke:darkred,stroke-width:4px,color:#c6c6c6,font-family:'Poppins',sans-serif style PROCESS fill:#333,stroke:darkred,stroke-width:4px,color:#c6c6c6,font-family:'Poppins',sans-serif style SAVE fill:#333,stroke:darkred,stroke-width:4px,color:#c6c6c6,font-family:'Poppins',sans-serif classDef module fill:#333,stroke:darkred,stroke-width:2px classDef main_module fill:#333,stroke:darkred,stroke-width:4px,color:#c6c6c6,font-family:'Poppins',sans-serif classDef folder fill:#555,stroke:#970,stroke-width:2px,color:#c6c6c6,font-family:'Poppins',sans-serif classDef display fill:#555,stroke:#222,stroke-width:2px,color:#c6c6c6,font-family:'Poppins',sans-serif class SCANNER module class SERVER module class PREPROCESS main_module class STACKER main_module class PROCESS main_module class SAVE main_module class SCAN_FOLDER folder class WORK_FOLDER folder class WEB_FOLDER folder class GUI display
- Your subs transit from the scan folder to the Stacker module.
- Images generated by ALS transit from the Stacker module to the outputs.
Main Modules
These modules group and order image processing tasks.
Each module has its own queue and continuously performs the following actions:
- Waits for a new image to appear in the queue.
- Processes the image.
- Provides the processing result to the application.
In case of an error during image processing:
- The image processing is aborted
- The disposal of the image is signaled to the application.
- The module resumes listening to its queue.
Preprocess
The preprocess module groups the following calibration processes:
-
Hot pixel removal
Replaces the value of hot pixels with the average value of neighboring pixels.
-
Dark subtraction
Uses a master dark provided by you to subtract thermal noise from the image.
-
Debayering
Color images in FITS or Raw format are converted to RGB color using the Bayer pattern described in the file headers.
You can find more information about the Preprocess module in its detailed documentation.
Stacker
The Stacker module maintains the stack and processes each calibrated sub:
-
Alignment:
Aligns the sub to the session reference.
-
Stacking:
- Adds the sub to the current stack.
- Generates the stacking result based on the mode chosen by the user (mean or sum)
You can find more information about the Stacker module in its detailed documentation.
Process
The Process module groups the visual processing applied to the stacking results:
-
Auto stretch
Automatically adjusts the image levels for optimal viewing.
-
Levels
Allows adjusting the black and white clipping, and the mid-tone level.
-
RGB balance
Allows adjusting the color balance.
Save
The Save module is in charge of saving to disk every processing result
The Save module saves images in two target folders:
- The work folder for storing processing results
- The web folder for sharing on the network via the Server module.
Each processing result is saved in 2 files:
-
Main output:
- Location: work folder.
- Name: stack_image (+ timestamp if requested).
- Format: As defined in Preferences. ℹ️ Default: JPEG.
-
Server output:
- Location: web folder.
- Name: web_image.
- Format: JPEG.
ℹ️ By default, the path of the web folder is the same as that of the work folder.
You can define a dedicated web folder in the Preferences.
You can find more information about the Save module in its detailed documentation.
Utility Modules
ALS uses other modules that are not involved in image processing. However, they are essential for the proper functioning of the application:
Scanner
This module is responsible for detecting new subs in the scan folder and transmitting them to the Preprocess module.
You can find more information about the Scanner module in its detailed documentation.
Server
This module handles sharing the server output of the Save module over the network.
It is accessible from the network to which the machine running ALS is connected.
The served web page allows you to view the latest processing result and navigate it as in the graphical interface.
Everytime a new processing result is done, the image displayed on the web page is automatically updated.
The session
A session can be seen as the lifecycle of the pair formed by the stack and the Scanner.
-
Session start:
- ALS clears the stack and starts the Scanner.
-
Progress:
-
Subs are loaded and flow through the application.
-
The first sub received by the Stacker module will serve as alignment reference throughout the session.
-
The session can be paused: ALS stops the Scanner and retains the stack.
Resuming the session starts the Scanner. The next subs will be added to the current stack.
At any time, the user can navigate the displayed image, zoom, adjust processing parameters…
-
-
Session end:
- the Scanner is stopped.
- the Stacker module will clear the stack at the next session start.
Conclusion
You now have a clear understanding of the architecture and basic concepts of ALS.
Next step: the ALS graphical interface.