Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement