How can we derive free-orientation direction formula ?

Hi! I have a question about the estimation of direction in the free-orientation case. In [1], they use equation (17) to define the “loose” parameter via sin(𝜃) and when it equals 1 they treat the model as free-orientation and 0 as fixed-orientation. But, how can we derive this direction by using source estimate or mean of posterior distribution?

For simplicity, I was thinking of taking the estimated source, finding its magnitude or norm and normalizing it to a unit vector and take it as a direction. Does that make sense? But I am not certain this simpler approach aligns with the method in [1].

Thank you very much in advance for your valuable thoughts.

[1] Fa-Hsuan Lin, John W. Belliveau, Anders M. Dale, and Matti S. Hämäläinen. Distributed current estimates using cortical orientation constraints. Human Brain Mapping, 27(1):1–13, 2006. doi:10.1002/hbm.20155.

P.S. I think, it is trivial in the fixed-orientation case, since we are using normal vectors to the cortical surface and they are predefined that can be derived from forward operator (e.g., fsaverage).

I don’t know how they do it exactly in [1], but what you propose sounds like the right approach to me. For example, to compute the directions of the dipoles of a vector source estimate stc, you can do:

import numpy as np
directions = stc.data / np.linalg.norm(stc.data, axis=1, keepdims=True)
print("direction of source point 0 at time point 0:" directions[0, :, 0])

@Marijn thank you for your response. Since stc is an estimated source estimate, so we are saying the same thing. But their approach is different than ours. Furthermore, I think MNE is also going this way. But how?