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
Flux de travail du module principal
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
Flux de travail du pipeline
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
Flux à l'intérieur du domaine des subs
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
Flux à l'intérieur du domaine des images
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 Process d’ALS
Documentation dĂ©taillĂ©e du module Save d’ALS
Documentation dĂ©taillĂ©e du module Serveur d’images d’ALS