IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14969


Ignore:
Timestamp:
Sep 21, 2007, 8:55:12 AM (19 years ago)
Author:
eugene
Message:

converting psf parameters to pmTrend2D

Location:
branches/eam_branch_20070921/psModules/src/objects
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20070921/psModules/src/objects/pmPSF.c

    r14961 r14969  
    66 *  @author EAM, IfA
    77 *
    8  *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2007-09-21 02:46:25 $
     8 *  @version $Revision: 1.28.2.1 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2007-09-21 18:55:11 $
    1010 *
    1111 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    6464/*****************************************************************************/
    6565
     66static void pmPSFOptionsFree (pmPSFOptions *options) {
     67
     68    return;
     69}
     70
     71pmPSFOptions *pmPSFOptionsAlloc () {
     72
     73    pmPSFOptions *options = (pmPSFOptions *) psAlloc(sizeof(pmPSFOptions));
     74
     75    options->type          = 0;
     76    options->poissonErrors = false;
     77    options->psfTrendMode  = PM_TREND_MAP;
     78    options->psfTrendNx    = 0;
     79    options->psfTrendNy    = 0;
     80}
     81
    6682/*****************************************************************************
    6783pmPSFFree(psf): function to free a pmPSF structure
     
    94110 Object Normalization
    95111 *****************************************************************************/
    96 pmPSF *pmPSFAlloc (pmModelType type, bool poissonErrors, psPolynomial2D *psfTrendMask)
     112pmPSF *pmPSFAlloc (pmPSFOptions *options)
    97113{
    98114    int Nparams;
     
    100116    pmPSF *psf = (pmPSF *) psAlloc(sizeof(pmPSF));
    101117
    102     psf->type     = type;
     118    psf->type     = options->type;
    103119    psf->chisq    = 0.0;
    104120    psf->ApResid  = 0.0;
     
    108124    psf->nPSFstars  = 0;
    109125    psf->nApResid   = 0;
    110     psf->poissonErrors = poissonErrors;
     126    psf->poissonErrors = options->poissonErrors;
    111127
    112128    // the ApTrend components are (x, y).  It may be represented with a polynomial or with a
     
    147163    // PM_PAR_XPOS, etc)
    148164
     165    // XXX define new structure to carry in the psf options
    149166    if (psfTrendMask) {
    150167        for (int i = 0; i < psf->params->n; i++) {
     
    158175                continue;
    159176
    160             psPolynomial2D *param = psPolynomial2DAlloc(PS_POLYNOMIAL_ORD, psfTrendMask->nX, psfTrendMask->nY);
    161             for (int nx = 0; nx < param->nX + 1; nx++) {
    162                 for (int ny = 0; ny < param->nY + 1; ny++) {
    163                     param->mask[nx][ny] = psfTrendMask->mask[nx][ny];
    164                 }
    165             }
     177            // XXX need to set stats, image
     178            pmTrend2D *param = pmTrend2DAlloc (options->psfTrendMode, image, options->psfTrendNx, options->psfTrendNx, stats);
    166179            psf->params->data[i] = param;
    167180        }
  • branches/eam_branch_20070921/psModules/src/objects/pmPSF.h

    r14936 r14969  
    66 * @author EAM, IfA
    77 *
    8  * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
    9  * @date $Date: 2007-09-21 00:05:35 $
     8 * @version $Revision: 1.16.2.1 $ $Name: not supported by cvs2svn $
     9 * @date $Date: 2007-09-21 18:55:12 $
    1010 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
    1111 */
     
    1919// type of model carried by the pmModel structure
    2020typedef int pmModelType;
    21 
    22 typedef enum {
    23     PM_PSF_APTREND_ERROR = 0,
    24     PM_PSF_APTREND_NONE,
    25     PM_PSF_APTREND_CONSTANT,
    26     PM_PSF_APTREND_SKYBIAS,
    27     PM_PSF_APTREND_SKYSAT,
    28     PM_PSF_APTREND_XY_LIN,
    29     PM_PSF_APTREND_XY_QUAD,
    30     PM_PSF_APTREND_SKY_XY_LIN,
    31     PM_PSF_APTREND_SKYSAT_XY_LIN,
    32     PM_PSF_APTREND_ALL
    33 } pmPSFApTrendOptions;
    3421
    3522/** pmPSF data structure
     
    6552pmPSF;
    6653
     54typedef struct {
     55    pmModelType   type;
     56    bool          poissonErrors;
     57    pmTrend2DMode psfTrendMode;
     58    int           psfTrendNx;
     59    int           psfTrendNy;
     60} pmPSFOptions;
     61
    6762# define PM_PAR_E0 PM_PAR_SXX
    6863# define PM_PAR_E1 PM_PAR_SYY
  • branches/eam_branch_20070921/psModules/src/objects/pmPSF_IO.c

    r14936 r14969  
    66 *  @author EAM, IfA
    77 *
    8  *  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
    9  *  @date $Date: 2007-09-21 00:05:57 $
     8 *  @version $Revision: 1.22.2.1 $ $Name: not supported by cvs2svn $
     9 *  @date $Date: 2007-09-21 18:55:12 $
    1010 *
    1111 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    150150// - image header        : FITS Image NAXIS = 0
    151151// - psf table (+header) : FITS Table
     152// XXX if we are using psImageMap, this is also a FITS Image, with header data
    152153// - psf resid (+header) : FITS Image
    153154// if needed, we also write out a PHU blank header
     
    356357    // XXX save the growth curve
    357358    // XXX save ApTrend (as image?)
     359    // XXX write the ApTrend with the same API as will be used for the PSF parameters above
    358360
    359361# if (0)
     
    618620
    619621// create a psMetadata representation (human-readable) of a psf model
     622// XXX drop this function?
    620623psMetadata *pmPSFtoMetadata (psMetadata *metadata, pmPSF *psf)
    621624{
     
    654657
    655658// parse a psMetadata representation (human-readable) of a psf model
     659// XXX drop this function?
    656660pmPSF *pmPSFfromMetadata (psMetadata *metadata)
    657661{
  • branches/eam_branch_20070921/psModules/src/objects/pmTrend2D.c

    r14938 r14969  
    33 *  @author EAM, IfA
    44 *
    5  *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    6  *  @date $Date: 2007-09-21 00:09:18 $
     5 *  @version $Revision: 1.2.2.1 $ $Name: not supported by cvs2svn $
     6 *  @date $Date: 2007-09-21 18:55:12 $
    77 *
    88 *  Copyright 2004 Institute for Astronomy, University of Hawaii
     
    8282      case PM_TREND_POLY_ORD:
    8383        trend->poly = psPolynomial2DAlloc (PS_POLYNOMIAL_ORD, nXtrend, nYtrend);
     84        // set masking somehow
     85        for (int nx = 0; nx < trend->poly->nX + 1; nx++) {
     86            for (int ny = 0; ny < trend->poly->nY + 1; ny++) {
     87                trend->poly->mask[nx][ny] = XXX;
     88            }
     89        }
    8490        break;
    8591
Note: See TracChangeset for help on using the changeset viewer.