[Nexus] proposed additions to NXdata for non-linear scaling - to aid cbf interoperability
Benjamin Watts
benjamin.watts at psi.ch
Thu Feb 20 16:30:28 GMT 2014
Hi Jonathan,
I think this is too big an issue (as in possibly creating a lot of
implementation and maintenance work) to jump into like that. I don't
think the NIAC is ready to committing itself to integral use of this
NXformula. We need to better understand how the details would work and
how much machinery would be required in total. Pete Jemian specifically
said that he was opposed to forcing all NeXus-reading libraries to
implement something so general as this sounds - and I have to agree. If
you want to volunteer to further develop and demonstrate the idea so
that we can know that NXformula won't extend the scope of NeXus beyond
what we can implement/support, then that's great, but be mindful of
creating something that may only be supported by half the community (and
thus breaking the NeXus standard).
Cheers,
Ben
On 20/02/14 17:05, jonathan.sloan at diamond.ac.uk wrote:
> Hi,
>
> I've looked at muParser in a bit more detail now, it appears that while it isn't a completely general solution with full support for tensor operations (like MATLAB, for example) it does have a 'bulk' mode which would allow expressions to be defined per-frame and data to be extracted with per-frame scaling factors and even per-frame expressions. Limiting expressions to applying a uniform expression to an entire frame will still allow it to cover everything that the cbf-nexus conversions might use.
>
> This would mean that (in the case of rank-3 data) 'NXforumla' could contain a rank-1 tensor of expressions, which would be passed a set of rank-1 parameters. The actual values of the data could be extracted by calculating 'value[j,k] = f(data[i,j,k],var[i]...)' for each frame 'i' of dimensions 'j,k'. Higher dimensional data could be converted by extending this to 'value[k,l] = f(data[i,j,k,l],var[i,j]...)' for each frame 'i,j' of dimensions 'k,l', and so on for higher dimensions. I think it should largely be a matter of plumbing to implement this, rather than adding any functionality which doesn't currently exist.
>
> Since everything required should already be implemented in the muParser library, could we start using this when converting cbf data and refine the implementation later on once an 'NXforumla' class definition has been standardised?
>
> Thanks.
>
More information about the NeXus
mailing list