Representative datasets for zebrafish imaging in Figure 4 of Abdelfattah et al, Science 2019. registered.tif -> raw imaging data corrected for lateral drifts and hot pixels swim_data.npy -> Numpy dictionary with below fields. Refer to "swimdata_explanaion.png" for graphical explanations. ['ch1'] raw swim signals from the left side ['ch1_filtered'] processed swim signals from the left side ['ch2'] raw swim signals from the right side ['ch2_filtered'] processed swim signals from the right side ['frame_clock'] synchronization signals between camera trigger and swim signals ['visual stimulus'] timings of visual stimulus presentation. 1=stopped, 2=moving forward ROI_xy.npy -> Numpy dictionary (size=N) of XY coordinates of N active neurons. Each field has 2 x p ndarray (p=number of pixels). 1st and 2nd rows = x and y coordinates of pixels. raw_timecourse -> Numpy ndarray (N x t) of fluorescence timeseries from N active neurons. Weighted sum of pixel values after pixel weight optimization (ref methods) dff_timecourse -> Numpy ndarray (N x t) of normalized fluorescence timeseries from N active neurons. -ΔF/F calculated from above weighted sum of pixel values. spike_timecourse -> Numpy ndarray (N x t) of spike timeseries from N active neurons. Values (0 or 1) represent detected spikes using adaptive template matching spike_detection_limit -> Numpy nudarray (N x 1) of imaging time limit over which we did not use spike and ΔF/F information. Reliability of spike detection decreases with time because fluorescence signals bleach during imaging. Therefore we set a criteria on spike shapes (ref methods) and set above time points.