MorphologicalKernel3d
            Represents a 3x3x3 kernel dedicated to be applied on a binary image. Each kernel element can be assigned to one of three different values.
A 3D morphological kernel contains exactly 27 values and indexes matching the following table: $$ \begin{array}{ccc} \text{for z = 0} & \text{for z = 1}& \text{for z = 2} \\ \begin{bmatrix} 0 & 1 & 2\\ 3 & 4 & 5\\ 6 & 7 & 8 \end{bmatrix} & \begin{bmatrix} 9 & 10 & 11\\ 12 & 13 & 14\\ 15 & 16 & 17 \end{bmatrix} & \begin{bmatrix} 18 & 19 & 20\\ 21 & 22 & 23\\ 24 & 25 & 26 \end{bmatrix} \end{array} $$ Accepted values for the kernel are:
		A 3D morphological kernel contains exactly 27 values and indexes matching the following table: $$ \begin{array}{ccc} \text{for z = 0} & \text{for z = 1}& \text{for z = 2} \\ \begin{bmatrix} 0 & 1 & 2\\ 3 & 4 & 5\\ 6 & 7 & 8 \end{bmatrix} & \begin{bmatrix} 9 & 10 & 11\\ 12 & 13 & 14\\ 15 & 16 & 17 \end{bmatrix} & \begin{bmatrix} 18 & 19 & 20\\ 21 & 22 & 23\\ 24 & 25 & 26 \end{bmatrix} \end{array} $$ Accepted values for the kernel are:
- ZERO: pixel is off
 - ONE: pixel is on
 - ANY: pixel is ignored
 
Syntax
| Method | Description | 
|---|---|
| Ptr New( Value value = ZERO ) | 
        Constructor returning a kernel with all elements initialized with the same value
       | 
| Value getValue( int index ) | 
        get the value of a specific kernel's element at the position index
       | 
| void setValue( int index, Values value ) | 
        Assigns a value to a specific kernel's element
       | 
| void setAllValues(Values value = ZERO ) | 
        Assigns the same value to all kernel elements.
       | 
| void rotateX( size_t rotation = 1 ) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's X axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 18 & 9 & 0\\ 21 & 12 & 3\\ 24 & 15 & 6 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 9 & 0 & 3\\ 18 & 12 & 6\\ 21 & 24 & 15 \end{bmatrix} \end{array} $$  | 
| void rotateY( size_t rotation = 1 ) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's Y axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 6 & 7 & 8\\ 15 & 16 & 17\\ 24 & 25 & 26 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 7 & 8 & 17\\ 6 & 16 & 26\\ 15 & 24 & 25 \end{bmatrix} \end{array} $$  | 
| void rotateZ( size_t rotation = 1 ) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's Z axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 0 & 1 & 2\\ 3 & 4& 5\\ 6 & 7 & 8 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 1 & 2 & 5\\ 0 & 4 & 8\\ 3 & 6 & 7 \end{bmatrix} \end{array} $$  | 
| Method | Description | 
|---|---|
| MorphologicalKernel3d(value) | 
        Constructor returning a kernel with all elements initialized with the same value
       | 
| get_value(index) | 
        get the value of a specific kernel's element at the position index
       | 
| set_value(index, value) | 
        Assigns a value to a specific kernel's element
       | 
| set_all_values(value) | 
        Assigns the same value to all kernel elements.
       | 
| rotate_x(rotation) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's X axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 18 & 9 & 0\\ 21 & 12 & 3\\ 24 & 15 & 6 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 9 & 0 & 3\\ 18 & 12 & 6\\ 21 & 24 & 15 \end{bmatrix} \end{array} $$  | 
| rotate_y(rotation) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's Y axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 6 & 7 & 8\\ 15 & 16 & 17\\ 24 & 25 & 26 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 7 & 8 & 17\\ 6 & 16 & 26\\ 15 & 24 & 25 \end{bmatrix} \end{array} $$  | 
| rotate_z(rotation) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's Z axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 0 & 1 & 2\\ 3 & 4& 5\\ 6 & 7 & 8 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 1 & 2 & 5\\ 0 & 4 & 8\\ 3 & 6 & 7 \end{bmatrix} \end{array} $$  | 
| Method | Description | 
|---|---|
| public MorphologicalKernel3d(Values initValue) | 
        Constructor returning a kernel with all elements initialized with the same value
       | 
| Value GetValue(int index) | 
        get the value of a specific kernel's element at the position index
       | 
| void SetValue(int index, Values value) | 
        Assigns a value to a specific kernel's element
       | 
| void SetAllValues(Values value) | 
        Assigns the same value to all kernel elements.
       | 
| void RotateX(int rotation) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's X axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 18 & 9 & 0\\ 21 & 12 & 3\\ 24 & 15 & 6 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 9 & 0 & 3\\ 18 & 12 & 6\\ 21 & 24 & 15 \end{bmatrix} \end{array} $$  | 
| void RotateY(int rotation) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's Y axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 6 & 7 & 8\\ 15 & 16 & 17\\ 24 & 25 & 26 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 7 & 8 & 17\\ 6 & 16 & 26\\ 15 & 24 & 25 \end{bmatrix} \end{array} $$  | 
| void RotateZ(int rotation) | 
        Applies a direct rotation of a PI/4 multiple around the kernel's Z axis.
       $$ \begin{array}{ccc} \begin{bmatrix} 0 & 1 & 2\\ 3 & 4& 5\\ 6 & 7 & 8 \end{bmatrix} & \text{ =>} & \begin{bmatrix} 1 & 2 & 5\\ 0 & 4 & 8\\ 3 & 6 & 7 \end{bmatrix} \end{array} $$  |