#! /bin/bash 
# Last edited on 2013-01-07 10:42:33 by stolfilocal

reds=( "$@" )  # New X sizes
       
nx=60;
ny=30;
nd=16;

cy=$(( ( ny - 1 ) / 2 ));

dot="data/dots.pgm"

make-dot-images.gawk -v nx=${nx} -v ny=${ny} -v nd=${nd} > ${dot}

for red in ${reds[@]} ; do
  name="dots-r${red}"
  img="data/${name}.pgm"
  dat="data/${name}.dat"
  eps="data/${name}.eps"
  
  # Create the reduced image of dots in various positions:
  convert ${dot} -resize "${red}x480"'!' PGM:- | pnmnoraw > ${img}
  
  # Extract the splat weights, write to the ${dat} file:
  rm -f ${dat}
  for k in `seq 0 $(( nd - 1 ))` ; do 
    xoff=0
    mx=$(( red ))
    yoff=$(( k * ny + cy ))
    my=1
    echo "cropping ${mx}x${my}+${xoff}+${yoff}"
    convert ${img} -crop "${mx}x${my}+${xoff}+${yoff}" PGM:- \
      | pnmnoraw \
      | gawk -v k="${k}" \
          ' (NF > 3){ 
              for (i=1; i<=NF; i++) 
                { printf " %d %d %+8.5f\n", k, x, ($(i)-16383)/(49152 - 16383); x++; }
            }
            END { printf "\n\n\n"; }
          ' \
      >> ${dat}
  done
  
  # Plot the splat weights:
  plot-imagemagick-filter.sh ${nd} ${dat} ${eps}
  gv ${eps}
done
