feat: 图像增强/变换算子标记高级参数+默认值优化

高级参数标记:Contrast(Contrast,Brightness,UseCLAHE,ClipLimit)、
Gamma(Gain)、Sharpen(Method,KernelSize)、Emboss(BlendRatio,GrayOffset)、
HistogramEq(Method,TileSize)、HDR(Method,Saturation,SigmaSpace,SigmaColor,Bias)、
Hierarchical(BaseGain,ClipLimit)、Retinex(Method,Sigma1/2/3,Offset)、
Rotate(ExpandCanvas,BackgroundValue,Interpolation)

默认值优化(适配平面CT DR图像):
- Sharpen: Laplacian→UnsharpMask(对噪声更温和)
- HistogramEq: Global→CLAHE(局部对比度更优)
- Contrast: AutoContrast默认开启
This commit is contained in:
wei.lw.li
2026-08-12 09:25:34 +08:00
parent d5d964d115
commit 7768c086ea
9 changed files with 29 additions and 29 deletions
@@ -52,7 +52,7 @@ public class RotateProcessor<TDepth> : ImageProcessorBase<TDepth>
false,
null,
null,
LocalizationHelper.GetString("RotateProcessor_ExpandCanvas_Desc")));
LocalizationHelper.GetString("RotateProcessor_ExpandCanvas_Desc")) { IsAdvanced = true });
Parameters.Add("BackgroundValue", new ProcessorParameter(
"BackgroundValue",
@@ -61,7 +61,7 @@ public class RotateProcessor<TDepth> : ImageProcessorBase<TDepth>
0,
0,
255,
LocalizationHelper.GetString("RotateProcessor_BackgroundValue_Desc")));
LocalizationHelper.GetString("RotateProcessor_BackgroundValue_Desc")) { IsAdvanced = true });
Parameters.Add("Interpolation", new ProcessorParameter(
"Interpolation",
@@ -71,7 +71,7 @@ public class RotateProcessor<TDepth> : ImageProcessorBase<TDepth>
null,
null,
LocalizationHelper.GetString("RotateProcessor_Interpolation_Desc"),
new string[] { "Nearest", "Bilinear", "Bicubic" }));
new string[] { "Nearest", "Bilinear", "Bicubic" }) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -42,7 +42,7 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
1.0,
0.1,
3.0,
LocalizationHelper.GetString("ContrastProcessor_Contrast_Desc")));
LocalizationHelper.GetString("ContrastProcessor_Contrast_Desc")) { IsAdvanced = true });
Parameters.Add("Brightness", new ProcessorParameter(
"Brightness",
@@ -51,13 +51,13 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
0,
-100,
100,
LocalizationHelper.GetString("ContrastProcessor_Brightness_Desc")));
LocalizationHelper.GetString("ContrastProcessor_Brightness_Desc")) { IsAdvanced = true });
Parameters.Add("AutoContrast", new ProcessorParameter(
"AutoContrast",
LocalizationHelper.GetString("ContrastProcessor_AutoContrast"),
typeof(bool),
false,
true,
null,
null,
LocalizationHelper.GetString("ContrastProcessor_AutoContrast_Desc")));
@@ -69,7 +69,7 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
false,
null,
null,
LocalizationHelper.GetString("ContrastProcessor_UseCLAHE_Desc")));
LocalizationHelper.GetString("ContrastProcessor_UseCLAHE_Desc")) { IsAdvanced = true });
Parameters.Add("ClipLimit", new ProcessorParameter(
"ClipLimit",
@@ -78,7 +78,7 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
2.0,
1.0,
10.0,
LocalizationHelper.GetString("ContrastProcessor_ClipLimit_Desc")));
LocalizationHelper.GetString("ContrastProcessor_ClipLimit_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -64,7 +64,7 @@ public class EmbossProcessor<TDepth> : ImageProcessorBase<TDepth>
0.5,
0.0,
1.0,
LocalizationHelper.GetString("EmbossProcessor_BlendRatio_Desc")));
LocalizationHelper.GetString("EmbossProcessor_BlendRatio_Desc")) { IsAdvanced = true });
Parameters.Add("GrayOffset", new ProcessorParameter(
"GrayOffset",
@@ -73,7 +73,7 @@ public class EmbossProcessor<TDepth> : ImageProcessorBase<TDepth>
128,
0,
255,
LocalizationHelper.GetString("EmbossProcessor_GrayOffset_Desc")));
LocalizationHelper.GetString("EmbossProcessor_GrayOffset_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -53,7 +53,7 @@ public class GammaProcessor<TDepth> : ImageProcessorBase<TDepth>
1.0,
0.1,
3.0,
LocalizationHelper.GetString("GammaProcessor_Gain_Desc")));
LocalizationHelper.GetString("GammaProcessor_Gain_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -45,7 +45,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
null,
null,
LocalizationHelper.GetString("HDREnhancementProcessor_Method_Desc"),
new string[] { "LocalToneMap", "AdaptiveLog", "Drago", "BilateralToneMap" }));
new string[] { "LocalToneMap", "AdaptiveLog", "Drago", "BilateralToneMap" }) { IsAdvanced = true });
Parameters.Add("Gamma", new ProcessorParameter(
"Gamma",
@@ -63,7 +63,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
1.0,
0.0,
3.0,
LocalizationHelper.GetString("HDREnhancementProcessor_Saturation_Desc")));
LocalizationHelper.GetString("HDREnhancementProcessor_Saturation_Desc")) { IsAdvanced = true });
Parameters.Add("DetailBoost", new ProcessorParameter(
"DetailBoost",
@@ -81,7 +81,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
20.0,
1.0,
100.0,
LocalizationHelper.GetString("HDREnhancementProcessor_SigmaSpace_Desc")));
LocalizationHelper.GetString("HDREnhancementProcessor_SigmaSpace_Desc")) { IsAdvanced = true });
Parameters.Add("SigmaColor", new ProcessorParameter(
"SigmaColor",
@@ -90,7 +90,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
30.0,
1.0,
100.0,
LocalizationHelper.GetString("HDREnhancementProcessor_SigmaColor_Desc")));
LocalizationHelper.GetString("HDREnhancementProcessor_SigmaColor_Desc")) { IsAdvanced = true });
Parameters.Add("Bias", new ProcessorParameter(
"Bias",
@@ -99,7 +99,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
0.85,
0.0,
1.0,
LocalizationHelper.GetString("HDREnhancementProcessor_Bias_Desc")));
LocalizationHelper.GetString("HDREnhancementProcessor_Bias_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -77,7 +77,7 @@ public class HierarchicalEnhancementProcessor<TDepth> : ImageProcessorBase<TDept
1.0,
0.0,
3.0,
LocalizationHelper.GetString("HierarchicalEnhancementProcessor_BaseGain_Desc")));
LocalizationHelper.GetString("HierarchicalEnhancementProcessor_BaseGain_Desc")) { IsAdvanced = true });
Parameters.Add("ClipLimit", new ProcessorParameter(
"ClipLimit",
@@ -86,7 +86,7 @@ public class HierarchicalEnhancementProcessor<TDepth> : ImageProcessorBase<TDept
0.0,
0.0,
50.0,
LocalizationHelper.GetString("HierarchicalEnhancementProcessor_ClipLimit_Desc")));
LocalizationHelper.GetString("HierarchicalEnhancementProcessor_ClipLimit_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -41,11 +41,11 @@ public class HistogramEqualizationProcessor<TDepth> : ImageProcessorBase<TDepth>
"Method",
LocalizationHelper.GetString("HistogramEqualizationProcessor_Method"),
typeof(string),
"Global",
"CLAHE",
null,
null,
LocalizationHelper.GetString("HistogramEqualizationProcessor_Method_Desc"),
new string[] { "Global", "CLAHE" }));
new string[] { "Global", "CLAHE" }) { IsAdvanced = true });
Parameters.Add("ClipLimit", new ProcessorParameter(
"ClipLimit",
@@ -63,7 +63,7 @@ public class HistogramEqualizationProcessor<TDepth> : ImageProcessorBase<TDepth>
8,
4,
32,
LocalizationHelper.GetString("HistogramEqualizationProcessor_TileSize_Desc")));
LocalizationHelper.GetString("HistogramEqualizationProcessor_TileSize_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -44,7 +44,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
null,
null,
LocalizationHelper.GetString("RetinexProcessor_Method_Desc"),
new string[] { "SSR", "MSR", "MSRCR" }));
new string[] { "SSR", "MSR", "MSRCR" }) { IsAdvanced = true });
Parameters.Add("Sigma1", new ProcessorParameter(
"Sigma1",
@@ -53,7 +53,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
15.0,
1.0,
100.0,
LocalizationHelper.GetString("RetinexProcessor_Sigma1_Desc")));
LocalizationHelper.GetString("RetinexProcessor_Sigma1_Desc")) { IsAdvanced = true });
Parameters.Add("Sigma2", new ProcessorParameter(
"Sigma2",
@@ -62,7 +62,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
80.0,
1.0,
200.0,
LocalizationHelper.GetString("RetinexProcessor_Sigma2_Desc")));
LocalizationHelper.GetString("RetinexProcessor_Sigma2_Desc")) { IsAdvanced = true });
Parameters.Add("Sigma3", new ProcessorParameter(
"Sigma3",
@@ -71,7 +71,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
250.0,
1.0,
500.0,
LocalizationHelper.GetString("RetinexProcessor_Sigma3_Desc")));
LocalizationHelper.GetString("RetinexProcessor_Sigma3_Desc")) { IsAdvanced = true });
Parameters.Add("Gain", new ProcessorParameter(
"Gain",
@@ -89,7 +89,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
0,
-100,
100,
LocalizationHelper.GetString("RetinexProcessor_Offset_Desc")));
LocalizationHelper.GetString("RetinexProcessor_Offset_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}
@@ -39,11 +39,11 @@ public class SharpenProcessor<TDepth> : ImageProcessorBase<TDepth>
"Method",
LocalizationHelper.GetString("SharpenProcessor_Method"),
typeof(string),
"Laplacian",
"UnsharpMask",
null,
null,
LocalizationHelper.GetString("SharpenProcessor_Method_Desc"),
new string[] { "Laplacian", "UnsharpMask" }));
new string[] { "Laplacian", "UnsharpMask" }) { IsAdvanced = true });
Parameters.Add("Strength", new ProcessorParameter(
"Strength",
@@ -61,7 +61,7 @@ public class SharpenProcessor<TDepth> : ImageProcessorBase<TDepth>
3,
1,
15,
LocalizationHelper.GetString("SharpenProcessor_KernelSize_Desc")));
LocalizationHelper.GetString("SharpenProcessor_KernelSize_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters");
}