Scanner
Documentation dĂ©taillĂ©e du module scanner d’ALS
Ici, vous trouverez une documentation dĂ©taillĂ©e sur les modules et traitements d’ALS.
De ce qu’est un module Ă la façon dont fonctionne un traitement, vous trouverez tout ce que vous devez savoir sur les rouages d’ALS.
Un module ALS est une unitĂ© de traitement Ă©laborĂ©e responsable d’une tĂąche spĂ©cifique.
Les modules sont simples et isolĂ©s. Ils n’ont aucune connaissance des autres parties de l’application. Ils font simplement leur travail et rendent compte Ă l’application.
Un module utilitaire est un module trĂšs simple qui est chargĂ© d’une unique tĂąche auxiliaire Ă l’intĂ©rieur d’ALS.
ALS utilise 2 modules utilitaires :
Un module principal est un module spĂ©cialisĂ© qui est chargĂ© de traitements d’images.
Un module principal est dĂ©marrĂ© avec ALS et continue de sonder sa file d’attente pour de nouvelles images Ă traiter, jusqu’Ă ce que l’application soit fermĂ©e.
flowchart LR DĂMARRER((Start)) TEST{{Images dans la file d'attente ?}} PRENDRE[Prend l'image en tĂȘte de file] TRAITER[Traite l'image] DIFFUSER[Diffuse le rĂ©sultat] ATTENDRE[Attend 20ms] DĂMARRER --> TEST TEST -- Oui --> PRENDRE TEST -- Non --> ATTENDRE PRENDRE --> TRAITER TRAITER --> DIFFUSER DIFFUSER --> ATTENDRE ATTENDRE --> TEST classDef bounds fill: #333, stroke: #666, stroke-width: 2px, color: #BBB, font-family: 'Poppins', sans-serif classDef step fill: #444, stroke: #622, stroke-width:2px, color: #c6c6c6, font-family: 'Poppins',sans-serif classDef wait fill: #444, stroke: #262, stroke-width: 2px, color: #c6c6c6, font-family: 'Poppins', sans-serif classDef test fill: #444, stroke: #226,stroke-width: 2px, color: #c6c6c6, font-family:'Poppins', sans-serif class DĂMARRER bounds class TEST test class PRENDRE step class TRAITER step class DIFFUSER step class ATTENDRE wait
ALS a 4 modules principaux :
Un pipeline est un module principal spécialisé qui divise son travail en soumettant son image à une série de tùches simples appelées traitement.
Il gĂšre la liste des traitements Ă exĂ©cuter sur les images de sa file d’attente et l’ordre dans lequel ils sont exĂ©cutĂ©s.
Il s’assure que chaque traitement est exĂ©cutĂ© dans l’ordre, chaque traitement travaillant sur le rĂ©sultat du prĂ©cĂ©dent.
Une fois le dernier traitement terminĂ©, le pipeline diffuse le rĂ©sultat Ă l’application.
flowchart LR DĂMARRER((Start)) TEST{{Images dans la file d'attente ?}} PRENDRE[Prend l'image en tĂȘte de file] subgraph Traitement A[Traitement A] B[Traitement B] end DIFFUSER[Diffuse le rĂ©sultat] ATTENDRE[Attend 20ms] DĂMARRER --> TEST TEST -- Oui --> PRENDRE TEST -- Non --> ATTENDRE PRENDRE --> A A -.-> B B --> DIFFUSER DIFFUSER --> ATTENDRE ATTENDRE --> TEST classDef bounds fill: #333, stroke: #666, stroke-width: 2px, color: #BBB, font-family: 'Poppins', sans-serif classDef step fill: #444, stroke: #622, stroke-width:2px, color: #c6c6c6, font-family: 'Poppins',sans-serif classDef process fill: #333, stroke: #622, stroke-width: 2px, color: #c6c6c6, font-family: 'Poppins', sans-serif classDef wait fill: #444, stroke: #262,stroke-width: 2px, color: #c6c6c6, font-family:'Poppins', sans-serif classDef test fill: #444, stroke: #226, stroke-width: 2px, color: #c6c6c6, font-family: 'Poppins', sans-serif class DĂMARRER bounds class TEST test class PRENDRE step class A process class B process class DIFFUSER step class ATTENDRE wait
2 des modules principaux sont des pipelines :
Un traitement est la plus petite unité de traitement dans ALS
Il est gĂ©rĂ© par son pipeline parent et est responsable d’une tĂąche spĂ©cifique Ă effectuer sur une image donnĂ©e.
Comme indiqué précédemment, ALS est divisé en deux domaines :
Ci-dessous, le dĂ©tail des flux Ă l’intĂ©rieur de chaque domaine.
Du systĂšme de fichiers au module Stacker
flowchart LR subgraph Filesystem SCAN_FOLDER@{ shape: lin-cyl, label: "Dossier Scanné" } end subgraph Scanner Module SCANNER_ENGINE[Moteur] end subgraph Preprocess Module direction TB PREPROCESS_ENGINE[Moteur] HOT_PIXEL[Suppression Pixels Chauds] DARK_SUB[Soustraction de Dark] DEBAYER[Dématriçage] end subgraph Stacker Module direction TB STACK_ENGINE[Moteur] end SCAN_FOLDER -.-> SCANNER_ENGINE SCANNER_ENGINE -.-> PREPROCESS_ENGINE PREPROCESS_ENGINE -.-> STACK_ENGINE 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 process fill:#262626,stroke:darkred,stroke-width:1px,color:#c3c3c3,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_ENGINE module class PREPROCESS_ENGINE main_module class STACK_ENGINE main_module class HOT_PIXEL process class DARK_SUB process class DEBAYER process class SCAN_FOLDER folder
Du module Stacker aux affichages et au systĂšme de fichiers de sortie
flowchart LR subgraph Module Stacker direction TB STACK_ENGINE[Moteur] end subgraph Module Process direction TB PROCESS_ENGINE[Moteur] STRETCH[Autostretch] LEVELS[Niveaux] COLOR_BAL[Balance des couleurs] end subgraph Module Save direction TB SAVE_ENGINE[Moteur] end subgraph SystĂšme de fichiers direction TB WEB_FOLDER@{ shape: lin-cyl, label: "Dossier Web" } WORK_FOLDER@{ shape: lin-cyl, label: "Dossier de travail" } end subgraph Module Server direction TB SERVER_ENGINE[Moteur] end subgraph Interface direction TB SCREEN@{ shape: curv-trap, label: "Zone centrale" } HISTOGRAM@{ shape: curv-trap, label: "Histogramme" } end STACK_ENGINE --> PROCESS_ENGINE PROCESS_ENGINE --> SAVE_ENGINE PROCESS_ENGINE ---> SCREEN PROCESS_ENGINE ---> HISTOGRAM SAVE_ENGINE --> WEB_FOLDER SAVE_ENGINE --> WORK_FOLDER WEB_FOLDER --> SERVER_ENGINE 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 process fill:#262626,stroke:darkred,stroke-width:1px,color:#c3c3c3,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 STACK_ENGINE main_module class PROCESS_ENGINE main_module class SAVE_ENGINE main_module class SERVER_ENGINE module class SCREEN display class HISTOGRAM display class WEB_FOLDER folder class WORK_FOLDER folder class STRETCH process class LEVELS process class COLOR_BAL process
Documentation dĂ©taillĂ©e du module scanner d’ALS
Documentation dĂ©taillĂ©e du module Preprocess d’ALS
Documentation dĂ©taillĂ©e du module Stack d’ALS
Documentation dĂ©taillĂ©e du module Save d’ALS