Passed
Push — dev ( e9cf15...64faf7 )
by Fike
03:26
created

EdgeLumaCalculator   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 17
rs 10
c 0
b 0
f 0
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A apply() 0 10 4
1
<?php
2
3
namespace AmaTeam\Image\Projection\Conversion\Processor\FXAA;
4
5
class EdgeLumaCalculator
6
{
7
    /**
8
     * @param Edge $edge
9
     *
10
     * @SuppressWarnings(PHPMD.ElseExpression)
11
     */
12
    public static function apply(Edge $edge)
13
    {
14
        if ($edge->horizontal) {
15
            $comparedLuma = $edge->inward ? $edge->luma->north : $edge->luma->south;
16
        } else {
17
            $comparedLuma = $edge->inward ? $edge->luma->west : $edge->luma->east;
18
        }
19
        $edge->averageLuma = ($edge->luma->center + $comparedLuma) / 2;
20
        $edge->gradient = abs($edge->luma->center - $comparedLuma);
21
        $edge->threshold = $edge->gradient / 4;
22
    }
23
}
24