def rle_decode_pcx_style(data): out = bytearray() i = 0 n = len(data) while i < n: b = data[i] if (b & 0xC0) == 0xC0: count = b & 0x3F i += 1 if i >= n: break val = data[i] out.extend([val]*count) i += 1 else: out.append(b) i += 1 return bytes(out) base = "/home/aria/kellogg_remake/extracted_pre/" for fn in ["TONY.BOB","O.BOB","A.BOB"]: data = open(base+fn,"rb").read() dec = rle_decode_pcx_style(data) from collections import Counter c = Counter(dec) print(fn, "distinct values:", len(c), "min", min(dec), "max", max(dec)) top = c.most_common(10) print(" top10:", top) below16 = sum(v for k,v in c.items() if k<16) print(f" fraction of pixels <16: {below16/len(dec):.3f} total_pixels={len(dec)}")