Index: /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/StarOps.c
===================================================================
--- /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/StarOps.c	(revision 34224)
+++ /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/StarOps.c	(revision 34225)
@@ -3,6 +3,7 @@
 int InitStar (Stars *star) {
 
-    memset (&star[0].average, 0, sizeof(Average));
-    memset (&star[0].measure, 0, sizeof(Measure));
+
+    dvo_measure_init (&star[0].measure);
+    dvo_average_init (&star[0].average);
     star[0].found = -1; // found == -1 -> not yet found (use enums?)
 
Index: /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches.c
===================================================================
--- /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches.c	(revision 34224)
+++ /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches.c	(revision 34225)
@@ -250,7 +250,8 @@
     if (!IN_REGION (stars[i].average.R, stars[i].average.D)) continue;
 
-    InitAverage (&catalog[0].average[Nave]);
+    dvo_average_init (&catalog[0].average[Nave]);
     catalog[0].average[Nave].R         	   = stars[i].average.R;
     catalog[0].average[Nave].D         	   = stars[i].average.D;
+
     catalog[0].average[Nave].Nmeasure      = NSTAR_GROUP;
     catalog[0].average[Nave].measureOffset = Nmeas;
@@ -259,8 +260,5 @@
 
     if (PSPS_ID) {
-        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R,
-                                                            catalog[0].average[Nave].D);
-    } else {
-        catalog[0].average[Nave].extID         = 0;
+        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, catalog[0].average[Nave].D);
     }
 
@@ -268,5 +266,5 @@
 
     for (j = 0; j < Nsecfilt; j++) {
-      InitSecFilt (&catalog[0].secfilt[Nave*Nsecfilt+j]);
+      dvo_secfilt_init (&catalog[0].secfilt[Nave*Nsecfilt+j]);
     }
 
Index: /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_closest.c
===================================================================
--- /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_closest.c	(revision 34224)
+++ /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_closest.c	(revision 34225)
@@ -252,39 +252,15 @@
     if (!IN_REGION (stars[i].average.R, stars[i].average.D)) continue;
 
+    dvo_average_init (&catalog[0].average[Nave]);
     catalog[0].average[Nave].R         	   = stars[i].average.R;
     catalog[0].average[Nave].D         	   = stars[i].average.D;
-    catalog[0].average[Nave].dR        	   = 0;
-    catalog[0].average[Nave].dD        	   = 0;
 
     catalog[0].average[Nave].Nmeasure  	   = NSTAR_GROUP;
-    catalog[0].average[Nave].Nmissing  	   = 0;
-    catalog[0].average[Nave].Nextend       = 0;
-
     catalog[0].average[Nave].measureOffset = Nmeas;
-    catalog[0].average[Nave].missingOffset = -1;
-    catalog[0].average[Nave].extendOffset  = -1;
-
-    catalog[0].average[Nave].uR        	   = 0;
-    catalog[0].average[Nave].uD        	   = 0;
-    catalog[0].average[Nave].duR       	   = 0;
-    catalog[0].average[Nave].duD       	   = 0;
-    catalog[0].average[Nave].P         	   = 0;
-    catalog[0].average[Nave].dP        	   = 0;
-
-    catalog[0].average[Nave].Xp        	   = 0;
-    catalog[0].average[Nave].ChiSqAve  	   = 0.0;
-    catalog[0].average[Nave].ChiSqPM   	   = 0.0;
-    catalog[0].average[Nave].ChiSqPar  	   = 0.0;
-    catalog[0].average[Nave].Tmean   	   = 0;
-    catalog[0].average[Nave].Trange   	   = 0;
-    catalog[0].average[Nave].Npos    	   = 0;
-
     catalog[0].average[Nave].objID     	   = objID;
     catalog[0].average[Nave].catID     	   = catID;
-    catalog[0].average[Nave].flags         = 0;
+
     if (PSPS_ID) {
         catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, catalog[0].average[Nave].D);
-    } else {
-        catalog[0].average[Nave].extID = 0;
     }
 
@@ -292,5 +268,5 @@
 
     for (j = 0; j < Nsecfilt; j++) {
-      InitSecFilt (&catalog[0].secfilt[Nave*Nsecfilt+j]);
+      dvo_secfilt_init (&catalog[0].secfilt[Nave*Nsecfilt+j]);
     }
 
Index: /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_closest_refstars.c
===================================================================
--- /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_closest_refstars.c	(revision 34224)
+++ /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_closest_refstars.c	(revision 34225)
@@ -255,14 +255,16 @@
     if (!IN_REGION (stars[N][0].average.R, stars[N][0].average.D)) continue;
 
+    dvo_average_init (&catalog[0].average[Nave]);
     catalog[0].average[Nave].R         	   = stars[N][0].average.R;
     catalog[0].average[Nave].D         	   = stars[N][0].average.D;
 
     catalog[0].average[Nave].Nmeasure      = NREFSTAR_GROUP;
-    catalog[0].average[Nave].Nmissing      = 0;
-    catalog[0].average[Nave].Nextend       = 0;
-
     catalog[0].average[Nave].measureOffset = Nmeas;
-    catalog[0].average[Nave].missingOffset = -1;
-    catalog[0].average[Nave].extendOffset  = -1;
+    catalog[0].average[Nave].objID     	   = objID;
+    catalog[0].average[Nave].catID     	   = catID;
+
+    if (PSPS_ID) {
+        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, catalog[0].average[Nave].D);
+    }
 
     if (ACCEPT_MOTION) {
@@ -275,32 +277,4 @@
       catalog[0].average[Nave].P     	   = stars[N][0].average.P;
       catalog[0].average[Nave].dP    	   = stars[N][0].average.dP;
-    } else {
-      catalog[0].average[Nave].dR    	   = 0;
-      catalog[0].average[Nave].dD    	   = 0;
-      catalog[0].average[Nave].uR    	   = 0;
-      catalog[0].average[Nave].uD    	   = 0;
-      catalog[0].average[Nave].duR   	   = 0;
-      catalog[0].average[Nave].duD   	   = 0;
-      catalog[0].average[Nave].P     	   = 0;
-      catalog[0].average[Nave].dP    	   = 0;
-      catalog[0].average[Nave].Xp    	   = 0;
-    }
-
-    catalog[0].average[Nave].Xp            = 0;
-    catalog[0].average[Nave].ChiSqAve  	   = 0.0;
-    catalog[0].average[Nave].ChiSqPM   	   = 0.0;
-    catalog[0].average[Nave].ChiSqPar  	   = 0.0;
-    catalog[0].average[Nave].Tmean   	   = 0;
-    catalog[0].average[Nave].Trange   	   = 0;
-    catalog[0].average[Nave].Npos    	   = 0;
-
-    catalog[0].average[Nave].objID     	   = objID;
-    catalog[0].average[Nave].catID     	   = catID;
-    catalog[0].average[Nave].flags     	   = 0;
-    if (PSPS_ID) {
-        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R,
-                                                            catalog[0].average[Nave].D);
-    } else {
-        catalog[0].average[Nave].extID         = 0;
     }
 
@@ -308,5 +282,5 @@
 
     for (j = 0; j < Nsecfilt; j++) {
-      InitSecFilt (&catalog[0].secfilt[Nave*Nsecfilt+j]);
+      dvo_secfilt_init (&catalog[0].secfilt[Nave*Nsecfilt+j]);
     }
 
Index: /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_refstars.c
===================================================================
--- /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_refstars.c	(revision 34224)
+++ /branches/eam_branches/ipp-20120627/Ohana/src/addstar/src/find_matches_refstars.c	(revision 34225)
@@ -227,14 +227,16 @@
     if (!IN_REGION (stars[N][0].average.R, stars[N][0].average.D)) continue;
 
+    dvo_average_init (&catalog[0].average[Nave]);
     catalog[0].average[Nave].R         	   = stars[N][0].average.R;
     catalog[0].average[Nave].D         	   = stars[N][0].average.D;
 
     catalog[0].average[Nave].Nmeasure      = NREFSTAR_GROUP;
-    catalog[0].average[Nave].Nmissing      = 0;
-    catalog[0].average[Nave].Nextend       = 0;
-
     catalog[0].average[Nave].measureOffset = Nmeas;
-    catalog[0].average[Nave].missingOffset = -1;
-    catalog[0].average[Nave].extendOffset  = -1;
+    catalog[0].average[Nave].objID     	   = objID;
+    catalog[0].average[Nave].catID     	   = catID;
+
+    if (PSPS_ID) {
+        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R, catalog[0].average[Nave].D);
+    }
 
     if (ACCEPT_MOTION) {
@@ -247,39 +249,10 @@
       catalog[0].average[Nave].P     	   = stars[N][0].average.P;
       catalog[0].average[Nave].dP    	   = stars[N][0].average.dP;
-    } else {
-      catalog[0].average[Nave].dR    	   = 0;
-      catalog[0].average[Nave].dD    	   = 0;
-      catalog[0].average[Nave].uR    	   = 0;
-      catalog[0].average[Nave].uD    	   = 0;
-      catalog[0].average[Nave].duR   	   = 0;
-      catalog[0].average[Nave].duD   	   = 0;
-      catalog[0].average[Nave].P     	   = 0;
-      catalog[0].average[Nave].dP    	   = 0;
-      catalog[0].average[Nave].Xp    	   = 0;
-    }
-
-    catalog[0].average[Nave].Xp            = 0;
-    catalog[0].average[Nave].ChiSqAve  	   = 0.0;
-    catalog[0].average[Nave].ChiSqPM   	   = 0.0;
-    catalog[0].average[Nave].ChiSqPar  	   = 0.0;
-    catalog[0].average[Nave].Tmean   	   = 0;
-    catalog[0].average[Nave].Trange   	   = 0;
-    catalog[0].average[Nave].Npos    	   = 0;
-
-    catalog[0].average[Nave].objID     	   = objID;
-    catalog[0].average[Nave].catID     	   = catID;
-    catalog[0].average[Nave].flags     	   = 0;
-    if (PSPS_ID) {
-        catalog[0].average[Nave].extID = CreatePSPSObjectID(catalog[0].average[Nave].R,
-                                                            catalog[0].average[Nave].D);
-    } else {
-        catalog[0].average[Nave].extID         = 0;
-    }
-
+    }
 
     objID ++;
 
     for (j = 0; j < Nsecfilt; j++) {
-      InitSecFilt (&catalog[0].secfilt[Nave*Nsecfilt+j]);
+      dvo_secfilt_init (&catalog[0].secfilt[Nave*Nsecfilt+j]);
     }
 
Index: /branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/dvo.h
===================================================================
--- /branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/dvo.h	(revision 34224)
+++ /branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/dvo.h	(revision 34225)
@@ -688,3 +688,7 @@
 BoundaryTree *BoundaryTreeLoad(char *filename);
 
+void dvo_average_init (Average *average);
+void dvo_secfilt_init (SecFilt *secfilt);
+void dvo_measure_init (Measure *measure);
+
 # endif // DVO_H
Index: /branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_catalog.c
===================================================================
--- /branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_catalog.c	(revision 34224)
+++ /branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_catalog.c	(revision 34225)
@@ -132,9 +132,71 @@
   secfilt->Mstdev      = NAN_S_SHORT;
   secfilt->stackID     = 0;
+
+  secfilt->dummy       = 0;
 }
 
 // init all data, or just catalog data
 void dvo_measure_init (Measure *measure) {
-  measure->M           = 0;
+ measure->M         = NAN;
+ measure->dR        = NAN;
+ measure->dD        = NAN;
+ measure->M         = NAN;
+ measure->Mcal      = NAN;
+ measure->Map       = NAN;
+ measure->Mkron     = NAN;
+ measure->dMkron    = NAN;
+ measure->dM        = NAN;
+ measure->dMcal     = NAN;
+ measure->dt        = NAN;
+
+ measure->FluxPSF   = NAN;
+ measure->dFluxPSF  = NAN;
+ measure->FluxKron  = NAN;
+ measure->dFluxKron = NAN;
+
+ measure->airmass   = NAN;
+ measure->az        = NAN;
+
+ measure->Xccd      = NAN;
+ measure->Yccd      = NAN;
+
+ measure->Sky       = NAN;
+ measure->dSky      = NAN;
+
+ measure->t         = 0;
+ measure->t_msec    = 0;
+ measure->averef    = 0;
+
+ measure->detID     = 0;
+ measure->imageID   = 0;
+ measure->objID     = 0;
+ measure->catID     = 0;
+ measure->extID     = 0;
+
+ measure->psfQual   = NAN;
+ measure->psfChisq  = NAN;
+ measure->psfNdof   = 0;
+ measure->psfNpix   = 0;
+ measure->crNsigma  = NAN;
+ measure->extNsigma = NAN;
+
+ measure->FWx       = 0;
+ measure->FWy       = 0;
+ measure->theta     = 0;
+
+ measure->Mxx       = 0;
+ measure->Mxy       = 0;
+ measure->Myy       = 0;
+
+ measure->dXccd     = 0;
+ measure->dYccd     = 0;
+ measure->dRsys     = 0;
+
+ measure->posangle  = 0;
+ measure->pltscale  = NAN;
+
+ measure->photcode  = 0;
+ measure->dbFlags   = 0;
+ measure->photFlags = 0;
 }
 
