feat: embed gf3 water extraction workflow
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
"""Programmatic API for GF-3 water extraction."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from argparse import Namespace
|
||||
from dataclasses import asdict
|
||||
from pathlib import Path
|
||||
|
||||
from .config import WaterExtractionConfig
|
||||
from .pipeline import run_from_args
|
||||
|
||||
|
||||
def run_water_extraction(config: WaterExtractionConfig) -> int:
|
||||
"""Run the processor from a typed config object.
|
||||
|
||||
The return value matches the CLI process exit code. Outputs are written under
|
||||
``config.out_dir`` and optional vector output paths.
|
||||
"""
|
||||
data = asdict(config)
|
||||
for key, value in list(data.items()):
|
||||
if isinstance(value, Path):
|
||||
data[key] = value
|
||||
elif isinstance(value, list):
|
||||
data[key] = [Path(item) for item in value]
|
||||
return run_from_args(Namespace(**data))
|
||||
Reference in New Issue
Block a user