diff --git a/doc/arch.md b/doc/arch.md index 5840f4ec93d34044e2d09a139f24742c82d0a80b..47084e8fb757e1067536c079750e2031863441de 100644 --- a/doc/arch.md +++ b/doc/arch.md @@ -45,6 +45,10 @@ superimposed.write("superimposed.tif") # Classes +## Scene class + +The scene class handles all the metadata and the imagery. + ```mermaid classDiagram @@ -55,16 +59,6 @@ classDiagram Sentinel2SceneBase <|-- Sentinel23AScene Scene --* Imagery: root_scene - Imagery <|-- Spot67Imagery - Imagery <|-- Sentinel2ImageryBase - Sentinel2ImageryBase <|-- Sentinel22AImagery - Sentinel2ImageryBase <|-- Sentinel23AImagery - - Imagery --* Source: root_imagery - Source <|-- Spot67Source - Source <|-- Sentinel2Source - Sentinel2Source <|-- Sentinel22ASource - Sentinel2Source <|-- Sentinel23ASource class Scene{ +datetime acquisition_date @@ -109,7 +103,66 @@ classDiagram +Sentinel3AImagery get_imagery() +get_metadata() } + +``` + +## Imagery + +The imagery stores the images sources for a particular sensor. + + +```mermaid +classDiagram + + Imagery <|-- Spot67Imagery + Imagery <|-- Sentinel2ImageryBase + Sentinel2ImageryBase <|-- Sentinel22AImagery + Sentinel2ImageryBase <|-- Sentinel23AImagery + + Imagery --* Source: root_imagery + + class Imagery{ + +__init__(root_scene) + +Scene root_scene + } + + class Spot67Imagery{ + +__init__(root_scene) + +Source get_pxs() + +Source get_pan() + +Source get_xs() + } + class Sentinel2ImageryBase{ + +_concatenate_10m_bands() + +_concatenate_20m_bands() + } + + class Sentinel22AImagery{ + +get_10m_bands() + +get_20m_bands() + } + + class Sentinel23AImagery{ + +get_10m_bands() + +get_20m_bands() + } + +``` + +## Source + +The source stores the image pipeline that delivers the pixels. + +```mermaid +classDiagram + + Source <|-- Spot67Source + Source <|-- Sentinel2Source + Sentinel2Source <|-- Sentinel22ASource + Sentinel2Source <|-- Sentinel23ASource + + class Source{ +__init__(root_imagery, out, parent=None) +Imagery root_imagery @@ -139,32 +192,5 @@ classDiagram class Sentinel23ASource{ +Source flg_msk_drilled(keep_flags_values=(3, 4), nodata=0) } - - class Imagery{ - +__init__(root_scene) - +Scene root_scene - } - - class Spot67Imagery{ - +__init__(root_scene) - +Source get_pxs() - +Source get_pan() - +Source get_xs() - } - - class Sentinel2ImageryBase{ - +_concatenate_10m_bands() - +_concatenate_20m_bands() - } - - class Sentinel22AImagery{ - +get_10m_bands() - +get_20m_bands() - } - - class Sentinel23AImagery{ - +get_10m_bands() - +get_20m_bands() - } ``` diff --git a/doc/gen_ref_pages.py b/doc/gen_ref_pages.py index fd04d0b56a01c2238956b9c6239f356642369bde..8e3e2b2d32876054463fbee42c8e7dcf667b85bf 100644 --- a/doc/gen_ref_pages.py +++ b/doc/gen_ref_pages.py @@ -6,16 +6,22 @@ import mkdocs_gen_files nav = mkdocs_gen_files.Nav() -for path in sorted(Path("scenes").rglob("*.py")): +processed_paths = ["app", "scenes"] + +for path in sorted(Path(".").rglob("*.py")): print(f"path: {path}") - module_path = path.relative_to("scenes").with_suffix("") - doc_path = path.relative_to("scenes").with_suffix(".md") + module_path = path.relative_to(".").with_suffix("") + doc_path = path.relative_to(".").with_suffix(".md") full_doc_path = Path("reference", doc_path) print(f"module path: {module_path}") print(f"doc path:{doc_path}") parts = tuple(module_path.parts) print(f"parts: {parts}") + if parts[0] not in processed_paths: + continue + print("--------") + if parts[-1] == "__init__": if len(parts) <= 1: