Each file contains data for one PT event (with parent meteor) representing all PTs observed during our campaign. File names are encoded as: MJD_UTChour_Frame_Label.hdf5 MJD: Modified Julian Date of recording UTChour: The UTC hour when the meteor occurred Frame: The frame within the hour dataset Label: The unique label given to the meteor in the hour dataset (Frame/Label have relevance to us, but don't have much significance except to create a unique filename. This filename can be matched to GMN data (if available) via the "Event_id" column of the PT_meteors.csv file.) All data are saved in hdf5 format containing two datasets: "images" and "times". "images": the data itself, structured in the order [frame, row, column]. Frames 0 and 1 are pre-meteor background images (except for 59633_06_001_0001 and 59730_05_001_0001 which only have one background image). Frame 2 is the meteor (occasionally lasting to Frame 3), and Frame 3 onward contain the PT. "times": the Unix timestamp corresponding to each frame. Timestamp is recorded after the 5 second exposure + ~1.5 second readout time; to get the time of the beginning of the image, subtract 6.5 from the timestamp value. The following Python snippet allows the data to be visualized in a way that closely matches how it was originally viewed during classification: import h5py import matplotlib.pyplot as plt import matplotlib.animation as animation filename = #"insert path to file"# im_cube = h5py.File(filename, "r").get("images")[:,:,:].astype(float) fig, ax = plt.subplots() ax.axis("off") ims = [] for i in range(im_cube.shape[0]): frame = ax.imshow(im_cube[i], vmin=50, vmax=300, cmap='viridis', animated=True) ims.append([frame]) ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True, repeat_delay=1000) plt.show()