#!/usr/bin/perl
#


  
  my($output_file, $term_options);

  #################################################################
  # Plot a simple circular mask
  #
  $output_file = "circular_mask.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set size square \n";
  printf CMDFILE "set key top right \n";
  printf CMDFILE "set ylabel '' \n";
  printf CMDFILE "set xlabel ''  \n";
  printf CMDFILE "set cbrange [0:2] \n";
  printf CMDFILE "unset border \n";
  printf CMDFILE "unset xtics \n";
  printf CMDFILE "unset ytics \n";

  $cmd = "plot 'shield.out' index 0 matrix with image ";
  $cmd .= "   t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }


  #################################################################
  # Plot Fraunhofer pattern of light passing through circular hole
  #
  $output_file = "fraunhofer_circule_pattern.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set size square \n";
  printf CMDFILE "set key top right \n";
  printf CMDFILE "set ylabel '' \n";
  printf CMDFILE "set xlabel ''  \n";
  printf CMDFILE "set cbrange [0:500] \n";
  printf CMDFILE "unset border \n";
  printf CMDFILE "unset xtics \n";
  printf CMDFILE "unset ytics \n";


  $cmd = "plot 'shield.out' index 2 matrix with image ";
  $cmd .= "   t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }


  #################################################################
  # Plot slice through Airy pattern
  #
  $output_file = "airy_slice.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set key top right \n";
  printf CMDFILE "set grid \n";
  printf CMDFILE "set xlabel 'Angle from center (radians) ' \n";
  printf CMDFILE "set ylabel 'Normalized intensity '  \n";


  $cmd = "plot 'shield_slice.out' using ((\$1-52)*1.0e-8):(\$2/6330) ";
  $cmd .= "     with lines t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }



  #################################################################
  # Plot slice through Airy pattern
  #    log scale on y
  #
  $output_file = "airy_slice_log.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set key top right \n";
  printf CMDFILE "set grid \n";
  printf CMDFILE "set xlabel 'Angle from center (radians) ' \n";
  printf CMDFILE "set ylabel 'Normalized intensity '  \n";
  printf CMDFILE "set logscale y \n";


  $cmd = "plot 'shield_slice.out' using ((\$1-52)*1.0e-8):(\$2/6330) ";
  $cmd .= "     with lines t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }


  #################################################################
  # Plot slice through Airy pattern
  #    INVERTED log scale on y
  #
  $output_file = "airy_slice_log_a.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set key top right \n";
  printf CMDFILE "set grid \n";
  printf CMDFILE "set xlabel 'Angle from center (radians) ' \n";
  printf CMDFILE "set ylabel 'Normalized intensity '  \n";
  printf CMDFILE "set logscale y \n";


  $cmd = "plot 'shield_slice.out' using ((\$1-52)*1.0e-8):(1.0/(\$2/6330)) ";
  $cmd .= "     with lines t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.gif/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }



  #################################################################
  # Plot Fresnel pattern of light passing through circular hole
  #    plotting 1 - (normalized intensity)
  #
  $output_file = "fresnel_circle_pattern.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set size square \n";
  printf CMDFILE "set key top right \n";
  printf CMDFILE "set ylabel '' \n";
  printf CMDFILE "set xlabel ''  \n";
  printf CMDFILE "set cbrange [0.2:1.0] \n";
  printf CMDFILE "unset border \n";
  printf CMDFILE "unset xtics \n";
  printf CMDFILE "unset ytics \n";
  printf CMDFILE "unset colorbox \n";


  $cmd = "plot 'fresnel_shield.out_F' index 3 matrix with image ";
  $cmd .= "   t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }



  #################################################################
  # Plot Fresnel pattern of light passing through petal-ized hole
  #    plotting 1 - (normalized intensity)
  #
  $output_file = "fresnel_petal_pattern.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set size square \n";
  printf CMDFILE "set key top right \n";
  printf CMDFILE "set ylabel '' \n";
  printf CMDFILE "set xlabel ''  \n";
  printf CMDFILE "set cbrange [0.2:1.0] \n";
  printf CMDFILE "unset border \n";
  printf CMDFILE "unset xtics \n";
  printf CMDFILE "unset ytics \n";
  printf CMDFILE "unset colorbox \n";


  $cmd = "plot 'fresnel_shield.out_G' index 3 matrix with image ";
  $cmd .= "   t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }




  #################################################################
  # Plot slice through Airy pattern
  #    plain circular disk, Fresnel calcs
  #    log scale on y
  #
  $output_file = "fresnel_slice_log_a.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set key top right \n";
  printf CMDFILE "set grid \n";
  printf CMDFILE "set xlabel 'Angle from center (radians) ' \n";
  printf CMDFILE "set ylabel 'Normalized intensity '  \n";
  printf CMDFILE "set logscale y \n";


  $cmd = "plot 'fresnel_slice.out_A' using ((\$1-51)*1.0e-8):(1.0/(\$2/300)) ";
  $cmd .= "     with lines t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }




  #################################################################
  # Plot slice through Airy pattern
  #    petal disk D, Fresnel calcs
  #    log scale on y
  #
  $output_file = "fresnel_slice_log_d.ps";
  $term_options = "postscript color enhanced 'Helvetica,18' ";

  $cmdfile = "gnuplot.in";
  
  open (CMDFILE, ">$cmdfile") || die("can't open $cmdfile for writing");
  printf CMDFILE "set output '$output_file' \n";
  printf CMDFILE "set term $term_options \n";

  #  revert to some oldish default colors 
  printf CMDFILE "set style line 1 lt rgb 'red' lw 3  \n"; 
  printf CMDFILE "set style line 2 lt rgb 'sea-green' lw 3  \n"; 
  printf CMDFILE "set style line 3 lt rgb 'blue' lw 3  \n"; 
  printf CMDFILE "set style line 4 lt rgb 'cyan' lw 3  \n"; 
  printf CMDFILE "set style line 5 lt rgb 'violet' lw 3  \n"; 


  printf CMDFILE "set key top right \n";
  printf CMDFILE "set grid \n";
  printf CMDFILE "set xlabel 'Angle from center (radians) ' \n";
  printf CMDFILE "set ylabel 'Normalized intensity '  \n";
  printf CMDFILE "set logscale y \n";


  $cmd = "plot 'fresnel_slice.out_D' using ((\$1-51)*1.0e-8):(1.0/(\$2/300)) ";
  $cmd .= "     with lines t '' ";

  printf CMDFILE "$cmd \n";
  printf CMDFILE "set output \n";
  printf CMDFILE "quit \n";
  close(CMDFILE) ;
  
  $retval = `gnuplot < $cmdfile`;
  printf "retval is ..%s..\n", $retval;
  
  if ($term_options =~ /postscript/) {
    $psfile = $output_file;
    $giffile = $psfile;
    $giffile =~ s/.ps/.png/;
    $cmd = "convert -rotate 90 $psfile $giffile";
    printf "cmd is ..$cmd.. \n";
    $ret = `$cmd`;
  }








exit 0;
