IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 22, 2009, 2:57:41 PM (16 years ago)
Author:
eugene
Message:

various fixes to psastro:

1) added bootstrap resampling to zero point error analysis
2) added iterative clump removal from refstars and rawstars
3) added unique reference match option
4) some improved visualizations
5) improved mosaic iterations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psastro/src/psastroOneChipGrid.c

    r21409 r26259  
    3131
    3232    // generate the bright subset of maxNstar entries (note: rawstars is sorted by S/N)
    33     psArray *subset = psArrayAlloc (PS_MIN (maxNstar, rawstars->n));
     33    psArray *gridStars = psArrayAlloc (PS_MIN (maxNstar, rawstars->n));
    3434    for (int i = 0; (i < maxNstar) && (i < rawstars->n); i++) {
    35         subset->data[i] = psMemIncrRefCounter (rawstars->data[i]);
     35        gridStars->data[i] = psMemIncrRefCounter (rawstars->data[i]);
    3636    }
    3737
    38     // XXX set clump scale from recipe
    39     psArray *gridStars = psastroRemoveClumps (subset, 150);
    40     psFree (subset);
    41 
    42     psArray *refSubset = psastroRemoveClumps (refstars, 150);
    43 
    44     psLogMsg ("psastro", 3, "grid search using %ld raw vs %ld ref stars\n", gridStars->n, refSubset->n);
     38    psLogMsg ("psastro", 3, "grid search using %ld raw vs %ld ref stars\n", gridStars->n, refstars->n);
    4539
    4640    // find initial offset / rotation / scale
    47     pmAstromStats *gridStats = pmAstromGridMatch (gridStars, refSubset, recipe);
     41    pmAstromStats *gridStats = pmAstromGridMatch (gridStars, refstars, recipe);
    4842    if (gridStats == NULL) {
    4943        psLogMsg ("psastro", 3, "failed to find a grid match solution\n");
    5044        psFree (gridStars);
    51         psFree (refSubset);
    5245        return false;
    5346    }
     
    5548
    5649    // tweak the position by finding peak of matches stars
    57     stats = pmAstromGridTweak (gridStars, refSubset, recipe, gridStats);
     50    stats = pmAstromGridTweak (gridStars, refstars, recipe, gridStats);
    5851    if (stats == NULL) {
    5952        psLogMsg ("psastro", 3, "failed to measure tweaked grid solution\n");
    6053        psFree (gridStats);
    6154        psFree (gridStars);
    62         psFree (refSubset);
    6355        return false;
    6456    }
     
    6759    // adjust the chip.toFPA terms only
    6860    pmAstromGridApply (chip->toFPA, stats);
    69     psastroUpdateChipToFPA (fpa, chip, rawstars, refstars);
     61    psastroUpdateChipToFPA (fpa, chip); // updates PSASTRO.RAWSTARS and PSASTRO.REFSTARS
    7062    psFree (gridStats);
    7163    psFree (gridStars);
    72     psFree (refSubset);
    7364    psFree (stats);
    7465
Note: See TracChangeset for help on using the changeset viewer.