diff options
Diffstat (limited to 'run_tests.py')
-rw-r--r-- | run_tests.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/run_tests.py b/run_tests.py new file mode 100644 index 0000000..03a358a --- /dev/null +++ b/run_tests.py @@ -0,0 +1,30 @@ +from pathlib import Path + +import infiray_irg + +test_files = sorted(Path('test_pictures').glob('*.irg')) + +for f in test_files: + try: + coarse, fine, vis = infiray_irg.load(f.read_bytes(), print_debug_information=True) + print('\033[93m', f'{f.name:>20}', 'Coldest pixel:', fine.min(), 'C', 'Hottest pixel:', fine.max(), 'C', '\033[0m') + except Exception as e: + print(f'Error parsing {f}') + raise e + +print() +print('Header diffs:') + +for offset, legend in { + 0: 'magc hlen coars_len yres xres flg0 unk1 zero fine unk2 jpeg_len_ yres xres emissivit fine_off1 fine_off2 distance_', + 64: ' unit gain'}.items(): + print(f'{" ":>20}', legend) + test_headers = {f: f.read_bytes()[offset:offset+64] for f in test_files} + header_idx_diffs = [len(set(header[i] for header in test_headers.values())) > 1 for i in range(64)] + for f, header in test_headers.items(): + print(f'{str(f.name):>20}', ' '.join( + ''.join( + (f'\033[91m{header[i]:02x}' if header_idx_diffs[i] else f'\033[0m{header[i]:02x}') + for i in range(chunk, chunk+2)) + for chunk in range(0, 64, 2) + )+'\033[0m') |