How peaks move from the integrator add-in into area, height, and response — and how manual overrides are stored and restored.

What the integrator returns

An integrator add-in (IIntegrator.Integrate) returns only boundary coordinates on each PeakValues object:

Field Meaning
BegX Peak start time (X)
EndX Peak end time (X)
BegB Baseline intensity at start
EndB Baseline intensity at end

It does not return Area, Height, CenterX, or width metrics. Those are computed by the host.

Host metrics: IPeakMetricsCalculator

ImportPeakValuesService and PeakIntegrationService call IPeakMetricsCalculator / PeakMetricsCalculator with the signal arrays and the four boundaries. Derived metrics include:

Metric Role
Area Trapezoidal area above the linear baseline
Height Apex height above baseline
CenterX Apex time (stored as integration Time)
FwAt50 Full width at 50% height
FwAt5 Full width at 5% height
Symmetry Peak symmetry

Import path (automatic Analyze)

  1. Integrator returns PeakValues (boundaries only).
  2. ImportPeakValuesService.ImportPeakValues computes metrics, keeps peaks whose apex falls in the analyte time window (and fused abutting companions).
  3. Relative filter: peaks below 2% of the maximum area/height among candidates are dropped (maxMetric * 0.02).
  4. Area threshold: peaks below the method/channel threshold are dropped. Default is DefaultPercent = 30 of the Lowest calibration response (or a named dose). See Method design.
  5. Response for quantitation is Height when QuantitateByHeight is set on the analyte; otherwise Area.

Manual override and restore

PeakIntegrationService owns live edits:

Action Behavior
Manual boundary change Metrics recalculated from new BegX/EndX/BegB/EndB; original automated integration retained for restore
Zero peak Collapses boundaries to a point and re-integrates; recorded as manual
Restore original RestoreOriginalIntegration puts the automated integration back (or deletes the peak if none)

Reports can distinguish current vs automated vs manual via Peak.Area, Peak.AutoInt.*, and Peak.ManInt.* — see Report formulas and Reports, import, and export.

Related