Mega-1.1 全链路路径归一化收尾(18 文件)

This commit is contained in:
DXC
2026-06-15 15:20:50 +08:00
parent a9e77d2ad0
commit 82e0b92af6
18 changed files with 69 additions and 69 deletions

View File

@ -524,9 +524,9 @@ class Step11MapPanel(QWidget):
# 若为相对路径,使用 work_dir 合成为绝对路径
if not os.path.isabs(step10_output):
step10_output = os.path.join(self.work_dir or '', step10_output).replace('\\', '/')
# 提取父目录后追加 Machine_Learning_Prediction最底层真实子目录
# 提取父目录后追加 9_ML_Prediction最底层真实子目录
base_pred_dir = str(Path(step10_output).parent)
ml_pred_dir = Path(base_pred_dir) / "Machine_Learning_Prediction"
ml_pred_dir = Path(base_pred_dir) / "9_ML_Prediction"
pred_dir = str(ml_pred_dir) if ml_pred_dir.exists() else base_pred_dir
# 2. 备选:从 Step11 界面读取非经验预测输出目录

View File

@ -608,7 +608,7 @@ class ImageCategoryTree(QTreeWidget):
DIR_MAPPING = {
"14_visualization": "统计与分析报表",
"1_water_mask": "水域掩膜识别",
"2_glint": "耀斑区域检测",
"2_Glint_Detection": "耀斑区域检测",
"3_deglint": "去耀斑影像结果",
"5_training_spectra": "训练光谱特征",
"8_Regression_Modeling": "回归建模分析",
@ -618,7 +618,7 @@ class ImageCategoryTree(QTreeWidget):
"glint_deglint_previews": "耀斑处理预览",
"sampling_maps": "采样点空间分布",
"flight_maps": "无人机飞行轨迹",
"Machine_Learning_Prediction": "机器学习预测",
"9_ML_Prediction": "机器学习预测",
"Non_Empirical_Prediction": "非经验模型预测",
"Custom_Regression_Prediction": "自定义回归预测",
"boxplot_dir": "水质参数箱线图",
@ -822,7 +822,7 @@ class ImageCategoryTree(QTreeWidget):
self._work_path / "8_Regression_Modeling",
self._work_path / "10_feature_construction",
self._work_path / "5_training_spectra",
self._work_path / "2_glint",
self._work_path / "2_Glint_Detection",
self._work_path / "3_deglint",
self._work_path / "1_water_mask",
self._work_path / "9_water_quality_prediction",
@ -1304,7 +1304,7 @@ class Step12VizPanel(QWidget):
QMessageBox.warning(
self,
"警告",
"未找到可处理的影像文件2_glint/3_deglint 等)。",
"未找到可处理的影像文件2_Glint_Detection/3_deglint 等)。",
)
elif t == "sampling_map":
map_path = payload.get("map_path")
@ -1522,9 +1522,9 @@ class Step12VizPanel(QWidget):
"""从全局配置自动推断并填入图像目录,然后自动加载目录内容。
推断优先级:
1. {work_dir}/11_12_13_predictions/Machine_Learning_Prediction机器学习预测
1. {work_dir}/9_ML_Prediction机器学习预测
2. {work_dir}/11_12_13_predictions/Non_Empirical_Prediction普通回归预测
3. {work_dir}/11_12_13_predictions/Custom_Regression_Prediction自定义回归预测
3. {work_dir}/13_Custom_Regression/Custom_Regression_Prediction自定义回归预测
4. {work_dir}/14_visualization可视化目录
5. {work_dir}(工作目录根)
"""
@ -1540,9 +1540,9 @@ class Step12VizPanel(QWidget):
# 按优先级寻找存在的目录
candidates = [
pred_dir / "Machine_Learning_Prediction",
work_path / "9_ML_Prediction",
pred_dir / "Non_Empirical_Prediction",
pred_dir / "Custom_Regression_Prediction",
work_path / "13_Custom_Regression" / "Custom_Regression_Prediction",
work_path / "14_visualization",
work_path,
]
@ -1621,9 +1621,9 @@ class Step12VizPanel(QWidget):
"""设置三个预测步骤的默认输出目录"""
try:
base_prediction_dir = work_path / "11_12_13_predictions"
ml_dir = base_prediction_dir / "Machine_Learning_Prediction"
ml_dir = work_path / "9_ML_Prediction"
reg_dir = base_prediction_dir / "Regression_Model_Prediction"
custom_dir = base_prediction_dir / "Custom_Regression_Prediction"
custom_dir = work_path / "13_Custom_Regression" / "Custom_Regression_Prediction"
ml_dir.mkdir(parents=True, exist_ok=True)
reg_dir.mkdir(parents=True, exist_ok=True)
custom_dir.mkdir(parents=True, exist_ok=True)

View File

@ -31,7 +31,7 @@ class Step12Panel(QWidget):
)
layout.addWidget(self.sampling_csv_file)
# 自定义回归模型目录选择(9_Custom_Regression_Modeling
# 自定义回归模型目录选择(13_Custom_Regression
self.regression_models_dir = FileSelectWidget(
"回归模型目录:",
"Directories;;All Files (*.*)"
@ -133,12 +133,12 @@ class Step12Panel(QWidget):
if self.work_dir:
models_dir = self.regression_models_dir.get_path().strip()
if not models_dir:
default_models_dir = os.path.join(self.work_dir, "9_Custom_Regression_Modeling").replace('\\', '/')
default_models_dir = os.path.join(self.work_dir, "13_Custom_Regression").replace('\\', '/')
self.regression_models_dir.set_path(default_models_dir)
# 4. 自动填充输出目录(自定义回归预测目录)
if self.work_dir:
output_dir = os.path.join(self.work_dir, "11_12_13_predictions/Custom_Regression_Prediction")
output_dir = os.path.join(self.work_dir, "13_Custom_Regression/Custom_Regression_Prediction")
os.makedirs(output_dir, exist_ok=True)
existing_out = self.output_dir_widget.get_path()
if not existing_out or not existing_out.strip():
@ -161,7 +161,7 @@ class Step12Panel(QWidget):
"""浏览回归模型目录"""
default = self._get_default_work_dir()
if default:
default = os.path.join(default, "9_Custom_Regression_Modeling")
default = os.path.join(default, "13_Custom_Regression")
dir_path = QFileDialog.getExistingDirectory(self, "选择回归模型目录", default)
if dir_path:
self.regression_models_dir.set_path(dir_path)
@ -170,7 +170,7 @@ class Step12Panel(QWidget):
"""浏览输出目录"""
default = self._get_default_work_dir()
if default:
default = os.path.join(default, "11_12_13_predictions/Custom_Regression_Prediction")
default = os.path.join(default, "13_Custom_Regression/Custom_Regression_Prediction")
dir_path = QFileDialog.getExistingDirectory(self, "选择输出目录", default)
if dir_path:
self.output_dir_widget.set_path(dir_path)

View File

@ -524,9 +524,9 @@ class Step14Panel(QWidget):
# 若为相对路径,使用 work_dir 合成为绝对路径
if not os.path.isabs(step10_output):
step10_output = os.path.join(self.work_dir or '', step10_output).replace('\\', '/')
# 提取父目录后追加 Machine_Learning_Prediction最底层真实子目录
# 提取父目录后追加 9_ML_Prediction最底层真实子目录
base_pred_dir = str(Path(step10_output).parent)
ml_pred_dir = Path(base_pred_dir) / "Machine_Learning_Prediction"
ml_pred_dir = Path(base_pred_dir) / "9_ML_Prediction"
pred_dir = str(ml_pred_dir) if ml_pred_dir.exists() else base_pred_dir
# 2. 备选:从 Step11 界面读取非经验预测输出目录

View File

@ -186,10 +186,10 @@ class Step2Panel(QWidget):
# 3. 自动填充输出路径(基于工作目录)
if self.work_dir:
# 生成输出耀斑掩膜的标准路径workspace/2_glint_mask/glint_mask_out.dat
output_dir = os.path.join(self.work_dir, "2_glint_mask")
# 生成输出耀斑掩膜的标准路径workspace/2_Glint_Detection/severe_glint_area.dat
output_dir = os.path.join(self.work_dir, "2_Glint_Detection")
os.makedirs(output_dir, exist_ok=True)
default_output_path = os.path.join(output_dir, "glint_mask_out.dat").replace('\\', '/')
default_output_path = os.path.join(output_dir, "severe_glint_area.dat").replace('\\', '/')
self.output_file.set_path(default_output_path)
else:
# 没有工作目录时,清空输出路径

View File

@ -190,7 +190,7 @@ class Step9MlPredictPanel(QWidget):
"""浏览模型母文件夹,自动扫描子目录中的 .joblib 文件"""
default = self._get_default_work_dir()
if default:
default = os.path.join(default, "9_supervised_modeling")
default = os.path.join(default, "9_ML_Prediction")
dir_path = QFileDialog.getExistingDirectory(
self,
"选择模型母文件夹",
@ -352,7 +352,7 @@ class Step9MlPredictPanel(QWidget):
# 3. 自动填充输出路径(机器学习预测目录)
if self.work_dir:
output_dir = os.path.join(self.work_dir, "11_ml_prediction")
output_dir = os.path.join(self.work_dir, "9_ML_Prediction")
os.makedirs(output_dir, exist_ok=True)
existing_out = self.output_file.get_path()
if not existing_out or not existing_out.strip():
@ -375,7 +375,7 @@ class Step9MlPredictPanel(QWidget):
"""浏览模型目录"""
default = self._get_default_work_dir()
if default:
default = os.path.join(default, "9_supervised_modeling")
default = os.path.join(default, "9_ML_Prediction")
dir_path = QFileDialog.getExistingDirectory(self, "选择模型目录", default)
if dir_path:
self.models_dir_file.set_path(dir_path)