Browse Source

fix formatting and documentation warnings

af/merge-core
Johannes Bildstein 9 years ago
parent
commit
df77cd39ca
  1. 3
      src/ImageSharp/Colors/Spaces/CieLab.cs
  2. 3
      src/ImageSharp/Colors/Spaces/Conversion/ColorConverter.Adapt.cs
  3. 1
      src/ImageSharp/Colors/Spaces/Conversion/ColorConverter.CieXyz.cs
  4. 13
      src/ImageSharp/Colors/Spaces/Conversion/ColorConverter.cs
  5. 4
      src/ImageSharp/Colors/Spaces/Conversion/IColorConversion.cs
  6. 8
      src/ImageSharp/Colors/Spaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs
  7. 6
      src/ImageSharp/Colors/Spaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs
  8. 38
      src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs
  9. 8
      src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/LmsAdaptationMatrix.cs
  10. 18
      src/ImageSharp/Colors/Spaces/Conversion/VonKriesChromaticAdaptation.cs
  11. 2
      src/ImageSharp/Colors/Spaces/IColorVector.cs
  12. 4
      src/ImageSharp/Colors/Spaces/ICompanding.cs
  13. 8
      src/ImageSharp/Colors/Spaces/IRgbWorkingSpace.cs
  14. 2
      src/ImageSharp/Colors/Spaces/Illuminants.cs

3
src/ImageSharp/Colors/Spaces/CieLab.cs

@ -77,6 +77,9 @@ namespace ImageSharp.Colors.Spaces
this.WhitePoint = whitePoint;
}
/// <summary>
/// Gets the reference white point of this color
/// </summary>
public CieXyz WhitePoint { get; }
/// <summary>

3
src/ImageSharp/Colors/Spaces/Conversion/ColorConverter.Adapt.cs

@ -17,6 +17,9 @@ namespace ImageSharp.Colors.Conversion
/// Performs chromatic adaptation of given XYZ color.
/// Target white point is <see cref="WhitePoint"/>.
/// </summary>
/// <param name="color">The color to adapt</param>
/// <param name="sourceWhitePoint">The white point to adapt for</param>
/// <returns>The adapted color</returns>
public CieXyz Adapt(CieXyz color, CieXyz sourceWhitePoint)
{
Guard.NotNull(color, nameof(color));

1
src/ImageSharp/Colors/Spaces/Conversion/ColorConverter.CieXyz.cs

@ -25,7 +25,6 @@ namespace ImageSharp.Colors.Conversion
Guard.NotNull(color, nameof(color));
// Conversion
CieXyz unadapted = CieLabToCieXyzConverter.Convert(color);
// Adaptation

13
src/ImageSharp/Colors/Spaces/Conversion/ColorConverter.cs

@ -14,14 +14,14 @@ namespace ImageSharp.Colors.Conversion
/// </summary>
public partial class ColorConverter
{
private Matrix4x4 transformationMatrix;
private CieXyzAndLmsConverter cachedCieXyzAndLmsConverter;
/// <summary>
/// The default whitepoint used for converting to CieLab
/// </summary>
public static readonly CieXyz DefaultWhitePoint = Illuminants.D65;
private Matrix4x4 transformationMatrix;
private CieXyzAndLmsConverter cachedCieXyzAndLmsConverter;
/// <summary>
/// Initializes a new instance of the <see cref="ColorConverter"/> class.
/// </summary>
@ -57,11 +57,14 @@ namespace ImageSharp.Colors.Conversion
/// </summary>
public Matrix4x4 LmsAdaptationMatrix
{
get { return this.transformationMatrix; }
get
{
return this.transformationMatrix;
}
set
{
this.transformationMatrix = value;
if (this.cachedCieXyzAndLmsConverter == null)
{
this.cachedCieXyzAndLmsConverter = new CieXyzAndLmsConverter(value);

4
src/ImageSharp/Colors/Spaces/Conversion/IColorConversion.cs

@ -13,10 +13,10 @@ namespace ImageSharp.Colors.Conversion
public interface IColorConversion<in T, out TResult>
{
/// <summary>
/// Performs the conversion from the <see cref="T"/> input to an instance of the output <see cref="TResult"/> type.
/// Performs the conversion from the input to an instance of the output type.
/// </summary>
/// <param name="input">The input color instance.</param>
/// <returns>The <see cref="TResult"/></returns>
/// <returns>The converted result</returns>
TResult Convert(T input);
}
}

8
src/ImageSharp/Colors/Spaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs

@ -21,15 +21,15 @@ namespace ImageSharp.Colors.Conversion.Implementation
// Conversion algorithm described here: http://www.brucelindbloom.com/index.html?Eqn_Lab_to_XYZ.html
float l = input.L, a = input.A, b = input.B;
float fy = (l + 16) / 116F;
float fx = a / 500F + fy;
float fz = fy - b / 200F;
float fx = (a / 500F) + fy;
float fz = fy - (b / 200F);
float fx3 = (float)Math.Pow(fx, 3D);
float fz3 = (float)Math.Pow(fz, 3D);
float xr = fx3 > CieConstants.Epsilon ? fx3 : (116F * fx - 16F) / CieConstants.Kappa;
float xr = fx3 > CieConstants.Epsilon ? fx3 : ((116F * fx) - 16F) / CieConstants.Kappa;
float yr = l > CieConstants.Kappa * CieConstants.Epsilon ? (float)Math.Pow((l + 16F) / 116F, 3D) : l / CieConstants.Kappa;
float zr = fz3 > CieConstants.Epsilon ? fz3 : (116F * fz - 16F) / CieConstants.Kappa;
float zr = fz3 > CieConstants.Epsilon ? fz3 : ((116F * fz) - 16F) / CieConstants.Kappa;
float wx = input.WhitePoint.X, wy = input.WhitePoint.Y, wz = input.WhitePoint.Z;

6
src/ImageSharp/Colors/Spaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs

@ -45,9 +45,9 @@ namespace ImageSharp.Colors.Conversion.Implementation
float xr = input.X / wx, yr = input.Y / wy, zr = input.Z / wz;
float fx = xr > CieConstants.Epsilon ? (float)Math.Pow(xr, 0.333333333333333D) : (CieConstants.Kappa * xr + 16F) / 116F;
float fy = yr > CieConstants.Epsilon ? (float)Math.Pow(yr, 0.333333333333333D) : (CieConstants.Kappa * yr + 16F) / 116F;
float fz = zr > CieConstants.Epsilon ? (float)Math.Pow(zr, 0.333333333333333D) : (CieConstants.Kappa * zr + 16F) / 116F;
float fx = xr > CieConstants.Epsilon ? (float)Math.Pow(xr, 0.333333333333333D) : ((CieConstants.Kappa * xr) + 16F) / 116F;
float fy = yr > CieConstants.Epsilon ? (float)Math.Pow(yr, 0.333333333333333D) : ((CieConstants.Kappa * yr) + 16F) / 116F;
float fz = zr > CieConstants.Epsilon ? (float)Math.Pow(zr, 0.333333333333333D) : ((CieConstants.Kappa * zr) + 16F) / 116F;
float l = (116F * fy) - 16F;
float a = 500F * (fx - fy);

38
src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs

@ -3,12 +3,14 @@
// Licensed under the Apache License, Version 2.0.
// </copyright>
using System.Numerics;
namespace ImageSharp.Colors.Conversion.Implementation
{
using System.Numerics;
using Spaces;
/// <summary>
/// Color converter between CIE XYZ and LMS
/// </summary>
public class CieXyzAndLmsConverter : IColorConversion<CieXyz, Lms>, IColorConversion<Lms, CieXyz>
{
/// <summary>
@ -20,20 +22,6 @@ namespace ImageSharp.Colors.Conversion.Implementation
private Matrix4x4 inverseTransformationMatrix;
private Matrix4x4 transformationMatrix;
/// <summary>
/// Transformation matrix used for the conversion (definition of the cone response domain).
/// <see cref="LmsAdaptationMatrix"/>
/// </summary>
public Matrix4x4 TransformationMatrix
{
get { return this.transformationMatrix; }
internal set
{
this.transformationMatrix = value;
Matrix4x4.Invert(this.transformationMatrix, out this.inverseTransformationMatrix);
}
}
/// <summary>
/// Initializes a new instance of the <see cref="CieXyzAndLmsConverter"/> class.
/// </summary>
@ -54,6 +42,24 @@ namespace ImageSharp.Colors.Conversion.Implementation
this.TransformationMatrix = transformationMatrix;
}
/// <summary>
/// Gets transformation matrix used for the conversion (definition of the cone response domain).
/// <see cref="LmsAdaptationMatrix"/>
/// </summary>
public Matrix4x4 TransformationMatrix
{
get
{
return this.transformationMatrix;
}
internal set
{
this.transformationMatrix = value;
Matrix4x4.Invert(this.transformationMatrix, out this.inverseTransformationMatrix);
}
}
/// <inheritdoc/>
public Lms Convert(CieXyz input)
{

8
src/ImageSharp/Colors/Spaces/Conversion/Implementation/Lms/LmsAdaptationMatrix.cs

@ -74,10 +74,10 @@ namespace ImageSharp.Colors.Conversion.Implementation
M44 = 1F
};
/// <summary>
/// CMCCAT2000 (fitted from all available color data sets)
/// </summary>
public static readonly Matrix4x4 CMCCAT2000
/// <summary>
/// CMCCAT2000 (fitted from all available color data sets)
/// </summary>
public static readonly Matrix4x4 CMCCAT2000
= new Matrix4x4
{
M11 = 0.7982F, M12 = 0.3389F, M13 = -0.1371F,

18
src/ImageSharp/Colors/Spaces/Conversion/VonKriesChromaticAdaptation.cs

@ -43,15 +43,6 @@ namespace ImageSharp.Colors.Conversion
{
}
/// <summary>
/// Initializes a new instance of the <see cref="VonKriesChromaticAdaptation"/> class.
/// </summary>
/// <param name="converter"></param>
private VonKriesChromaticAdaptation(CieXyzAndLmsConverter converter)
: this(converter, converter)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="VonKriesChromaticAdaptation"/> class.
/// </summary>
@ -66,6 +57,15 @@ namespace ImageSharp.Colors.Conversion
this.conversionToXyz = conversionToCieXyz;
}
/// <summary>
/// Initializes a new instance of the <see cref="VonKriesChromaticAdaptation"/> class.
/// </summary>
/// <param name="converter">The color converter</param>
private VonKriesChromaticAdaptation(CieXyzAndLmsConverter converter)
: this(converter, converter)
{
}
/// <inheritdoc/>
public CieXyz Transform(CieXyz sourceColor, CieXyz sourceWhitePoint, CieXyz targetWhitePoint)
{

2
src/ImageSharp/Colors/Spaces/IColorVector.cs

@ -13,7 +13,7 @@ namespace ImageSharp.Colors.Spaces
public interface IColorVector
{
/// <summary>
/// The vector representation of the color
/// Gets the vector representation of the color
/// </summary>
Vector3 Vector { get; }
}

4
src/ImageSharp/Colors/Spaces/ICompanding.cs

@ -19,6 +19,8 @@ namespace ImageSharp.Colors.Spaces
/// For more info see:
/// http://www.brucelindbloom.com/index.html?Eqn_RGB_to_XYZ.html
/// </remarks>
/// <param name="channel">The channel value</param>
/// <returns>The linear channel value</returns>
float InverseCompanding(float channel);
/// <summary>
@ -28,6 +30,8 @@ namespace ImageSharp.Colors.Spaces
/// For more info see:
/// http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_RGB.html
/// </remarks>
/// <param name="channel">The channel value</param>
/// <returns>The nonlinear channel value</returns>
float Companding(float channel);
}
}

8
src/ImageSharp/Colors/Spaces/IRgbWorkingSpace.cs

@ -15,13 +15,13 @@ namespace ImageSharp.Colors.Spaces
/// </summary>
CieXyz WhitePoint { get; }
/// <summary>
/// Chromaticity coordinates of the primaries
/// </summary>
// <summary>
// Gets Chromaticity coordinates of the primaries
// </summary>
// RGBPrimariesChromaticityCoordinates ChromaticityCoordinates { get; }
/// <summary>
/// The companding function associated with the RGB color system.
/// Gets the companding function associated with the RGB color system.
/// Used for conversion to XYZ and backwards.
/// See this for more information:
/// http://www.brucelindbloom.com/index.html?Eqn_RGB_to_XYZ.html

2
src/ImageSharp/Colors/Spaces/Illuminants.cs

@ -1,7 +1,7 @@
namespace ImageSharp.Colors.Spaces
{
/// <summary>
/// The well known standard illuminants.
/// The well known standard illuminants.
/// Standard illuminants provide a basis for comparing images or colors recorded under different lighting
/// </summary>
/// <remarks>

Loading…
Cancel
Save