diff --git a/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs b/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
index 1c1de45cb..c67ba0370 100644
--- a/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
@@ -15,7 +15,7 @@ namespace ImageSharp.Drawing.Processors
/// Combines two images together by blending the pixels.
///
/// The pixel format.
- public class DrawImageProcessor : ImageProcessor
+ internal class DrawImageProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs b/src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
index 95f4ab472..89ba0968b 100644
--- a/src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/DrawPathProcessor.cs
@@ -17,7 +17,7 @@ namespace ImageSharp.Drawing.Processors
///
/// The type of the color.
///
- public class DrawPathProcessor : ImageProcessor
+ internal class DrawPathProcessor : ImageProcessor
where TColor : struct, IPixel
{
private const float AntialiasFactor = 1f;
diff --git a/src/ImageSharp.Drawing/Processors/FillProcessor.cs b/src/ImageSharp.Drawing/Processors/FillProcessor.cs
index 9fa01075d..635829e9f 100644
--- a/src/ImageSharp.Drawing/Processors/FillProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/FillProcessor.cs
@@ -16,8 +16,8 @@ namespace ImageSharp.Drawing.Processors
/// Using the bursh as a source of pixels colors blends the brush color with source.
///
/// The pixel format.
- public class FillProcessor : ImageProcessor
- where TColor : struct, IPixel
+ internal class FillProcessor : ImageProcessor
+ where TColor : struct, IPixel
{
///
/// The brush.
diff --git a/src/ImageSharp.Drawing/Processors/FillRegionProcessor.cs b/src/ImageSharp.Drawing/Processors/FillRegionProcessor.cs
index 4f468c707..67b4aab5f 100644
--- a/src/ImageSharp.Drawing/Processors/FillRegionProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/FillRegionProcessor.cs
@@ -17,7 +17,7 @@ namespace ImageSharp.Drawing.Processors
///
/// The type of the color.
///
- public class FillRegionProcessor : ImageProcessor
+ internal class FillRegionProcessor : ImageProcessor
where TColor : struct, IPixel
{
private const float AntialiasFactor = 1f;
diff --git a/src/ImageSharp/ImageProcessor.cs b/src/ImageSharp/ImageProcessor.cs
index a0766d1ed..79525a8e8 100644
--- a/src/ImageSharp/ImageProcessor.cs
+++ b/src/ImageSharp/ImageProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing
/// Allows the application of processors to images.
///
/// The pixel format.
- public abstract class ImageProcessor : IImageProcessor
+ internal abstract class ImageProcessor : IImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Binarization/BinaryThresholdProcessor.cs b/src/ImageSharp/Processing/Processors/Binarization/BinaryThresholdProcessor.cs
index 2d57957d3..555546341 100644
--- a/src/ImageSharp/Processing/Processors/Binarization/BinaryThresholdProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Binarization/BinaryThresholdProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// . The image will be converted to grayscale before thresholding occurs.
///
/// The pixel format.
- public class BinaryThresholdProcessor : ImageProcessor
+ internal class BinaryThresholdProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Binarization/ErrorDiffusionDitherProcessor.cs b/src/ImageSharp/Processing/Processors/Binarization/ErrorDiffusionDitherProcessor.cs
index ce03c58a8..50f042bd6 100644
--- a/src/ImageSharp/Processing/Processors/Binarization/ErrorDiffusionDitherProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Binarization/ErrorDiffusionDitherProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// An that dithers an image using error diffusion.
///
/// The pixel format.
- public class ErrorDiffusionDitherProcessor : ImageProcessor
+ internal class ErrorDiffusionDitherProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Binarization/OrderedDitherProcessor.cs b/src/ImageSharp/Processing/Processors/Binarization/OrderedDitherProcessor.cs
index 4126419f2..c7f4d20ac 100644
--- a/src/ImageSharp/Processing/Processors/Binarization/OrderedDitherProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Binarization/OrderedDitherProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
/// An that dithers an image using error diffusion.
///
/// The pixel format.
- public class OrderedDitherProcessor : ImageProcessor
+ internal class OrderedDitherProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/BlackWhiteProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/BlackWhiteProcessor.cs
index 0ea821bef..0214af72d 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/BlackWhiteProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/BlackWhiteProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image to their black and white equivalent.
///
/// The pixel format.
- public class BlackWhiteProcessor : ColorMatrixFilter
+ internal class BlackWhiteProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
index 15e7c78da..d1e986a9d 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatomalyProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Achromatomaly (Color desensitivity) color blindness.
///
/// The pixel format.
- public class AchromatomalyProcessor : ColorMatrixFilter
+ internal class AchromatomalyProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
index adca0fe98..d17e28dca 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/AchromatopsiaProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Achromatopsia (Monochrome) color blindness.
///
/// The pixel format.
- public class AchromatopsiaProcessor : ColorMatrixFilter
+ internal class AchromatopsiaProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
index 6de54beea..7f4529ba4 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranomalyProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Deuteranomaly (Green-Weak) color blindness.
///
/// The pixel format.
- public class DeuteranomalyProcessor : ColorMatrixFilter
+ internal class DeuteranomalyProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
index 4729ccc61..493ed2cae 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/DeuteranopiaProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Deuteranopia (Green-Blind) color blindness.
///
/// The pixel format.
- public class DeuteranopiaProcessor : ColorMatrixFilter
+ internal class DeuteranopiaProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
index 200fff24d..ddea24be0 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanomalyProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Protanopia (Red-Weak) color blindness.
///
/// The pixel format.
- public class ProtanomalyProcessor : ColorMatrixFilter
+ internal class ProtanomalyProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
index 7c0f03543..c5446dbe1 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/ProtanopiaProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Protanopia (Red-Blind) color blindness.
///
/// The pixel format.
- public class ProtanopiaProcessor : ColorMatrixFilter
+ internal class ProtanopiaProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
index 63f1fd9eb..846e9c61a 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanomalyProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Tritanomaly (Blue-Weak) color blindness.
///
/// The pixel format.
- public class TritanomalyProcessor : ColorMatrixFilter
+ internal class TritanomalyProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
index 2200414fe..a0094f71f 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorBlindness/TritanopiaProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating Tritanopia (Blue-Blind) color blindness.
///
/// The pixel format.
- public class TritanopiaProcessor : ColorMatrixFilter
+ internal class TritanopiaProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorMatrixFilter.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorMatrixProcessor.cs
similarity index 96%
rename from src/ImageSharp/Processing/Processors/ColorMatrix/ColorMatrixFilter.cs
rename to src/ImageSharp/Processing/Processors/ColorMatrix/ColorMatrixProcessor.cs
index a37228a9b..c75da0003 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/ColorMatrixFilter.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/ColorMatrixProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// The color matrix filter. Inherit from this class to perform operation involving color matrices.
///
/// The pixel format.
- public abstract class ColorMatrixFilter : ImageProcessor, IColorMatrixFilter
+ internal abstract class ColorMatrixProcessor : ImageProcessor, IColorMatrixFilter
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt601Processor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt601Processor.cs
index bd14da59e..1f5a0fa7e 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt601Processor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt601Processor.cs
@@ -9,11 +9,11 @@ namespace ImageSharp.Processing.Processors
using System.Numerics;
///
- /// Converts the colors of the image to Grayscale applying the formula as specified by
- /// ITU-R Recommendation BT.601 .
+ /// Converts the colors of the image to Grayscale applying the formula as specified by ITU-R Recommendation BT.601
+ /// .
///
/// The pixel format.
- public class GrayscaleBt601Processor : ColorMatrixFilter
+ internal class GrayscaleBt601Processor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt709Processor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt709Processor.cs
index 925a36c75..048462696 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt709Processor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/GrayscaleBt709Processor.cs
@@ -9,11 +9,11 @@ namespace ImageSharp.Processing.Processors
using System.Numerics;
///
- /// Converts the colors of the image to Grayscale applying the formula as specified by
- /// ITU-R Recommendation BT.709 .
+ /// Converts the colors of the image to Grayscale applying the formula as specified by ITU-R Recommendation BT.709
+ /// .
///
/// The pixel format.
- public class GrayscaleBt709Processor : ColorMatrixFilter
+ internal class GrayscaleBt709Processor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/HueProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/HueProcessor.cs
index fdf5ffdb4..0d06c5868 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/HueProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/HueProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// An to change the hue of an .
///
/// The pixel format.
- public class HueProcessor : ColorMatrixFilter
+ internal class HueProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/IColorMatrixFilter.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/IColorMatrixFilter.cs
index faee890eb..57296a0c3 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/IColorMatrixFilter.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/IColorMatrixFilter.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// alter the image pixels.
///
/// The pixel format.
- public interface IColorMatrixFilter : IImageProcessor
+ internal interface IColorMatrixFilter : IImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/KodachromeProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/KodachromeProcessor.cs
index fee168498..8df8efcd1 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/KodachromeProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/KodachromeProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating an old Kodachrome camera effect.
///
/// The pixel format.
- public class KodachromeProcessor : ColorMatrixFilter
+ internal class KodachromeProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/LomographProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/LomographProcessor.cs
index 0e614afe8..b89caec86 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/LomographProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/LomographProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating an old Lomograph effect.
///
/// The pixel format.
- public class LomographProcessor : ColorMatrixFilter
+ internal class LomographProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
private static readonly TColor VeryDarkGreen = ColorBuilder.FromRGBA(0, 10, 0, 255);
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/PolaroidProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/PolaroidProcessor.cs
index 666fe5bc0..b5a23f855 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/PolaroidProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/PolaroidProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// Converts the colors of the image recreating an old Polaroid effect.
///
/// The pixel format.
- public class PolaroidProcessor : ColorMatrixFilter
+ internal class PolaroidProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
private static TColor veryDarkOrange = ColorBuilder.FromRGB(102, 34, 0);
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/SaturationProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/SaturationProcessor.cs
index d63326385..371294dd5 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/SaturationProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/SaturationProcessor.cs
@@ -12,7 +12,7 @@ namespace ImageSharp.Processing.Processors
/// An to change the saturation of an .
///
/// The pixel format.
- public class SaturationProcessor : ColorMatrixFilter
+ internal class SaturationProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/ColorMatrix/SepiaProcessor.cs b/src/ImageSharp/Processing/Processors/ColorMatrix/SepiaProcessor.cs
index d8fdc6cd1..49a071bd9 100644
--- a/src/ImageSharp/Processing/Processors/ColorMatrix/SepiaProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/ColorMatrix/SepiaProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// The formula used matches the svg specification.
///
/// The pixel format.
- public class SepiaProcessor : ColorMatrixFilter
+ internal class SepiaProcessor : ColorMatrixProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs
index 3597ba7de..7ffca534c 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs
@@ -11,7 +11,7 @@ namespace ImageSharp.Processing.Processors
/// Applies a Box blur sampler to the image.
///
/// The pixel format.
- public class BoxBlurProcessor : ImageProcessor
+ internal class BoxBlurProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DProcessor.cs
index d104f5d35..77608e02b 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Convolution2DProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Convolution2DProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// Defines a sampler that uses two one-dimensional matrices to perform convolution against an image.
///
/// The pixel format.
- public class Convolution2DProcessor : ImageProcessor
+ internal class Convolution2DProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor.cs
index 1d118443c..45906a46f 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// Defines a sampler that uses two one-dimensional matrices to perform two-pass convolution against an image.
///
/// The pixel format.
- public class Convolution2PassProcessor : ImageProcessor
+ internal class Convolution2PassProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/ConvolutionProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/ConvolutionProcessor.cs
index 6b5b6d3fe..3ab95c4ce 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/ConvolutionProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/ConvolutionProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// Defines a sampler that uses a 2 dimensional matrix to perform convolution against an image.
///
/// The pixel format.
- public class ConvolutionProcessor : ImageProcessor
+ internal class ConvolutionProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
index a8c786f71..b5c681656 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetector2DProcessor.cs
@@ -11,7 +11,7 @@ namespace ImageSharp.Processing.Processors
/// Defines a sampler that detects edges within an image using two one-dimensional matrices.
///
/// The pixel format.
- public abstract class EdgeDetector2DProcessor : ImageProcessor, IEdgeDetectorProcessor
+ internal abstract class EdgeDetector2DProcessor : ImageProcessor, IEdgeDetectorProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
index eb8491d4c..e92c2d109 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorCompassProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// Defines a sampler that detects edges within an image using a eight two dimensional matrices.
///
/// The pixel format.
- public abstract class EdgeDetectorCompassProcessor : ImageProcessor, IEdgeDetectorProcessor
+ internal abstract class EdgeDetectorCompassProcessor : ImageProcessor, IEdgeDetectorProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
index a963bb578..d8b491faf 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/EdgeDetectorProcessor.cs
@@ -11,7 +11,7 @@ namespace ImageSharp.Processing.Processors
/// Defines a sampler that detects edges within an image using a single two dimensional matrix.
///
/// The pixel format.
- public abstract class EdgeDetectorProcessor : ImageProcessor, IEdgeDetectorProcessor
+ internal abstract class EdgeDetectorProcessor : ImageProcessor, IEdgeDetectorProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
index 6456cc073..20e7b1b17 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KayyaliProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class KayyaliProcessor : EdgeDetector2DProcessor
+ internal class KayyaliProcessor : EdgeDetector2DProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KirschProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KirschProcessor.cs
index 90b3fc4b4..1b88a2200 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KirschProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/KirschProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class KirschProcessor : EdgeDetectorCompassProcessor
+ internal class KirschProcessor : EdgeDetectorCompassProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
index c8823efee..ec6963b1e 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian3X3Processor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class Laplacian3X3Processor : EdgeDetectorProcessor
+ internal class Laplacian3X3Processor : EdgeDetectorProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
index 3aad6d1ef..cc68c4fb7 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/Laplacian5X5Processor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class Laplacian5X5Processor : EdgeDetectorProcessor
+ internal class Laplacian5X5Processor : EdgeDetectorProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
index a7da76e13..f0944e681 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/LaplacianOfGaussianProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class LaplacianOfGaussianProcessor : EdgeDetectorProcessor
+ internal class LaplacianOfGaussianProcessor : EdgeDetectorProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/PrewittProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
index fea984418..fdb63d837 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/PrewittProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class PrewittProcessor : EdgeDetector2DProcessor
+ internal class PrewittProcessor : EdgeDetector2DProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
index 329a995c0..d9c5f5d21 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobertsCrossProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class RobertsCrossProcessor : EdgeDetector2DProcessor
+ internal class RobertsCrossProcessor : EdgeDetector2DProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
index 60726deab..681d983c4 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/RobinsonProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class RobinsonProcessor : EdgeDetectorCompassProcessor
+ internal class RobinsonProcessor : EdgeDetectorCompassProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/ScharrProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
index ed45ba0ac..c1e83b7f9 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/ScharrProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class ScharrProcessor : EdgeDetector2DProcessor
+ internal class ScharrProcessor : EdgeDetector2DProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/SobelProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/SobelProcessor.cs
index 3d2c583a7..0c13fa3d2 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/SobelProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/EdgeDetection/SobelProcessor.cs
@@ -14,7 +14,7 @@ namespace ImageSharp.Processing.Processors
///
/// The pixel format.
[SuppressMessage("ReSharper", "StaticMemberInGenericType", Justification = "We want to use only one instance of each array field for each generic type.")]
- public class SobelProcessor : EdgeDetector2DProcessor
+ internal class SobelProcessor : EdgeDetector2DProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs
index ddaffc9b4..65a137e35 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs
@@ -11,7 +11,7 @@ namespace ImageSharp.Processing.Processors
/// Applies a Gaussian blur sampler to the image.
///
/// The pixel format.
- public class GaussianBlurProcessor : ImageProcessor
+ internal class GaussianBlurProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs
index 6541b7380..bb3dc6f99 100644
--- a/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs
@@ -11,7 +11,7 @@ namespace ImageSharp.Processing.Processors
/// Applies a Gaussian sharpening sampler to the image.
///
/// The pixel format.
- public class GaussianSharpenProcessor : ImageProcessor
+ internal class GaussianSharpenProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Effects/AlphaProcessor.cs b/src/ImageSharp/Processing/Processors/Effects/AlphaProcessor.cs
index 11af92ea7..ce48aea1a 100644
--- a/src/ImageSharp/Processing/Processors/Effects/AlphaProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Effects/AlphaProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// An to change the alpha component of an .
///
/// The pixel format.
- public class AlphaProcessor : ImageProcessor
+ internal class AlphaProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Effects/BackgroundColorProcessor.cs b/src/ImageSharp/Processing/Processors/Effects/BackgroundColorProcessor.cs
index d6d209dc7..3568afe41 100644
--- a/src/ImageSharp/Processing/Processors/Effects/BackgroundColorProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Effects/BackgroundColorProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// Sets the background color of the image.
///
/// The pixel format.
- public class BackgroundColorProcessor : ImageProcessor
+ internal class BackgroundColorProcessor : ImageProcessor
where TColor : struct, IPixel
{
///
diff --git a/src/ImageSharp/Processing/Processors/Effects/BrightnessProcessor.cs b/src/ImageSharp/Processing/Processors/Effects/BrightnessProcessor.cs
index 566f2c6d7..84df5e89e 100644
--- a/src/ImageSharp/Processing/Processors/Effects/BrightnessProcessor.cs
+++ b/src/ImageSharp/Processing/Processors/Effects/BrightnessProcessor.cs
@@ -13,7 +13,7 @@ namespace ImageSharp.Processing.Processors
/// An to change the brightness of an .
///
/// The pixel format.
- public class BrightnessProcessor : ImageProcessor
+ internal class BrightnessProcessor : ImageProcessor