Index: trunk/Ohana/src/opihi/cmd.astro/drizzle.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/drizzle.c	(revision 7917)
+++ trunk/Ohana/src/opihi/cmd.astro/drizzle.c	(revision 8128)
@@ -9,5 +9,5 @@
 int map_output_to_input (int Npix, double df);
 int map_input_to_output (int Npix, double df);
-void set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix);
+int set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix);
 void apply_terms (double *Xout, double *Yout, double Xin, double Yin);
 
@@ -91,9 +91,11 @@
   }
 
+  gprint (GP_ERR, "mapping output to input\n");
+
   for (j = 0; j < Ny; j+=Npix) {
     for (i = 0; i < Nx; i+=Npix) {
       
       /* define linear transformation in region */
-      set_linear_terms (&coords_out, &coords_in, i, j, Npix);
+      if (!set_linear_terms (&coords_out, &coords_in, i, j, Npix)) continue;
 
       for (X = i; (X < i + Npix) && (X < Nx); X += df) {
@@ -140,9 +142,11 @@
   }
 
+  gprint (GP_ERR, "mapping input to output\n");
+
   for (j = 0; j < Ny; j+=Npix) {
     for (i = 0; i < Nx; i+=Npix) {
       
       /* define linear transformation in region */
-      set_linear_terms (&coords_in, &coords_out, i, j, Npix);
+      if (!set_linear_terms (&coords_in, &coords_out, i, j, Npix)) continue;
 
       for (X = i; (X < i + Npix) && (X < Nx); X += df) {
@@ -167,5 +171,5 @@
 
 /* find the linear astrometric fix between images at this location */
-void set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix) {
+int set_linear_terms (Coords *in, Coords *out, int i, int j, int Npix) {
 
   int n;
@@ -196,6 +200,6 @@
     }
 
-    XY_to_RD (&r, &d, Xin, Yin, in);
-    RD_to_XY (&Xout, &Yout, r, d, out);
+    if (!XY_to_RD (&r, &d, Xin, Yin, in)) return (FALSE);
+    if (!RD_to_XY (&Xout, &Yout, r, d, out)) return (FALSE);
 
     x  += Xin;
