Hey Marmaduke,
I can't quite tell from your description what the integer values of the
'kind' field is for each point, but I assume it's 4 because you say that
they are all type FIFFV_POINT_EXTRA. I would have expected the 'kind' to
actually be FIFFV_POINT_CARDINAL (int value of 1), but in any case the
'ident' of each of those can be identified as FIFFV_POINT_LPA/NASION/RPA
(1/2/3).
Check out the sample dataset, for example:
raw = mne.io.Raw(mne.datasets.sample.data_path() +
'/MEG/sample/sample_audvis_raw.fif')
raw.info['dig'][0]
{'kind': 1, 'ident': 1, 'r': array([ -7.13766068e-02, 0.00000000e+00,
5.12227416e-09], dtype=float32), 'coord_frame': 4}
raw.info['dig'][1]
{'kind': 1, 'ident': 2, 'r': array([ 3.72529030e-09, 1.02605611e-01,
4.19095159e-09], dtype=float32), 'coord_frame': 4}
raw.info['dig'][2]
{'kind': 1, 'ident': 3, 'r': array([ 7.52676800e-02, 0.00000000e+00,
5.58793545e-09], dtype=float32), 'coord_frame': 4}
All three thus have type FIFFV_POINT_CARDINAL (1), with different 'ident'
1/2/3 to match which sub-type they are.
Are you reading in your data using one of the `read_raw_*` functions (I'm
not familiar with 4D data)? If so, it might be a bug that the type is
recorded as FIFFV_POINT_EXTRA instead of FIFFV_POINT_CARDINAL -- please
open an issue on the mne-python issue tracker so we can discuss further.
Cheers,
Eric