"""python read_example.py DATASET_DIRECTORY FIBER_ID [COLUMN ROW]"""
import json,sys
from pathlib import Path
import numpy as np
from PIL import Image
root=Path(sys.argv[1]);index=json.loads((root/'index.json').read_text())
record=index['fibers'][str(int(sys.argv[2]))]
image=np.asarray(Image.open(root/record['png']).convert('RGBA'))
spec=record['sampling'];maps=np.load(root/spec['map'],mmap_mode='r',allow_pickle=False)
columns=maps[spec['column_offset']:spec['column_offset']+spec['columns']]
x=int(sys.argv[3]) if len(sys.argv)>3 else len(columns)//2
y=int(sys.argv[4]) if len(sys.argv)>4 else 64
if not 0<=x<image.shape[1] or not 0<=y<image.shape[0]:raise ValueError('Pixel outside image')
xyz=columns[x,:3]+(y-64)*columns[x,3:]
print(json.dumps(dict(fiber_id=record['fiber_id'],shape=image.shape,ct_xyz=xyz.tolist(),
 valid=bool(image[y,x,3]),intensity=int(image[y,x,0]),width_labels=record['width_labels'])))
