diff --git a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationProcessor.cs b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor.cs
similarity index 76%
rename from src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationProcessor.cs
rename to src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor.cs
index 4fd0f853d..ad27ae020 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor.cs
@@ -7,17 +7,21 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
/// Applies an adaptive histogram equalization to the image. The image is split up in tiles. For each tile a cumulative distribution function (cdf) is calculated.
/// To calculate the final equalized pixel value, the cdf value of four adjacent tiles will be interpolated.
///
- internal class AdaptiveHistEqualizationProcessor : HistogramEqualizationProcessor
+ public class AdaptiveHistogramEqualizationProcessor : HistogramEqualizationProcessor
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The number of different luminance levels. Typical values are 256 for 8-bit grayscale images
/// or 65536 for 16-bit grayscale images.
/// Indicating whether to clip the histogram bins at a specific value.
/// Histogram clip limit in percent of the total pixels in the tile. Histogram bins which exceed this limit, will be capped at this value.
/// The number of tiles the image is split into (horizontal and vertically). Minimum value is 2. Maximum value is 100.
- public AdaptiveHistEqualizationProcessor(int luminanceLevels, bool clipHistogram, float clipLimitPercentage, int numberOfTiles)
+ public AdaptiveHistogramEqualizationProcessor(
+ int luminanceLevels,
+ bool clipHistogram,
+ float clipLimitPercentage,
+ int numberOfTiles)
: base(luminanceLevels, clipHistogram, clipLimitPercentage)
{
this.NumberOfTiles = numberOfTiles;
@@ -31,7 +35,11 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
///
public override IImageProcessor CreatePixelSpecificProcessor()
{
- return new AdaptiveHistEqualizationProcessor(this.LuminanceLevels, this.ClipHistogram, this.ClipLimitPercentage, this.NumberOfTiles);
+ return new AdaptiveHistogramEqualizationProcessor(
+ this.LuminanceLevels,
+ this.ClipHistogram,
+ this.ClipLimitPercentage,
+ this.NumberOfTiles);
}
}
-}
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
similarity index 98%
rename from src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationProcessor{TPixel}.cs
rename to src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
index 930c4010f..333444eb3 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs
@@ -21,18 +21,18 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
/// To calculate the final equalized pixel value, the cdf value of four adjacent tiles will be interpolated.
///
/// The pixel format.
- internal class AdaptiveHistEqualizationProcessor : HistogramEqualizationProcessor
+ internal class AdaptiveHistogramEqualizationProcessor : HistogramEqualizationProcessor
where TPixel : struct, IPixel
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The number of different luminance levels. Typical values are 256 for 8-bit grayscale images
/// or 65536 for 16-bit grayscale images.
/// Indicating whether to clip the histogram bins at a specific value.
/// Histogram clip limit in percent of the total pixels in the tile. Histogram bins which exceed this limit, will be capped at this value.
/// The number of tiles the image is split into (horizontal and vertically). Minimum value is 2. Maximum value is 100.
- public AdaptiveHistEqualizationProcessor(int luminanceLevels, bool clipHistogram, float clipLimitPercentage, int tiles)
+ public AdaptiveHistogramEqualizationProcessor(int luminanceLevels, bool clipHistogram, float clipLimitPercentage, int tiles)
: base(luminanceLevels, clipHistogram, clipLimitPercentage)
{
Guard.MustBeGreaterThanOrEqualTo(tiles, 2, nameof(tiles));
diff --git a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationSWProcessor.cs b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationSlidingWindowProcessor.cs
similarity index 72%
rename from src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationSWProcessor.cs
rename to src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationSlidingWindowProcessor.cs
index cd4a9644f..36f798975 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationSWProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationSlidingWindowProcessor.cs
@@ -6,17 +6,21 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
///
/// Applies an adaptive histogram equalization to the image using an sliding window approach.
///
- internal class AdaptiveHistEqualizationSWProcessor : HistogramEqualizationProcessor
+ public class AdaptiveHistogramEqualizationSlidingWindowProcessor : HistogramEqualizationProcessor
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The number of different luminance levels. Typical values are 256 for 8-bit grayscale images
/// or 65536 for 16-bit grayscale images.
/// Indicating whether to clip the histogram bins at a specific value.
/// Histogram clip limit in percent of the total pixels in the tile. Histogram bins which exceed this limit, will be capped at this value.
/// The number of tiles the image is split into (horizontal and vertically). Minimum value is 2. Maximum value is 100.
- public AdaptiveHistEqualizationSWProcessor(int luminanceLevels, bool clipHistogram, float clipLimitPercentage, int numberOfTiles)
+ public AdaptiveHistogramEqualizationSlidingWindowProcessor(
+ int luminanceLevels,
+ bool clipHistogram,
+ float clipLimitPercentage,
+ int numberOfTiles)
: base(luminanceLevels, clipHistogram, clipLimitPercentage)
{
this.NumberOfTiles = numberOfTiles;
@@ -30,7 +34,11 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
///
public override IImageProcessor CreatePixelSpecificProcessor()
{
- return new AdaptiveHistEqualizationSWProcessor(this.LuminanceLevels, this.ClipHistogram, this.ClipLimitPercentage, this.NumberOfTiles);
+ return new AdaptiveHistogramEqualizationSlidingWindowProcessor(
+ this.LuminanceLevels,
+ this.ClipHistogram,
+ this.ClipLimitPercentage,
+ this.NumberOfTiles);
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationSWProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationSlidingWindowProcessor{TPixel}.cs
similarity index 98%
rename from src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationSWProcessor{TPixel}.cs
rename to src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationSlidingWindowProcessor{TPixel}.cs
index 3584b1a88..40e2d41d9 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistEqualizationSWProcessor{TPixel}.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationSlidingWindowProcessor{TPixel}.cs
@@ -20,18 +20,18 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
/// Applies an adaptive histogram equalization to the image using an sliding window approach.
///
/// The pixel format.
- internal class AdaptiveHistEqualizationSWProcessor : HistogramEqualizationProcessor
+ internal class AdaptiveHistogramEqualizationSlidingWindowProcessor : HistogramEqualizationProcessor
where TPixel : struct, IPixel
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The number of different luminance levels. Typical values are 256 for 8-bit grayscale images
/// or 65536 for 16-bit grayscale images.
/// Indicating whether to clip the histogram bins at a specific value.
/// Histogram clip limit in percent of the total pixels in the tile. Histogram bins which exceed this limit, will be capped at this value.
/// The number of tiles the image is split into (horizontal and vertically). Minimum value is 2. Maximum value is 100.
- public AdaptiveHistEqualizationSWProcessor(int luminanceLevels, bool clipHistogram, float clipLimitPercentage, int tiles)
+ public AdaptiveHistogramEqualizationSlidingWindowProcessor(int luminanceLevels, bool clipHistogram, float clipLimitPercentage, int tiles)
: base(luminanceLevels, clipHistogram, clipLimitPercentage)
{
Guard.MustBeGreaterThanOrEqualTo(tiles, 2, nameof(tiles));
diff --git a/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor.cs b/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor.cs
index 62e018595..9af2c8352 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor.cs
@@ -6,8 +6,14 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
///
/// Defines a global histogram equalization applicable to an .
///
- internal class GlobalHistogramEqualizationProcessor : HistogramEqualizationProcessor
+ public class GlobalHistogramEqualizationProcessor : HistogramEqualizationProcessor
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The number of luminance levels.
+ /// A value indicating whether to clip the histogram bins at a specific value.
+ /// The histogram clip limit in percent of the total pixels in the tile. Histogram bins which exceed this limit, will be capped at this value.
public GlobalHistogramEqualizationProcessor(int luminanceLevels, bool clipHistogram, float clipLimitPercentage)
: base(luminanceLevels, clipHistogram, clipLimitPercentage)
{
diff --git a/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs b/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs
index 4aad1f564..b1d12f847 100644
--- a/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Normalization/HistogramEqualizationProcessor.cs
@@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
///
/// Defines a processor that normalizes the histogram of an image.
///
- internal abstract class HistogramEqualizationProcessor : IImageProcessor
+ public abstract class HistogramEqualizationProcessor : IImageProcessor
{
///
/// Initializes a new instance of the class.
@@ -63,7 +63,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
break;
case HistogramEqualizationMethod.AdaptiveTileInterpolation:
- processor = new AdaptiveHistEqualizationProcessor(
+ processor = new AdaptiveHistogramEqualizationProcessor(
options.LuminanceLevels,
options.ClipHistogram,
options.ClipLimitPercentage,
@@ -71,7 +71,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Normalization
break;
case HistogramEqualizationMethod.AdaptiveSlidingWindow:
- processor = new AdaptiveHistEqualizationSWProcessor(
+ processor = new AdaptiveHistogramEqualizationSlidingWindowProcessor(
options.LuminanceLevels,
options.ClipHistogram,
options.ClipLimitPercentage,