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, false,
null, null,
null, null,
LocalizationHelper.GetString("RotateProcessor_ExpandCanvas_Desc"))); LocalizationHelper.GetString("RotateProcessor_ExpandCanvas_Desc")) { IsAdvanced = true });
Parameters.Add("BackgroundValue", new ProcessorParameter( Parameters.Add("BackgroundValue", new ProcessorParameter(
"BackgroundValue", "BackgroundValue",
@@ -61,7 +61,7 @@ public class RotateProcessor<TDepth> : ImageProcessorBase<TDepth>
0, 0,
0, 0,
255, 255,
LocalizationHelper.GetString("RotateProcessor_BackgroundValue_Desc"))); LocalizationHelper.GetString("RotateProcessor_BackgroundValue_Desc")) { IsAdvanced = true });
Parameters.Add("Interpolation", new ProcessorParameter( Parameters.Add("Interpolation", new ProcessorParameter(
"Interpolation", "Interpolation",
@@ -71,7 +71,7 @@ public class RotateProcessor<TDepth> : ImageProcessorBase<TDepth>
null, null,
null, null,
LocalizationHelper.GetString("RotateProcessor_Interpolation_Desc"), LocalizationHelper.GetString("RotateProcessor_Interpolation_Desc"),
new string[] { "Nearest", "Bilinear", "Bicubic" })); new string[] { "Nearest", "Bilinear", "Bicubic" }) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -42,7 +42,7 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
1.0, 1.0,
0.1, 0.1,
3.0, 3.0,
LocalizationHelper.GetString("ContrastProcessor_Contrast_Desc"))); LocalizationHelper.GetString("ContrastProcessor_Contrast_Desc")) { IsAdvanced = true });
Parameters.Add("Brightness", new ProcessorParameter( Parameters.Add("Brightness", new ProcessorParameter(
"Brightness", "Brightness",
@@ -51,13 +51,13 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
0, 0,
-100, -100,
100, 100,
LocalizationHelper.GetString("ContrastProcessor_Brightness_Desc"))); LocalizationHelper.GetString("ContrastProcessor_Brightness_Desc")) { IsAdvanced = true });
Parameters.Add("AutoContrast", new ProcessorParameter( Parameters.Add("AutoContrast", new ProcessorParameter(
"AutoContrast", "AutoContrast",
LocalizationHelper.GetString("ContrastProcessor_AutoContrast"), LocalizationHelper.GetString("ContrastProcessor_AutoContrast"),
typeof(bool), typeof(bool),
false, true,
null, null,
null, null,
LocalizationHelper.GetString("ContrastProcessor_AutoContrast_Desc"))); LocalizationHelper.GetString("ContrastProcessor_AutoContrast_Desc")));
@@ -69,7 +69,7 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
false, false,
null, null,
null, null,
LocalizationHelper.GetString("ContrastProcessor_UseCLAHE_Desc"))); LocalizationHelper.GetString("ContrastProcessor_UseCLAHE_Desc")) { IsAdvanced = true });
Parameters.Add("ClipLimit", new ProcessorParameter( Parameters.Add("ClipLimit", new ProcessorParameter(
"ClipLimit", "ClipLimit",
@@ -78,7 +78,7 @@ public class ContrastProcessor<TDepth> : ImageProcessorBase<TDepth>
2.0, 2.0,
1.0, 1.0,
10.0, 10.0,
LocalizationHelper.GetString("ContrastProcessor_ClipLimit_Desc"))); LocalizationHelper.GetString("ContrastProcessor_ClipLimit_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -64,7 +64,7 @@ public class EmbossProcessor<TDepth> : ImageProcessorBase<TDepth>
0.5, 0.5,
0.0, 0.0,
1.0, 1.0,
LocalizationHelper.GetString("EmbossProcessor_BlendRatio_Desc"))); LocalizationHelper.GetString("EmbossProcessor_BlendRatio_Desc")) { IsAdvanced = true });
Parameters.Add("GrayOffset", new ProcessorParameter( Parameters.Add("GrayOffset", new ProcessorParameter(
"GrayOffset", "GrayOffset",
@@ -73,7 +73,7 @@ public class EmbossProcessor<TDepth> : ImageProcessorBase<TDepth>
128, 128,
0, 0,
255, 255,
LocalizationHelper.GetString("EmbossProcessor_GrayOffset_Desc"))); LocalizationHelper.GetString("EmbossProcessor_GrayOffset_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -53,7 +53,7 @@ public class GammaProcessor<TDepth> : ImageProcessorBase<TDepth>
1.0, 1.0,
0.1, 0.1,
3.0, 3.0,
LocalizationHelper.GetString("GammaProcessor_Gain_Desc"))); LocalizationHelper.GetString("GammaProcessor_Gain_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -45,7 +45,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
null, null,
null, null,
LocalizationHelper.GetString("HDREnhancementProcessor_Method_Desc"), LocalizationHelper.GetString("HDREnhancementProcessor_Method_Desc"),
new string[] { "LocalToneMap", "AdaptiveLog", "Drago", "BilateralToneMap" })); new string[] { "LocalToneMap", "AdaptiveLog", "Drago", "BilateralToneMap" }) { IsAdvanced = true });
Parameters.Add("Gamma", new ProcessorParameter( Parameters.Add("Gamma", new ProcessorParameter(
"Gamma", "Gamma",
@@ -63,7 +63,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
1.0, 1.0,
0.0, 0.0,
3.0, 3.0,
LocalizationHelper.GetString("HDREnhancementProcessor_Saturation_Desc"))); LocalizationHelper.GetString("HDREnhancementProcessor_Saturation_Desc")) { IsAdvanced = true });
Parameters.Add("DetailBoost", new ProcessorParameter( Parameters.Add("DetailBoost", new ProcessorParameter(
"DetailBoost", "DetailBoost",
@@ -81,7 +81,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
20.0, 20.0,
1.0, 1.0,
100.0, 100.0,
LocalizationHelper.GetString("HDREnhancementProcessor_SigmaSpace_Desc"))); LocalizationHelper.GetString("HDREnhancementProcessor_SigmaSpace_Desc")) { IsAdvanced = true });
Parameters.Add("SigmaColor", new ProcessorParameter( Parameters.Add("SigmaColor", new ProcessorParameter(
"SigmaColor", "SigmaColor",
@@ -90,7 +90,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
30.0, 30.0,
1.0, 1.0,
100.0, 100.0,
LocalizationHelper.GetString("HDREnhancementProcessor_SigmaColor_Desc"))); LocalizationHelper.GetString("HDREnhancementProcessor_SigmaColor_Desc")) { IsAdvanced = true });
Parameters.Add("Bias", new ProcessorParameter( Parameters.Add("Bias", new ProcessorParameter(
"Bias", "Bias",
@@ -99,7 +99,7 @@ public class HDREnhancementProcessor<TDepth> : ImageProcessorBase<TDepth>
0.85, 0.85,
0.0, 0.0,
1.0, 1.0,
LocalizationHelper.GetString("HDREnhancementProcessor_Bias_Desc"))); LocalizationHelper.GetString("HDREnhancementProcessor_Bias_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -77,7 +77,7 @@ public class HierarchicalEnhancementProcessor<TDepth> : ImageProcessorBase<TDept
1.0, 1.0,
0.0, 0.0,
3.0, 3.0,
LocalizationHelper.GetString("HierarchicalEnhancementProcessor_BaseGain_Desc"))); LocalizationHelper.GetString("HierarchicalEnhancementProcessor_BaseGain_Desc")) { IsAdvanced = true });
Parameters.Add("ClipLimit", new ProcessorParameter( Parameters.Add("ClipLimit", new ProcessorParameter(
"ClipLimit", "ClipLimit",
@@ -86,7 +86,7 @@ public class HierarchicalEnhancementProcessor<TDepth> : ImageProcessorBase<TDept
0.0, 0.0,
0.0, 0.0,
50.0, 50.0,
LocalizationHelper.GetString("HierarchicalEnhancementProcessor_ClipLimit_Desc"))); LocalizationHelper.GetString("HierarchicalEnhancementProcessor_ClipLimit_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -41,11 +41,11 @@ public class HistogramEqualizationProcessor<TDepth> : ImageProcessorBase<TDepth>
"Method", "Method",
LocalizationHelper.GetString("HistogramEqualizationProcessor_Method"), LocalizationHelper.GetString("HistogramEqualizationProcessor_Method"),
typeof(string), typeof(string),
"Global", "CLAHE",
null, null,
null, null,
LocalizationHelper.GetString("HistogramEqualizationProcessor_Method_Desc"), LocalizationHelper.GetString("HistogramEqualizationProcessor_Method_Desc"),
new string[] { "Global", "CLAHE" })); new string[] { "Global", "CLAHE" }) { IsAdvanced = true });
Parameters.Add("ClipLimit", new ProcessorParameter( Parameters.Add("ClipLimit", new ProcessorParameter(
"ClipLimit", "ClipLimit",
@@ -63,7 +63,7 @@ public class HistogramEqualizationProcessor<TDepth> : ImageProcessorBase<TDepth>
8, 8,
4, 4,
32, 32,
LocalizationHelper.GetString("HistogramEqualizationProcessor_TileSize_Desc"))); LocalizationHelper.GetString("HistogramEqualizationProcessor_TileSize_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -44,7 +44,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
null, null,
null, null,
LocalizationHelper.GetString("RetinexProcessor_Method_Desc"), LocalizationHelper.GetString("RetinexProcessor_Method_Desc"),
new string[] { "SSR", "MSR", "MSRCR" })); new string[] { "SSR", "MSR", "MSRCR" }) { IsAdvanced = true });
Parameters.Add("Sigma1", new ProcessorParameter( Parameters.Add("Sigma1", new ProcessorParameter(
"Sigma1", "Sigma1",
@@ -53,7 +53,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
15.0, 15.0,
1.0, 1.0,
100.0, 100.0,
LocalizationHelper.GetString("RetinexProcessor_Sigma1_Desc"))); LocalizationHelper.GetString("RetinexProcessor_Sigma1_Desc")) { IsAdvanced = true });
Parameters.Add("Sigma2", new ProcessorParameter( Parameters.Add("Sigma2", new ProcessorParameter(
"Sigma2", "Sigma2",
@@ -62,7 +62,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
80.0, 80.0,
1.0, 1.0,
200.0, 200.0,
LocalizationHelper.GetString("RetinexProcessor_Sigma2_Desc"))); LocalizationHelper.GetString("RetinexProcessor_Sigma2_Desc")) { IsAdvanced = true });
Parameters.Add("Sigma3", new ProcessorParameter( Parameters.Add("Sigma3", new ProcessorParameter(
"Sigma3", "Sigma3",
@@ -71,7 +71,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
250.0, 250.0,
1.0, 1.0,
500.0, 500.0,
LocalizationHelper.GetString("RetinexProcessor_Sigma3_Desc"))); LocalizationHelper.GetString("RetinexProcessor_Sigma3_Desc")) { IsAdvanced = true });
Parameters.Add("Gain", new ProcessorParameter( Parameters.Add("Gain", new ProcessorParameter(
"Gain", "Gain",
@@ -89,7 +89,7 @@ public class RetinexProcessor<TDepth> : ImageProcessorBase<TDepth>
0, 0,
-100, -100,
100, 100,
LocalizationHelper.GetString("RetinexProcessor_Offset_Desc"))); LocalizationHelper.GetString("RetinexProcessor_Offset_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }
@@ -39,11 +39,11 @@ public class SharpenProcessor<TDepth> : ImageProcessorBase<TDepth>
"Method", "Method",
LocalizationHelper.GetString("SharpenProcessor_Method"), LocalizationHelper.GetString("SharpenProcessor_Method"),
typeof(string), typeof(string),
"Laplacian", "UnsharpMask",
null, null,
null, null,
LocalizationHelper.GetString("SharpenProcessor_Method_Desc"), LocalizationHelper.GetString("SharpenProcessor_Method_Desc"),
new string[] { "Laplacian", "UnsharpMask" })); new string[] { "Laplacian", "UnsharpMask" }) { IsAdvanced = true });
Parameters.Add("Strength", new ProcessorParameter( Parameters.Add("Strength", new ProcessorParameter(
"Strength", "Strength",
@@ -61,7 +61,7 @@ public class SharpenProcessor<TDepth> : ImageProcessorBase<TDepth>
3, 3,
1, 1,
15, 15,
LocalizationHelper.GetString("SharpenProcessor_KernelSize_Desc"))); LocalizationHelper.GetString("SharpenProcessor_KernelSize_Desc")) { IsAdvanced = true });
_logger.Debug("InitializeParameters"); _logger.Debug("InitializeParameters");
} }