TDA.GUI 2.1.5

dotnet add package TDA.GUI --version 2.1.5
                    
NuGet\Install-Package TDA.GUI -Version 2.1.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TDA.GUI" Version="2.1.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TDA.GUI" Version="2.1.5" />
                    
Directory.Packages.props
<PackageReference Include="TDA.GUI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TDA.GUI --version 2.1.5
                    
#r "nuget: TDA.GUI, 2.1.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TDA.GUI@2.1.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TDA.GUI&version=2.1.5
                    
Install as a Cake Addin
#tool nuget:?package=TDA.GUI&version=2.1.5
                    
Install as a Cake Tool

TDA.GUI

English | 简体中文

TDA.GUI is the WinForms visualization package of TDA, a .NET 10 framework for STDF (Standard Test Data Format) semiconductor test data (CP/FT) analysis. It provides interactive trend charts, histograms with statistics annotation, box plots, cumulative probability plots (Normal/LogNormal/Weibull), color-coded Wafer Maps, chart linking, and a high-performance virtual data grid — built on ScottPlot and SkiaSharp.

Install

dotnet add package TDA.GUI

TDA.GUI consumes the TDA core package; TDA.Report adds report generation on top of it.

Controls

All charts inherit from TDABaseChart (title/axis labels, spec-limit lines, SaveImage / CopyImage / ExportCsv, auto title & legend) and consume the UI-agnostic data model TDADataCollection / ITDADataSeries — not DataPrism directly.

Control Namespace Purpose
TrendChart TDA.GUI.Controls Run chart of values vs. test order, marker scatter + USL/LSL lines
HistogramChart TDA.GUI.Controls Histogram with switchable binning, Normal-fit curve, N/Mean/StdDev/Cp/Cpk annotation
BoxPlotChart TDA.GUI.Controls Tukey box plot per series (box, median, mean diamond, outliers)
CumulativeProbabilityChart TDA.GUI.Controls Probability-paper CDF: Normal / LogNormal / Weibull scales, optional tail stretching
WaferMapChart TDA.GUI.Controls Wafer map with bin color coding, legend panel, hover die info (XY/Idx/HBIN/SBIN/Site), retest display modes
TDADataGrid TDA.GUI.Controls Read-only virtualized grid rendered via SkiaSharp (GPU with CPU fallback): frozen panes, rotated headers, sorting, conditional formatting, fail-cell navigation
EasyPlotForm / FlexiblePlotForm TDA.GUI Ready-made plot windows: fixed 5-tab layout, or 1–4 charts with auto layout

Supporting pieces: BinCalculator (Sturges / Scott / Freedman-Diaconis / custom), ProbabilityScale (Benard median-rank ECDF), StatisticsHelper (mean/sigma, quantiles, Cp/Cpk, box-plot stats), WaferCoordinateHelper, ChartLinkingManager (selection sync across charts).

Platform Requirements

  • Target framework: net10.0-windows10.0.19041 (Windows only), UseWindowsForms enabled — the consuming project must do the same.
  • Depends on the TDA core package, ScottPlot.WinForms and SkiaSharp.

Quick Start

Plot a histogram

using TDA.GUI.Controls;
using TDA.GUI.DataModel;

var data = new TDADataCollection
{
    USL = 1.2, LSL = 0.8, Unit = "V",
    Series =
    {
        new TDADataSeries
        {
            Name = "LotA-Wafer01-Vth",
            Values = new[] { 0.52, 0.49, 0.55, 0.51 /* ... */ },
            Type = DataSeriesType.Raw,
            Metadata = new Dictionary<string, object>
            {
                ["LotId"] = "LotA", ["WaferId"] = "Wafer01", ["Unit"] = "V"
            }
        }
    }
};

var histogram = new HistogramChart { BinMethod = BinMethod.Scott };
histogram.SetData(data);      // bins + Normal fit + spec lines + statistics annotation
histogram.Show();

One-line plot windows

using TDA.GUI;

var form = new EasyPlotForm();        // Trend / Histogram / CDF / BoxPlot / WaferMap tabs
form.PlotHistogram(data);
form.PlotTrend(data);
Application.Run(form);

// or pick a layout dynamically:
var flex = new FlexiblePlotForm(ChartLayout.Trend | ChartLayout.Histogram);
flex.LoadData(data);
flex.Show();

Wafer map (CP data)

using TDA.GUI.Controls;

var waferMap = new WaferMapChart { RtDataMode = MapRtDataMode.OverWrite }; // retest: last result wins
waferMap.SetData(waferMapData);     // WaferMapData: dies + bin info, pass bins bright green
waferMap.Show();
using TDA.GUI.Linking;

var linker = new ChartLinkingManager();
linker.Register(trendChart);
linker.Register(histogramChart);    // selecting a range in one highlights it in the other

Documentation

  • Runnable demos in the tda-learn repository: Examples/Ex601.GUICharts, Examples/Ex602.GUIEasyPlotForm, Examples/Ex603.FlexiblePlotForm.
  • Design notes (TDADataGrid virtualization, chart linking, …) are maintained in the private source repository and are not published.
  • API documentation is embedded as XML doc comments — hover in your IDE.

License

© TDA Project Contributors

Product Compatible and additional computed target framework versions.
.NET net10.0-windows10.0.19041 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.5 124 10/28/2026
2.1.4 113 10/24/2026
2.1.2 172 9/5/2026
2.1.1 122 9/5/2026
2.1.0 124 9/5/2026
2.0.1 157 7/29/2026