/// <summary> /// Use Lanczos Interpolation to scale the source matrix into the target matrix. /// </summary> public static void SetScaledLanczos(this Matrix <__dtct__> targetMat, Matrix <__dtct__> sourceMat) { targetMat.SetScaledOrder5(sourceMat, Fun.Lanczos3f); }
public static void SetScaledBSpline3(this Matrix <__dtct__> targetMat, Matrix <__dtct__> sourceMat) { targetMat.SetScaledCubic(sourceMat, Fun.BSpline3f); }
public static void SetScaledBSpline5(this Matrix <__dtct__> targetMat, Matrix <__dtct__> sourceMat) { targetMat.SetScaledOrder5(sourceMat, Fun.BSpline5f); }
//# var intConfigs = new [] //# { //# Tup.Create("byte", "Byte", "Fun", "Fun"), //# Tup.Create("ushort", "UShort", "Fun", "Fun"), //# Tup.Create("float", "", "Fun", "Fun"), //# Tup.Create("byte", "Byte", "C3b", "C3f"), //# Tup.Create("ushort", "UShort", "C3us", "C3f"), //# Tup.Create("float", "", "C3f", "C3f"), //# Tup.Create("byte", "Byte", "C4b", "C4f"), //# Tup.Create("ushort", "UShort", "C4us", "C4f"), //# Tup.Create("float", "", "C4f", "C4f"), //# }; //# intConfigs.ForEach((dt, dtn, ct, fct) => { //# var fun = ct == "Fun" ? ct : "Col"; //# var clampVal = dtn != "" && ct == "Fun"; //# var clampMap = dtn != "" && ct != "Fun"; //# var rfct = dtn == "" ? "" : "RawF"; //# var dtct = ct == "Fun" ? dt : dt + ", " + ct; //# var it = ct == "Fun" ? dt : ct; public static void SetScaledNearest(this Matrix <__dtct__> targetMat, Matrix <__dtct__> sourceMat) { targetMat.SetScaledLinear(sourceMat, (x, a, b) => x < 0.5 ? a : b, (x, a, b) => x < 0.5 ? a : b); }