Index: /branches/eam_branches/ipp-20140610/Ohana/src/delstar/src/delete_fix_LAP_edges.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/delstar/src/delete_fix_LAP_edges.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/delstar/src/delete_fix_LAP_edges.c	(revision 36905)
@@ -206,4 +206,6 @@
   double Dgapmin = Dmin + dD;
   double Dgapmax = Dmax - dD;
+  
+  float cosDec = cos(RAD_DEG * 0.5 * (Dmin + Dmax));
 
   // XXX should deal with pole, but not yet...
@@ -218,7 +220,9 @@
     float maxOff = 0.0;
     m = catalog[0].average[i].measureOffset;
+
     for (j = 0; j < catalog[0].average[i].Nmeasure; j++) {
-      float dRoff = catalog[0].measure[m+j].dR * cos(RAD_DEG * 0.5 * (Dmin + Dmax));
-      float dDoff = catalog[0].measure[m+j].dD;
+
+      float dRoff = dvoOffsetR(&catalog[0].measure[m+j], &catalog[0].average[i])*cosDec;
+      float dDoff = dvoOffsetD(&catalog[0].measure[m+j], &catalog[0].average[i]);
       float dOff = hypot (dRoff, dDoff);
       maxOff = MAX (maxOff, dOff);
Index: /branches/eam_branches/ipp-20140610/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/dvopsps/src/insert_detections_dvopsps_catalog.c	(revision 36905)
@@ -68,6 +68,6 @@
       detections[Ndetections].airMass      = measure->airmass;
       detections[Ndetections].expTime      = pow(10.0, 0.4 * measure->dt);    // expTime
-      detections[Ndetections].ra 	   = average->R - measure->dR / 3600.;    // ra
-      detections[Ndetections].dec 	   = average->D - measure->dD / 3600.;    // dec
+      detections[Ndetections].ra 	   = measure->R;    // ra
+      detections[Ndetections].dec 	   = measure->D;    // dec
       detections[Ndetections].raErr 	   = measure->dXccd * 0.01 * fabs(measure->pltscale); // estimate of raErr
       detections[Ndetections].decErr	   = measure->dYccd * 0.01 * fabs(measure->pltscale); // estimate of decErr
@@ -226,6 +226,6 @@
   float zp = code->C * 0.001 + code->K * (measure->airmass - 1) - measure->Mcal;
   float exptime = pow(10.0, 0.4 * measure->dt);
-  double ra  = average->R - measure->dR / 3600.0;
-  double dec = average->D - measure->dD / 3600.0;
+  double ra  = measure->R;
+  double dec = measure->D;
   double dR = measure->dXccd * 0.01 * fabs(measure->pltscale);
   double dD = measure->dYccd * 0.01 * fabs(measure->pltscale);
Index: /branches/eam_branches/ipp-20140610/Ohana/src/dvopsps/src/insert_objects_dvopsps_catalog.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/dvopsps/src/insert_objects_dvopsps_catalog.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/dvopsps/src/insert_objects_dvopsps_catalog.c	(revision 36905)
@@ -323,9 +323,9 @@
     float stackPSFMag    = -999.0;
     float stackPSFMagErr = -999.0;
-    if (isfinite(secfilt->dFluxPSF) && isfinite(secfilt->FluxPSF) && (secfilt->dFluxPSF > 0.0)) {
-      float SN = secfilt->FluxPSF / secfilt->dFluxPSF;
+    if (isfinite(secfilt->dFpsfStk) && isfinite(secfilt->FpsfStk) && (secfilt->dFpsfStk > 0.0)) {
+      float SN = secfilt->FpsfStk / secfilt->dFpsfStk;
       if (SN > 3.0) {
-	stackPSFMag = -2.5 * log10(secfilt->FluxPSF) + 8.9;
-	stackPSFMagErr = secfilt->dFluxPSF / secfilt->FluxPSF;
+	stackPSFMag = -2.5 * log10(secfilt->FpsfStk) + 8.9;
+	stackPSFMagErr = secfilt->dFpsfStk / secfilt->FpsfStk;
       }
     }
@@ -333,9 +333,9 @@
     float stackKronMag    = -999.0;
     float stackKronMagErr = -999.0;
-    if (isfinite(secfilt->dFluxKron) && isfinite(secfilt->FluxKron) && (secfilt->dFluxKron > 0.0)) {
-      float SN = secfilt->FluxKron / secfilt->dFluxKron;
+    if (isfinite(secfilt->dFkronStk) && isfinite(secfilt->FkronStk) && (secfilt->dFkronStk > 0.0)) {
+      float SN = secfilt->FkronStk / secfilt->dFkronStk;
       if (SN > 3.0) {
-	stackKronMag = -2.5 * log10(secfilt->FluxKron) + 8.9;
-	stackKronMagErr = secfilt->dFluxKron / secfilt->FluxKron;
+	stackKronMag = -2.5 * log10(secfilt->FkronStk) + 8.9;
+	stackKronMagErr = secfilt->dFkronStk / secfilt->FkronStk;
       }
     }
@@ -352,11 +352,11 @@
     PRINT_FLOAT(sec_buffer, stackKronMag,    "%.6f, "); // umag precision
     PRINT_FLOAT(sec_buffer, stackKronMagErr, "%.6f, "); // 0.36 umag precision
-    PrintIOBuffer (sec_buffer, "%u,  ", secfilt->flags);       
-    PrintIOBuffer (sec_buffer, "%hd, ", secfilt->Ncode);        
-    PrintIOBuffer (sec_buffer, "%hd, ", secfilt->Nused);        
-    PrintIOBuffer (sec_buffer, "%hd, ", secfilt->M_20);         
-    PrintIOBuffer (sec_buffer, "%hd, ", secfilt->M_80);         
+    PrintIOBuffer (sec_buffer, "%u,   ", secfilt->flags);       
+    PrintIOBuffer (sec_buffer, "%hd,  ", secfilt->Ncode);        
+    PrintIOBuffer (sec_buffer, "%hd,  ", secfilt->Nused);        
+    PrintIOBuffer (sec_buffer, "%.6f, ", secfilt->Mmin);         
+    PrintIOBuffer (sec_buffer, "%.6f, ", secfilt->Mmax);         
     PrintIOBuffer (sec_buffer, "%hd, ", secfilt->ubercalDist);  
-    PrintIOBuffer (sec_buffer, "%hd, ", secfilt->Mstdev);       
+    PrintIOBuffer (sec_buffer, "%.6f, ", secfilt->Mstdev);       
     PrintIOBuffer (sec_buffer, "%lu  ", secfilt->stackDetectID);
     PrintIOBuffer (sec_buffer, "),\n");
Index: /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/Makefile
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/Makefile	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/Makefile	(revision 36905)
@@ -25,5 +25,5 @@
 $(SRC)/dvo_host_utils.$(ARCH).o		\
 $(SRC)/region_list.$(ARCH).o		\
-$(SRC)/find_matches.$(ARCH).o		\
+$(SRC)/find_matches.$(ARCH).o           \
 $(SRC)/photometry.$(ARCH).o             
 
Index: /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/gstar.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/gstar.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/gstar.c	(revision 36905)
@@ -15,6 +15,6 @@
   GSTAR_UCDIST,
   GSTAR_AVE_AP_MAG,
-  GSTAR_AVE_MAG_20,
-  GSTAR_AVE_MAG_80,
+  GSTAR_AVE_MAG_MIN,
+  GSTAR_AVE_MAG_MAX,
   GSTAR_AVE_KRON_MAG,
   GSTAR_AVE_KRON_MAG_ERR,
@@ -307,10 +307,10 @@
 	  gprint (GP_LOG, "\n");
 
-	  /* M_20 */
-	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_20);
-	  gprint (GP_LOG, "\n");
-
-	  /* M_80 */
-	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_80);;
+	  /* Mmin */
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_MIN);
+	  gprint (GP_LOG, "\n");
+
+	  /* Mmax */
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_MAX);;
 	  gprint (GP_LOG, "\n");
 
@@ -381,4 +381,7 @@
 	  }
 
+	  float dRoff = dvoOffsetR(&catalog.measure[Nv], &catalog.average[k]);
+	  float dDoff = dvoOffsetD(&catalog.measure[Nv], &catalog.average[k]);
+
 	  if (GetMeasures && !QUIET) {
 	    date = ohana_sec_to_date (catalog.measure[Nv].t);
@@ -387,6 +390,7 @@
 	    gprint (GP_LOG, "%6.3f  ", catalog.measure[Nv].dM);
 	    gprint (GP_LOG, "%20s  ",  date);
-	    gprint (GP_LOG, "%7.4f ",  catalog.measure[Nv].dR);
-	    gprint (GP_LOG, "%7.4f ",  catalog.measure[Nv].dD);
+	    
+	    gprint (GP_LOG, "%7.4f ",  dRoff);
+	    gprint (GP_LOG, "%7.4f ",  dDoff);
 	    gprint (GP_LOG, "0x%08x ", catalog.measure[Nv].photFlags);
 	    gprint (GP_LOG, "0x%08x ", catalog.measure[Nv].dbFlags);
@@ -447,6 +451,6 @@
 	    vec3[0].elements.Flt[N] = catalog.measure[Nv].airmass;
 	    vec4[0].elements.Flt[N] = catalog.measure[Nv].photcode;
-	    vec5[0].elements.Flt[N] = catalog.measure[Nv].dR;
-	    vec6[0].elements.Flt[N] = catalog.measure[Nv].dD;
+	    vec5[0].elements.Flt[N] = dRoff;
+	    vec6[0].elements.Flt[N] = dDoff;
 	    N ++;
 	    if (N == NPTS - 1) {
@@ -596,17 +600,17 @@
       break;
 
-    case GSTAR_AVE_MAG_20: /* average ap mags */
-      if (seq == -1) {
-	print_double (NAN);
-      } else {
-	print_short (0.001*secfilt[seq].M_20, secfilt[seq].M_20);
-      }
-      break;
-
-    case GSTAR_AVE_MAG_80: /* average ap mags */
-      if (seq == -1) {
-	print_double (NAN);
-      } else {
-	print_short (0.001*secfilt[seq].M_80, secfilt[seq].M_80);
+    case GSTAR_AVE_MAG_MIN: /* average ap mags */
+      if (seq == -1) {
+	print_double (NAN);
+      } else {
+	print_double (secfilt[seq].Mmin);
+      }
+      break;
+
+    case GSTAR_AVE_MAG_MAX: /* average ap mags */
+      if (seq == -1) {
+	print_double (NAN);
+      } else {
+	print_double (secfilt[seq].Mmax);
       }
       break;
@@ -632,5 +636,5 @@
 	print_double (NAN);
       } else {
-	print_double_exp (secfilt[seq].FluxPSF);
+	print_double_exp (secfilt[seq].FpsfStk);
       }
       break;
@@ -640,5 +644,5 @@
 	print_double (NAN);
       } else {
-	print_double_exp (secfilt[seq].dFluxPSF);
+	print_double_exp (secfilt[seq].dFpsfStk);
       }
       break;
@@ -648,5 +652,5 @@
 	print_double (NAN);
       } else {
-	print_double_exp (secfilt[seq].FluxKron);
+	print_double_exp (secfilt[seq].FkronStk);
       }
       break;
@@ -656,8 +660,8 @@
 	print_double (NAN);
       } else {
-	print_double_exp (secfilt[seq].dFluxKron);
-      }
-      break;
-
-  }
-}
+	print_double_exp (secfilt[seq].dFkronStk);
+      }
+      break;
+
+  }
+}
Index: /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/imdata.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/imdata.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/imdata.c	(revision 36905)
@@ -3,5 +3,5 @@
 int imdata (int argc, char **argv) {
   
-  off_t i, j, k, n, I;
+  off_t i, j, k, I;
   int N, NPTS, found, mode, TimeSelect, TimeFormat;
   off_t Nregions, NREGIONS;
@@ -152,6 +152,5 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  n = catalog.measure[i].averef;
-	  vec[0].elements.Flt[N] = catalog.average[n].R - catalog.measure[i].dR / 3600.0;
+	  vec[0].elements.Flt[N] = catalog.measure[i].R;
 	  N++;
 	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
@@ -161,6 +160,5 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  n = catalog.measure[i].averef;
-	  vec[0].elements.Flt[N] = catalog.average[n].D - catalog.measure[i].dD / 3600.0;
+	  vec[0].elements.Flt[N] = catalog.measure[i].D;
 	  N++;
 	  CHECK_REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS, N, 1000);
@@ -194,5 +192,5 @@
 	for (i = 0; i < catalog.Nmeasure; i++) {
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
-	  n = catalog.measure[i].averef;
+	  //n = catalog.measure[i].averef;
 	  // vec[0].elements.Flt[N] = catalog.average[n].M;
 	  N++;
Index: /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/photometry.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/photometry.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/photometry.c	(revision 36905)
@@ -1135,8 +1135,8 @@
       break;
     case MEAS_RA: /* OK */
-      value = average[0].R - measure[0].dR / 3600.0;
+      value = measure[0].R;
       break;
     case MEAS_DEC: /* OK */
-      value = average[0].D - measure[0].dD / 3600.0;
+      value = measure[0].D;
       break;
     case MEAS_DOPHOT: /* OK */
@@ -1156,8 +1156,8 @@
       break;
     case MEAS_RA_OFFSET: /* OK */
-      value = measure[0].dR;
+      value = dvoOffsetR(measure, average);
       break;
     case MEAS_DEC_OFFSET: /* OK */
-      value = measure[0].dD;
+      value = dvoOffsetD(measure, average);
       break;
     case MEAS_FWHM: /* OK */
@@ -1172,6 +1172,6 @@
       value = measure[0].Xccd;
 # else
-      ra  = average[0].R - measure[0].dR / 3600.0;
-      dec = average[0].D - measure[0].dD / 3600.0;
+      ra  = measure[0].R;
+      dec = measure[0].D;
       image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID);
       if (image == NULL) break;
@@ -1185,6 +1185,6 @@
       value = measure[0].Yccd;
 # else
-      ra  = average[0].R - measure[0].dR / 3600.0;
-      dec = average[0].D - measure[0].dD / 3600.0;
+      ra  = measure[0].R;
+      dec = measure[0].D;
       image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID);
       if (image == NULL) break;
@@ -1195,6 +1195,6 @@
 # if 0
     case MEAS_XMOSAIC: /* OK */
-      ra  = average[0].R - measure[0].dR / 3600.0;
-      dec = average[0].D - measure[0].dD / 3600.0;
+      ra  = measure[0].R;
+      dec = measure[0].D;
       mosaic = MatchMosaic (measure[0].t, measure[0].photcode); // XXX not used anymore
       if (mosaic == NULL) break;
@@ -1203,6 +1203,6 @@
       break;
     case MEAS_YMOSAIC: /* OK */
-      ra  = average[0].R - measure[0].dR / 3600.0;
-      dec = average[0].D - measure[0].dD / 3600.0;
+      ra  = measure[0].R;
+      dec = measure[0].D;
       mosaic = MatchMosaic (measure[0].t, measure[0].photcode); // XXX not used anymore
       if (mosaic == NULL) break;
Index: /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/pmeasure.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/pmeasure.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/opihi/dvo/pmeasure.c	(revision 36905)
@@ -207,11 +207,11 @@
 	if (LimExclude && (Zvec[Npts] > 0.99)) continue;
 	if (Zvec[Npts] < 0.011) continue;
-	R = catalog.average[i].R - catalog.measure[m+k].dR/3600.0;
-	D = catalog.average[i].D - catalog.measure[m+k].dD/3600.0;
+	R = catalog.measure[m+k].R;
+	D = catalog.measure[m+k].D;
 	// XXX drop this check
 	if ((R < Rmin) || (R > Rmax) || (D < -90.0) || (D > 90.0)) {
 	  char *date;
 	  date = ohana_sec_to_date (catalog.measure[m+k].t);
-	  gprint (GP_LOG, "out: %f, %f : %s : (%f, %f) + (%f, %f)\n", R, D, date, catalog.average[i].R, catalog.average[i].D, catalog.measure[m+k].dR/3600.0, catalog.measure[m+k].dD/3600.0);
+	  gprint (GP_LOG, "out: %f, %f : %s : (%f, %f) + (%f, %f)\n", R, D, date, catalog.average[i].R, catalog.average[i].D, catalog.measure[m+k].R, catalog.measure[m+k].D);
 	  free (date);
 	}
Index: /branches/eam_branches/ipp-20140610/Ohana/src/photdbc/src/join_stars.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/photdbc/src/join_stars.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/photdbc/src/join_stars.c	(revision 36905)
@@ -3,5 +3,5 @@
 void join_stars (Catalog *catalog) {
 
-  off_t i, j, k, m, M, Ni, Nj, first_j, Nfirst;
+  off_t i, j, k, m, Ni, Nj, first_j;
   off_t Naves, Nmeas, Ncurr;
   off_t Naverage, Nmeasure, *index;
@@ -109,6 +109,6 @@
 	mpointer[Nmeas].measure = m;
 	mpointer[Nmeas].averef  = Naves;
-	mpointer[Nmeas].R       = average[Ni].R - measure[m].dR / 3600.0;
-	mpointer[Nmeas].D       = average[Ni].D - measure[m].dD / 3600.0;
+	mpointer[Nmeas].R       = measure[m].R;
+	mpointer[Nmeas].D       = measure[m].D;
 	Nmeas ++;
       }
@@ -155,9 +155,8 @@
 	  mpointer[Nmeas].measure = m;
 	  mpointer[Nmeas].averef  = Ncurr;
-	  mpointer[Nmeas].R       = average[Nj].R - measure[m].dR / 3600.0;
-	  mpointer[Nmeas].D       = average[Nj].D - measure[m].dD / 3600.0;
+	  mpointer[Nmeas].R       = measure[m].R;
+	  mpointer[Nmeas].D       = measure[m].D;
 	  Nmeas ++;
 	}
-	Nfirst = average[Nj].Nmeasure;
 	naverage[Ncurr].Nmeasure += average[Nj].Nmeasure;
 	found[j] = TRUE;
@@ -178,10 +177,10 @@
 
 	/* update original measurement offsets for new detections */
-	for (k = Nfirst; k < naverage[Ncurr].Nmeasure; k++) {
-	  m = naverage[Ncurr].measureOffset + k;
-	  M = mpointer[m].measure;
-	  measure[M].dR = 3600.0*(Sr - mpointer[m].R);
-	  measure[M].dD = 3600.0*(Sd - mpointer[m].D);
-	}
+	// for (k = Nfirst; k < naverage[Ncurr].Nmeasure; k++) {
+	//   m = naverage[Ncurr].measureOffset + k;
+	//   M = mpointer[m].measure;
+	//   measure[M].dR = 3600.0*(Sr - mpointer[m].R);
+	//   measure[M].dD = 3600.0*(Sd - mpointer[m].D);
+	// }
 
 	/* update current reference star position */
@@ -189,10 +188,11 @@
 # else
 	/* update original measurement offsets for new detections */
-	for (k = Nfirst; k < naverage[Ncurr].Nmeasure; k++) {
-	  m = naverage[Ncurr].measureOffset + k;
-	  M = mpointer[m].measure;
-	  measure[M].dR = 3600.0*(naverage[Ncurr].R - mpointer[m].R);
-	  measure[M].dD = 3600.0*(naverage[Ncurr].D - mpointer[m].D);
-	}
+	// now not needed measure[M] carries R,D
+	// for (k = Nfirst; k < naverage[Ncurr].Nmeasure; k++) {
+	//   m = naverage[Ncurr].measureOffset + k;
+	//   M = mpointer[m].measure;
+	//   measure[M].dR = 3600.0*(naverage[Ncurr].R - mpointer[m].R);
+	//   measure[M].dD = 3600.0*(naverage[Ncurr].D - mpointer[m].D);
+	// }
 # endif
       }
Index: /branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/ImageOps.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/ImageOps.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/ImageOps.c	(revision 36905)
@@ -602,5 +602,5 @@
 
   off_t i, m, c, n;
-  double X, Y, L, M, P, Q, R, D, dR, dD;
+  double X, Y, L, M, P, Q, R, D;
 
   Mosaic *mosaic;
@@ -650,5 +650,4 @@
     n = measure[0].averef;
 
-    dR = dD = 0.0;
     if (moscoords == NULL) {
       // this is a Simple image (not a mosaic)
@@ -661,18 +660,17 @@
       LM_to_RD (&R, &D, P, Q, moscoords);
     }
-
     measure[0].R = R;
     measure[0].D = D;
 
-    fprintf (stderr, "redo this\n")
-    if (dR > +180.0*3600.0) {
+    float dRoff = dvoOffsetR(measure, &catalog[c].average[n]);
+
+    if (dRoff > +180.0*3600.0) {
       // average on high end of boundary, move star up
-      R += 360.0;
-      measure[0].R = R;
-    }
-    if (dR < -180.0*3600.0) {
-      // average on low end of boundary, move star down
-      R -= 360.0;
-      measure[0].R = R;
+      measure[0].R += 360.0;
+      dRoff -= 360.0*3600.0;
+    }
+    if (dRoff < -180.0*3600.0) {
+      measure[0].R -= 360.0;
+      dRoff += 360.0*3600.0;
     }
   }
@@ -983,6 +981,6 @@
       // skip measurements based on user selected criteria
       if (!MeasFilterTest(&measure[k], FALSE)) continue;
-      R[N] = measure[k].dR;
-      D[N] = measure[k].dD;
+      R[N] = measure[k].R;
+      D[N] = measure[k].D;
       dR[N] = GetAstromError(&measure[k], ERROR_MODE_RA);
       dD[N] = GetAstromError(&measure[k], ERROR_MODE_DEC);
@@ -1004,6 +1002,6 @@
       // skip bad measurements
       if (!MeasFilterTest(&measure[k], FALSE)) continue;  
-      x = measure[k].dR - statsR.median;
-      y = measure[k].dD - statsD.median;
+      x = measure[k].R - statsR.median;
+      y = measure[k].D - statsD.median;
       theta = atan2(y,x);
       d2[N] = (x*x + y*y) / (SQR(statsR.sigma * Ns * cos(theta)) + 
@@ -1020,6 +1018,6 @@
     for (k = 0;  k < N; k++) {
       off_t ind = (off_t) index[k];
-      R[k] = measure[ind].dR;
-      D[k] = measure[ind].dD;
+      R[k] = measure[ind].R;
+      D[k] = measure[ind].D;
       dR[k] = GetAstromError(&measure[ind], ERROR_MODE_RA);
       dD[k] = GetAstromError(&measure[ind], ERROR_MODE_DEC);
@@ -1035,6 +1033,6 @@
       //skip bad measurements
       if (!MeasFilterTest(&measure[k], FALSE)) continue;  
-      x = measure[k].dR - statsR.median;
-      y = measure[k].dD - statsD.median;
+      x = measure[k].R - statsR.median;
+      y = measure[k].D - statsD.median;
       theta = atan2(y,x);
       d2[N] = (x*x + y*y) / (SQR(statsR.sigma * Ns * cos(theta)) + 
@@ -1070,5 +1068,5 @@
   float mag;
 
-  if (!finite(measure[0].dR) || !finite(measure[0].dD)) return FALSE;
+  if (!finite(measure[0].R) || !finite(measure[0].D)) return FALSE;
   if (!finite(measure[0].M)) return FALSE; //XXX is this necessary for all relastro tasks?
   if (!finite(measure[0].dM)) return FALSE; //XXX is this necessary for all relastro tasks?
@@ -1137,5 +1135,5 @@
   float mag;
 
-  if (!finite(measure[0].dR) || !finite(measure[0].dD)) return FALSE;
+  if (!finite(measure[0].R) || !finite(measure[0].D)) return FALSE;
   if (!finite(measure[0].M)) return FALSE; //XXX is this necessary for all relastro tasks?
   if (!finite(measure[0].dM)) return FALSE; //XXX is this necessary for all relastro tasks?
Index: /branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/relastroVisual.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/relastroVisual.c	(revision 36904)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/relastro/src/relastroVisual.c	(revision 36905)
@@ -418,5 +418,5 @@
 			       StatType statsR, StatType statsD, double thresh) {
     
-  double *Din, *Rin, *Dout, *Rout;
+  float *Din, *Rin, *Dout, *Rout;
   double xmin, xmax, ymin, ymax, range;
   float xCirc[100], yCirc[100];
@@ -431,6 +431,6 @@
   
   // populate vectors
-  ALLOCATE(Din, float, Nmeasure);
-  ALLOCATE(Rin, float, Nmeasure);
+  ALLOCATE(Din,  float, Nmeasure);
+  ALLOCATE(Rin,  float, Nmeasure);
   ALLOCATE(Dout, float, Nmeasure);
   ALLOCATE(Rout, float, Nmeasure);
