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 |
|---|---|---|
High-level entry point that combines chart construction, rule evaluation, and optional capability analysis into a single ProcessAnalysisResult<TChartData> object. | ||
Static factory that returns predefined ControlRuleSet instances for the Nelson standard rules and the Western Electric rules. |
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 |
|---|---|---|
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. | ||
Static class that computes |
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 |
|---|---|---|
Abstract base providing the universal chart properties: Points, CenterLine, UpperControlLimit, LowerControlLimit, and Sigma. | ||
Chart set result for the I-MR family, containing separate IndividualsChart and MovingRangeChart child objects. | ||
Chart set result for the XBar-R family, containing XBarChart and RangeChart child objects. | ||
Chart set result for the XBar-S family, containing XBarChart and SChart child objects. Supports variable subgroup sizes. | ||
Chart result for the P chart. Exposes pointwise limit vectors (UpperControlLimitValues, LowerControlLimitValues) when sample sizes vary between periods. | ||
Chart result for the NP chart. Requires equal sample sizes; exposes scalar limits only. | ||
Chart result for the C chart. Plots defect count per period; exposes scalar limits based on the Poisson distribution. | ||
Chart result for the U chart. Exposes pointwise limit vectors when inspection areas vary between periods. | ||
Chart result for the EWMA chart. Exposes the smoothing
parameter | ||
Chart result for the tabular CUSUM. Exposes the reference value k, decision interval h, and the CusumPlus and CusumMinus statistic vectors. |
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 |
|---|---|---|
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. | ||
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 | |
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. |
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 |
|---|---|---|
Top-level capability result containing | ||
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 | |
Static helper that generates DiagnosticMessage objects for common capability conditions (insufficient data, non-normality, unstable process) without requiring a full analysis run. | ||
Result of the normality pre-check applied before computing capability indices. Exposes the test statistic, p-value, and the NormalityTestKind used. |
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 |
|---|---|---|
An individual advisory message with a stable Code string, a human-readable Message, and a DiagnosticSeverity. | ||
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. | ||
Enum with values Info, Warning, and Error indicating the urgency of a diagnostic message. |
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 |
|---|---|---|
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 |
|---|---|---|
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. | ||
Enum selecting the within-process sigma estimation method: MovingRange, WithinRange, WithinStandardDeviation, or OverallStandardDeviation. | Constraints, Limits, and Support Matrix, Choosing the Right Analysis | |
Enum selecting the normality test algorithm applied before capability computation: ShapiroWilk, AndersonDarling, or None to skip the check. |