29 KiB
29 KiB
高光谱分析工具包自动测试文档
本文档包含了高光谱分析工具包所有功能的自动化测试命令。这些测试命令可以用来验证各个模块的功能是否正常工作。
测试环境要求
- Python 3.7+
- 已安装所有依赖包(见 requirements.txt)
- 测试数据文件存在于指定路径
测试命令列表
1. 降维分析 (dim-reduction)
# PCA降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method pca --n-components 3 --output-file E:\code\spectronon\20251226\output\pca.dat
# ICA降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method ica --n-components 5 --output-file E:\code\spectronon\20251226\output\ica.dat
# FA因子分析降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method fa --n-components 4 --output-file E:\code\spectronon\20251226\output\fa.dat
# LDA线性判别分析降维测试
#python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method lda --n-components 2 --output-file E:\code\spectronon\20251226\output\lda.dat
# MDS多维标度法降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method mds --n-components 3 --output-file E:\code\spectronon\20251226\output\mds.dat
# Isomap等距映射降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method isomap --n-components 3 --output-file E:\code\spectronon\20251226\output\isomap.dat
# LLE局部线性嵌入降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method lle --n-components 2 --output-file E:\code\spectronon\20251226\output\lte.dat
# t-SNE降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method t-sne --n-components 2 --output-file E:\code\spectronon\20251226\output\tsne.dat
# 批量降维测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --batch-methods pca ica fa lda --batch-components 3 4 3 2 --output-dir E:\code\spectronon\20251226\output
2. 图像分割 (segmentation)
# 固定阈值分割测试
#python main.py segmentation --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method fixed --band-index 50 --threshold 128 --output-dir E:\code\spectronon\20251226\output
# 迭代法分割测试
python main.py segmentation --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method iterative --band-index 30 --max-iterations 100 --convergence-threshold 0.01 --output-dir E:\code\spectronon\20251226\output
# Otsu分割测试
python main.py segmentation --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method otsu --band-index 50 --output-dir E:\code\spectronon\20251226\output
# ISODATA分割测试
python main.py segmentation --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method isodata --band-index 40 --output-dir E:\code\spectronon\20251226\output
# 自适应分割测试
python main.py segmentation --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method adaptive --band-index 25 --adaptive-block-size 15 --output-dir E:\code\spectronon\20251226\output
# 批量分割测试
#python main.py segmentation --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --batch-methods fixed otsu adaptive isodata --batch-bands 20 30 40 50 --output-dir E:\code\spectronon\20251226\output
3. 边缘检测 (edge-detection)
## Sobel边缘检测测试
#python main.py edge-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method sobel --edge-band-index 25 --sobel-dx 1 --sobel-dy 0 --output-dir E:\code\spectronon\20251226\output
# Scharr边缘检测测试
python main.py edge-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method scharr --edge-band-index 25 --output-dir E:\code\spectronon\20251226\output
# Laplacian边缘检测测试
python main.py edge-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method laplacian --edge-band-index 25 --laplacian-ksize 1 --laplacian-scale 1.0 --output-dir E:\code\spectronon\20251226\output
# LoG边缘检测测试
python main.py edge-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method log --edge-band-index 25 --log-sigma 1.0 --log-threshold 0.0 --output-dir E:\code\spectronon\20251226\output
# Canny边缘检测测试
python main.py edge-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method canny --edge-band-index 25 --canny-min-threshold 50 --canny-max-threshold 150 --output-dir E:\code\spectronon\20251226\output
# 批量边缘检测测试
python main.py edge-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --batch --batch-bands 10 25 50 --output-dir E:\code\spectronon\20251226\output
4. 异常检测 (anomaly-detection)
# 协方差异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method covariance --contamination 0.1 --output-file "E:\code\spectronon\20251226\output\covariance.dat"
# One-Class SVM RBF核异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method one-class-svm --ocsvm-kernel rbf --ocsvm-nu 0.1 --output-file "E:\code\spectronon\20251226\output\svm_rbf.dat"
# One-Class SVM多项式核异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method one-class-svm --ocsvm-kernel poly --ocsvm-degree 3 --ocsvm-use-grid-search --output-file "E:\code\spectronon\20251226\output\svmano_poly.dat"
# RX全局背景异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method rx --background-model global --contamination 0.1 --output-file "E:\code\spectronon\20251226\output\rx_global.dat"
# RX局部窗口异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method rx --background-model local_square --window-size 7 --contamination 0.1 --output-file "E:\code\spectronon\20251226\output\rx_local.dat"
# Squared Loss Probability异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method squared-loss-probability --contamination 0.1 --output-file "E:\code\spectronon\20251226\output\slp.dat"
# Squared Loss with PCA异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method squared-loss-probability --reconstruction-method pca --slp-n-components 10 --output-file "E:\code\spectronon\20251226\output\slp_pca.dat"
# Squared Loss with Linear重构异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method squared-loss-probability --reconstruction-method linear --target-band 50 --probability-mode --output-file "E:\code\spectronon\20251226\output\slp_linear.dat"
5. 分类分析 (classification)
# SVM RBF核分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method svm --svm-kernel rbf --output-file E:\code\spectronon\20251226\output\svm_rbf.dat
# SVM线性核分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method svm --svm-kernel linear --output-file E:\code\spectronon\20251226\output\svm_linear.dat
# 随机森林分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method random_forest --rf-n-estimators 100 --rf-max-depth 10 --output-file E:\code\spectronon\20251226\output\rf.dat
# KNN分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method knn --knn-n-neighbors 5 --output-file E:\code\spectronon\20251226\output\knn.dat
# 逻辑回归分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method logistic_regression --lr-c 1.0 --output-file E:\code\spectronon\20251226\output\lr.dat
# 线性判别分析分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method linear_discriminant --output-file E:\code\spectronon\20251226\output\lda.dat
# 二次判别分析分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method quadratic_discriminant --output-file E:\code\spectronon\20251226\output\qda.dat
# PLS-DA分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method plsda --pls-n-components 10 --output-file E:\code\spectronon\20251226\output\plsda.dat
# XGBoost分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method xgboost --xgb-n-estimators 100 --xgb-max-depth 6 --output-file E:\code\spectronon\20251226\output\xgb.dat
# LightGBM分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method lightgbm --lgb-n-estimators 100 --lgb-learning-rate 0.1 --output-file E:\code\spectronon\20251226\output\lgb.dat
# CatBoost分类测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method catboost --cb-n-estimators 100 --cb-depth 6 --output-file E:\code\spectronon\20251226\output\cb.dat
6. 聚类分析 (clustering)
# K-means聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method kmeans --n-clusters 5 --use-scaling --output-dir E:\code\spectronon\20251226\output
# 模糊C均值聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method fuzzy-cmeans --n-clusters 4 --fcm-m 2.0 --fcm-error 0.005 --output-dir E:\code\spectronon\20251226\output
# GMM高斯混合模型聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method gmm --n-clusters 4 --gmm-covariance-type full --output-dir E:\code\spectronon\20251226\output
# 层次聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method hierarchical --n-clusters 3 --hier-linkage ward --hier-affinity euclidean --output-dir E:\code\spectronon\20251226\output
# DBSCAN密度聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method dbscan --dbscan-eps 0.5 --dbscan-min-samples 5 --output-dir E:\code\spectronon\20251226\output
# 谱聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method spectral --n-clusters 3 --spectral-affinity rbf --output-dir E:\code\spectronon\20251226\output
# 子空间聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method subspace --n-clusters 4 --output-dir E:\code\spectronon\20251226\output
# 集成聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method ensemble --n-clusters 3 --ensemble-voting hard --output-dir E:\code\spectronon\20251226\output
# 批量聚类测试
python main.py clustering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --batch --n-clusters 4 --output-dir E:\code\spectronon\20251226\output
7. 监督分类 (supervised-classification)
# 监督分类测试(所有方法)
python main.py supervised-classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method all --xml_file "E:\code\spectronon\20251226\data\roi.xml" --visualize --output-dir E:\code\spectronon\20251226\output
# 欧氏距离监督分类测试
python main.py supervised-classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method euclidean --xml_file "E:\code\spectronon\20251226\data\roi.xml" --output-dir E:\code\spectronon\20251226\output
# 余弦距离监督分类测试
python main.py supervised-classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method cosine --xml_file "E:\code\spectronon\20251226\data\roi.xml" --output-dir E:\code\spectronon\20251226\output
8. 特征选择 (feature-selection)
# SPA特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method Spa --label-column label --n-features 15 --spectral-columns "1:114" --output-dir E:\code\spectronon\20251226\output
# CARS特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method Cars --label-column label --n-features 20 --cars-n 30 --output-dir E:\code\spectronon\20251226\output
# UVE特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method Uve --label-column label --n-features 25 --uve-ncomp 15 --output-dir E:\code\spectronon\20251226\output
# GA遗传算法特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method GA --label-column label --n-features 10 --ga-population-size 20 --ga-n-generations 30 --output-dir E:\code\spectronon\20251226\output
# Relief-F特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method ReliefF --label-column label --n-features 15 --relief-k 10 --output-dir E:\code\spectronon\20251226\output
# SiPLS特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method SiPLS --label-column label --n-features 20 --sipls-interval-width 10 --output-dir E:\code\spectronon\20251226\output
# LARS特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method Lars --label-column label --n-features 15 --lar-cv 5 --output-dir E:\code\spectronon\20251226\output
# Random Frog特征选择测试
python main.py feature-selection --input "E:\code\spectronon\20251226\data\class.csv" --method RandomFrog --label-column label --n-features 18 --random-frog-n-frogs 50 --output-dir E:\code\spectronon\20251226\output
9. 光谱指数 (spectral-index)
# 批量光谱指数计算测试
python main.py spectral-index --input "E:\code\spectronon\20251226\data\class.csv" --batch --output-dir E:\code\spectronon\20251226\output --data-format csv --label-column Label --spectral-start 1 --spectral-end 114 --index-csv "E:\code\spectronon\20251226\data\spectral_index.csv" --formula-csv E:\code\spectronon\20251226\data\famula.csv
10. 数据预处理 (preprocessing)
# Min-Max标准化预处理测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method MMS --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# 标准化预处理测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method SS --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# 中心化预处理测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method CT --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# SNV预处理测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method SNV --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# 移动平均平滑测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method MA --spectral-start-index 1 --ma-window 5 --output-dir E:\code\spectronon\20251226\output
# Savitzky-Golay平滑测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method SG --spectral-start-index 1 --sg-window 15 --sg-poly 2 --output-dir E:\code\spectronon\20251226\output
# 一阶导数测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method D1 --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# 二阶导数测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method D2 --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# 导数测试(DT)
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method DT --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# 多重散射校正测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method MSC --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
# 小波变换测试
python main.py preprocessing --input "E:\code\spectronon\20251226\data\class.csv" --method wave --spectral-start-index 1 --output-dir E:\code\spectronon\20251226\output
11. 形状特征 (shape-features)
# 形状特征提取测试
python main.py shape-features --input "E:\code\spectronon\20251226\output\result.dat" --hdr-file "E:\code\spectronon\20251226\output\result.hdr" --input-type dat --shape-band-index 0 --min-area 50 --output-dir E:\code\spectronon\20251226\output --save-labeled-image
# 形状特征提取(分水岭分割)测试
python main.py shape-features --input "E:\code\spectronon\20251226\output\result.dat" --hdr-file "E:\code\spectronon\20251226\output\result.hdr" --input-type dat --shape-band-index 0 --use-watershed --watershed-min-distance 15 --output-dir E:\code\spectronon\20251226\output
12. GLCM纹理特征 (glcm)
# GLCM纹理特征提取测试
python main.py glcm --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --band-index 25 --output-dir E:\code\spectronon\20251226\output
# GLCM多角度纹理特征测试
python main.py glcm --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --band-index 25 --step 1 2 4 --angle 0 45 90 135 --output-dir E:\code\spectronon\20251226\output
13. 颜色分析 (color-analysis)
# CIEDE2000色差分析测试
python main.py color-analysis --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method CIEDE2000 --standards-file "E:\code\spectronon\20251226\data\clolor.csv" --output-dir E:\code\spectronon\20251226\output
# CIE94色差分析测试
python main.py color-analysis --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method CIE94 --standards-file "E:\code\spectronon\20251226\data\clolor.csv" --output-dir E:\code\spectronon\20251226\output
14. 图像滤波 (filtering)
# 均值滤波测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type mean --filter-band-index 25 --kernel-size 3 --output-dir E:\code\spectronon\20251226\output
# 中值滤波测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type median --filter-band-index 25 --kernel-size 3 --output-dir E:\code\spectronon\20251226\output
# 高斯滤波测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type gaussian --filter-band-index 25 --kernel-size 5 --sigma 1.5 --output-dir E:\code\spectronon\20251226\output
# 双边滤波测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type bilateral --filter-band-index 25 --kernel-size 5 --sigma-color 50 --sigma-space 50 --output-dir E:\code\spectronon\20251226\output
# 形态学开运算测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type opening --filter-band-index 25 --kernel-size 3 --se-shape disk --output-dir E:\code\spectronon\20251226\output
# 形态学闭运算测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type closing --filter-band-index 25 --kernel-size 3 --se-shape disk --output-dir E:\code\spectronon\20251226\output
# 形态学腐蚀测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type erosion --filter-band-index 25 --kernel-size 3 --se-shape square --output-dir E:\code\spectronon\20251226\output
# 形态学膨胀测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type dilation --filter-band-index 25 --kernel-size 3 --se-shape square --output-dir E:\code\spectronon\20251226\output
# 形态学梯度测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type gradient --filter-band-index 25 --kernel-size 3 --se-shape disk --output-dir E:\code\spectronon\20251226\output
# 顶帽变换测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type tophat --filter-band-index 25 --kernel-size 5 --se-shape disk --output-dir E:\code\spectronon\20251226\output
# 黑帽变换测试
python main.py filtering --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --filter-type blackhat --filter-band-index 25 --kernel-size 5 --se-shape disk --output-dir E:\code\spectronon\20251226\output
15. 回归分析 (regression)
# 线性回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models linear --output-dir E:\code\spectronon\20251226\output
# Ridge回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models ridge --output-dir E:\code\spectronon\20251226\output
# Lasso回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models lasso --output-dir E:\code\spectronon\20251226\output
# Elastic Net回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models elastic_net --output-dir E:\code\spectronon\20251226\output
# SVR回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models svr --output-dir E:\code\spectronon\20251226\output
# 随机森林回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models random_forest --output-dir E:\code\spectronon\20251226\output
# XGBoost回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models xgboost --output-dir E:\code\spectronon\20251226\output
# LightGBM回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models lightgbm --output-dir E:\code\spectronon\20251226\output
# CatBoost回归测试
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models catboost --output-dir E:\code\spectronon\20251226\output
# 多模型对比测试(带超参数调优)
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models ridge lasso xgboost lightgbm --tune-params --output-dir E:\code\spectronon\20251226\output
# 多模型对比测试(默认参数)
python main.py regression --input "E:\code\spectronon\20251226\data\data.csv" --label-column Label --models ridge lasso svr random_forest --output-dir E:\code\spectronon\20251226\output
16. 回归预测 (regression-prediction)
# 回归预测测试
python main.py regression-prediction --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --model-path "E:\code\spectronon\20251226\models\ridge_20260106_104115.pkl" --mask-path "E:\code\spectronon\20251226\data\roi.shp" --output-dir E:\code\spectronon\20251226\output
# 回归预测测试(批量模型)
python main.py regression-prediction --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --model-path "E:\code\spectronon\20251226\models" --batch-mode --output-dir E:\code\spectronon\20251226\output
17. 色差计算 (delta-e)
# 图像模式色差计算测试
python main.py delta-e --mode image --input "E:\code\spectronon\20251226\data\LAB.hdr" --method CIE76 --create-histogram --standards "E:\code\spectronon\20251226\data\clolor.csv" --output-file E:\code\spectronon\20251226\output\delate.bil --create-heatmap
# 图像模式色差计算(带热图)测试
python main.py delta-e --mode image --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method CIE76 --create-histogram --standards "E:\code\spectronon\20251226\data\clolor.csv" --output-file E:\code\spectronon\20251226\output\delate.bil --create-heatmap
# 两两比较模式色差计算测试
python main.py delta-e --mode pairwise --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method CIEDE2000 --reference-range 0,1 --target-range 2,3 --output-file E:\code\spectronon\20251226\output\pairwise_deltae.bil
18. 光谱到颜色转换 (spectral-to-color)
# Lab颜色空间转换测试
python main.py spectral-to-color --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --color_space Lab --illuminant D50 --observer 2° --output E:\code\spectronon\20251226\output\LAB.dat
# XYZ颜色空间转换测试
python main.py spectral-to-color --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --color_space XYZ --illuminant D65 --observer 10° --output E:\code\spectronon\20251226\output\XYZ.dat
# LCH颜色空间转换测试
python main.py spectral-to-color --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --color_space LCH --illuminant A --observer 2° --output E:\code\spectronon\20251226\output\LCH.dat
19. XYZ到RGB转换 (xyz-to-rgb)
# XYZ到RGB转换测试
python main.py xyz-to-rgb --input "E:\code\spectronon\20251226\output\XYZ.hdr" --output "E:\code\spectronon\20251226\output\RGB_sRGB.tif" --rgb-space "sRGB" --gamma "sRGB"
# Adobe RGB颜色空间转换测试
python main.py xyz-to-rgb --input "E:\code\spectronon\20251226\output\XYZ.hdr" --output "E:\code\spectronon\20251226\output\RGB_Adobe.tif" --rgb-space "Adobe RGB (1998)" --gamma "sRGB"
# 高精度输出测试
python main.py xyz-to-rgb --input "E:\code\spectronon\20251226\output\XYZ.hdr" --output "E:\code\spectronon\20251226\output\RGB_16bit.tif" --rgb-space "sRGB" --gamma "sRGB" --output-dtype "uint16"
20. PROSAIL模拟器GUI (prosail-gui)
# PROSAIL GUI启动测试
python main.py prosail-gui
# PROSAIL命令行模式测试
python main.py prosail-gui --no-gui --save-default
批量测试脚本
创建 run_all_tests.bat 文件来批量运行所有测试:
@echo off
echo 开始运行高光谱分析工具包自动化测试...
echo.
echo 1. 降维分析测试
python main.py dim-reduction --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method pca --n-components 3 --output-file E:\code\spectronon\20251226\output\pca.dat
echo.
echo 2. 图像分割测试
python main.py segmentation --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method otsu --band-index 50 --output-dir E:\code\spectronon\20251226\output
echo.
echo 3. 异常检测测试
python main.py anomaly-detection --input "E:\code\spectronon\20251226\data\leaf_small.bip.hdr" --method rx --contamination 0.1 --output-file "E:\code\spectronon\20251226\output\RX.dat"
echo.
echo 4. 分类分析测试
python main.py classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip" --roi-file "E:\code\spectronon\20251226\data\roi.xml" --method svm --output-file E:\code\spectronon\20251226\output\svm.dat
echo.
echo 5. 监督分类测试
python main.py supervised-classification --input "E:\code\spectronon\20251226\data\GreenPaintChipsSmall.bip.hdr" --method all --xml_file "E:\code\spectronon\20251226\data\roi.xml" --visualize --output-dir E:\code\spectronon\20251226\output
echo.
echo 所有测试完成!
pause
注意事项
- 路径修改:根据你的实际环境修改输入文件路径和输出目录路径
- 依赖数据:确保所有引用的数据文件(如
.hdr、.xml、.csv等)存在 - 输出目录:确保输出目录存在且有写权限
- 内存使用:某些大型图像处理可能需要较多内存
- 执行时间:一些复杂的算法(如 t-SNE、遗传算法等)可能需要较长时间
预期输出
每个测试命令都会在指定的输出目录生成相应的结果文件,包括:
- 数据文件(
.dat、.hdr、.csv等) - 可视化图表(
.png、.jpg等) - 统计报告和日志文件
成功执行的标志是命令返回代码为 0,且在输出目录中生成了预期的文件。