Index: trunk/Ohana/src/opihi/cmd.astro/Makefile
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/Makefile	(revision 12524)
+++ trunk/Ohana/src/opihi/cmd.astro/Makefile	(revision 12840)
@@ -50,9 +50,9 @@
 $(SRC)/imfit-fgauss.$(ARCH).o	   \
 $(SRC)/imfit-pgauss.$(ARCH).o	   \
-$(SRC)/imfit-Pgauss.$(ARCH).o	   \
+$(SRC)/imfit-pgauss-psf.$(ARCH).o	   \
 $(SRC)/imfit-qgauss.$(ARCH).o	   \
-$(SRC)/imfit-Qgauss.$(ARCH).o	   \
+$(SRC)/imfit-qgauss-psf.$(ARCH).o	   \
 $(SRC)/imfit-sgauss.$(ARCH).o	   \
-$(SRC)/imfit-Sgauss.$(ARCH).o	   \
+$(SRC)/imfit-sgauss-psf.$(ARCH).o	   \
 $(SRC)/imfit-qfgauss.$(ARCH).o	   \
 $(SRC)/imfit-qrgauss.$(ARCH).o	   
Index: trunk/Ohana/src/opihi/cmd.astro/imfit-Pgauss.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit-Pgauss.c	(revision 12524)
+++ 	(revision )
@@ -1,66 +1,0 @@
-# include "imfit.h"
-
-float PgaussTD (float, float, float *, int, float *);
-void  PgaussCL ();
-
-void  Pgauss_setup (char *name) {
-
-  if (strcmp(name, "Pgauss")) return;
-
-  fitfunc = PgaussTD;
-  imfit_cleanup = PgaussCL;
-  Npar = 4;
-  Nfpar = 3;
-
-  /* allocate free and fixed parameters */
-  ALLOCATE (par, float, MAX (Npar, 1));
-  bzero (par, Npar*sizeof(float));
-  ALLOCATE (fpar, float, MAX (Nfpar, 1));
-  bzero (fpar, Nfpar*sizeof(float));
-
-  par[0] = get_variable_default ("Xg", 0);
-  par[1] = get_variable_default ("Yg", 0);
-  par[2] = get_variable_default ("Zpk", 10000);
-  par[3] = get_variable_default ("Sg", 0.0);
-  sky = &par[3];
-
-  fpar[0] = 2.35 / get_variable_default ("SXg", 2.0);
-  fpar[1] = 2.35 / get_variable_default ("SYg", 2.0);
-  fpar[2] = get_variable_default ("SXYg", 0);
-}
-
-void PgaussCL () {
-  set_variable ("Xg",   par[0]);
-  set_variable ("Yg",   par[1]);
-  set_variable ("Zpk",  par[2]);
-  set_variable ("Sg",   par[3]);
-}
-
-/* pseudo 2D gaussian -- x, y, (sx), (sy), (sxy), I, sky */
-float PgaussTD (float x, float y, float *par, int Npar, float *dpar) {
-
-  float X, Y, px, py;
-  float z, r, q, f;
-
-  /* par -> fpar: (2,0), (3,1), (4,2) */
-
-  X = x - par[0];
-  Y = y - par[1];
-  
-  px = fpar[0]*X;
-  py = fpar[1]*Y;
-
-  z = 0.5*SQ(px) + 0.5*SQ(py) + fpar[2]*X*Y;
-  r = 1.0 / (1 + z + 0.5*z*z*(1 + z/3)); /* ~ exp (-Z) */
-  f = par[2]*r + par[3];
-  q = par[2]*r*r*(1 + z + 0.5*z*z);
-  /* note difference from gaussian: q = par[5]*r */
-
-  if (dpar != NULL) {
-    dpar[0] = q*(2*px*fpar[0] + fpar[2]*Y);
-    dpar[1] = q*(2*py*fpar[1] + fpar[2]*X);
-    dpar[2] = +r;
-    dpar[3] = +1;
-  }
-  return (f);
-}
Index: trunk/Ohana/src/opihi/cmd.astro/imfit-Qgauss.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit-Qgauss.c	(revision 12524)
+++ 	(revision )
@@ -1,68 +1,0 @@
-# include "imfit.h"
-
-float QgaussTD (float, float, float *, int, float *);
-void  QgaussCL ();
-
-void Qgauss_setup (char *name) {
-
-  if (strcmp(name, "Qgauss")) return;
-
-  fitfunc = QgaussTD;
-  imfit_cleanup = QgaussCL;
-  Npar = 4;
-  Nfpar = 5;
-
-  /* allocate free and fixed parameters */
-  ALLOCATE (par, float, MAX (Npar, 1));
-  bzero (par, Npar*sizeof(float));
-  ALLOCATE (fpar, float, MAX (Nfpar, 1));
-  bzero (fpar, Nfpar*sizeof(float));
-
-  par[0]  = get_variable_default ("Xg", 0);
-  par[1]  = get_variable_default ("Yg", 0);
-  par[2]  = get_variable_default ("Zpk", 10000);
-  par[3]  = get_variable_default ("Sg", 0.0);
-
-  fpar[0] = 2.35 / get_variable_default ("SXg", 15.0);
-  fpar[1] = 2.35 / get_variable_default ("SYg", 15.0);
-  fpar[2] = get_variable_default ("SXYg", 0.0);
-  fpar[3] = get_variable_default ("Sr", 1.0);
-  fpar[4] = get_variable_default ("Npow", 2.25);
-
-  sky = &par[3];
-}
-
-void QgaussCL () {
-  set_variable ("Xg",  par[0]);
-  set_variable ("Yg",  par[1]);
-  set_variable ("Zpk", par[2]);
-  set_variable ("Sg",  par[3]);
-}
-
-/* one component, two slopes: (1 + z^M + z^N)^(-1) -- x, y, sx, sy, sxy, I, sky, sr */
-float QgaussTD (float x, float y, float *par, int Npar, float *dpar) {
-
-  float X, Y, px, py;
-  float z, r, q, f;
-
-  X = x - par[0];
-  Y = y - par[1];
-  
-  px = fpar[0]*X;
-  py = fpar[1]*Y;
-
-  z = 0.5*SQ(px) + 0.5*SQ(py) + fpar[2]*X*Y;
-
-  r = 1.0 / (1 + fpar[3]*z + pow(z,fpar[4]));
-  f = par[2]*r + par[3];
-  q = par[2]*SQ(r)*(fpar[3] + fpar[4]*pow(z,(fpar[4]-1)));
-
-  if (dpar != NULL) {
-    dpar[0] = q*(2*px*fpar[0] + fpar[2]*Y);
-    dpar[1] = q*(2*py*fpar[1] + fpar[2]*X);
-    dpar[2] = +r;
-    dpar[3] = +1;
-  }
-  return (f);
-}
-
Index: trunk/Ohana/src/opihi/cmd.astro/imfit-Sgauss.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit-Sgauss.c	(revision 12524)
+++ 	(revision )
@@ -1,74 +1,0 @@
-# include "imfit.h"
-
-float SgaussTD (float, float, float *, int, float *);
-void  SgaussCL ();
-
-void Sgauss_setup (char *name) {
-
-  if (strcmp(name, "Sgauss")) return;
-
-  fitfunc = SgaussTD;
-  imfit_cleanup = SgaussCL;
-  Npar = 4;
-  Nfpar = 7;
-
-  /* allocate free and fixed parameters */
-  ALLOCATE (par, float, MAX (Npar, 1));
-  bzero (par, Npar*sizeof(float));
-  ALLOCATE (fpar, float, MAX (Nfpar, 1));
-  bzero (fpar, Nfpar*sizeof(float));
-
-  par[0] = get_variable_default ("Xg", 0);
-  par[1] = get_variable_default ("Yg", 0);
-  par[2] = get_variable_default ("Zpk", 10000);
-  par[3] = get_variable_default ("Sg", 0.0);
-
-  fpar[0] = 2.35 / get_variable_default ("SXg", 15.0);
-  fpar[1] = 2.35 / get_variable_default ("SYg", 15.0);
-  fpar[2] = get_variable_default ("SXYg", 0.0);
-  fpar[3] = 2.35 / get_variable_default ("SXf", 15.0);
-  fpar[4] = 2.35 / get_variable_default ("SYf", 15.0);
-  fpar[5] = get_variable_default ("SXYf", 0.0);
-  fpar[6] = get_variable_default ("Npow", 2.25);
-
-  sky = &par[3];
-}
-
-void SgaussCL () {
-  set_variable ("Xg",   par[0]);
-  set_variable ("Yg",   par[1]);
-  set_variable ("Zpk",  par[2]);
-  set_variable ("Sg",   par[3]);
-}
-
-/* two components: (1 + z_1 + z_2^N)^(-1) -- x, y, sx1, sy1, sxy1, I, sky, sx2, sy2, sxy2 */
-float SgaussTD (float x, float y, float *par, int Npar, float *dpar) {
-
-  float X, Y, px1, py1, px2, py2;
-  float z1, z2, r, q1, q2, f;
-
-  X = x - par[0];
-  Y = y - par[1];
-  
-  px1 = fpar[0]*X;
-  py1 = fpar[1]*Y;
-  px2 = fpar[3]*X;
-  py2 = fpar[4]*Y;
-
-  z1 = 0.5*SQ(px1) + 0.5*SQ(py1) + fpar[2]*X*Y;
-  z2 = 0.5*SQ(px2) + 0.5*SQ(py2) + fpar[5]*X*Y;
-
-  r = 1.0 / (1 + z1 + pow(z2,fpar[6]));
-  f = par[2]*r + par[3];
-
-  q1 = par[2]*SQ(r);
-  q2 = par[2]*SQ(r)*fpar[6]*pow(z2,(fpar[6]-1));
-
-  if (dpar != NULL) {
-    dpar[0] = q1*(2*px1*fpar[0] + fpar[2]*Y) + q2*(2*px2*fpar[3] + fpar[5]*Y);
-    dpar[1] = q1*(2*py1*fpar[1] + fpar[2]*X) + q2*(2*py2*fpar[4] + fpar[5]*X);
-    dpar[2] = +r;
-    dpar[3] = +1;
-  }
-  return (f);
-}
Index: trunk/Ohana/src/opihi/cmd.astro/imfit-pgauss-psf.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit-pgauss-psf.c	(revision 12840)
+++ trunk/Ohana/src/opihi/cmd.astro/imfit-pgauss-psf.c	(revision 12840)
@@ -0,0 +1,66 @@
+# include "imfit.h"
+
+float pgauss_psfTD (float, float, float *, int, float *);
+void  pgauss_psfCL ();
+
+void  pgauss_psf_setup (char *name) {
+
+  if (strcmp(name, "pgauss_psf")) return;
+
+  fitfunc = pgauss_psfTD;
+  imfit_cleanup = pgauss_psfCL;
+  Npar = 4;
+  Nfpar = 3;
+
+  /* allocate free and fixed parameters */
+  ALLOCATE (par, float, MAX (Npar, 1));
+  bzero (par, Npar*sizeof(float));
+  ALLOCATE (fpar, float, MAX (Nfpar, 1));
+  bzero (fpar, Nfpar*sizeof(float));
+
+  par[0] = get_variable_default ("Xg", 0);
+  par[1] = get_variable_default ("Yg", 0);
+  par[2] = get_variable_default ("Zpk", 10000);
+  par[3] = get_variable_default ("Sg", 0.0);
+  sky = &par[3];
+
+  fpar[0] = 2.35 / get_variable_default ("SXg", 2.0);
+  fpar[1] = 2.35 / get_variable_default ("SYg", 2.0);
+  fpar[2] = get_variable_default ("SXYg", 0);
+}
+
+void pgauss_psfCL () {
+  set_variable ("Xg",   par[0]);
+  set_variable ("Yg",   par[1]);
+  set_variable ("Zpk",  par[2]);
+  set_variable ("Sg",   par[3]);
+}
+
+/* pseudo 2D gaussian -- x, y, (sx), (sy), (sxy), I, sky */
+float pgauss_psfTD (float x, float y, float *par, int Npar, float *dpar) {
+
+  float X, Y, px, py;
+  float z, r, q, f;
+
+  /* par -> fpar: (2,0), (3,1), (4,2) */
+
+  X = x - par[0];
+  Y = y - par[1];
+  
+  px = fpar[0]*X;
+  py = fpar[1]*Y;
+
+  z = 0.5*SQ(px) + 0.5*SQ(py) + fpar[2]*X*Y;
+  r = 1.0 / (1 + z + 0.5*z*z*(1 + z/3)); /* ~ exp (-Z) */
+  f = par[2]*r + par[3];
+  q = par[2]*r*r*(1 + z + 0.5*z*z);
+  /* note difference from gaussian: q = par[5]*r */
+
+  if (dpar != NULL) {
+    dpar[0] = q*(2*px*fpar[0] + fpar[2]*Y);
+    dpar[1] = q*(2*py*fpar[1] + fpar[2]*X);
+    dpar[2] = +r;
+    dpar[3] = +1;
+  }
+  return (f);
+}
Index: trunk/Ohana/src/opihi/cmd.astro/imfit-qgauss-psf.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit-qgauss-psf.c	(revision 12840)
+++ trunk/Ohana/src/opihi/cmd.astro/imfit-qgauss-psf.c	(revision 12840)
@@ -0,0 +1,68 @@
+# include "imfit.h"
+
+float qgauss_psfTD (float, float, float *, int, float *);
+void  qgauss_psfCL ();
+
+void qgauss_psf_setup (char *name) {
+
+  if (strcmp(name, "qgauss_psf")) return;
+
+  fitfunc = qgauss_psfTD;
+  imfit_cleanup = qgauss_psfCL;
+  Npar = 4;
+  Nfpar = 5;
+
+  /* allocate free and fixed parameters */
+  ALLOCATE (par, float, MAX (Npar, 1));
+  bzero (par, Npar*sizeof(float));
+  ALLOCATE (fpar, float, MAX (Nfpar, 1));
+  bzero (fpar, Nfpar*sizeof(float));
+
+  par[0]  = get_variable_default ("Xg", 0);
+  par[1]  = get_variable_default ("Yg", 0);
+  par[2]  = get_variable_default ("Zpk", 10000);
+  par[3]  = get_variable_default ("Sg", 0.0);
+
+  fpar[0] = 2.35 / get_variable_default ("SXg", 15.0);
+  fpar[1] = 2.35 / get_variable_default ("SYg", 15.0);
+  fpar[2] = get_variable_default ("SXYg", 0.0);
+  fpar[3] = get_variable_default ("Sr", 1.0);
+  fpar[4] = get_variable_default ("Npow", 2.25);
+
+  sky = &par[3];
+}
+
+void qgauss_psfCL () {
+  set_variable ("Xg",  par[0]);
+  set_variable ("Yg",  par[1]);
+  set_variable ("Zpk", par[2]);
+  set_variable ("Sg",  par[3]);
+}
+
+/* one component, two slopes: (1 + z^M + z^N)^(-1) -- x, y, sx, sy, sxy, I, sky, sr */
+float qgauss_psfTD (float x, float y, float *par, int Npar, float *dpar) {
+
+  float X, Y, px, py;
+  float z, r, q, f;
+
+  X = x - par[0];
+  Y = y - par[1];
+  
+  px = fpar[0]*X;
+  py = fpar[1]*Y;
+
+  z = 0.5*SQ(px) + 0.5*SQ(py) + fpar[2]*X*Y;
+
+  r = 1.0 / (1 + fpar[3]*z + pow(z,fpar[4]));
+  f = par[2]*r + par[3];
+  q = par[2]*SQ(r)*(fpar[3] + fpar[4]*pow(z,(fpar[4]-1)));
+
+  if (dpar != NULL) {
+    dpar[0] = q*(2*px*fpar[0] + fpar[2]*Y);
+    dpar[1] = q*(2*py*fpar[1] + fpar[2]*X);
+    dpar[2] = +r;
+    dpar[3] = +1;
+  }
+  return (f);
+}
+
Index: trunk/Ohana/src/opihi/cmd.astro/imfit-sgauss-psf.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit-sgauss-psf.c	(revision 12840)
+++ trunk/Ohana/src/opihi/cmd.astro/imfit-sgauss-psf.c	(revision 12840)
@@ -0,0 +1,74 @@
+# include "imfit.h"
+
+float sgauss_psfTD (float, float, float *, int, float *);
+void  sgauss_psfCL ();
+
+void sgauss_psf_setup (char *name) {
+
+  if (strcmp(name, "sgauss_psf")) return;
+
+  fitfunc = sgauss_psfTD;
+  imfit_cleanup = sgauss_psfCL;
+  Npar = 4;
+  Nfpar = 7;
+
+  /* allocate free and fixed parameters */
+  ALLOCATE (par, float, MAX (Npar, 1));
+  bzero (par, Npar*sizeof(float));
+  ALLOCATE (fpar, float, MAX (Nfpar, 1));
+  bzero (fpar, Nfpar*sizeof(float));
+
+  par[0] = get_variable_default ("Xg", 0);
+  par[1] = get_variable_default ("Yg", 0);
+  par[2] = get_variable_default ("Zpk", 10000);
+  par[3] = get_variable_default ("Sg", 0.0);
+
+  fpar[0] = 2.35 / get_variable_default ("SXg", 15.0);
+  fpar[1] = 2.35 / get_variable_default ("SYg", 15.0);
+  fpar[2] = get_variable_default ("SXYg", 0.0);
+  fpar[3] = 2.35 / get_variable_default ("SXf", 15.0);
+  fpar[4] = 2.35 / get_variable_default ("SYf", 15.0);
+  fpar[5] = get_variable_default ("SXYf", 0.0);
+  fpar[6] = get_variable_default ("Npow", 2.25);
+
+  sky = &par[3];
+}
+
+void sgauss_psfCL () {
+  set_variable ("Xg",   par[0]);
+  set_variable ("Yg",   par[1]);
+  set_variable ("Zpk",  par[2]);
+  set_variable ("Sg",   par[3]);
+}
+
+/* two components: (1 + z_1 + z_2^N)^(-1) -- x, y, sx1, sy1, sxy1, I, sky, sx2, sy2, sxy2 */
+float sgauss_psfTD (float x, float y, float *par, int Npar, float *dpar) {
+
+  float X, Y, px1, py1, px2, py2;
+  float z1, z2, r, q1, q2, f;
+
+  X = x - par[0];
+  Y = y - par[1];
+  
+  px1 = fpar[0]*X;
+  py1 = fpar[1]*Y;
+  px2 = fpar[3]*X;
+  py2 = fpar[4]*Y;
+
+  z1 = 0.5*SQ(px1) + 0.5*SQ(py1) + fpar[2]*X*Y;
+  z2 = 0.5*SQ(px2) + 0.5*SQ(py2) + fpar[5]*X*Y;
+
+  r = 1.0 / (1 + z1 + pow(z2,fpar[6]));
+  f = par[2]*r + par[3];
+
+  q1 = par[2]*SQ(r);
+  q2 = par[2]*SQ(r)*fpar[6]*pow(z2,(fpar[6]-1));
+
+  if (dpar != NULL) {
+    dpar[0] = q1*(2*px1*fpar[0] + fpar[2]*Y) + q2*(2*px2*fpar[3] + fpar[5]*Y);
+    dpar[1] = q1*(2*py1*fpar[1] + fpar[2]*X) + q2*(2*py2*fpar[4] + fpar[5]*X);
+    dpar[2] = +r;
+    dpar[3] = +1;
+  }
+  return (f);
+}
Index: trunk/Ohana/src/opihi/cmd.astro/imfit-test.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit-test.c	(revision 12524)
+++ trunk/Ohana/src/opihi/cmd.astro/imfit-test.c	(revision 12840)
@@ -31,5 +31,5 @@
       par[3] = tp1;
     }
-    if (fitfunc == SgaussTD) {
+    if (fitfunc == sgauss_psfTD) {
       tp1 = par[0];
       tp2 = par[3];
@@ -48,5 +48,5 @@
       par[4] = tp2;
     }
-    if (fitfunc == PgaussTD) {
+    if (fitfunc == pgauss_psfTD) {
       tp1 = par[0];
       par[0] = par[0]*1.05;
Index: trunk/Ohana/src/opihi/cmd.astro/imfit.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imfit.c	(revision 12524)
+++ trunk/Ohana/src/opihi/cmd.astro/imfit.c	(revision 12840)
@@ -57,9 +57,9 @@
     fgauss_setup (argv[N]);
     pgauss_setup (argv[N]);
-    Pgauss_setup (argv[N]);
+    pgauss_psf_setup (argv[N]);
     sgauss_setup (argv[N]);
-    Sgauss_setup (argv[N]);
+    sgauss_psf_setup (argv[N]);
     qgauss_setup (argv[N]);
-    Qgauss_setup (argv[N]);
+    qgauss_psf_setup (argv[N]);
     qfgauss_setup (argv[N]);
     qrgauss_setup (argv[N]);
Index: trunk/Ohana/src/opihi/cmd.astro/imsub.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.astro/imsub.c	(revision 12524)
+++ trunk/Ohana/src/opihi/cmd.astro/imsub.c	(revision 12840)
@@ -22,9 +22,9 @@
     fgauss_setup (argv[N]);
     pgauss_setup (argv[N]);
-    Pgauss_setup (argv[N]);
+    pgauss_psf_setup (argv[N]);
     sgauss_setup (argv[N]);
-    Sgauss_setup (argv[N]);
+    sgauss_psf_setup (argv[N]);
     qgauss_setup (argv[N]);
-    Qgauss_setup (argv[N]);
+    qgauss_psf_setup (argv[N]);
     qfgauss_setup (argv[N]);
     qrgauss_setup (argv[N]);
