← All Use Cases
📷
Box-Behnken Design

Photo Print Color Accuracy

Box-Behnken design to maximize color accuracy and minimize ink cost by tuning color profile, ink density, and paper type brightness

Summary

This experiment investigates photo print color accuracy. Box-Behnken design to maximize color accuracy and minimize ink cost by tuning color profile, ink density, and paper type brightness.

The design varies 3 factors: profile gamma (gamma), ranging from 1.8 to 2.4, ink density pct (%), ranging from 80 to 120, and paper brightness (ISO), ranging from 90 to 100. The goal is to optimize 2 responses: delta e (dE) (minimize) and ink ml (mL/m2) (minimize). Fixed conditions held constant across all runs include printer = inkjet_8color, resolution dpi = 1440.

A Box-Behnken design was chosen because it efficiently fits quadratic models with 3 continuous factors while avoiding extreme corner combinations — requiring only 15 runs instead of the 8 needed for a full factorial at two levels.

Quadratic response surface models were fitted to capture potential curvature and factor interactions. The RSM contour plots below visualize how pairs of factors jointly affect each response.

Key Findings

For delta e, the most influential factors were paper brightness (43.2%), profile gamma (35.5%), ink density pct (21.3%). The best observed value was 3.8 (at profile gamma = 2.1, ink density pct = 100, paper brightness = 95).

For ink ml, the most influential factors were profile gamma (45.9%), paper brightness (38.3%), ink density pct (15.8%). The best observed value was 5.6 (at profile gamma = 2.1, ink density pct = 100, paper brightness = 95).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
profile_gamma1.82.4gamma
ink_density_pct80120%
paper_brightness90100ISO

Fixed: printer = inkjet_8color, resolution_dpi = 1440

Responses

ResponseDirectionUnit
delta_e↓ minimizedE
ink_ml↓ minimizemL/m2

Configuration

use_cases/155_photo_print_color/config.json
{ "metadata": { "name": "Photo Print Color Accuracy", "description": "Box-Behnken design to maximize color accuracy and minimize ink cost by tuning color profile, ink density, and paper type brightness" }, "factors": [ { "name": "profile_gamma", "levels": [ "1.8", "2.4" ], "type": "continuous", "unit": "gamma" }, { "name": "ink_density_pct", "levels": [ "80", "120" ], "type": "continuous", "unit": "%" }, { "name": "paper_brightness", "levels": [ "90", "100" ], "type": "continuous", "unit": "ISO" } ], "fixed_factors": { "printer": "inkjet_8color", "resolution_dpi": "1440" }, "responses": [ { "name": "delta_e", "optimize": "minimize", "unit": "dE" }, { "name": "ink_ml", "optimize": "minimize", "unit": "mL/m2" } ], "settings": { "operation": "box_behnken", "test_script": "use_cases/155_photo_print_color/sim.sh" } }

Experimental Matrix

The Box-Behnken Design produces 15 runs. Each row is one experiment with specific factor settings.

Runprofile_gammaink_density_pctpaper_brightness
12.18090
22.110095
32.4100100
42.410090
52.110095
62.110095
71.8100100
82.48095
92.180100
102.412095
111.810090
122.1120100
131.88095
141.812095
152.112090

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/155_photo_print_color/config.json
2

Generate the runner script

Terminal
$ doe generate --config use_cases/155_photo_print_color/config.json \ --output use_cases/155_photo_print_color/results/run.sh --seed 42
3

Execute the experiments

Terminal
$ bash use_cases/155_photo_print_color/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/155_photo_print_color/config.json
5

Get optimization recommendations

Terminal
$ doe optimize --config use_cases/155_photo_print_color/config.json
6

Multi-objective optimization

With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.

Terminal
$ doe optimize --config use_cases/155_photo_print_color/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/155_photo_print_color/config.json \ --output use_cases/155_photo_print_color/results/report.html

Features Exercised

FeatureValue
Design typebox_behnken
Factor typescontinuous (all 3)
Arg styledouble-dash
Responses2 (delta_e ↓, ink_ml ↓)
Total runs15

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: delta_e

Top factors: paper_brightness (43.2%), profile_gamma (35.5%), ink_density_pct (21.3%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
profile_gamma25.78692.89343.7910.0695
ink_density_pct21.43790.71900.9420.4292
paper_brightness25.19792.59903.4050.0852
LackofFit67.37461.2291
PureError21.5267
Error88.90130.7633
Total1421.32401.5231

Pareto Chart

Pareto chart for delta_e

Main Effects Plot

Main effects plot for delta_e

Normal Probability Plot of Effects

Normal probability plot for delta_e

Half-Normal Plot of Effects

Half-normal plot for delta_e

Model Diagnostics

Model diagnostics for delta_e

Response: ink_ml

Top factors: profile_gamma (45.9%), paper_brightness (38.3%), ink_density_pct (15.8%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
profile_gamma211.40795.70403.6490.0748
ink_density_pct21.23470.61740.3950.6862
paper_brightness210.49795.24903.3580.0874
LackofFit627.73684.6228
PureError23.1267
Error830.86341.5633
Total1454.00403.8574

Pareto Chart

Pareto chart for ink_ml

Main Effects Plot

Main effects plot for ink_ml

Normal Probability Plot of Effects

Normal probability plot for ink_ml

Half-Normal Plot of Effects

Half-normal plot for ink_ml

Model Diagnostics

Model diagnostics for ink_ml

Response Surface Plots

3D surfaces fitted with quadratic RSM. Red dots are observed data points.

delta e ink density pct vs paper brightness

RSM surface: delta e ink density pct vs paper brightness

delta e profile gamma vs ink density pct

RSM surface: delta e profile gamma vs ink density pct

delta e profile gamma vs paper brightness

RSM surface: delta e profile gamma vs paper brightness

ink ml ink density pct vs paper brightness

RSM surface: ink ml ink density pct vs paper brightness

ink ml profile gamma vs ink density pct

RSM surface: ink ml profile gamma vs ink density pct

ink ml profile gamma vs paper brightness

RSM surface: ink ml profile gamma vs paper brightness

Multi-Objective Optimization

When responses compete, Derringer–Suich desirability finds the best compromise. Each response is scaled to a 0–1 desirability, then combined via a weighted geometric mean.

Overall Desirability
D = 0.8690

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
delta_e 1.5
0.8437
4.30 0.8437 4.30 dE
ink_ml 1.0
0.9083
5.90 0.9083 5.90 mL/m2

Recommended Settings

FactorValue
profile_gamma2.1 gamma
ink_density_pct80 %
paper_brightness90 ISO

Source: from observed run #13

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
ink_ml5.905.60+0.30

Top 3 Runs by Desirability

RunDFactor Settings
#90.8449profile_gamma=2.1, ink_density_pct=120, paper_brightness=90
#70.7928profile_gamma=2.4, ink_density_pct=80, paper_brightness=95

Model Quality

ResponseType
ink_ml0.6998quadratic

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.8690 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- delta_e 1.5 0.8437 4.30 dE ↓ ink_ml 1.0 0.9083 5.90 mL/m2 ↓ Recommended settings: profile_gamma = 2.1 gamma ink_density_pct = 80 % paper_brightness = 90 ISO (from observed run #13) Trade-off summary: delta_e: 4.30 (best observed: 3.80, sacrifice: +0.50) ink_ml: 5.90 (best observed: 5.60, sacrifice: +0.30) Model quality: delta_e: R² = 0.0763 (linear) ink_ml: R² = 0.6998 (quadratic) Top 3 observed runs by overall desirability: 1. Run #13 (D=0.8690): profile_gamma=2.1, ink_density_pct=80, paper_brightness=90 2. Run #9 (D=0.8449): profile_gamma=2.1, ink_density_pct=120, paper_brightness=90 3. Run #7 (D=0.7928): profile_gamma=2.4, ink_density_pct=80, paper_brightness=95

Full Analysis Output

doe analyze
=== Main Effects: delta_e === Factor Effect Std Error % Contribution -------------------------------------------------------------- paper_brightness 1.5750 0.3187 43.2% profile_gamma 1.2929 0.3187 35.5% ink_density_pct 0.7750 0.3187 21.3% === ANOVA Table: delta_e === Source DF SS MS F p-value ----------------------------------------------------------------------------- profile_gamma 2 5.7869 2.8934 3.791 0.0695 ink_density_pct 2 1.4379 0.7190 0.942 0.4292 paper_brightness 2 5.1979 2.5990 3.405 0.0852 Lack of Fit 6 7.3746 1.2291 1.610 0.4313 Pure Error 2 1.5267 0.7633 Error 8 8.9013 0.7633 Total 14 21.3240 1.5231 === Summary Statistics: delta_e === profile_gamma: Level N Mean Std Min Max ------------------------------------------------------------ 1.8 4 6.1500 1.1619 5.0000 7.7000 2.1 7 4.9571 0.9727 3.8000 6.7000 2.4 4 6.2500 1.3916 5.0000 7.9000 ink_density_pct: Level N Mean Std Min Max ------------------------------------------------------------ 100 7 5.4857 1.3825 3.8000 7.7000 120 4 6.1250 1.5370 4.3000 7.9000 80 4 5.3500 0.6658 4.8000 6.3000 paper_brightness: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 4.9500 0.4509 4.3000 5.3000 90 4 6.5250 1.2285 4.8000 7.7000 95 7 5.4857 1.3533 3.8000 7.9000 === Main Effects: ink_ml === Factor Effect Std Error % Contribution -------------------------------------------------------------- profile_gamma 2.0250 0.5071 45.9% paper_brightness 1.6893 0.5071 38.3% ink_density_pct 0.6964 0.5071 15.8% === ANOVA Table: ink_ml === Source DF SS MS F p-value ----------------------------------------------------------------------------- profile_gamma 2 11.4079 5.7040 3.649 0.0748 ink_density_pct 2 1.2347 0.6174 0.395 0.6862 paper_brightness 2 10.4979 5.2490 3.358 0.0874 Lack of Fit 6 27.7368 4.6228 2.957 0.2742 Pure Error 2 3.1267 1.5633 Error 8 30.8634 1.5633 Total 14 54.0040 3.8574 === Summary Statistics: ink_ml === profile_gamma: Level N Mean Std Min Max ------------------------------------------------------------ 1.8 4 9.8250 1.8319 8.0000 11.5000 2.1 7 7.8857 2.2327 5.6000 11.0000 2.4 4 7.8000 0.9345 6.4000 8.3000 ink_density_pct: Level N Mean Std Min Max ------------------------------------------------------------ 100 7 8.1286 2.4445 5.6000 11.5000 120 4 8.3750 1.9466 6.3000 11.0000 80 4 8.8250 1.3598 7.7000 10.8000 paper_brightness: Level N Mean Std Min Max ------------------------------------------------------------ 100 4 9.1750 2.3229 6.3000 11.3000 90 4 9.1500 2.4906 6.4000 11.5000 95 7 7.4857 1.2048 5.6000 8.5000

Optimization Recommendations

doe optimize
=== Optimization: delta_e === Direction: minimize Best observed run: #7 profile_gamma = 2.1 ink_density_pct = 100 paper_brightness = 95 Value: 3.8 RSM Model (linear, R² = 0.3965, Adj R² = 0.2319): Coefficients: intercept +5.6200 profile_gamma +0.6250 ink_density_pct -0.3750 paper_brightness +0.7250 RSM Model (quadratic, R² = 0.7608, Adj R² = 0.3303): Coefficients: intercept +5.4000 profile_gamma +0.6250 ink_density_pct -0.3750 paper_brightness +0.7250 profile_gamma*ink_density_pct -0.7250 profile_gamma*paper_brightness +0.6750 ink_density_pct*paper_brightness -0.4250 profile_gamma^2 -0.4125 ink_density_pct^2 +0.0375 paper_brightness^2 +0.7875 Curvature analysis: paper_brightness coef=+0.7875 convex (has a minimum) profile_gamma coef=-0.4125 concave (has a maximum) ink_density_pct coef=+0.0375 negligible curvature Notable interactions: profile_gamma*ink_density_pct coef=-0.7250 (antagonistic) profile_gamma*paper_brightness coef=+0.6750 (synergistic) ink_density_pct*paper_brightness coef=-0.4250 (antagonistic) Predicted optimum (from quadratic model, at observed points): profile_gamma = 2.4 ink_density_pct = 100 paper_brightness = 100 Predicted value: 7.8000 Surface optimum (via L-BFGS-B, quadratic model): profile_gamma = 1.8 ink_density_pct = 80 paper_brightness = 93.4921 Predicted value: 3.9784 Model quality: Good fit — general trends are captured, some noise remains. Factor importance: 1. paper_brightness (effect: 1.5, contribution: 43.5%) 2. profile_gamma (effect: 1.2, contribution: 35.3%) 3. ink_density_pct (effect: 0.8, contribution: 21.2%) === Optimization: ink_ml === Direction: minimize Best observed run: #1 profile_gamma = 2.1 ink_density_pct = 100 paper_brightness = 95 Value: 5.6 RSM Model (linear, R² = 0.2173, Adj R² = 0.0039): Coefficients: intercept +8.3800 profile_gamma -0.0250 ink_density_pct -1.1875 paper_brightness -0.2375 RSM Model (quadratic, R² = 0.8132, Adj R² = 0.4769): Coefficients: intercept +6.6333 profile_gamma -0.0250 ink_density_pct -1.1875 paper_brightness -0.2375 profile_gamma*ink_density_pct -1.6250 profile_gamma*paper_brightness +0.7250 ink_density_pct*paper_brightness -0.0500 profile_gamma^2 +0.2083 ink_density_pct^2 +0.8833 paper_brightness^2 +2.1833 Curvature analysis: paper_brightness coef=+2.1833 convex (has a minimum) ink_density_pct coef=+0.8833 convex (has a minimum) profile_gamma coef=+0.2083 convex (has a minimum) Notable interactions: profile_gamma*ink_density_pct coef=-1.6250 (antagonistic) profile_gamma*paper_brightness coef=+0.7250 (synergistic) Predicted optimum (from quadratic model, at observed points): profile_gamma = 2.1 ink_density_pct = 80 paper_brightness = 90 Predicted value: 11.0750 Surface optimum (via L-BFGS-B, quadratic model): profile_gamma = 2.4 ink_density_pct = 120 paper_brightness = 94.499 Predicted value: 4.8656 Model quality: Good fit — general trends are captured, some noise remains. Factor importance: 1. ink_density_pct (effect: 2.4, contribution: 49.8%) 2. paper_brightness (effect: 2.3, contribution: 49.1%) 3. profile_gamma (effect: 0.1, contribution: 1.0%)
← Previous: Drone Aerial Photography All Use Cases →