IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 5, 2010, 1:37:43 PM (16 years ago)
Author:
eugene
Message:

updates to psphot APIs to enable stack photometry : needed to change some pmSource functions to pass values not recipes

Location:
branches/eam_branches/20091201/psModules
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/20091201/psModules

  • branches/eam_branches/20091201/psModules/src/objects/pmSource.c

    r26623 r26787  
    275275// psphot-specific function which applies the recipe values
    276276// only apply selection to sources within specified region
    277 pmPSFClump pmSourcePSFClump(psRegion *region, psArray *sources, psMetadata *recipe)
     277pmPSFClump pmSourcePSFClump(psImage **savedImage, psRegion *region, psArray *sources, float PSF_SN_LIM, float PSF_CLUMP_GRID_SCALE, psF32 SX_MAX, psF32 SY_MAX, psF32 AR_MAX)
    278278{
    279279    psTrace("psModules.objects", 10, "---- begin ----\n");
     
    285285
    286286    PS_ASSERT_PTR_NON_NULL(sources, errorClump);
    287     PS_ASSERT_PTR_NON_NULL(recipe, errorClump);
    288 
    289     bool status = true;                 // Status of MD lookup
    290     float PSF_SN_LIM = psMetadataLookupF32(&status, recipe, "PSF_SN_LIM");
    291     if (!status) {
    292         PSF_SN_LIM = 0;
    293     }
    294     float PSF_CLUMP_GRID_SCALE = psMetadataLookupF32(&status, recipe, "PSF_CLUMP_GRID_SCALE");
    295     if (!status) {
    296         PSF_CLUMP_GRID_SCALE = 0.1;
    297     }
    298287
    299288    // find the sigmaX, sigmaY clump
    300289    {
    301         psF32 SX_MAX = psMetadataLookupF32(&status, recipe, "MOMENTS_SX_MAX");
    302         if (!status) {
    303             psWarning("MOMENTS_SX_MAX not set in recipe");
    304             SX_MAX = 10.0;
    305         }
    306         psF32 SY_MAX = psMetadataLookupF32(&status, recipe, "MOMENTS_SY_MAX");
    307         if (!status) {
    308             psWarning("MOMENTS_SY_MAX not set in recipe");
    309             SY_MAX = 10.0;
    310         }
    311         psF32 AR_MAX = psMetadataLookupF32(&status, recipe, "MOMENTS_AR_MAX");
    312         if (!status) {
    313             psWarning("MOMENTS_AR_MAX not set in recipe");
    314             AR_MAX =  3.0;
    315         }
    316290        psF32 AR_MIN = 1.0 / AR_MAX;
    317291
     
    399373        psfClump.nSigma = stats->sampleStdev;
    400374
    401         const bool keep_psf_clump = psMetadataLookupBool(NULL, recipe, "KEEP_PSF_CLUMP");
    402         if (keep_psf_clump)
    403         {
    404             psMetadataAdd(recipe, PS_LIST_TAIL,
    405                           "PSF_CLUMP", PS_DATA_IMAGE, "Image of PSF coefficients", splane);
     375        if (savedImage) {
     376            *savedImage = psMemIncrRefCounter(splane);
    406377        }
    407378        psFree (splane);
     
    530501*****************************************************************************/
    531502
    532 bool pmSourceRoughClass(psRegion *region, psArray *sources, psMetadata *recipe, pmPSFClump clump, psImageMaskType maskSat)
     503bool pmSourceRoughClass(psRegion *region, psArray *sources, float PSF_SN_LIM, float PSF_CLUMP_NSIGMA, pmPSFClump clump, psImageMaskType maskSat)
    533504{
    534505    psTrace("psModules.objects", 10, "---- begin ----");
    535506
    536507    PS_ASSERT_PTR_NON_NULL(sources, false);
    537     PS_ASSERT_PTR_NON_NULL(recipe, false);
    538508
    539509    int Nsat     = 0;
     
    548518    psVector *starsn_peaks = psVectorAllocEmpty (sources->n, PS_TYPE_F32);
    549519    psVector *starsn_moments = psVectorAllocEmpty (sources->n, PS_TYPE_F32);
    550 
    551     // get basic parameters, or set defaults
    552     bool status;
    553     float PSF_SN_LIM = psMetadataLookupF32 (&status, recipe, "PSF_SN_LIM");
    554     if (!status) PSF_SN_LIM = 20.0;
    555     float PSF_CLUMP_NSIGMA = psMetadataLookupF32 (&status, recipe, "PSF_CLUMP_NSIGMA");
    556     if (!status) PSF_CLUMP_NSIGMA = 1.5;
    557 
    558     // float INNER_RADIUS = psMetadataLookupF32 (&status, recipe, "SKY_INNER_RADIUS");
    559520
    560521    pmSourceMode noMoments = PM_SOURCE_MODE_MOMENTS_FAILURE | PM_SOURCE_MODE_SKYVAR_FAILURE | PM_SOURCE_MODE_SKY_FAILURE | PM_SOURCE_MODE_BELOW_MOMENTS_SN;
Note: See TracChangeset for help on using the changeset viewer.