scipp / essdiffraction

Diffraction data reduction for the European Spallation Source
https://scipp.github.io/essdiffraction/
BSD 3-Clause "New" or "Revised" License
0 stars 2 forks source link

Absorption correction for cylindrical samples #22

Open celinedurniak opened 4 months ago

celinedurniak commented 4 months ago

Executive summary

Calculate and apply absorption correction for cylindrical samples in Powder Diffraction

Context and background knowledge

For example, see algorithms in Mantid

AbsorptionCorrection

CylinderAbsorption

SNSPowderReduction in Mantid to check when the absorption correction is applied within the whole workflow

Inputs

Scipp data structure from loaded NeXus or csv file(s)

Assumption: the input should be expressed in wavelength

Note that information about the sample (chemical formula, geometry, mass density, number density...) might be stored in the sample log of the file or must have to be provided by the user when using the algorithm.

Methodology

See source code from (Mantid) references above

Assumption: we consider only cylindrical samples for this first implementation

Acceptance criterion Absorption correction step is implemented in ESS Diffraction worflow (https://scipp.github.io/ess/instruments/external/powgen/powgen.html)

Outputs

This requirement should provide the absorption correction term and the corrected sample data

Which interfaces are required?

Integrated into reduction workflow, Python module / function

Test cases

Comments

Followup Work: Extend this implementation to:

SimonHeybrock commented 4 months ago

Before implementing, we should consider if the actual correction should be part of ScippNeutron, since it is very generic. ESSdiffraction would then only contain the workflow integration, imported from ScippNeutron.

jl-wynen commented 4 months ago

Removed from essentials milestone because it is unclear whether this should be done during reduction or analysis. Postponing implementation until we have clarity.