> Maybe it helps if I tell you that to my eyes 'optimal' reads strange, it sounds as if this was the recommended / best option.

good that we are 2 with the same concern. I have to find a better name them.

> I'd like later to have pca in MNE, dSPM etc. but it would do things differently (do SVDs on source time courses).
>
> Btw. this is something I'm currently working with (using RandomizedPCA), it unveils very interesting things, e.g. clearly shows difference components in the source space I did not see before ... What did you have in mind?

replace pick_normal in MNE to pick_ori = None | "normal" | "pca"
where with PCA we return the first SVD components given the 3 orientations

let :
d = np.random.randn(3, n_times)
U, s, V = linalg.svd(d, full_matrices=False)
return s[0] * V[0]

ok?