Download src/data/verify_processed.py from thanhhuyvan/Gaze-LIPE: direct link, hf CLI and curl.
- Browser
- Download file 2.68 kB
-
https://huggingface.co/thanhhuyvan/Gaze-LIPE/resolve/main/src/data/verify_processed.py
- Command line
-
hf download hf://thanhhuyvan/Gaze-LIPE/src/data/verify_processed.py
-
curl -L -o verify_processed.py https://huggingface.co/thanhhuyvan/Gaze-LIPE/resolve/main/src/data/verify_processed.py
2.68 kB
| import h5py | |
| import numpy as np | |
| import cv2 | |
| import os | |
| def verify_h5(file_path): | |
| if not os.path.exists(file_path): | |
| print(f"File not found: {file_path}") | |
| return | |
| with h5py.File(file_path, 'r') as f: | |
| print(f"Keys: {list(f.keys())}") | |
| for key in f.keys(): | |
| print(f"{key} shape: {f[key].shape}") | |
| num_samples = f['left_patches'].shape[0] | |
| if num_samples == 0: | |
| print("No samples found.") | |
| return | |
| # Display a few samples | |
| for i in range(min(num_samples, 5)): | |
| lp = f['left_patches'][i] # (4, 8, 8) | |
| rp = f['right_patches'][i] # (4, 8, 8) | |
| lg = f['left_gaze'][i] | |
| rg = f['right_gaze'][i] | |
| # Combine patches into a 16x16 or 32x8 image | |
| # 4 patches of 8x8 -> 16x16 | |
| l_combined = np.zeros((16, 16), dtype='uint8') | |
| l_combined[0:8, 0:8] = lp[0] | |
| l_combined[0:8, 8:16] = lp[1] | |
| l_combined[8:16, 0:8] = lp[2] | |
| l_combined[8:16, 8:16] = lp[3] | |
| r_combined = np.zeros((16, 16), dtype='uint8') | |
| r_combined[0:8, 0:8] = rp[0] | |
| r_combined[0:8, 8:16] = rp[1] | |
| r_combined[8:16, 0:8] = rp[2] | |
| r_combined[8:16, 8:16] = rp[3] | |
| # Upscale for better viewing | |
| l_view = cv2.resize(l_combined, (128, 128), interpolation=cv2.INTER_NEAREST) | |
| r_view = cv2.resize(r_combined, (128, 128), interpolation=cv2.INTER_NEAREST) | |
| # Create a black board to show info | |
| info = np.zeros((128, 400), dtype='uint8') | |
| cv2.putText(info, f"Sample {i}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, 255, 2) | |
| cv2.putText(info, f"L Gaze: {lg[0]:.3f}, {lg[1]:.3f}", (10, 60), cv2.FONT_HERSHEY_SIMPLEX, 0.6, 255, 1) | |
| cv2.putText(info, f"R Gaze: {rg[0]:.3f}, {rg[1]:.3f}", (10, 90), cv2.FONT_HERSHEY_SIMPLEX, 0.6, 255, 1) | |
| combined = np.hstack([l_view, r_view, info]) | |
| output_dir = 'data/verification' | |
| os.makedirs(output_dir, exist_ok=True) | |
| output_path = os.path.join(output_dir, f"sample_{i}.png") | |
| cv2.imwrite(output_path, combined) | |
| print(f"Saved verification image to {output_path}") | |
| print(f"Sample {i}: Left Gaze {lg}, Right Gaze {rg}") | |
| # cv2.destroyAllWindows() | |
| if __name__ == '__main__': | |
| import argparse | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument('--file', type=str, default='data/processed/p00.h5') | |
| args = parser.parse_args() | |
| verify_h5(args.file) | |