Refactor energy calibration pipeline, introduce modern arguments blocks, and add universal logging

* Transitioned nappNorm, nappDetermineShift, and nappCopyShift to use modern MATLAB arguments blocks, removing their legacy functionSignatures.json entries.

* Refactored nappNorm to rely on prior peak fitting results (e.g., from nappFitGaussXps) for normalization rather than performing the fitting internally.

* Decoupled energy calibration: nappDetermineShift now solely calculates internal binding energy shifts, and nappCopyShift distributes them using a unified matching engine ('earlier', 'after', 'spectrumNumber').

* Implemented a Universal Logging Block to track data provenance, automatically appending execution timestamps and caller script names to processed rows.

* Updated nappCombineSpectra to output a logDataSource cell array and cleanly name combined spectra.

* Created nappSaveDataTable for automatic, script-named .mat file saving, complete with a Live Editor interceptor.

* Added a publish-mode silencer to nappFitGaussXps to prevent optimizer spam in generated PDFs.

* Updated readme.md to document the new arguments structure, the 3-step calibration workflow, the matching engine, and the new table variables.
This commit is contained in:
bartels-rausch committed 2026-03-25 12:07:49 +01:00
1 parent b4cb748cfa
commit 091cf00e77
18 files changed
+822 -1106

No files matched your search

+1 -43
View File
@@ -1,19 +1,6 @@
{
"_schemaVersion": "1.0.0",
"nappScale": {
"inputs": [
{"name": "DataTable", "kind": "required", "type": ["table"]},
{"name": "tableSelection", "kind": "optional", "type": ["logical"]},
{"name": "energyStart", "kind": "optional", "type": ["numeric"]},
{"name": "energyEnd", "kind": "optional", "type": ["numeric"]},
{"name": "tableVariable", "kind": "namevalue", "type": ["choices={'spectrum_counts','spectrum_countsPerSecond','spectrum_countsNorm'}"]},
{"name": "regionOld", "kind": "namevalue", "type": ["choices={'O1s','C1s','N1s','Cl2p'}"]},
{"name": "regionNew", "kind": "namevalue", "type": ["choices={'O1s','C1s','N1s'}"]},
{"name": "peakNumber", "kind": "namevalue", "type": ["numeric"]},
{"name": "mode", "kind": "namevalue", "type": ["choices={'intensity','area'}"]}
]
},
"nappPlot": {
"inputs": [
@@ -63,35 +50,6 @@
]
},
"nappDetermineShiftXps": {
"inputs": [
{"name": "DataTable", "kind": "required", "type": ["table"]},
{"name": "eKinStart", "kind": "optional", "type": ["numeric"]},
{"name": "eKinEnd", "kind": "optional", "type": ["numeric"]},
{"name": "FitParameter", "kind": "namevalue", "type": ["struct"]},
{"name": "binEnReference", "kind": "namevalue", "type": ["numeric"]},
{"name": "kinEnReference", "kind": "namevalue", "type": ["numeric"]},
{"name": "tableSelection", "kind": "namevalue", "type": ["logical"]},
{"name": "minPeakWidth", "kind": "namevalue", "type": ["numeric"]},
{"name": "minPeakHeight", "kind": "namevalue", "type": ["numeric"]},
{"name": "movMeanWindow", "kind": "namevalue", "type": ["numeric"]},
{"name": "tableVariable", "kind": "namevalue", "type": ["choices={'spectrum_counts','spectrum_countsPerSecond','spectrum_countsNorm','image','imageRoh'}"]},
{"name": "showFigures", "kind": "namevalue", "type": ["choices={'on','off'}"]},
{"name": "mode", "kind": "namevalue", "type": ["choices={'gaussFit','findPeak'}"]},
{"name": "refPeak", "kind": "namevalue", "type": ["numeric"]}
]
},
"nappCopyShift": {
"inputs": [
{"name": "DataTable", "kind": "required", "type": ["table"]},
{"name": "tableSelection", "kind": "optional", "type": ["logical"]},
{"name": "regionOld", "kind": "namevalue", "type": ["choices={'O1s','C1s','N1s'}"]},
{"name": "regionNew", "kind": "namevalue", "type": ["choices={'O1s','C1s','N1s','Cl2p'}"]},
{"name": "energyScale", "kind": "namevalue", "type": ["choices={'kinetic','binding'}"]}
]
},
"nappCombineSpectra": {
"inputs": [
{"name": "DataTable", "kind": "required", "type": ["table"]},