59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
# -*- 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 {} |