File: //test_python/video/valida_sasso.py
import numpy as np
import cv2
def valida_sasso():
print("Apertura Attrattore (2.7 GB) in modalità lettura mappata...")
# Carica senza occupare RAM
dati = np.load('stato_UPO.npz', mmap_mode='r')
upo_sig = dati['upo_signature']
anchor = dati['anchor']
# Estraiamo il frame centrale (150)
print("Estrazione frame 150 dal dominio delle fasi...")
fase_frame = upo_sig[150] + anchor
h, w, _ = fase_frame.shape
frame_visibile = np.zeros((h, w, 3), dtype=np.uint8)
for ch in range(3):
# Trasformata inversa per il singolo frame
f_ishift = np.fft.ifftshift(fase_frame[:, :, ch])
img_back = np.abs(np.fft.ifft2(f_ishift))
frame_visibile[:, :, ch] = np.clip(img_back, 0, 255).astype(np.uint8)
cv2.imwrite('test_validazione_sasso.png', frame_visibile)
print("--- VALIDAZIONE COMPLETATA: Controlla 'test_validazione_sasso.png' ---")
if __name__ == "__main__":
valida_sasso()