Example #1
0
 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);
 }
Example #2
0
 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);
Example #3
0
 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);
Example #4
0
 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);
Example #5
0
 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);
Example #6
0
 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);
Example #7
0
 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);
Example #8
0
 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);
Example #9
0
 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);
Example #10
0
 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);
 }
Example #11
0
 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);
Example #12
0
 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);
 }
Example #13
0
 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);
 }
Example #14
0
 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);
 }
Example #15
0
 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);
 }
Example #16
0
 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);
                     }
                 }
             }
         }
     }
 }