Open padraic-shafer opened 2 years ago
Each field probably also needs a corresponding NXtransformations group to define the orientation of the basis vectors.
Please see #925
@PeterC-DLS : Thanks for this reference. Indeed, adding a direction
field to NXbeam would be useful as a reference frame for the polarization of the diffracted/outgoing beam...as well as for the other reasons mentioned in #925.
Still there remains a need to define the meaning of the data stored in NXbeam/incident_polarization
and NXbeam/final_polarization
.
Hi, while it's still a work in progress, #858 works on polarization in NXBeam. I have some action items from Spring NIAC 2022 to resolve, which I will do this week. But perhaps it's along the lines of what you are thinking? Nothing about adding NXtransformations there though.
Is there any preference for the sign convention of the V component of the Stokes vector (i.e. it is defined looking down the beam towards its source or in the opposite direction)? https://www.sciencedirect.com/science/article/pii/0039602880902964
Was there any preference (or discussion) on this choice of sign convention?
Also, is it typical/simple for NX definitions to include aliases? For example, S0...S3 is more typical in my field than (I, Q, U, V) for the Stokes parameters.
@pshafer-als I believe all we are specifying is 4 numbers, without specifying S0..S3 or I, Q, U, V or any such labels for them. Are these two different conventions for ordering the parameters?
@pshafer-als I believe all we are specifying is 4 numbers, without specifying S0..S3 or I, Q, U, V or any such labels for them. Are these two different conventions for ordering the parameters?
I'm most familiar with the S0..S3 convention. I only know of the (I, Q, U, V) convention from this reference, which seems to be the convention referenced by @PeterC-DLS in the #858 thread.
This is not my area of expertise and I haven't read the proposals in detail, but it should be noted that the beam polarization is an important parameter for neutron scattering as well. In fact, the original NXbeam definition was probably designed by neutron scatterers. Whatever changes are made should ensure that it does not make it invalid for neutrons. Apologies if everyone is aware of this already.
Related to #858
I'm adding this here for future reference: Full Quantitative Analysis of Arbitrary Cylindrically Polarized Pulses by Using Extended Stokes Parameters. To clarify, I am not recommending to pursue adding this to NX.
It looks like #858 will soon be a part of the standard. This will be very helpful for exchanging data from polarization-dependent spectroscopy and scattering experiments.
NXbeam includes fields for specifying the polarization of the beam before and after interacting with an element (sample, optic, etc.). These are defined with a primary dimension of '2' without specifying the basis for the polarization vector.
It is common practice to define the polarization of a beam according to a 4-dimensional Stokes vector, whose components are the Stokes parameters, S0, S1, S2, and S3. It would seem natural to use this definition for
incident_polarization
andfinal_polarization
in NXbeam.Perhaps the currently defined 2-dimensional vector is one of the complex-valued bases described here? If so, this needs to be documented in the NXbeam definition, and there should be some mechanism of identifying the real and imaginary components of these values.