| # Inkjet CDM — Thesis Figure Index |
|
|
| All figures are in: `results/figures/` |
| Generated by: `scripts/plot_inkjet_results.py` |
|
|
| --- |
|
|
| ## Figure 1 — λ Ablation Curve |
| **File:** `results/figures/fig1_inkjet_lambda_ablation.png` |
|
|
| **Caption (thesis):** |
| > *Separation loss weight ablation on the inkjet QC dataset. AUROC is reported across four values of λ (K=100 Monte Carlo trials). All values in the optimal zone [0.01–0.05] consistently outperform the baseline (λ=0, AUROC=0.833), confirming that the optimal zone identified on CIFAR-10 transfers directly to the industrial inkjet domain without domain-specific tuning.* |
|
|
| **Where to use:** Chapter 5 (Inkjet Application), Section "Ablation: Separation Loss Weight" |
|
|
| --- |
|
|
| ## Figure 2 — Per-Feature AUROC Bar Chart |
| **File:** `results/figures/fig2_per_feature_auroc.png` |
|
|
| **Caption (thesis):** |
| > *Per-feature AUROC comparison of the CDM baseline (λ=0) and the proposed model (λ=0.01). Green Δ labels indicate improvements of ≥0.02 AUROC. The largest gains occur on `edge3` (+0.156) and `edge4` (+0.069), both high-frequency texture features sensitive to printing artefacts.* |
|
|
| **Where to use:** Chapter 5, Section "Per-Feature Analysis" |
|
|
| --- |
|
|
| ## Figure 3 — FPR@95TPR Bar Chart |
| **File:** `results/figures/fig3_fpr_comparison.png` |
|
|
| **Caption (thesis):** |
| > *Per-feature FPR at 95% TPR for the baseline and proposed model. Lower is better. The separation loss reduces false positive rates on `dots` (−15.4pp), `edge3` (−12.5pp), `edge4` (−12.5pp), and `edge2` (−11.1pp), while slightly increasing FPR on `dist1` — a feature that is already near-perfect at baseline (AUROC=0.90) and does not benefit from additional separation signal.* |
|
|
| **Where to use:** Chapter 5, Section "Per-Feature Analysis" or "Operational Impact" |
|
|
| --- |
|
|
| ## Figure 4 — Overall ROC Curves |
| **File:** `results/figures/fig4_roc_curves.png` |
|
|
| **Caption (thesis):** |
| > *ROC curves for the CDM baseline (λ=0, AUROC=0.833) and the proposed model (λ=0.01, AUROC=0.860) on the inkjet test set (N=266, K=100 MC trials). The dotted horizontal line marks TPR=0.95, the operating point for computing FPR@95TPR. The proposed model's curve lies consistently above the baseline, indicating improved detection across all thresholds.* |
|
|
| **Where to use:** Chapter 5, Section "Overall Results" — typically alongside or below the main results table. |
|
|
| --- |
|
|
| ## Figure 5 — Score Distributions (GOOD vs BAD) |
| **File:** `results/figures/fig5_score_distributions.png` |
|
|
| **Caption (thesis):** |
| > *OOD score distributions for GOOD (blue) and BAD (orange) samples. Left: baseline (λ=0). Right: proposed (λ=0.01). Score > 0 indicates predicted BAD. Both distributions are tightly clustered near zero due to the small inkjet dataset and the per-crop image representation. The separation loss shifts the BAD distribution slightly rightward and reduces overlap with the GOOD distribution, consistent with the AUROC improvement.* |
|
|
| **Where to use:** Chapter 5 appendix or as supporting evidence for the score-based classification mechanism. |
|
|
| --- |
|
|
| ## CIFAR-10 Figure (Chapter 4 Reference) |
| **File:** `/system/user/studentwork/mohammed/2025/diffusion_classifier_ood/results/figures/separation_loss_ablation_final.png` |
|
|
| **Caption (thesis):** |
| > *Separation loss weight ablation study on CIFAR-10 (binary: airplane vs. all other classes). AUROC peaks at λ=0.02 (0.9911), establishing the optimal zone λ∈[0.01, 0.05]. This figure is the primary ablation result for Chapter 4; the inkjet ablation (Figure X above) confirms cross-domain generalisability of the optimal zone.* |
|
|
| **Where to use:** Chapter 4 (CIFAR-10 Experiments), Section "Separation Loss Ablation" |
|
|
| --- |
|
|
| ## Figure Generation |
|
|
| To regenerate all inkjet figures from scratch: |
| ```bash |
| cd /system/user/studentwork/mohammed/2025/inkjet_qc/thesis_cdm_final |
| conda activate /system/apps/studentenv/mohammed/sdm/ |
| python scripts/plot_inkjet_results.py |
| ``` |
|
|
| To update a single figure, edit `scripts/plot_inkjet_results.py` and call the relevant function. |
|
|