Gaze-LIPE / src /utils /check_data_quality.py
thanhhuyvan's picture
Initial release of LIPE V2 GOLD
a10ba7f
Raw
History Blame Contribute Delete
1.11 kB
import h5py
import numpy as np
import os
def check_data_quality(h5_path):
if not os.path.exists(h5_path):
print(f"File not found: {h5_path}")
return
print(f"Analyzing {h5_path}...")
with h5py.File(h5_path, 'r') as f:
gt_l = f['left_gaze'][:]
gt_r = f['right_gaze'][:]
gt = (gt_l + gt_r) / 2
gt_deg = gt * (180.0 / np.pi)
pitch = gt_deg[:, 0]
yaw = gt_deg[:, 1]
total = len(pitch)
extreme_pitch = np.sum(np.abs(pitch) > 60)
extreme_yaw = np.sum(np.abs(yaw) > 60)
print(f"Total samples: {total}")
print(f"Pitch range: [{pitch.min():.2f}, {pitch.max():.2f}]")
print(f"Yaw range: [{yaw.min():.2f}, {yaw.max():.2f}]")
print(f"Extreme Pitch (>60 deg): {extreme_pitch}")
print(f"Extreme Yaw (>60 deg): {extreme_yaw}")
# Check for NaNs
nan_count = np.isnan(pitch).sum() + np.isnan(yaw).sum()
print(f"NaN count: {nan_count}")
if __name__ == "__main__":
check_data_quality('data/processed/p08_v16_new.h5')