Stitching monochromatic SANS workspaces in 1D and 2D

Dear all,

For the past few months, I have been developing a Mantid-based data reduction system for the new SANS instrument at Reactor Institute Delft. Thanks again to @jpcstfc for pointing me the right way at the start! The software is almost complete and mostly needs to be verified using reference samples now.
There are two things however that I have not managed to get to work in Mantid that I hoped you could help me with. The first is stitching of 2D workspaces. As we have a 2D detector, it is important that we can reduce our data to dSigma/dOmega maps as function of (Qx,Qy) in addition to the usual 1D reduction. The basic reduction step using the Qxy algorithm for each Q-range separately works fine but I have not managed to stitch these 2D workspaces together. Is there an algorithm for this in Mantid’s library? I suspected there should be an existing way as this is a quite standard operation.
I have managed to get a stitching algorithm, Stitch1DMany, to work for the 1D case. It does not seem to be optimized for this application however and users report difficulties with it and coefficients that are far from unity. It appears this could be related to how it averages values. Overlap areas with very high errors (i.e. due to poor counting statistics) result in poor stitching different from what you would expect from the data, which seems to suggest that a flat average of values is used rather than one that scales as 1/error to make values with high error matter less. Is there an alternative algorithm that scales values like this and preferably optimizes coefficients for all input workspaces at once? More generally, I would be interested to learn which stitching algorithms are used for SANS stitching at other facilities as I didn’t manage to figure this out myself using the mantid repository.

For your reference, the latest version of our reduction code can be found here, it is a Python package built on top of Mantid’s Python interface.

Thank you in advance!

Hi Thom,
Thanks for contacting us.
I’m glad you have been able to integrate the Mantid API into your reduction workflow.

I believe the scientist at ILL are using the Stitch algorithm for 2D workspaces. Would you be able to test it with your workspaces?

Regarding the 1D stitching, the optimized version for sans is SANSStitch, which stitches HAB and LAB detectors, would that be compatible with your setup?

Hope it helps, let us know if you need further help.
Adri

Hi Adri,

Thank you for your input. I have previously looked at the Stitch algorithm but I think this stitches I(Q)-type workspaces rather than I(Qx, Qy) data which is what I mean by 2D (i.e. data from a 2D detector). Perhaps in Mantid terminology this would more properly be called 3D data.

Our setup is somewhat simple in that there is just one 2D detector. We use repeated measurements at different sample-to-detector distances to probe a complete Q range giving us currently four individual workspaces. This gives individual dSigma/dOmega’s that look as follows:
image
Do you think SANSStitch could be used to stitch pairs of such measurements by inputting them as HAB/LAB detector workspaces or would this break due to some logic specific to a HAB + LAB setup?

Thank you for your time!
Thom

Hi,

The HAB/LAB or front/rear detectors at ISIS Instruments are effectively doing the same as your setup (Accessing different Q ranges). So, in principle I would say it should be possible to merge the data using such algorithms, what I don’t know is if the scaling would be the same in your setup, sorry.

For reference, most ISIS scientists use the SANS Command Interface to perform the reductions with different instruments (including IQxQy data). You can check the docs . The function WavRangeReduction does the reduction, there is an option to merge the detectors front and rear that internally calls SANSStitch . Could this be useful?

Best,
Adri