Flat-plate sample self-absorption correction#
Summary#
Correct angle-dependent self-absorption for a transmission-normalized flat sample.
Metadata#
Module ID: FlatPlateSelfAbsorptionCorrection
Module path: /home/runner/work/MoDaCor/MoDaCor/src/modacor/modules/technique_modules/scattering/flat_plate_self_absorption_correction.py
Module version: 20260905.1
Keywords: sample, self absorption, flat plate, transmission
Required data keys#
signal
CosAlpha
Modifies#
signal: signal, uncertainties
Required arguments#
with_processing_keys
transmission_source
Default configuration#
{
"correction_key": "flat_plate_self_absorption",
"cos_alpha_key": "CosAlpha",
"minimum_attenuation_factor": 1e-12,
"minimum_cos_alpha": 1e-12,
"transmission_source": null,
"transmission_uncertainties_sources": {},
"transmission_units_source": null,
"with_processing_keys": [
"sample"
]
}
Argument specification#
Argument |
Type |
Required |
Default |
Dependency role |
Description |
|---|---|---|---|---|---|
|
str |
No |
flat_plate_self_absorption |
- |
BaseData key used to store the relative attenuation factor. |
|
str |
No |
CosAlpha |
- |
BaseData key containing cos(2theta) for the sample exit angle. |
|
int or float |
No |
1e-12 |
- |
Lower allowed relative attenuation factor before division. |
|
int or float |
No |
1e-12 |
- |
Lower numerical clip for positive exit-angle cosines. |
|
str |
Yes |
- |
- |
IoSources key for the sample transmission factor. |
|
dict |
No |
{} |
- |
Mapping of uncertainty names to IoSources keys for sample transmission. |
|
str or NoneType |
No |
- |
- |
Optional IoSources key for transmission units. |
|
list |
Yes |
[“sample”] |
- |
ProcessingData keys whose signal should be corrected. |
Notes#
For s=1/cos(2theta), x=(s-1) ln(T), the relative attenuation is expm1(x)/x. The expression is the depth integral for scattering generated uniformly through a plate and is not the same as transmission through a separate downstream attenuator.