anky2002 commited on
Commit
2eaf642
·
verified ·
1 Parent(s): f2c7b8e

Upload agents/statistical_agent.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. agents/statistical_agent.py +8 -2
agents/statistical_agent.py CHANGED
@@ -20,7 +20,11 @@ def t01_dct_kurtosis(img):
20
  c=np.array(coeffs); c=c[c!=0]
21
  if len(c)<100: return {"test":"DCT Kurtosis","score":0.0,"note":"Insufficient data"}
22
  k=float(sp_kurt(c,fisher=True))
23
- if k>4.5: s,n=-0.4,f"Laplacian DCT (κ={k:.2f})"
 
 
 
 
24
  elif k<2.0: s,n=0.5,f"Gaussian DCT (κ={k:.2f})"
25
  elif k<3.5: s,n=0.2,f"Borderline (κ={k:.2f})"
26
  else: s,n=-0.1,f"Near-natural (κ={k:.2f})"
@@ -88,7 +92,9 @@ def t06_wavelet_kurtosis(img):
88
  hf=np.concatenate([lh.ravel(),hl.ravel(),hh.ravel()]); hf=hf[hf!=0]
89
  if len(hf)<100: return {"test":"Wavelet Kurtosis","score":0.0,"note":"Insufficient"}
90
  k=float(sp_kurt(hf,fisher=True))
91
- if k>5: s,n=-0.3,f"Heavy-tailed wavelets (κ={k:.2f})"
 
 
92
  elif k<1.5: s,n=0.4,f"Gaussian wavelets (κ={k:.2f})"
93
  else: s,n=0.0,f"Wavelet κ={k:.2f}"
94
  return {"test":"Wavelet Kurtosis","kurtosis":round(k,4),"score":s,"note":n}
 
20
  c=np.array(coeffs); c=c[c!=0]
21
  if len(c)<100: return {"test":"DCT Kurtosis","score":0.0,"note":"Insufficient data"}
22
  k=float(sp_kurt(c,fisher=True))
23
+ # Natural photos: kurtosis 5-350. AI over-sharpening: >400.
24
+ # Too-low kurtosis (<2) = Gaussian = old GAN artifacts.
25
+ # Too-high kurtosis (>400) = pathological sharpness = modern AI.
26
+ if k>400: s,n=0.3,f"Pathologically high DCT kurtosis (κ={k:.0f}) — AI over-sharpening"
27
+ elif k>4.5: s,n=-0.4,f"Laplacian DCT (κ={k:.2f})"
28
  elif k<2.0: s,n=0.5,f"Gaussian DCT (κ={k:.2f})"
29
  elif k<3.5: s,n=0.2,f"Borderline (κ={k:.2f})"
30
  else: s,n=-0.1,f"Near-natural (κ={k:.2f})"
 
92
  hf=np.concatenate([lh.ravel(),hl.ravel(),hh.ravel()]); hf=hf[hf!=0]
93
  if len(hf)<100: return {"test":"Wavelet Kurtosis","score":0.0,"note":"Insufficient"}
94
  k=float(sp_kurt(hf,fisher=True))
95
+ # Same ceiling logic: AI over-sharpening produces kurtosis > 60
96
+ if k>60: s,n=0.2,f"Pathologically high wavelet kurtosis (κ={k:.1f}) — AI over-sharpening"
97
+ elif k>5: s,n=-0.3,f"Heavy-tailed wavelets (κ={k:.2f})"
98
  elif k<1.5: s,n=0.4,f"Gaussian wavelets (κ={k:.2f})"
99
  else: s,n=0.0,f"Wavelet κ={k:.2f}"
100
  return {"test":"Wavelet Kurtosis","kurtosis":round(k,4),"score":s,"note":n}