# -*- coding: utf-8 -*- """ 可视化模块 - 耀斑影像预览图生成 """ from pathlib import Path from typing import Optional, Dict from src.postprocessing.visualization_reports import WaterQualityVisualization def generate_glint_deglint_previews( work_dir: str, output_subdir: str = "glint_deglint_previews", generate_glint: bool = True, generate_deglint: bool = True, output_dir: Optional[str] = None ) -> Dict[str, str]: """ 生成2_glint和3_deglint文件夹中影像文件的PNG预览图 Args: work_dir: 工作目录 output_subdir: 输出子目录名称 generate_glint: 是否处理2_glint文件夹 generate_deglint: 是否处理3_deglint文件夹 output_dir: 输出目录(None则使用默认) Returns: 生成的预览图路径字典 """ print(f"\n{'='*70}") print("步骤: 生成耀斑分析影像预览图") print(f"{'='*70}") if work_dir is None: raise ValueError("请提供 work_dir") # 确定输出目录 if output_dir is None: output_dir = str(Path(work_dir) / "visualization" / output_subdir) Path(output_dir).mkdir(parents=True, exist_ok=True) # 实例化可视化器 visualizer = WaterQualityVisualization(output_dir) try: preview_paths = visualizer.generate_glint_deglint_previews( work_dir=work_dir, output_subdir=output_subdir, generate_glint=generate_glint, generate_deglint=generate_deglint ) print(f"耀斑分析影像预览图生成完成,共生成 {len(preview_paths)} 个预览图") return preview_paths except Exception as e: print(f"生成耀斑分析影像预览图时出错: {e}") return {}