DeaD_EyE icon

CFAR

DeaD_EyE | PRO | 03/23/18 01:39:53 PM UTC | 0 ⭐ | 928 👁️ | Never ⏰ | []
Python |

780 B

|

None

|

0 👍

/

0 👎

def apply(func):
    def inner(data, **kwargs):
        Z = func(data, **kwargs)
        result = []
        for element in data:
            if abs(element) > abs(Z):
                result.append(element)
            else:
                result.append(0.0)
        return result
    return inner
 
 
@apply
def cfar(data, N=3):
    return 1 / N * len(data) * sum(data)
 
 
@apply
def cago_cfar(data, N=3):
    return max(_cfar(data, N))
 
 
@apply
def caso_cfar(data, N=3):
    return min(_cfar(data, N))
 
 
@apply
def caos_cfar(data, percent):
    N = int(len(data) / 100 * percent)
    return sum(sorted(data)[:N]) / (N or 1)
 
 
def _cfar(data, N):
    n = len(data) * N
    res1 = (2/n) * sum(data[:n//2])
    res2 = (2/n) * sum(data[(n//2)+1:])
    return res1, res2

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎