IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 31, 2012, 11:50:18 AM (14 years ago)
Author:
eugene
Message:

merge changes from trunk

Location:
branches/eam_branches/ipp-20120627/psphot
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20120627/psphot

  • branches/eam_branches/ipp-20120627/psphot/src

  • branches/eam_branches/ipp-20120627/psphot/src/psphotExtendedSourceFits.c

    r34190 r34247  
    175175            psArrayAdd(job->args, 1, cells->data[j]); // sources
    176176            psArrayAdd(job->args, 1, models);
     177            // Allocate a metadata iterator here because psMetadataIteratorAlloc/Free are not thread safe
     178            psMetadataIterator *iter = psMetadataIteratorAlloc (models, PS_LIST_HEAD, NULL);
     179            psArrayAdd(job->args, 1, iter);
    177180            psArrayAdd(job->args, 1, AnalysisRegion); // XXX make a pointer
    178181
     
    203206            }
    204207            psScalar *scalar = NULL;
    205             scalar = job->args->data[7];
     208            scalar = job->args->data[8];
    206209            Next += scalar->data.S32;
    207             scalar = job->args->data[8];
     210            scalar = job->args->data[9];
    208211            Nconvolve += scalar->data.S32;
    209             scalar = job->args->data[9];
     212            scalar = job->args->data[10];
    210213            NconvolvePass += scalar->data.S32;
    211             scalar = job->args->data[10];
     214            scalar = job->args->data[11];
    212215            Nplain += scalar->data.S32;
    213             scalar = job->args->data[11];
     216            scalar = job->args->data[12];
    214217            NplainPass += scalar->data.S32;
    215             scalar = job->args->data[12];
     218            scalar = job->args->data[13];
    216219            Nfaint += scalar->data.S32;
    217             scalar = job->args->data[13];
     220            scalar = job->args->data[14];
    218221            Nfail += scalar->data.S32;
     222            psFree(job->args->data[3]); // iterator allocated above
    219223            psFree(job);
    220224# endif
     
    235239            } else {
    236240                psScalar *scalar = NULL;
    237                 scalar = job->args->data[7];
     241                scalar = job->args->data[8];
    238242                Next += scalar->data.S32;
    239                 scalar = job->args->data[8];
     243                scalar = job->args->data[9];
    240244                Nconvolve += scalar->data.S32;
    241                 scalar = job->args->data[9];
     245                scalar = job->args->data[10];
    242246                NconvolvePass += scalar->data.S32;
    243                 scalar = job->args->data[10];
     247                scalar = job->args->data[11];
    244248                Nplain += scalar->data.S32;
    245                 scalar = job->args->data[11];
     249                scalar = job->args->data[12];
    246250                NplainPass += scalar->data.S32;
    247                 scalar = job->args->data[12];
     251                scalar = job->args->data[13];
    248252                Nfaint += scalar->data.S32;
    249                 scalar = job->args->data[13];
     253                scalar = job->args->data[14];
    250254                Nfail += scalar->data.S32;
     255                psFree(job->args->data[3]); // metadata iterator allocated above
    251256            }
    252257            psFree(job);
     
    285290    psArray *sources        = job->args->data[1];
    286291    psMetadata *models      = job->args->data[2];
    287     psRegion *region        = job->args->data[3];
    288     int psfSize             = PS_SCALAR_VALUE(job->args->data[4],S32);
    289     psImageMaskType maskVal = PS_SCALAR_VALUE(job->args->data[5],PS_TYPE_IMAGE_MASK_DATA);
    290     psImageMaskType markVal = PS_SCALAR_VALUE(job->args->data[6],PS_TYPE_IMAGE_MASK_DATA);
     292    psMetadataIterator *iter = job->args->data[3];
     293    psRegion *region        = job->args->data[4];
     294    int psfSize             = PS_SCALAR_VALUE(job->args->data[5],S32);
     295    psImageMaskType maskVal = PS_SCALAR_VALUE(job->args->data[6],PS_TYPE_IMAGE_MASK_DATA);
     296    psImageMaskType markVal = PS_SCALAR_VALUE(job->args->data[7],PS_TYPE_IMAGE_MASK_DATA);
    291297
    292298    // Define source fitting parameters for extended source fits
     
    338344
    339345        // loop here over the models chosen for each source (exclude by S/N)
    340         psMetadataIterator *iter = psMetadataIteratorAlloc (models, PS_LIST_HEAD, NULL);
     346        // Reset the iterator
     347        psMetadataIteratorSet(iter, PS_LIST_HEAD);
    341348        psMetadataItem *item = NULL;
    342349        while ((item = psMetadataGetAndIncrement (iter)) != NULL) {
     
    428435          psFree (modelFit);
    429436        }
    430         psFree (iter);
    431437
    432438        // evaluate the relative quality of the models, choose one
     
    489495
    490496    // change the value of a scalar on the array (wrap this and put it in psArray.h)
    491     scalar = job->args->data[7];
     497    scalar = job->args->data[8];
    492498    scalar->data.S32 = Next;
    493499
    494     scalar = job->args->data[8];
     500    scalar = job->args->data[9];
    495501    scalar->data.S32 = Nconvolve;
    496502
    497     scalar = job->args->data[9];
     503    scalar = job->args->data[10];
    498504    scalar->data.S32 = NconvolvePass;
    499505
    500     scalar = job->args->data[10];
     506    scalar = job->args->data[11];
    501507    scalar->data.S32 = Nplain;
    502508
    503     scalar = job->args->data[11];
     509    scalar = job->args->data[12];
    504510    scalar->data.S32 = NplainPass;
    505511
    506     scalar = job->args->data[12];
     512    scalar = job->args->data[13];
    507513    scalar->data.S32 = Nfaint;
    508514
    509     scalar = job->args->data[13];
     515    scalar = job->args->data[14];
    510516    scalar->data.S32 = Nfail;
    511517
Note: See TracChangeset for help on using the changeset viewer.