diff --git a/Settings.StyleCop b/Settings.StyleCop
index aeee88627a..b3cd5ee7ef 100644
--- a/Settings.StyleCop
+++ b/Settings.StyleCop
@@ -34,6 +34,7 @@
cmyk
Paeth
th
+ desensitivity
diff --git a/src/ImageSharp/Common/Helpers/Vector4BlendTransforms.cs b/src/ImageSharp/Colors/Vector4BlendTransforms.cs
similarity index 100%
rename from src/ImageSharp/Common/Helpers/Vector4BlendTransforms.cs
rename to src/ImageSharp/Colors/Vector4BlendTransforms.cs
diff --git a/src/ImageSharp/Filters/BinaryThreshold.cs b/src/ImageSharp/Filters/Binarization/BinaryThreshold.cs
similarity index 100%
rename from src/ImageSharp/Filters/BinaryThreshold.cs
rename to src/ImageSharp/Filters/Binarization/BinaryThreshold.cs
diff --git a/src/ImageSharp/Filters/BlackWhite.cs b/src/ImageSharp/Filters/ColorMatrix/BlackWhite.cs
similarity index 100%
rename from src/ImageSharp/Filters/BlackWhite.cs
rename to src/ImageSharp/Filters/ColorMatrix/BlackWhite.cs
diff --git a/src/ImageSharp/Filters/ColorBlindness.cs b/src/ImageSharp/Filters/ColorMatrix/ColorBlindness.cs
similarity index 98%
rename from src/ImageSharp/Filters/ColorBlindness.cs
rename to src/ImageSharp/Filters/ColorMatrix/ColorBlindness.cs
index e1a14e0f0d..30f5fefd4f 100644
--- a/src/ImageSharp/Filters/ColorBlindness.cs
+++ b/src/ImageSharp/Filters/ColorMatrix/ColorBlindness.cs
@@ -42,7 +42,7 @@ namespace ImageSharp
where TColor : struct, IPackedPixel
where TPacked : struct
{
- IImageFilter processor;
+ IImageFilteringProcessor processor;
switch (colorBlindness)
{
diff --git a/src/ImageSharp/Filters/Grayscale.cs b/src/ImageSharp/Filters/ColorMatrix/Grayscale.cs
similarity index 91%
rename from src/ImageSharp/Filters/Grayscale.cs
rename to src/ImageSharp/Filters/ColorMatrix/Grayscale.cs
index ce827e54c7..1a68e3e04a 100644
--- a/src/ImageSharp/Filters/Grayscale.cs
+++ b/src/ImageSharp/Filters/ColorMatrix/Grayscale.cs
@@ -42,8 +42,8 @@ namespace ImageSharp
where TColor : struct, IPackedPixel
where TPacked : struct
{
- IImageFilter processor = mode == GrayscaleMode.Bt709
- ? (IImageFilter)new GrayscaleBt709Processor()
+ IImageFilteringProcessor processor = mode == GrayscaleMode.Bt709
+ ? (IImageFilteringProcessor)new GrayscaleBt709Processor()
: new GrayscaleBt601Processor();
return source.Process(rectangle, processor);
diff --git a/src/ImageSharp/Filters/Hue.cs b/src/ImageSharp/Filters/ColorMatrix/Hue.cs
similarity index 100%
rename from src/ImageSharp/Filters/Hue.cs
rename to src/ImageSharp/Filters/ColorMatrix/Hue.cs
diff --git a/src/ImageSharp/Filters/Kodachrome.cs b/src/ImageSharp/Filters/ColorMatrix/Kodachrome.cs
similarity index 100%
rename from src/ImageSharp/Filters/Kodachrome.cs
rename to src/ImageSharp/Filters/ColorMatrix/Kodachrome.cs
diff --git a/src/ImageSharp/Filters/Lomograph.cs b/src/ImageSharp/Filters/ColorMatrix/Lomograph.cs
similarity index 100%
rename from src/ImageSharp/Filters/Lomograph.cs
rename to src/ImageSharp/Filters/ColorMatrix/Lomograph.cs
diff --git a/src/ImageSharp/Filters/Options/ColorBlindness.cs b/src/ImageSharp/Filters/ColorMatrix/Options/ColorBlindness.cs
similarity index 100%
rename from src/ImageSharp/Filters/Options/ColorBlindness.cs
rename to src/ImageSharp/Filters/ColorMatrix/Options/ColorBlindness.cs
diff --git a/src/ImageSharp/Filters/Options/GrayscaleMode.cs b/src/ImageSharp/Filters/ColorMatrix/Options/GrayscaleMode.cs
similarity index 100%
rename from src/ImageSharp/Filters/Options/GrayscaleMode.cs
rename to src/ImageSharp/Filters/ColorMatrix/Options/GrayscaleMode.cs
diff --git a/src/ImageSharp/Filters/Polaroid.cs b/src/ImageSharp/Filters/ColorMatrix/Polaroid.cs
similarity index 100%
rename from src/ImageSharp/Filters/Polaroid.cs
rename to src/ImageSharp/Filters/ColorMatrix/Polaroid.cs
diff --git a/src/ImageSharp/Filters/Saturation.cs b/src/ImageSharp/Filters/ColorMatrix/Saturation.cs
similarity index 100%
rename from src/ImageSharp/Filters/Saturation.cs
rename to src/ImageSharp/Filters/ColorMatrix/Saturation.cs
diff --git a/src/ImageSharp/Filters/Sepia.cs b/src/ImageSharp/Filters/ColorMatrix/Sepia.cs
similarity index 100%
rename from src/ImageSharp/Filters/Sepia.cs
rename to src/ImageSharp/Filters/ColorMatrix/Sepia.cs
diff --git a/src/ImageSharp/Filters/Alpha.cs b/src/ImageSharp/Filters/Effects/Alpha.cs
similarity index 100%
rename from src/ImageSharp/Filters/Alpha.cs
rename to src/ImageSharp/Filters/Effects/Alpha.cs
diff --git a/src/ImageSharp/Filters/BackgroundColor.cs b/src/ImageSharp/Filters/Effects/BackgroundColor.cs
similarity index 100%
rename from src/ImageSharp/Filters/BackgroundColor.cs
rename to src/ImageSharp/Filters/Effects/BackgroundColor.cs
diff --git a/src/ImageSharp/Filters/Brightness.cs b/src/ImageSharp/Filters/Effects/Brightness.cs
similarity index 100%
rename from src/ImageSharp/Filters/Brightness.cs
rename to src/ImageSharp/Filters/Effects/Brightness.cs
diff --git a/src/ImageSharp/Filters/Contrast.cs b/src/ImageSharp/Filters/Effects/Contrast.cs
similarity index 100%
rename from src/ImageSharp/Filters/Contrast.cs
rename to src/ImageSharp/Filters/Effects/Contrast.cs
diff --git a/src/ImageSharp/Filters/Invert.cs b/src/ImageSharp/Filters/Effects/Invert.cs
similarity index 100%
rename from src/ImageSharp/Filters/Invert.cs
rename to src/ImageSharp/Filters/Effects/Invert.cs
diff --git a/src/ImageSharp/Filters/Blend.cs b/src/ImageSharp/Filters/Overlays/Blend.cs
similarity index 100%
rename from src/ImageSharp/Filters/Blend.cs
rename to src/ImageSharp/Filters/Overlays/Blend.cs
diff --git a/src/ImageSharp/Filters/Glow.cs b/src/ImageSharp/Filters/Overlays/Glow.cs
similarity index 100%
rename from src/ImageSharp/Filters/Glow.cs
rename to src/ImageSharp/Filters/Overlays/Glow.cs
diff --git a/src/ImageSharp/Filters/Vignette.cs b/src/ImageSharp/Filters/Overlays/Vignette.cs
similarity index 100%
rename from src/ImageSharp/Filters/Vignette.cs
rename to src/ImageSharp/Filters/Overlays/Vignette.cs
diff --git a/src/ImageSharp/Filters/Processors/Binarization/BinaryThresholdProcessor.cs b/src/ImageSharp/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
index 09c6a96f3d..407dd8d053 100644
--- a/src/ImageSharp/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Binarization/BinaryThresholdProcessor.cs
@@ -9,12 +9,12 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An to perform binary threshold filtering against an
+ /// An to perform binary threshold filtering against an
/// . The image will be converted to grayscale before thresholding occurs.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class BinaryThresholdProcessor : ImageFilter
+ public class BinaryThresholdProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs b/src/ImageSharp/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
index be6f277e04..32bc227b18 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
+++ b/src/ImageSharp/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
///
/// The pixel format.
/// The packed format. uint, long, float.
- public abstract class ColorMatrixFilter : ImageFilter, IColorMatrixFilter
+ public abstract class ColorMatrixFilter : ImageFilteringProcessor, IColorMatrixFilter
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs b/src/ImageSharp/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
index ede66fd715..82cc2166d2 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
+++ b/src/ImageSharp/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processors
///
/// The pixel format.
/// The packed format. uint, long, float.
- public interface IColorMatrixFilter : IImageFilter
+ public interface IColorMatrixFilter : IImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/ColorMatrix/SaturationProcessor.cs b/src/ImageSharp/Filters/Processors/ColorMatrix/SaturationProcessor.cs
index 60f7c78157..e73a39e325 100644
--- a/src/ImageSharp/Filters/Processors/ColorMatrix/SaturationProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/ColorMatrix/SaturationProcessor.cs
@@ -31,8 +31,8 @@ namespace ImageSharp.Processors
// Stop at -1 to prevent inversion.
saturationFactor++;
- // The matrix is set up to "shear" the colour space using the following set of values.
- // Note that each colour component has an effective luminance which contributes to the
+ // The matrix is set up to "shear" the color space using the following set of values.
+ // Note that each color component has an effective luminance which contributes to the
// overall brightness of the pixel.
// See http://graficaobscura.com/matrix/index.html
float saturationComplement = 1.0f - saturationFactor;
diff --git a/src/ImageSharp/Filters/Processors/AlphaProcessor.cs b/src/ImageSharp/Filters/Processors/Effects/AlphaProcessor.cs
similarity index 92%
rename from src/ImageSharp/Filters/Processors/AlphaProcessor.cs
rename to src/ImageSharp/Filters/Processors/Effects/AlphaProcessor.cs
index 08c05acdd2..ea4f7e44a2 100644
--- a/src/ImageSharp/Filters/Processors/AlphaProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Effects/AlphaProcessor.cs
@@ -10,11 +10,11 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An to change the alpha component of an .
+ /// An to change the alpha component of an .
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class AlphaProcessor : ImageFilter
+ public class AlphaProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/BackgroundColorProcessor.cs b/src/ImageSharp/Filters/Processors/Effects/BackgroundColorProcessor.cs
similarity index 98%
rename from src/ImageSharp/Filters/Processors/BackgroundColorProcessor.cs
rename to src/ImageSharp/Filters/Processors/Effects/BackgroundColorProcessor.cs
index 37dd580fa1..ab077d6987 100644
--- a/src/ImageSharp/Filters/Processors/BackgroundColorProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Effects/BackgroundColorProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class BackgroundColorProcessor : ImageFilter
+ public class BackgroundColorProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/BrightnessProcessor.cs b/src/ImageSharp/Filters/Processors/Effects/BrightnessProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/BrightnessProcessor.cs
rename to src/ImageSharp/Filters/Processors/Effects/BrightnessProcessor.cs
index b74759b6b2..84cf0c8fbe 100644
--- a/src/ImageSharp/Filters/Processors/BrightnessProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Effects/BrightnessProcessor.cs
@@ -10,11 +10,11 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An to change the brightness of an .
+ /// An to change the brightness of an .
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class BrightnessProcessor : ImageFilter
+ public class BrightnessProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/ContrastProcessor.cs b/src/ImageSharp/Filters/Processors/Effects/ContrastProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/ContrastProcessor.cs
rename to src/ImageSharp/Filters/Processors/Effects/ContrastProcessor.cs
index fbcaaa1cdc..6f63264559 100644
--- a/src/ImageSharp/Filters/Processors/ContrastProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Effects/ContrastProcessor.cs
@@ -10,11 +10,11 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An to change the contrast of an .
+ /// An to change the contrast of an .
///
/// The pixel format.
/// The packed format. long, float.
- public class ContrastProcessor : ImageFilter
+ public class ContrastProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/InvertProcessor.cs b/src/ImageSharp/Filters/Processors/Effects/InvertProcessor.cs
similarity index 91%
rename from src/ImageSharp/Filters/Processors/InvertProcessor.cs
rename to src/ImageSharp/Filters/Processors/Effects/InvertProcessor.cs
index d010eaf364..94f6716da8 100644
--- a/src/ImageSharp/Filters/Processors/InvertProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Effects/InvertProcessor.cs
@@ -10,11 +10,11 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An to invert the colors of an .
+ /// An to invert the colors of an .
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class InvertProcessor : ImageFilter
+ public class InvertProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/IImageFilter.cs b/src/ImageSharp/Filters/Processors/IImageFilteringProcessor.cs
similarity index 90%
rename from src/ImageSharp/Filters/Processors/IImageFilter.cs
rename to src/ImageSharp/Filters/Processors/IImageFilteringProcessor.cs
index fc0a7625b0..22707168fa 100644
--- a/src/ImageSharp/Filters/Processors/IImageFilter.cs
+++ b/src/ImageSharp/Filters/Processors/IImageFilteringProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -10,7 +10,7 @@ namespace ImageSharp.Processors
///
/// The pixel format.
/// The packed format. uint, long, float.
- public interface IImageFilter : IImageProcessor
+ public interface IImageFilteringProcessor : IImageProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/ImageFilter.cs b/src/ImageSharp/Filters/Processors/ImageFilteringProcessor.cs
similarity index 93%
rename from src/ImageSharp/Filters/Processors/ImageFilter.cs
rename to src/ImageSharp/Filters/Processors/ImageFilteringProcessor.cs
index 34bfdb1fb1..23a0a3654f 100644
--- a/src/ImageSharp/Filters/Processors/ImageFilter.cs
+++ b/src/ImageSharp/Filters/Processors/ImageFilteringProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -12,7 +12,7 @@ namespace ImageSharp.Processors
///
/// The pixel format.
/// The packed format. uint, long, float.
- public abstract class ImageFilter : ImageProcessor, IImageFilter
+ public abstract class ImageFilteringProcessor : ImageProcessor, IImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Filters/Processors/BlendProcessor.cs b/src/ImageSharp/Filters/Processors/Overlays/BlendProcessor.cs
similarity index 96%
rename from src/ImageSharp/Filters/Processors/BlendProcessor.cs
rename to src/ImageSharp/Filters/Processors/Overlays/BlendProcessor.cs
index 4f326361fe..84e49f5968 100644
--- a/src/ImageSharp/Filters/Processors/BlendProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Overlays/BlendProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class BlendProcessor : ImageFilter
+ public class BlendProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -24,7 +24,7 @@ namespace ImageSharp.Processors
private readonly ImageBase blend;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
///
/// The image to blend with the currently processing image.
diff --git a/src/ImageSharp/Filters/Processors/GlowProcessor.cs b/src/ImageSharp/Filters/Processors/Overlays/GlowProcessor.cs
similarity index 92%
rename from src/ImageSharp/Filters/Processors/GlowProcessor.cs
rename to src/ImageSharp/Filters/Processors/Overlays/GlowProcessor.cs
index d671d1d6f0..496a3297d0 100644
--- a/src/ImageSharp/Filters/Processors/GlowProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Overlays/GlowProcessor.cs
@@ -10,16 +10,16 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An that applies a radial glow effect an .
+ /// An that applies a radial glow effect an .
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class GlowProcessor : ImageFilter
+ public class GlowProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
public GlowProcessor()
{
diff --git a/src/ImageSharp/Filters/Processors/VignetteProcessor.cs b/src/ImageSharp/Filters/Processors/Overlays/VignetteProcessor.cs
similarity index 95%
rename from src/ImageSharp/Filters/Processors/VignetteProcessor.cs
rename to src/ImageSharp/Filters/Processors/Overlays/VignetteProcessor.cs
index b60e496476..85c4af51a7 100644
--- a/src/ImageSharp/Filters/Processors/VignetteProcessor.cs
+++ b/src/ImageSharp/Filters/Processors/Overlays/VignetteProcessor.cs
@@ -10,11 +10,11 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An that applies a radial vignette effect to an .
+ /// An that applies a radial vignette effect to an .
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class VignetteProcessor : ImageFilter
+ public class VignetteProcessor : ImageFilteringProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Image/ImageProcessingExtensions.cs b/src/ImageSharp/Image/ImageProcessingExtensions.cs
index e4b9ff3fd1..7ebaf8f158 100644
--- a/src/ImageSharp/Image/ImageProcessingExtensions.cs
+++ b/src/ImageSharp/Image/ImageProcessingExtensions.cs
@@ -22,7 +22,7 @@ namespace ImageSharp
/// The image this method extends.
/// The processor to apply to the image.
/// The .
- internal static Image Process(this Image source, IImageFilter processor)
+ internal static Image Process(this Image source, IImageFilteringProcessor processor)
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -41,7 +41,7 @@ namespace ImageSharp
///
/// The processors to apply to the image.
/// The .
- internal static Image Process(this Image source, Rectangle sourceRectangle, IImageFilter processor)
+ internal static Image Process(this Image source, Rectangle sourceRectangle, IImageFilteringProcessor processor)
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -57,7 +57,7 @@ namespace ImageSharp
/// The image this method extends.
/// The processor to apply to the image.
/// The .
- internal static Image Process(this Image source, IImageSampler processor)
+ internal static Image Process(this Image source, IImageSamplingProcessor processor)
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -76,7 +76,7 @@ namespace ImageSharp
///
/// The processors to apply to the image.
/// The .
- internal static Image Process(this Image source, Rectangle sourceRectangle, IImageSampler processor)
+ internal static Image Process(this Image source, Rectangle sourceRectangle, IImageSamplingProcessor processor)
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -96,7 +96,7 @@ namespace ImageSharp
/// The target image height.
/// The processor to apply to the image.
/// The .
- internal static Image Process(this Image source, int width, int height, IImageSampler sampler)
+ internal static Image Process(this Image source, int width, int height, IImageSamplingProcessor sampler)
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -123,7 +123,7 @@ namespace ImageSharp
///
/// The processor to apply to the image.
/// The .
- internal static Image Process(this Image source, int width, int height, Rectangle sourceRectangle, Rectangle targetRectangle, IImageSampler sampler)
+ internal static Image Process(this Image source, int width, int height, Rectangle sourceRectangle, Rectangle targetRectangle, IImageSamplingProcessor sampler)
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Quantizers/Octree/OctreeQuantizer.cs b/src/ImageSharp/Quantizers/Octree/OctreeQuantizer.cs
index 5e06a721ea..a28c3d32e3 100644
--- a/src/ImageSharp/Quantizers/Octree/OctreeQuantizer.cs
+++ b/src/ImageSharp/Quantizers/Octree/OctreeQuantizer.cs
@@ -9,7 +9,7 @@ namespace ImageSharp.Quantizers
using System.Collections.Generic;
///
- /// Encapsulates methods to calculate the colour palette if an image using an Octree pattern.
+ /// Encapsulates methods to calculate the color palette if an image using an Octree pattern.
///
///
/// The pixel format.
diff --git a/src/ImageSharp/Samplers/BoxBlur.cs b/src/ImageSharp/Samplers/Convolution/BoxBlur.cs
similarity index 100%
rename from src/ImageSharp/Samplers/BoxBlur.cs
rename to src/ImageSharp/Samplers/Convolution/BoxBlur.cs
diff --git a/src/ImageSharp/Samplers/DetectEdges.cs b/src/ImageSharp/Samplers/Convolution/DetectEdges.cs
similarity index 95%
rename from src/ImageSharp/Samplers/DetectEdges.cs
rename to src/ImageSharp/Samplers/Convolution/DetectEdges.cs
index c28bb3c81d..649e0cf649 100644
--- a/src/ImageSharp/Samplers/DetectEdges.cs
+++ b/src/ImageSharp/Samplers/Convolution/DetectEdges.cs
@@ -28,7 +28,7 @@ namespace ImageSharp
}
///
- /// Detects any edges within the image. Uses the filter
+ /// Detects any edges within the image. Uses the filter
/// operating in Grayscale mode.
///
/// The pixel format.
@@ -77,12 +77,12 @@ namespace ImageSharp
where TColor : struct, IPackedPixel
where TPacked : struct
{
- IEdgeDetectorFilter processor;
+ IEdgeDetectorProcessor processor;
switch (filter)
{
case EdgeDetection.Kayyali:
- processor = new KayyaliProcessor { Grayscale = grayscale };
+ processor = new KayyaliSampler { Grayscale = grayscale };
break;
case EdgeDetection.Kirsch:
@@ -133,7 +133,7 @@ namespace ImageSharp
/// The image this method extends.
/// The filter for detecting edges.
/// The .
- public static Image DetectEdges(this Image source, IEdgeDetectorFilter filter)
+ public static Image DetectEdges(this Image source, IEdgeDetectorProcessor filter)
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -151,7 +151,7 @@ namespace ImageSharp
///
/// The filter for detecting edges.
/// The .
- public static Image DetectEdges(this Image source, Rectangle rectangle, IEdgeDetectorFilter filter)
+ public static Image DetectEdges(this Image source, Rectangle rectangle, IEdgeDetectorProcessor filter)
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/GuassianBlur.cs b/src/ImageSharp/Samplers/Convolution/GuassianBlur.cs
similarity index 100%
rename from src/ImageSharp/Samplers/GuassianBlur.cs
rename to src/ImageSharp/Samplers/Convolution/GuassianBlur.cs
diff --git a/src/ImageSharp/Samplers/GuassianSharpen.cs b/src/ImageSharp/Samplers/Convolution/GuassianSharpen.cs
similarity index 100%
rename from src/ImageSharp/Samplers/GuassianSharpen.cs
rename to src/ImageSharp/Samplers/Convolution/GuassianSharpen.cs
diff --git a/src/ImageSharp/Filters/Options/EdgeDetection.cs b/src/ImageSharp/Samplers/Convolution/Options/EdgeDetection.cs
similarity index 100%
rename from src/ImageSharp/Filters/Options/EdgeDetection.cs
rename to src/ImageSharp/Samplers/Convolution/Options/EdgeDetection.cs
diff --git a/src/ImageSharp/Samplers/OilPainting.cs b/src/ImageSharp/Samplers/Effects/OilPainting.cs
similarity index 84%
rename from src/ImageSharp/Samplers/OilPainting.cs
rename to src/ImageSharp/Samplers/Effects/OilPainting.cs
index a938b2325f..338921d7d8 100644
--- a/src/ImageSharp/Samplers/OilPainting.cs
+++ b/src/ImageSharp/Samplers/Effects/OilPainting.cs
@@ -20,8 +20,8 @@ namespace ImageSharp
/// The pixel format.
/// The packed format. uint, long, float.
/// The image this method extends.
- /// The number of intensity levels. Higher values result in a broader range of colour intensities forming part of the result image.
- /// The number of neighbouring pixels used in calculating each individual pixel value.
+ /// The number of intensity levels. Higher values result in a broader range of color intensities forming part of the result image.
+ /// The number of neighboring pixels used in calculating each individual pixel value.
/// The .
public static Image OilPaint(this Image source, int levels = 10, int brushSize = 15)
where TColor : struct, IPackedPixel
@@ -36,8 +36,8 @@ namespace ImageSharp
/// The pixel format.
/// The packed format. uint, long, float.
/// The image this method extends.
- /// The number of intensity levels. Higher values result in a broader range of colour intensities forming part of the result image.
- /// The number of neighbouring pixels used in calculating each individual pixel value.
+ /// The number of intensity levels. Higher values result in a broader range of color intensities forming part of the result image.
+ /// The number of neighboring pixels used in calculating each individual pixel value.
///
/// The structure that specifies the portion of the image object to alter.
///
diff --git a/src/ImageSharp/Samplers/Pixelate.cs b/src/ImageSharp/Samplers/Effects/Pixelate.cs
similarity index 98%
rename from src/ImageSharp/Samplers/Pixelate.cs
rename to src/ImageSharp/Samplers/Effects/Pixelate.cs
index e7bd84c317..627ad80bb8 100644
--- a/src/ImageSharp/Samplers/Pixelate.cs
+++ b/src/ImageSharp/Samplers/Effects/Pixelate.cs
@@ -49,7 +49,7 @@ namespace ImageSharp
throw new ArgumentOutOfRangeException(nameof(size));
}
- return source.Process(rectangle, new PixelateProcessor(size));
+ return source.Process(rectangle, new PixelateProcesso(size));
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/BoxBlurProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/BoxBlurProcessor.cs
index 7b87a3d1b8..a8ff27aafa 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/BoxBlurProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/BoxBlurProcessor.cs
@@ -6,11 +6,11 @@
namespace ImageSharp.Processors
{
///
- /// Applies a Box blur filter to the image.
+ /// Applies a Box blur sampler to the image.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class BoxBlurProcessor : ImageSampler
+ public class BoxBlurProcessor : ImageSamplingProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -20,7 +20,7 @@ namespace ImageSharp.Processors
private readonly int kernelSize;
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
///
/// The 'radius' value representing the size of the area to sample.
@@ -45,7 +45,7 @@ namespace ImageSharp.Processors
///
public override void Apply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle, int startY, int endY)
{
- new Convolution2PassFilter(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
+ new Convolution2PassProcessor(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
}
///
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/Convolution2DFilter.cs b/src/ImageSharp/Samplers/Processors/Convolution/Convolution2DProcessor.cs
similarity index 92%
rename from src/ImageSharp/Samplers/Processors/Convolution/Convolution2DFilter.cs
rename to src/ImageSharp/Samplers/Processors/Convolution/Convolution2DProcessor.cs
index 1b77e41eb6..61b86c5d1a 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/Convolution2DFilter.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/Convolution2DProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -10,20 +10,20 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// Defines a filter that uses two one-dimensional matrices to perform convolution against an image.
+ /// Defines a sampler that uses two one-dimensional matrices to perform convolution against an image.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class Convolution2DFilter : ImageSampler
+ public class Convolution2DProcessor : ImageSamplingProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The horizontal gradient operator.
/// The vertical gradient operator.
- public Convolution2DFilter(float[][] kernelX, float[][] kernelY)
+ public Convolution2DProcessor(float[][] kernelX, float[][] kernelY)
{
this.KernelX = kernelX;
this.KernelY = kernelY;
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/Convolution2PassFilter.cs b/src/ImageSharp/Samplers/Processors/Convolution/Convolution2PassProcessor.cs
similarity index 91%
rename from src/ImageSharp/Samplers/Processors/Convolution/Convolution2PassFilter.cs
rename to src/ImageSharp/Samplers/Processors/Convolution/Convolution2PassProcessor.cs
index 4cab6f0b2a..428ef9484b 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/Convolution2PassFilter.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/Convolution2PassProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -9,20 +9,20 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// Defines a filter that uses two one-dimensional matrices to perform two-pass convolution against an image.
+ /// Defines a sampler that uses two one-dimensional matrices to perform two-pass convolution against an image.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class Convolution2PassFilter : ImageSampler
+ public class Convolution2PassProcessor : ImageSamplingProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The horizontal gradient operator.
/// The vertical gradient operator.
- public Convolution2PassFilter(float[][] kernelX, float[][] kernelY)
+ public Convolution2PassProcessor(float[][] kernelX, float[][] kernelY)
{
this.KernelX = kernelX;
this.KernelY = kernelY;
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/ConvolutionFilter.cs b/src/ImageSharp/Samplers/Processors/Convolution/ConvolutionProcessor.cs
similarity index 91%
rename from src/ImageSharp/Samplers/Processors/Convolution/ConvolutionFilter.cs
rename to src/ImageSharp/Samplers/Processors/Convolution/ConvolutionProcessor.cs
index c94bee764c..d9252a22da 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/ConvolutionFilter.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/ConvolutionProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -9,19 +9,19 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// Defines a filter that uses a 2 dimensional matrix to perform convolution against an image.
+ /// Defines a sampler that uses a 2 dimensional matrix to perform convolution against an image.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class ConvolutionFilter : ImageSampler
+ public class ConvolutionProcessor : ImageSamplingProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The 2d gradient operator.
- public ConvolutionFilter(float[][] kernelXY)
+ public ConvolutionProcessor(float[][] kernelXY)
{
this.KernelXY = kernelXY;
}
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetector2DFilter.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
similarity index 72%
rename from src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetector2DFilter.cs
rename to src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
index a689415f6a..c247d9a99f 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetector2DFilter.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -6,12 +6,11 @@
namespace ImageSharp.Processors
{
///
- /// Defines a filter that detects edges within an image using two
- /// one-dimensional matrices.
+ /// Defines a sampler that detects edges within an image using two one-dimensional matrices.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public abstract class EdgeDetector2DFilter : ImageSampler, IEdgeDetectorFilter
+ public abstract class EdgeDetector2DProcessor : ImageSamplingProcessor, IEdgeDetectorProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -31,8 +30,7 @@ namespace ImageSharp.Processors
///
public override void Apply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle, int startY, int endY)
{
- // TODO: Figure out a way to pass event handlers to child classes.
- new Convolution2DFilter(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
+ new Convolution2DProcessor(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
}
///
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorCompassFilter.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
similarity index 87%
rename from src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorCompassFilter.cs
rename to src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
index 6d50531117..1ae9e48bb8 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorCompassFilter.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -10,11 +10,11 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// Defines a filter that detects edges within an image using a eight two dimensional matrices.
+ /// Defines a sampler that detects edges within an image using a eight two dimensional matrices.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public abstract class EdgeDetectorCompassFilter : ImageSampler, IEdgeDetectorFilter
+ public abstract class EdgeDetectorCompassProcessor : ImageSamplingProcessor, IEdgeDetectorProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -76,7 +76,7 @@ namespace ImageSharp.Processors
int maxY = Math.Min(source.Height, endY);
// First run.
- new ConvolutionFilter(kernels[0]).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
+ new ConvolutionProcessor(kernels[0]).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
if (kernels.Length == 1)
{
@@ -101,7 +101,7 @@ namespace ImageSharp.Processors
for (int i = 1; i < kernels.Length; i++)
{
ImageBase pass = new Image(source.Width, source.Height);
- new ConvolutionFilter(kernels[i]).Apply(pass, source, sourceRectangle, targetRectangle, startY, endY);
+ new ConvolutionProcessor(kernels[i]).Apply(pass, source, sourceRectangle, targetRectangle, startY, endY);
using (PixelAccessor passPixels = pass.Lock())
using (PixelAccessor targetPixels = target.Lock())
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorFilter.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
similarity index 72%
rename from src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorFilter.cs
rename to src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
index a565dbfc17..734d181146 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorFilter.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -6,11 +6,11 @@
namespace ImageSharp.Processors
{
///
- /// Defines a filter that detects edges within an image using a single two dimensional matrix.
+ /// Defines a sampler that detects edges within an image using a single two dimensional matrix.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public abstract class EdgeDetectorFilter : ImageSampler, IEdgeDetectorFilter
+ public abstract class EdgeDetectorProcessor : ImageSamplingProcessor, IEdgeDetectorProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -25,7 +25,7 @@ namespace ImageSharp.Processors
///
public override void Apply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle, int startY, int endY)
{
- new ConvolutionFilter(this.KernelXY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
+ new ConvolutionProcessor(this.KernelXY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
}
///
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/IEdgeDetectorFilter.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/IEdgeDetectorSampler.cs
similarity index 77%
rename from src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/IEdgeDetectorFilter.cs
rename to src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/IEdgeDetectorSampler.cs
index 700201ea4d..ac1c5a6fa0 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/IEdgeDetectorFilter.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/IEdgeDetectorSampler.cs
@@ -1,4 +1,4 @@
-//
+//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
@@ -10,7 +10,7 @@ namespace ImageSharp.Processors
///
/// The pixel format.
/// The packed format. uint, long, float.
- public interface IEdgeDetectorFilter : IImageSampler, IEdgeDetectorFilter
+ public interface IEdgeDetectorProcessor : IImageSamplingProcessor, IEdgeDetectorProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -19,7 +19,7 @@ namespace ImageSharp.Processors
///
/// Provides properties and methods allowing the detection of edges within an image.
///
- public interface IEdgeDetectorFilter
+ public interface IEdgeDetectorProcessor
{
///
/// Gets or sets a value indicating whether to convert the image to grayscale before performing edge detection.
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
index cbe45f8b62..5fbf54b308 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class KayyaliProcessor : EdgeDetector2DFilter
+ public class KayyaliSampler : EdgeDetector2DProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KirschProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KirschProcessor.cs
index b8ead4192e..77fbfdb6e5 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KirschProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/KirschProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class KirschProcessor : EdgeDetectorCompassFilter
+ public class KirschProcessor : EdgeDetectorCompassProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
index 9fbf716749..73d5c540bc 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class Laplacian3X3Processor : EdgeDetectorFilter
+ public class Laplacian3X3Processor : EdgeDetectorProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
index fdff0ec3af..70ddfb0875 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class Laplacian5X5Processor : EdgeDetectorFilter
+ public class Laplacian5X5Processor : EdgeDetectorProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
index 75e0efbd27..78498f69a6 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class LaplacianOfGaussianProcessor : EdgeDetectorFilter
+ public class LaplacianOfGaussianProcessor : EdgeDetectorProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/PrewittProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
index 70b763e63f..8cf42c293f 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class PrewittProcessor : EdgeDetector2DFilter
+ public class PrewittProcessor : EdgeDetector2DProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
index 8eb3aac3bf..2789010e29 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class RobertsCrossProcessor : EdgeDetector2DFilter
+ public class RobertsCrossProcessor : EdgeDetector2DProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
index 189215f08f..b888e400d3 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class RobinsonProcessor : EdgeDetectorCompassFilter
+ public class RobinsonProcessor : EdgeDetectorCompassProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/ScharrProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
index 22e7d80847..e49b9b528c 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class ScharrProcessor : EdgeDetector2DFilter
+ public class ScharrProcessor : EdgeDetector2DProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/SobelProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/SobelProcessor.cs
index 7d9521c691..274cd84701 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/SobelProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/EdgeDetection/SobelProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processors
/// The pixel format.
/// The packed format. uint, long, float.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class SobelProcessor : EdgeDetector2DFilter
+ public class SobelProcessor : EdgeDetector2DProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/GuassianBlurProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/GuassianBlurProcessor.cs
index 856239385a..e6af445b4b 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/GuassianBlurProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/GuassianBlurProcessor.cs
@@ -8,11 +8,11 @@ namespace ImageSharp.Processors
using System;
///
- /// Applies a Gaussian blur filter to the image.
+ /// Applies a Gaussian blur sampler to the image.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class GuassianBlurProcessor : ImageSampler
+ public class GuassianBlurProcessor : ImageSamplingProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -83,7 +83,7 @@ namespace ImageSharp.Processors
///
public override void Apply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle, int startY, int endY)
{
- new Convolution2PassFilter(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
+ new Convolution2PassProcessor(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
}
///
diff --git a/src/ImageSharp/Samplers/Processors/Convolution/GuassianSharpenProcessor.cs b/src/ImageSharp/Samplers/Processors/Convolution/GuassianSharpenProcessor.cs
index 3c86fcfee6..56cf94ea3f 100644
--- a/src/ImageSharp/Samplers/Processors/Convolution/GuassianSharpenProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Convolution/GuassianSharpenProcessor.cs
@@ -8,11 +8,11 @@ namespace ImageSharp.Processors
using System;
///
- /// Applies a Gaussian sharpening filter to the image.
+ /// Applies a Gaussian sharpening sampler to the image.
///
/// The pixel format.
/// The packed format. uint, long, float.
- public class GuassianSharpenProcessor : ImageSampler
+ public class GuassianSharpenProcessor : ImageSamplingProcessor
where TColor : struct, IPackedPixel
where TPacked : struct
{
@@ -85,7 +85,7 @@ namespace ImageSharp.Processors
///
public override void Apply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle, int startY, int endY)
{
- new Convolution2PassFilter(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
+ new Convolution2PassProcessor(this.KernelX, this.KernelY).Apply(target, source, targetRectangle, sourceRectangle, startY, endY);
}
///
diff --git a/src/ImageSharp/Samplers/Processors/OilPaintingProcessor.cs b/src/ImageSharp/Samplers/Processors/Effects/OilPaintingProcessor.cs
similarity index 91%
rename from src/ImageSharp/Samplers/Processors/OilPaintingProcessor.cs
rename to src/ImageSharp/Samplers/Processors/Effects/OilPaintingProcessor.cs
index ee0d4121aa..77b7a158fe 100644
--- a/src/ImageSharp/Samplers/Processors/OilPaintingProcessor.cs
+++ b/src/ImageSharp/Samplers/Processors/Effects/OilPaintingProcessor.cs
@@ -10,20 +10,24 @@ namespace ImageSharp.Processors
using System.Threading.Tasks;
///
- /// An to apply an oil painting effect to an .
+ /// An to apply an oil painting effect to an .
///
/// Adapted from by Dewald Esterhuizen.
/// The pixel format.
/// The packed format. uint, long, float.
- public class OilPaintingProcessor : ImageSampler
+ public class OilPaintingProcessor : ImageSamplingProcessor
where TColor : struct, IPackedPixel