# nil0y-dey/co2-laser-engraving-pmma architecture

> Architecture diagram of the GitHub repository nil0y-dey/co2-laser-engraving-pmma, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nil0y-dey/co2-laser-engraving-pmma
- Repository: https://github.com/nil0y-dey/co2-laser-engraving-pmma

## Overview

This repository is research code for predicting PMMA groove width and depth from CO₂ laser parameters, with uncertainty-aware quality decisions. Users provide the experimental dataset and run independent scripts for five-model comparison, feature diagnostics, optimizer sensitivity, or quality-gate validation. The principal result is the conformal-calibrated GPR surrogate; it also supports SHAP and PDP/ICE analysis. README descriptions establish the shared experiment protocol and generated outputs; sampled code confirms model training, calibration, and gate evaluation. The scripts are standalone rather than a single shared runtime pipeline.

Main entry points: [`data/data_template.csv`](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/data/data_template.csv) (Experimental Data), [`results`](https://github.com/nil0y-dey/co2-laser-engraving-pmma/tree/main/results) (Experiment Outputs), [`src/gpr.py`](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gpr.py) (GPR Surrogate), [`src/quality_gating.py`](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/quality_gating.py) (Quality Gate)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_models["Surrogate Models"]
  node_gpr_model["GPR Surrogate<br/>[gpr.py]"]
  node_svr["SVR Baseline<br/>[svr.py]"]
  node_mlp["MLP Baseline<br/>[mlp.py]"]
  node_rf["Random Forest<br/>[random_forest.py]"]
  node_ridge["Polynomial Ridge"]
end

subgraph group_gpr["GPR Analysis"]
  node_calibration["Conformal Calibration<br/>[gpr.py]"]
  node_interpretability["SHAP PDP ICE<br/>[gpr.py]"]
end

subgraph group_validation["Validation Studies"]
  node_quality_gate["Quality Gate<br/>[quality_gating.py]"]
  node_gwo_sensitivity["GWO Sensitivity<br/>[gwo_sensitivity.py]"]
  node_vif["Feature Diagnostics<br/>[vif_analysis.py]"]
end

subgraph group_artifacts["Data and Results"]
  node_dataset["Experimental Data<br/>[data_template.csv]"]
  node_results["Experiment Outputs"]
end

node_dataset -->|"trains from"| node_gpr_model
node_dataset -->|"trains from"| node_svr
node_dataset -->|"trains from"| node_mlp
node_dataset -->|"trains from"| node_rf
node_dataset -->|"trains from"| node_ridge
node_gpr_model -->|"calibrates predictions"| node_calibration
node_gpr_model -->|"analyzes predictions"| node_interpretability
node_dataset -->|"evaluates against"| node_quality_gate
node_dataset -->|"loads for analysis"| node_gwo_sensitivity
node_dataset -->|"loads for diagnostics"| node_vif
node_calibration -->|"informs decisions"| node_quality_gate
node_gpr_model -->|"writes outputs"| node_results
node_svr -->|"writes outputs"| node_results
node_mlp -->|"writes outputs"| node_results
node_rf -->|"writes outputs"| node_results
node_ridge -->|"writes outputs"| node_results
node_quality_gate -->|"writes outputs"| node_results
node_gwo_sensitivity -->|"writes outputs"| node_results
node_vif -->|"writes outputs"| node_results

click node_dataset "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/data/data_template.csv"
click node_gpr_model "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gpr.py"
click node_svr "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/svr.py"
click node_mlp "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/mlp.py"
click node_rf "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/random_forest.py"
click node_ridge "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/polynomial_ridge.py"
click node_calibration "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gpr.py"
click node_interpretability "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gpr.py"
click node_quality_gate "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/quality_gating.py"
click node_gwo_sensitivity "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gwo_sensitivity.py"
click node_vif "https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/vif_analysis.py"
click node_results "https://github.com/nil0y-dey/co2-laser-engraving-pmma/tree/main/results"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_gpr_model,node_svr,node_mlp,node_rf,node_ridge toneBlue
class node_calibration,node_interpretability toneAmber
class node_quality_gate,node_gwo_sensitivity,node_vif toneMint
class node_dataset,node_results toneRose
```

## Components

### Surrogate Models

- [GPR Surrogate](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gpr.py): `src/gpr.py`
- [SVR Baseline](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/svr.py): `src/svr.py`
- [MLP Baseline](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/mlp.py): `src/mlp.py`
- [Random Forest](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/random_forest.py): `src/random_forest.py`
- [Polynomial Ridge](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/polynomial_ridge.py): `src/polynomial_ridge.py`

### GPR Analysis

- [Conformal Calibration](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gpr.py): `src/gpr.py`
- [SHAP PDP ICE](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gpr.py): `src/gpr.py`

### Validation Studies

- [Quality Gate](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/quality_gating.py): `src/quality_gating.py`
- [GWO Sensitivity](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/gwo_sensitivity.py): `src/gwo_sensitivity.py`
- [Feature Diagnostics](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/src/vif_analysis.py): `src/vif_analysis.py`

### Data and Results

- [Experimental Data](https://github.com/nil0y-dey/co2-laser-engraving-pmma/blob/main/data/data_template.csv): `data/data_template.csv`
- [Experiment Outputs](https://github.com/nil0y-dey/co2-laser-engraving-pmma/tree/main/results): `results`

## Connections

- Experimental Data → GPR Surrogate: trains from (evidence: `README.md`)
- Experimental Data → SVR Baseline: trains from (evidence: `README.md`)
- Experimental Data → MLP Baseline: trains from (evidence: `README.md`)
- Experimental Data → Random Forest: trains from (evidence: `README.md`)
- Experimental Data → Polynomial Ridge: trains from (evidence: `README.md`)
- GPR Surrogate → Conformal Calibration: calibrates predictions (evidence: `README.md`)
- GPR Surrogate → SHAP PDP ICE: analyzes predictions (evidence: `README.md`)
- Experimental Data → Quality Gate: evaluates against (evidence: `src/quality_gating.py`)
- Experimental Data → GWO Sensitivity: loads for analysis (evidence: `src/gwo_sensitivity.py`)
- Experimental Data → Feature Diagnostics: loads for diagnostics (evidence: `src/vif_analysis.py`)
- Conformal Calibration → Quality Gate: informs decisions (evidence: `README.md`)
- GPR Surrogate → Experiment Outputs: writes outputs (evidence: `README.md`)
- SVR Baseline → Experiment Outputs: writes outputs (evidence: `README.md`)
- MLP Baseline → Experiment Outputs: writes outputs (evidence: `README.md`)
- Random Forest → Experiment Outputs: writes outputs (evidence: `README.md`)
- Polynomial Ridge → Experiment Outputs: writes outputs (evidence: `README.md`)
- Quality Gate → Experiment Outputs: writes outputs (evidence: `README.md`)
- GWO Sensitivity → Experiment Outputs: writes outputs (evidence: `src/gwo_sensitivity.py`)
- Feature Diagnostics → Experiment Outputs: writes outputs (evidence: `src/vif_analysis.py`)
