Potential ambiguities in eye-tracking data access

Hi,

Differing Values
I am trying to relate eye tracking data with stimulus and response data via timestamps. In order to access the pupils x-coordinates, I tried two different approaches, for which I get differing values:

data_set = boc.get_ophys_experiment_data(571137446)
timestamps, locations = data_set.get_pupil_location(as_spherical=False)

with timestamps.shape >>> (115773,), locations.shape >>> (115773, 2)

and

eye_tracking = boc.get_eye_tracking(571137446)

with eye_tracking.shape >>> (115773, 5).

According to this problem-on-accessing-ophys-eye-tracking-data answer, the dimensions should be: frame number, eye_area, pupil_area, x_position, y_position.

However, both ways return different values. I compared as_spherical=False and as_spherical=True to all 5 eye_tracking-dimensions but none of the values match. Where am I wrong, which values are correct?

Documentation vs. Notebook
Another potential inconsistency I noticed, is the different labeling on azimuth and altitude in the notebook vs. the documentation. In this notebook, when using timestamps, locations = data_set.get_pupil_location() the first dimension of locations locations.T[0] is labeled azimuth.

When checking the documentation:

get_pupil_location(as_spherical=True) method of allensdk.core.brain_observatory_nwb_data_set.BrainObservatoryNwbDataSet instance
    Returns the x, y pupil location.
    
    Parameters
    ----------
    as_spherical : bool
        Whether to return the location as spherical (default) or
        not. If true, the result is altitude and azimuth in
        degrees, otherwise it is x, y in centimeters. (0,0) is
        the center of the monitor.

It sounds to me that the first dimension of locations is altitude from the way it is written. What is the correct interpretation?

Thank you in advance!

These represent the output of two different methods of computing the eye position from the movies. Only a small subset of session have eye data accessible using the data_set.get_pupil_location() method. For a few technical reasons, we needed to develop a new eye tracking algorithm, which was implemented for much more of the dataset - and this output is the one accessible using boc.get_eye_tracking. This is the data I would use.
This method is described in https://www.eneuro.org/content/10/9/ENEURO.0051-23.2023