Summary
DataLab creates, edits, fits, stores and reuses Gaussian, Lorentzian and Voigt parameters. Sigima is changing the affected amplitude contract from integrated area to signed peak height above the baseline. DataLab must adopt that contract while keeping historical workspaces displayable and preventing any silent reinterpretation or regeneration of their X/Y samples.
Dependency
Require the first Sigima release that provides versioned height-based peak models, strict validators and explicit legacy converters (Sigima >= 1.1.6).
Creation parameter persistence
DataLab currently stores guidata JSON directly in the creation_param_json metadata option. Because guidata supplies defaults for missing renamed fields and ignores unknown fields, passing historical JSON directly to json_to_dataset() could silently turn legacy a into the new default amplitude.
Introduce a new creation_parameters option containing a versioned envelope:
{
"format_version": 1,
"dataset_json": "...",
"peak_parameterization": "height"
}
The envelope format is application-owned and independent of Sigima's creation_params_version: 2, which remains inside peak DataSet JSON only. Before constructing a DataSet, decode and validate the raw JSON object with Sigima. Continue reading the historical option for unchanged non-peak creators, but reject historical peak creators until explicit conversion. Reject conflicting old/new options and unsupported future versions rather than falling back.
User experience for historical creation parameters
- Keep the signal or image visible with its original samples.
- In the Creation tab, explain that the object uses historical area-based peak parameters.
- Offer separate Convert historical parameters and Cancel actions.
- Conversion changes only reusable metadata, opens the v2 parameter editor and preserves X/Y data exactly.
- In unattended mode, raise
LegacyPeakParameterizationError; tests and automation must opt into conversion explicitly.
- Exclude both old and new creation metadata options from generic metadata paste operations.
Interactive fitting and Evaluate fit
- Update Gaussian, Lorentzian, Voigt, multi-Gaussian and multi-Lorentzian dialogs to use
amplitude/amplitude_N values and the new model evaluation API.
- Preserve unrelated model parameters named
amp where they have a different established meaning, such as Planckian fitting.
- Interactive peak fits must store Sigima's canonical dictionary under
metadata["fit_params"], including the schema version, peak_parameterization: "height", residual RMS and interactive: true.
- Before Evaluate fit, detect historical unversioned area-based peak metadata. In unattended mode, raise. In the GUI, ask for explicit confirmation; No leaves metadata untouched and produces no result, while Yes converts metadata and then evaluates it.
- Never alter the source curve's X/Y data during fit-metadata conversion.
Related issues
Summary
DataLab creates, edits, fits, stores and reuses Gaussian, Lorentzian and Voigt parameters. Sigima is changing the affected amplitude contract from integrated area to signed peak height above the baseline. DataLab must adopt that contract while keeping historical workspaces displayable and preventing any silent reinterpretation or regeneration of their X/Y samples.
Dependency
Require the first Sigima release that provides versioned height-based peak models, strict validators and explicit legacy converters (
Sigima >= 1.1.6).Creation parameter persistence
DataLab currently stores guidata JSON directly in the
creation_param_jsonmetadata option. Because guidata supplies defaults for missing renamed fields and ignores unknown fields, passing historical JSON directly tojson_to_dataset()could silently turn legacyainto the new defaultamplitude.Introduce a new
creation_parametersoption containing a versioned envelope:{ "format_version": 1, "dataset_json": "...", "peak_parameterization": "height" }The envelope format is application-owned and independent of Sigima's
creation_params_version: 2, which remains inside peak DataSet JSON only. Before constructing a DataSet, decode and validate the raw JSON object with Sigima. Continue reading the historical option for unchanged non-peak creators, but reject historical peak creators until explicit conversion. Reject conflicting old/new options and unsupported future versions rather than falling back.User experience for historical creation parameters
LegacyPeakParameterizationError; tests and automation must opt into conversion explicitly.Interactive fitting and Evaluate fit
amplitude/amplitude_Nvalues and the new model evaluation API.ampwhere they have a different established meaning, such as Planckian fitting.metadata["fit_params"], including the schema version,peak_parameterization: "height", residual RMS andinteractive: true.Related issues