public static vImageError ConvolveMultiKernelARGBFFFF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, float [] kernels, //must be 4 uint kernel_height, uint kernel_width, float [] biases, // must be 4 PixelFFFF backgroundColor, vImageFlags flags) { var kern = new float [] [] { kernels, kernels, kernels, kernels }; return ConvolveMultiKernelARGBFFFF (ref src, ref dest, tempBuffer, srcOffsetToROI_X, srcOffsetToROI_Y, kern, kernel_height, kernel_width, biases, backgroundColor, flags); }
static extern nint vImageRichardsonLucyDeConvolve_PlanarF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, float *kernel, float *kernel2, uint kernel_height, uint kernel_width, uint kernel_height2, uint kernel_width2, PixelF backgroundColor, uint iterationCount, vImageFlags flags);
static extern nint vImageTentConvolve_Planar8(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, uint kernel_height, uint kernel_width, Pixel8 backgroundColor, vImageFlags flags);
static extern nint vImageMatrixMultiply_ARGB8888(ref vImageBuffer src, ref vImageBuffer dest, short [] matrix, // matrix is [4*4], int divisor, short [] pre_bias, //Must be an array of 4 int16_t's. NULL is okay. int [] post_bias, //Must be an array of 4 int32_t's. NULL is okay. vImageFlags flags);
static extern nint vImageRichardsonLucyDeConvolve_ARGB8888(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, short *kernel, short *kernel2, uint kernel_height, uint kernel_width, uint kernel_height2, uint kernel_width2, int divisor, int divisor2, Pixel8888 backgroundColor, uint iterationCount, vImageFlags flags);
static extern nint vImageConvolve_ARGB8888(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, short *kernel, uint kernel_height, uint kernel_width, int divisor, Pixel8888 *backgroundColor, vImageFlags flags);
static extern nint vImageConvolve_ARGBFFFF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, float *kernel, uint kernel_height, uint kernel_width, PixelFFFF backgroundColor, vImageFlags flags);
static extern nint vImageConvolveMultiKernel_ARGBFFFF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, float* [] kernels, //must be 4, defined as 'float*[4]' uint kernel_height, uint kernel_width, float [] biases, // must be 4 PixelFFFF backgroundColor, vImageFlags flags);
static extern nint vImageConvolveWithBias_PlanarF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, /* defined as float*/ float *kernel, uint kernel_height, uint kernel_width, float bias, PixelF backgroundColor, vImageFlags flags);
public static vImageError TentConvolvePlanar8(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, uint kernel_height, uint kernel_width, Pixel8 backgroundColor, vImageFlags flags) { return (vImageError) (long) vImageTentConvolve_Planar8 (ref src, ref dest, tempBuffer, srcOffsetToROI_X, srcOffsetToROI_Y, kernel_height, kernel_width, backgroundColor, flags); }
static extern nint vImageConvolveMultiKernel_ARGB8888(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, short* [] kernels, // must be 4 uint kernel_height, uint kernel_width, int [] divisors, // must be 4 int [] biases, // must be 4 Pixel8888 backgroundColor, vImageFlags flags);
public static vImageError RichardsonLucyDeConvolvePlanarF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, float *kernel, float *kernel2, uint kernel_height, uint kernel_width, uint kernel_height2, uint kernel_width2, PixelF backgroundColor, uint iterationCount, vImageFlags flags) { return (vImageError) (long) vImageRichardsonLucyDeConvolve_PlanarF (ref src, ref dest, tempBuffer, srcOffsetToROI_X, srcOffsetToROI_Y, kernel, kernel2, kernel_height, kernel_width, kernel_height2, kernel_width2, backgroundColor, iterationCount, flags); }
public static vImageError MatrixMultiplyARGB8888(ref vImageBuffer src, ref vImageBuffer dest, short [] matrix, // matrix is [4*4], int divisor, short [] pre_bias, //Must be an array of 4 int16_t's. NULL is okay. int [] post_bias, //Must be an array of 4 int32_t's. NULL is okay. vImageFlags flags) { if (matrix == null) throw new ArgumentNullException ("matrix"); if (pre_bias != null && pre_bias.Length != 4) throw new ArgumentException ("Must have four elements", "pre_bias"); if (post_bias != null && post_bias.Length != 4) throw new ArgumentException ("Must have four elements", "post_bias"); return (vImageError) (long) vImageMatrixMultiply_ARGB8888 (ref src, ref dest, matrix, divisor, pre_bias, post_bias, flags); }
public static vImageError ConvolveWithBiasPlanarF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, float *kernel, uint kernel_height, uint kernel_width, float bias, PixelF backgroundColor, vImageFlags flags) { return (vImageError) (long) vImageConvolveWithBias_PlanarF (ref src, ref dest, tempBuffer, srcOffsetToROI_X, srcOffsetToROI_Y, kernel, kernel_height, kernel_width, bias, backgroundColor, flags); }
public static vImageError ConvolveWithBiasARGB8888(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, short *kernel, uint kernel_height, uint kernel_width, int divisor, int bias, Pixel8888 backgroundColor, vImageFlags flags) { return (vImageError) (long) vImageConvolveWithBias_ARGB8888 (ref src, ref dest, tempBuffer, srcOffsetToROI_X, srcOffsetToROI_Y, kernel, kernel_height, kernel_width, divisor, bias, backgroundColor, flags); }
public static vImageError ConvolveMultiKernelARGBFFFF(ref vImageBuffer src, ref vImageBuffer dest, IntPtr tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, float [][] kernels, //must be 4 uint kernel_height, uint kernel_width, float [] biases, // must be 4 PixelFFFF backgroundColor, vImageFlags flags) { if (kernels == null) throw new ArgumentNullException ("kernels"); if (biases == null) throw new ArgumentNullException ("biases"); if (kernels.Length < 4) throw new ArgumentException ("Must contain at least four elements", "kernels"); if (biases.Length < 4) throw new ArgumentException ("Must contain at least four elements", "biases"); unsafe { fixed (float* f1 = kernels [0]) { fixed (float* f2 = kernels [1]) { fixed (float* f3 = kernels [2]) { fixed (float* f4 = kernels [3]) { var ptrs = new float* [4]; ptrs [0] = f1; ptrs [1] = f2; ptrs [2] = f3; ptrs [3] = f4; return (vImageError) (long) vImageConvolveMultiKernel_ARGBFFFF (ref src, ref dest, tempBuffer, srcOffsetToROI_X, srcOffsetToROI_Y, ptrs, kernel_height, kernel_width, biases, backgroundColor, flags); } } } } } }