Skip to content

feat: add XPS import and constrained fitting - #44

Merged
nmrtist merged 1 commit into
nmrtist:mainfrom
Limdongcheng:codex/xps-import-fit-workbench
Aug 4, 2026
Merged

feat: add XPS import and constrained fitting#44
nmrtist merged 1 commit into
nmrtist:mainfrom
Limdongcheng:codex/xps-import-fit-workbench

Conversation

@Limdongcheng

Copy link
Copy Markdown
Contributor

Summary

Add XPS as a first-class PlotX data domain with validated VAMAS and CasaXPS import, dedicated processing state, constrained peak fitting, project persistence, export, and a complete desktop workbench.

  • Import ISO 14976 VAMAS .vms experiments and structured CasaXPS .txt without intercepting ordinary text tables.
  • Preserve measurement positions, spectrum regions, stable IDs, native/derived energy axes, acquisition metadata, and imported CasaXPS fits.
  • Add position-level charge correction, XPS crop/smooth/normalize recipes, Linear/Shirley/Tougaard U2 backgrounds, constrained GL fitting, covariance diagnostics, and wild residual bootstrap.
  • Persist XPS data, recipes, workspaces, imported and PlotX fits, provenance, and active selection in the current pre-release project format without changing schema/version constants or adding compatibility paths.
  • Integrate XPS through existing field capabilities, actions, undo/redo, background jobs, command gating, export, screenshot harness, CLI inspection, recent files, and English/Chinese documentation.
  • Keep Survey atomic percentages, sensitivity factors, automated chemical assignment, and the peak-assignment database out of scope.

Validation

  • cargo pr-check
  • npm run build - 73 documentation pages built
  • Real-data UI regression with WBG250331.vms: 5 positions, 20 regions, reversed binding-energy axis, position 2 C 1s charge correction +4.80 eV, background preview, and explicit C 1s component template
  • Screenshot harness: XPS Background, Components, narrow Components, and Diagnostics scenes
  • git diff --check
  • Confirmed project/data/settings/scheme schema/version constants remain 1
  • Confirmed no reference instrument data or generated directories are included

UI display logic

  • New or changed actions go through the command catalog (CommandId + describe) and are searchable in the command palette.
  • Hiding happens only at Ribbon-group level (dataset kind or width budget); transient states disable with a disabled_reason that says how to unblock.
  • No layout changes from background events; panels are never auto-closed.
  • New panels or empty regions show an empty state with a next step.
  • Docs updated in docs/ (English and zh-CN) for user-visible behavior.

@Limdongcheng
Limdongcheng force-pushed the codex/xps-import-fit-workbench branch from 3d94e88 to ded7866 Compare August 4, 2026 08:29
@nmrtist
nmrtist merged commit 9965952 into nmrtist:main Aug 4, 2026
11 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants