How noonchen/stdf-viewer works
STDF Viewer is a desktop GUI for opening, comparing, merging, and analyzing semiconductor test-data files. Its principal workflow is to select STDF inputs, build a queryable session database, and inspect test, DUT, bin, and wafer results; users can also export reports and save sessions. The README documents these capabilities, and the sampled Rust sources show database generation, SQLite writes, fetching, and session validation/saving. Several UI-to-backend connections are not visible in the excerpts, so those links are omitted rather than inferred.
Main entry points: generate_database.rs Database generation API · fetcher.rs Database queries · STDF-Viewer.py Viewer entry · record_processor.rs Record processing
Components 22
Desktop interface
- Viewer entry
STDF-Viewer.py - Main window
deps/ui/stdfViewer_MainWindows.py - Merge panel
deps/ui/stdfViewer_mergeUI.py - DUT details
deps/ui/stdfViewer_dutDataUI.py - Export panel
deps/ui/stdfViewer_exportUI.py - Settings panel
deps/ui/stdfViewer_settingsUI.py
STDF ingestion
- STDF files
- Database generation API
deps/rust_stdf_helper/src/py_api/generate_database.rs - Record processing
deps/rust_stdf_helper/src/stdf/record_processor.rs - Record tracking
deps/rust_stdf_helper/src/stdf/record_tracker.rs - SQLite writes
deps/rust_stdf_helper/src/database/context.rs
Data analysis
- Fetcher API
deps/rust_stdf_helper/src/py_api/fetcher.rs - Database queries
deps/rust_stdf_helper/src/database/fetcher.rs - Python fetch wrapper
deps/DatabaseFetcherRust.py - Test statistics
deps/rust_stdf_helper/src/py_api/statistics.rs - Charts and plots
deps/ChartWidgets.py
Sessions and output
- Session database
- Session API
deps/rust_stdf_helper/src/py_api/session.rs - Session validation
deps/rust_stdf_helper/src/database/session.rs - Excel export API
deps/rust_stdf_helper/src/py_api/stdf_to_xlsx.rs - Excel report
Other components
- User
Connections 20
- User → Viewer entry: launches
- Viewer entry → Main window: opens
- STDF files → Database generation API: provides inputs
- Database generation API → Record processing: processes records
- Record processing → Record tracking: tracks records
- Database generation API → SQLite writes: writes batches
- SQLite writes → Session database: stores data
- Fetcher API → Database queries: dispatches queries
- Database queries → Session database: reads
- Python fetch wrapper → Fetcher API: calls
- Test statistics → Database queries: queries data
- Session API → Session validation: dispatches
- Session validation → Session database: validates or copies
- Excel export API → Excel report: generates
- User → STDF files: selects
- User → Merge panel: requests merge
- User → DUT details: inspects DUTs
- User → Charts and plots: analyzes tests
- User → Export panel: requests export
- User → Settings panel: configures