#! /bin/tcsh -f
# Last edited on 2002-08-23 18:05:54 by hcgl

set cmd = "$0"; set cmd = "${cmd:t}"
set usage = "${cmd} IMG  X1 Y1 R1 G1 B1  X2 Y2 R2 G2 B2   X3 Y3 R3 G3 B3"

# Creates a white reference background for an image, given three 
# white pixels, by affine interpolation.

if ( $#argv != 16 ) then
  echo "usage: ${usage}"; exit 1
endif

set img = "$1"; shift;

set xP = "$1"; shift;
set yP = "$1"; shift;
set rP = "$1"; shift;
set gP = "$1"; shift;
set bP = "$1"; shift;

set xQ = "$1"; shift;
set yQ = "$1"; shift;
set rQ = "$1"; shift;
set gQ = "$1"; shift;
set bQ = "$1"; shift;

set xR = "$1"; shift;
set yR = "$1"; shift;
set rR = "$1"; shift;
set gR = "$1"; shift;
set bR = "$1"; shift;

echo "creating background ${img}-W.png"

set rgbP = ( `gawk -v r=${rP} -v g=${gP} -v b=${bP} 'BEGIN{printf "%5.3f/%5.3f/%5.3f\n", r/255.0, g/255.0, b/255.0;}'` )

set rgbQ = ( `gawk -v r=${rQ} -v g=${gQ} -v b=${bQ} 'BEGIN{printf "%5.3f/%5.3f/%5.3f\n", r/255.0, g/255.0, b/255.0;}'` )

set rgbR = ( `gawk -v r=${rR} -v g=${gR} -v b=${bR} 'BEGIN{printf "%5.3f/%5.3f/%5.3f\n", r/255.0, g/255.0, b/255.0;}'` )

ppmxramp `cat ${img}.size` \
    ${xP} ${yP} rgbi:${rgbP[1]} \
    ${xQ} ${yQ} rgbi:${rgbQ[1]} \
    ${xR} ${yR} rgbi:${rgbR[1]} \
  | convert ppm:- ${img}-W.png
