The ImagickKernel::separate() function is an inbuilt function in PHP which is used to separate a linked set of kernels and returns an array of ImagickKernels. This function is used to count the kernels in an object or see the kernels of an object.
Syntax:
array ImagickKernel::separate( void )
Parameters: This function doesn’t accepts any parameter.
Return Value: This function returns an array value containing the ImagickKernels.
Below programs illustrate the ImagickKernel::separate() function in PHP:
Program 1: This program counting all the kernels in an ImagickKernel.
<?php // Create a new imagick object $imagick = new Imagick( $matrix1 = [ [-1, -1, -1], [4, 4, 4], [1, 1, 1], ]; $matrix2 = [ [-1, 0, 0], [0, 0, 1], [-1, 0, 1], ]; $matrix3 = [ [-1, 1, 0], [0, 0, 1], [-1, 0, 1], ]; $matrix4 = [ [0, 1, 0], [0, 0, 1], [-1, 0, 1], ]; // Create ImagickKernel objects from matrices $kernel1 = ImagickKernel::fromMatrix($matrix1); $kernel2 = ImagickKernel::fromMatrix($matrix2); $kernel3 = ImagickKernel::fromMatrix($matrix3); $kernel4 = ImagickKernel::fromMatrix($matrix4); // Add the kernels $kernel1->addKernel($kernel2); $kernel1->addKernel($kernel3); $kernel1->addKernel($kernel4); $kernelList = $kernel1->separate(); echo 'Total number of attached kernels are: '; echo count($kernelList); ?> |
Output:
Total number of attached kernels are: 4
Program 2 (Getting all ImagickKernel in a object):
<?php // Create a new imagick object $imagick = new Imagick( $matrix1 = [ [-1, -1, -1], [4, 4, 4], [1, 1, 1], ]; $matrix2 = [ [-1, 0, 0], [0, 0, 1], [-1, 0, 1], ]; // Create ImagickKernel objects from matrices $kernel1 = ImagickKernel::fromMatrix($matrix1); $kernel2 = ImagickKernel::fromMatrix($matrix2); // Add the kernel $kernel1->addKernel($kernel2); $kernelList = $kernel1->separate(); echo 'All the kernels are: '; print("<pre>".print_r($kernelList, true)."</pre>"); ?> |
Output:
All the kernels are:
Array
(
[0] => ImagickKernel Object
(
[0] => Array
(
[0] => Array
(
[0] => -1
[1] => -1
[2] => -1
)
[1] => Array
(
[0] => 4
[1] => 4
[2] => 4
)
[2] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
)
)
[1] => ImagickKernel Object
(
[0] => Array
(
[0] => Array
(
[0] => -1
[1] => 0
[2] => 0
)
[1] => Array
(
[0] => 0
[1] => 0
[2] => 1
)
[2] => Array
(
[0] => -1
[1] => 0
[2] => 1
)
)
)
)
Reference: https://www.php.net/manual/en/imagickkernel.separate.php
