IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 42714


Ignore:
Timestamp:
Aug 3, 2024, 1:02:22 PM (2 years ago)
Author:
eugene
Message:

add option to pass full variance image to imfit; need to return parameter error, but things are not quite set up right

Location:
branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-fgauss-pol.c

    r42078 r42714  
    5151  set_variable ("Zpk",  par[5]);
    5252  set_variable ("Sg",   par[6]);
     53
     54  /*
     55  set_variable ("dXg",   dpar[0]);
     56  set_variable ("dYg",   dpar[1]);
     57  set_variable ("dSXg",  NAN);
     58  set_variable ("dSYg",  NAN);
     59  set_variable ("dSXYg", NAN);
     60  set_variable ("dZpk",  dpar[5]);
     61  set_variable ("dSg",   dpar[6]);
     62  */
    5363}
    5464
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-fgauss.c

    r42078 r42714  
    3939  set_variable ("Zpk",  par[5]);
    4040  set_variable ("Sg",   par[6]);
     41
     42/*
     43  set_variable ("dXg",   dpar[0]);
     44  set_variable ("dYg",   dpar[1]);
     45  set_variable ("dSXg",  2.35 / dpar[2]);
     46  set_variable ("dSYg",  2.35 / dpar[3]);
     47  set_variable ("dSXYg", dpar[4]);
     48  set_variable ("dZpk",  dpar[5]);
     49  set_variable ("dSg",   dpar[6]);
     50*/
    4151}
    4252
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-pgauss-psf.c

    r39457 r42714  
    3535  set_variable ("Zpk",  par[2]);
    3636  set_variable ("Sg",   par[3]);
     37
     38/*
     39  set_variable ("dXg",   dpar[0]);
     40  set_variable ("dYg",   dpar[1]);
     41  set_variable ("dZpk",  dpar[2]);
     42  set_variable ("dSg",   dpar[3]);
     43*/
    3744}
    3845
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-pgauss.c

    r39457 r42714  
    3737  set_variable ("Zpk",  par[5]);
    3838  set_variable ("Sg",   par[6]);
     39
     40/*
     41  set_variable ("dXg",   dpar[0]);
     42  set_variable ("dYg",   dpar[1]);
     43  set_variable ("dSXg",  2.35 / dpar[2]);
     44  set_variable ("dSYg",  2.35 / dpar[3]);
     45  set_variable ("dSXYg", dpar[4]);
     46  set_variable ("dZpk",  dpar[5]);
     47  set_variable ("dSg",   dpar[6]);
     48*/
    3949}
    4050
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-q2gauss.c

    r42078 r42714  
    4141  set_variable ("Sg",   par[6]);
    4242  set_variable ("Sr", par[7]);
     43
     44/*
     45  set_variable ("dXg",   dpar[0]);
     46  set_variable ("dYg",   dpar[1]);
     47  set_variable ("dSXg",  2.35 / dpar[2]);
     48  set_variable ("dSYg",  2.35 / dpar[3]);
     49  set_variable ("dSXYg", dpar[4]);
     50  set_variable ("dZpk",  dpar[5]);
     51  set_variable ("dSg",   dpar[6]);
     52  set_variable ("dSr",   dpar[7]);
     53*/
    4354}
    4455
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-qfgauss.c

    r39457 r42714  
    4141  set_variable ("Zpk",  par[5]);
    4242  set_variable ("Sg",   par[6]);
     43
     44/*
     45  set_variable ("dXg",   dpar[0]);
     46  set_variable ("dYg",   dpar[1]);
     47  set_variable ("dSXg",  2.35 / dpar[2]);
     48  set_variable ("dSYg",  2.35 / dpar[3]);
     49  set_variable ("dSXYg", dpar[4]);
     50  set_variable ("dZpk",  dpar[5]);
     51  set_variable ("dSg",   dpar[6]);
     52*/
    4353}
    4454
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-qgauss-psf.c

    r39457 r42714  
    3838  set_variable ("Zpk", par[2]);
    3939  set_variable ("Sg",  par[3]);
     40
     41  /*
     42  set_variable ("dXg",  dpar[0]);
     43  set_variable ("dYg",  dpar[1]);
     44  set_variable ("dZpk", dpar[2]);
     45  set_variable ("dSg",  dpar[3]);
     46  */
    4047}
    4148
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-qgauss.c

    r42078 r42714  
    4141  set_variable ("Sg",   par[6]);
    4242  set_variable ("Sr",   par[7]);
     43
     44/*
     45  set_variable ("dXg",   dpar[0]);
     46  set_variable ("dYg",   dpar[1]);
     47  set_variable ("dSXg",  2.35 / dpar[2]);
     48  set_variable ("dSYg",  2.35 / dpar[3]);
     49  set_variable ("dSXYg", dpar[4]);
     50  set_variable ("dZpk",  dpar[5]);
     51  set_variable ("dSg",   dpar[6]);
     52  set_variable ("dSr",   dpar[7]);
     53*/
    4354}
    4455
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-qrgauss.c

    r42078 r42714  
    4242  set_variable ("Sg",   par[6]);
    4343  set_variable ("Npow", par[7]);
     44
     45/*
     46  set_variable ("dXg",   dpar[0]);
     47  set_variable ("dYg",   dpar[1]);
     48  set_variable ("dSXg",  2.35 / dpar[2]);
     49  set_variable ("dSYg",  2.35 / dpar[3]);
     50  set_variable ("dSXYg", dpar[4]);
     51  set_variable ("dZpk",  dpar[5]);
     52  set_variable ("dSg",   dpar[6]);
     53  set_variable ("dNpow",   dpar[7]);
     54*/
    4455}
    4556
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-r2gauss.c

    r42078 r42714  
    8585  set_variable ("SYf", 2.35 * sqrt(2.0) / par[8]);
    8686  set_variable ("SXYf", par[9]);
     87
     88/*
     89  set_variable ("dXg",   dpar[0]);
     90  set_variable ("dYg",   dpar[1]);
     91  set_variable ("dSXg",  2.35 * sqrt(2.0) / dpar[2]);
     92  set_variable ("dSYg",  2.35 * sqrt(2.0) / dpar[3]);
     93  set_variable ("dSXYg", dpar[4]);
     94  set_variable ("dZpk",  dpar[5]);
     95  set_variable ("dSg",   dpar[6]);
     96  set_variable ("dSXf", 2.35 * sqrt(2.0) / dpar[7]);
     97  set_variable ("dSYf", 2.35 * sqrt(2.0) / dpar[8]);
     98  set_variable ("dSXYf", dpar[9]);
     99*/
    87100}
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-rgauss.c

    r42078 r42714  
    4242  set_variable ("Sg",   par[6]);
    4343  set_variable ("Sr",   par[7]);
     44
     45/*
     46  set_variable ("dXg",   dpar[0]);
     47  set_variable ("dYg",   dpar[1]);
     48  set_variable ("dSXg",  2.35 / dpar[2]);
     49  set_variable ("dSYg",  2.35 / dpar[3]);
     50  set_variable ("dSXYg", dpar[4]);
     51  set_variable ("dZpk",  dpar[5]);
     52  set_variable ("dSg",   dpar[6]);
     53  set_variable ("dSr",   dpar[7]);
     54*/
    4455}
    4556
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-sgauss.c

    r39457 r42714  
    4949  set_variable ("SYf", 2.35 / par[8]);
    5050  set_variable ("SXYf", par[9]);
     51
     52/*
     53  set_variable ("dXg",   dpar[0]);
     54  set_variable ("dYg",   dpar[1]);
     55  set_variable ("dSXg",  2.35 / dpar[2]);
     56  set_variable ("dSYg",  2.35 / dpar[3]);
     57  set_variable ("dSXYg", dpar[4]);
     58  set_variable ("dZpk",  dpar[5]);
     59  set_variable ("dSg",   dpar[6]);
     60  set_variable ("dSXf", 2.35 / dpar[7]);
     61  set_variable ("dSYf", 2.35 / dpar[8]);
     62  set_variable ("dSXYf", dpar[9]);
     63*/
    5164}
    5265
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-tgauss.c

    r39457 r42714  
    8080  set_variable ("SYf",  2.35 * sqrt(2.0) / par[8]);
    8181  set_variable ("SXYf", par[9]);
     82
     83/*
     84  set_variable ("dXg",   dpar[0]);
     85  set_variable ("dYg",   dpar[1]);
     86  set_variable ("dSXg",  2.35 * sqrt(2.0) / dpar[2]);
     87  set_variable ("dSYg",  2.35 * sqrt(2.0) / dpar[3]);
     88  set_variable ("dSXYg", dpar[4]);
     89  set_variable ("dZpk",  dpar[5]);
     90  set_variable ("dSg",   dpar[6]);
     91  set_variable ("dSXf",  2.35 * sqrt(2.0) / dpar[7]);
     92  set_variable ("dSYf",  2.35 * sqrt(2.0) / dpar[8]);
     93  set_variable ("dSXYf", dpar[9]);
     94*/
    8295}
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit-vgauss.c

    r39457 r42714  
    6969  set_variable ("SXf", par[7]);
    7070  set_variable ("SYf", par[8]);
     71
     72  /*
     73  set_variable ("dXg",   dpar[0]);
     74  set_variable ("dYg",   dpar[1]);
     75  set_variable ("dSXg",  2.35 / dpar[2]);
     76  set_variable ("dSYg",  2.35 / dpar[3]);
     77  set_variable ("dSXYg", dpar[4]);
     78  set_variable ("dZpk",  dpar[5]);
     79  set_variable ("dSg",   dpar[6]);
     80  set_variable ("dSXf",  dpar[7]);
     81  set_variable ("dSYf",  dpar[8]);
     82  */
    7183}
  • branches/eam_branches/ipp-20230313/Ohana/src/opihi/cmd.astro/imfit.c

    r42078 r42714  
    1313  }
    1414
     15  Buffer *var = NULL;
     16  if ((N = get_argument (argc, argv, "-var-image"))) {
     17    remove_argument (N, &argc, argv);
     18    var = SelectBuffer (argv[N], OLDBUFFER, TRUE);
     19    if (!var) {
     20      gprint (GP_ERR, "unknown buffer for variance %s\n", argv[N]);
     21      FREE (Save);
     22      return (FALSE);
     23    }
     24    remove_argument (N, &argc, argv);
     25  }
     26
    1527  int Insert = FALSE;
    1628  if ((N = get_argument (argc, argv, "-insert"))) {
     
    1830    Insert = TRUE;
    1931    if (Save) { gprint (GP_ERR, "-save and -insert are mutually exclusive\n"); free (Save); return (FALSE); }
     32    if (var)  { gprint (GP_ERR, "-save and -var-image are mutually exclusive\n"); return (FALSE); }
    2033  }
    2134
     
    4053    Gain = atof(argv[N]);
    4154    remove_argument (N, &argc, argv);
     55    if (var) { gprint (GP_ERR, "warning: -var-image selected, -gain will have no effect\n"); }
    4256  }
    4357
     
    4862    RDnoise = atof(argv[N]);
    4963    remove_argument (N, &argc, argv);
     64    if (var) { gprint (GP_ERR, "warning: -var-image selected, -rdnoise will have no effect\n"); }
    5065  }
    5166
     
    140155    if (j + sy >= Ny) continue;
    141156    float *V = (float *)(buf[0].matrix.buffer) + (j+sy)*buf[0].matrix.Naxis[0] + sx;
     157    float *dV = (var) ? ((float *)(var[0].matrix.buffer) + (j+sy)*var[0].matrix.Naxis[0] + sx) : NULL;
    142158    for (int i = 0; i < dX; i++) {
    143159      if (i + sx < 0) continue;
     
    145161      if (*V > SatThreshold) goto next; // skip pixels above threshold
    146162      if (!isfinite(*V)) goto next; // skip nan pixels
    147       dz[N] = (SQ(RDnoise) + MAX(0.0, *V/Gain)); // treat negative pixels as pure read noise
     163      if (dV) {
     164        dz[N] = *dV;
     165      } else {
     166        dz[N] = (SQ(RDnoise) + MAX(0.0, *V/Gain)); // treat negative pixels as pure read noise
     167      }
    148168      if (dz[N] <= 0) goto next;
    149169      dz[N] = 1.0 / dz[N];
     
    154174    next:
    155175      V++;
     176      if (dV) { dV++; }
    156177    }
    157178  }
Note: See TracChangeset for help on using the changeset viewer.