API Surface Map

This page maps the public API surface of the Numerics.NET SPC API, organized by conceptual layer. For each type you will find a one-line description of its role, a code reference to the type itself, and a link to the conceptual documentation where it is discussed in context.

All types reside in the Numerics.NET.Statistics.ProcessControl namespace unless otherwise noted.

Convenience facades

These types expose the most common SPC workflows as a single method call, combining chart construction, rule evaluation, and capability analysis into one result. Start here unless you need fine-grained control over individual steps.

Type

Role

See also

ProcessAnalysis

High-level entry point that combines chart construction, rule evaluation, and optional capability analysis into a single ProcessAnalysisResult<TChartData> object.

Getting Started, Worked Examples and Cookbook

ControlRuleSets

Static factory that returns predefined ControlRuleSet instances for the Nelson standard rules and the Western Electric rules.

Rule Evaluation and Stability Interpretation

Chart generation APIs

These types generate chart data directly without wrapping the result in the combined ProcessAnalysisResult<TChartData> envelope. Use them when you need a chart in isolation or when integrating into an existing analysis pipeline.

Type

Role

See also

ControlCharts

Low-level static factory with one method per chart type (I-MR, XBar-R, XBar-S, P, NP, C, U, EWMA, CUSUM). Returns the appropriate typed chart data object for each family.

Variables Charts, Attribute Charts, Time-Weighted Charts

Capability

Static class that computes Cp, Cpk, Pp, Ppk, and related indices given process data, specification limits, and a sigma estimator. Also performs the normality pre-check.

Capability, Performance, and Assumption Diagnostics

Chart result types

Each chart family has a dedicated result type that carries the plotted points, center line, control limits, and any family-specific properties (e.g., range or standard deviation series for dual-chart families). All types implement the ControlChartData base. See Result Model and Rendering Semantics for the complete property contract.

Type

Role

See also

ControlChartData

Abstract base providing the universal chart properties: Points, CenterLine, UpperControlLimit, LowerControlLimit, and Sigma.

Result Model and Rendering Semantics

IndividualsMovingRangeChartSetData

Chart set result for the I-MR family, containing separate IndividualsChart and MovingRangeChart child objects.

Variables Charts

XBarRChartSetData

Chart set result for the XBar-R family, containing XBarChart and RangeChart child objects.

Variables Charts

XBarSChartSetData

Chart set result for the XBar-S family, containing XBarChart and SChart child objects. Supports variable subgroup sizes.

Variables Charts

PChartData

Chart result for the P chart. Exposes pointwise limit vectors (UpperControlLimitValues, LowerControlLimitValues) when sample sizes vary between periods.

Attribute Charts

NpChartData

Chart result for the NP chart. Requires equal sample sizes; exposes scalar limits only.

Attribute Charts

CChartData

Chart result for the C chart. Plots defect count per period; exposes scalar limits based on the Poisson distribution.

Attribute Charts

UChartData

Chart result for the U chart. Exposes pointwise limit vectors when inspection areas vary between periods.

Attribute Charts

EwmaChartData

Chart result for the EWMA chart. Exposes the smoothing parameter λ, the steady-state scalar limits, and pointwise transient limits for the initial phase.

Time-Weighted Charts

CusumChartData

Chart result for the tabular CUSUM. Exposes the reference value k, decision interval h, and the CusumPlus and CusumMinus statistic vectors.

Time-Weighted Charts

Rule engine types

These types implement the control rule evaluation pipeline. See Rule Evaluation and Stability Interpretation for usage guidance and cautions around EWMA/CUSUM.

Type

Role

See also

ControlRuleSet

Evaluates a collection of control rules over the points of a chart series and returns a RuleEvaluationResult. Obtain instances from ControlRuleSets or construct a custom set.

Rule Evaluation and Stability Interpretation

RuleEvaluationResult

Collection of all RuleViolation instances found when a rule set is applied to a chart. Serializable to JSON.

Rule Evaluation and Stability Interpretation, Integration and Persistence

RuleViolation

Represents a single rule violation: the chart series name, rule identifier, index of the triggering point, and the window bounds (WindowStart / WindowEnd) of the contributing observations.

Rule Evaluation and Stability Interpretation

Capability and performance types

These types hold the output of capability and performance analysis and the associated assumption diagnostics. See Capability, Performance, and Assumption Diagnostics for interpretation guidance.

Type

Role

See also

CapabilityAnalysisResult

Top-level capability result containing Cp, Cpk, Pp, Ppk, Cpm, and one-sided variants (CPU, CPL, PPU, PPL), sigma estimates, and associated assumption diagnostics. Serializable to JSON.

Capability, Performance, and Assumption Diagnostics

CapabilityAssumptionDiagnostics

Holds the normality test result and a collection of advisory DiagnosticMessage objects describing assumption violations or conditions that may affect the validity of the capability indices.

Capability, Performance, and Assumption Diagnostics, Diagnostics, Exceptions, and Failure Modes

CapabilityDiagnostics

Static helper that generates DiagnosticMessage objects for common capability conditions (insufficient data, non-normality, unstable process) without requiring a full analysis run.

Diagnostics, Exceptions, and Failure Modes

NormalityTestResult

Result of the normality pre-check applied before computing capability indices. Exposes the test statistic, p-value, and the NormalityTestKind used.

Capability, Performance, and Assumption Diagnostics

Diagnostics types

Diagnostics are non-throwing advisory messages attached to results. They use stable code strings so that consuming code can branch on specific conditions without parsing message text. See Diagnostics, Exceptions, and Failure Modes.

Type

Role

See also

DiagnosticMessage

An individual advisory message with a stable Code string, a human-readable Message, and a DiagnosticSeverity.

Diagnostics, Exceptions, and Failure Modes

DiagnosticCodes

Static class of string constants for every diagnostic code the API can emit. Use these constants to match DiagnosticMessage.Code in application logic rather than relying on message text.

Diagnostics, Exceptions, and Failure Modes

DiagnosticSeverity

Enum with values Info, Warning, and Error indicating the urgency of a diagnostic message.

Diagnostics, Exceptions, and Failure Modes

Persistence and serialization

The following type is the JSON-serializable envelope produced by the ProcessAnalysis facade. It aggregates chart data, rule violations, and capability results into a single round-trippable object. See Integration and Persistence.

Type

Role

See also

ProcessAnalysisResult<TChartData>

Top-level result wrapper that holds the typed chart set data (ChartData), the RuleEvaluationResult, and the optional CapabilityAnalysisResult. Fully serializable to and deserializable from JSON via System.Text.Json.

Integration and Persistence, Result Model and Rendering Semantics

Supporting enums and value types

These types configure analysis behavior and carry specification inputs. They appear as parameters or properties throughout the API.

Type

Role

See also

SpecificationLimits

Immutable record holding optional lower and upper specification limit values (LSL, USL) and an optional target. Passed to capability analysis methods and stored on CapabilityAnalysisResult.

Capability, Performance, and Assumption Diagnostics

SigmaEstimator

Enum selecting the within-process sigma estimation method: MovingRange, WithinRange, WithinStandardDeviation, or OverallStandardDeviation.

Constraints, Limits, and Support Matrix, Choosing the Right Analysis

NormalityTestKind

Enum selecting the normality test algorithm applied before capability computation: ShapiroWilk, AndersonDarling, or None to skip the check.

Capability, Performance, and Assumption Diagnostics

See Also