IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 4, 2021, 6:05:18 PM (5 years ago)
Author:
eugene
Message:

merge changes from eam_branches/ipp-dev-20210817 (pmPattern updates, new inverse transform extra orders api, forward transform uses ORD, pmSourceIO_CMF.c.in conversion to pmFitsTableNew)

Location:
trunk/psModules
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules

  • trunk/psModules/src/astrom/pmAstrometryModel.c

    r41810 r41892  
    461461    bool status;
    462462
     463    int ExtraOrders = pmAstrometryGetExtraOrders();
     464
    463465    // set FITS cursor
    464466    if (!psFitsMoveExtName (file->fits, "CHIPS")) {
     
    498500        int nY = psMetadataLookupS32(&status, row, "NYORDER"); REQUIRE (status, "missing NYORDER");
    499501        if (chip->toFPA == NULL) {
    500             chip->toFPA = psPlaneTransformAlloc(nX, nY);
     502            chip->toFPA = psPlaneTransformAlloc(nX, nY, PS_POLYNOMIAL_ORD); // chip->fpa uses ordinary poly
    501503        } else {
    502504            REQUIRE (chip->toFPA->x->nX == nX, "mismatch in chip order");
     
    525527        // as of r40806, psPlaneTransformInvert supplies the extra order (if non-linear)
    526528        psFree (chip->fromFPA);
    527         chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 100, 6);
    528 
     529        chip->fromFPA = psPlaneTransformInvert(NULL, chip->toFPA, *region, 50, ExtraOrders);
    529530        psFree (region);
    530531    }
     
    539540
    540541    bool status;
     542
     543    int ExtraOrders = pmAstrometryGetExtraOrders();
    541544
    542545    if (!psFitsMoveExtName (file->fits, "FP")) {
     
    565568        if (file->fpa->toTPA == NULL) {
    566569            // allocate the new transformation
    567             file->fpa->toTPA = psPlaneTransformAlloc(nX, nY);
     570            file->fpa->toTPA = psPlaneTransformAlloc(nX, nY, PS_POLYNOMIAL_ORD); // fpa->tpa uses ORD
    568571        } else {
    569572            REQUIRE (file->fpa->toTPA->x->nX == nX, "mismatch in chip order");
     
    585588    psRegion *region = pmAstromFPAExtent (file->fpa);
    586589
    587     // XXX psFree (file->fpa->fromTPA);
    588     // XXX psPlaneTransform *myPT = psPlaneTransformAlloc(file->fpa->toTPA->x->nX+4, file->fpa->toTPA->x->nY+4);
    589     // XXX file->fpa->fromTPA = psPlaneTransformInvert(myPT, file->fpa->toTPA, *region, 50);
    590     // XXX psFree (myPT);
    591 
    592590    // as of r40806, psPlaneTransformInvert supplies the extra order (if non-linear)
    593591    psFree (file->fpa->fromTPA);
    594     file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region, 100, 6);
     592    file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region, 50, ExtraOrders);
    595593
    596594    psFree (model);
     
    689687    bool status;
    690688
     689    int ExtraOrders = pmAstrometryGetExtraOrders();
     690
    691691    // these externally supplied values are used to set the final transformation terms
    692692    double RA  = psMetadataLookupF64 (&status, concepts, "FPA.RA"); REQUIRE (status, "missing FPA.RA");
     
    728728    psLogMsg ("psModules.astrom", 4, "Position Angle: %f, Model Position Angle Zero Point: %f\n", POS, PosZero);
    729729
    730 //    psPlaneTransform *fromTPA = psPlaneTransformRotate (NULL, file->fpa->fromTPA, rotatorParity * (PosZero - POS));
    731 //    psFree (file->fpa->fromTPA);
    732 //    file->fpa->fromTPA = fromTPA;
    733 
    734730    psPlaneTransform *toTPA = psPlaneTransformRotate (NULL, file->fpa->toTPA, rotatorParity * (POS - PosZero));
    735731    psFree (file->fpa->toTPA);
     
    739735    psRegion *region = pmAstromFPAExtent (file->fpa);
    740736
    741     // XXX psFree (file->fpa->fromTPA);
    742     // XXX psPlaneTransform *myPT = psPlaneTransformAlloc(file->fpa->toTPA->x->nX+4, file->fpa->toTPA->x->nY+4);
    743     // XXX file->fpa->fromTPA = psPlaneTransformInvert(myPT, file->fpa->toTPA, *region, 50);
    744     // XXX psFree (myPT);
    745 
    746737    psFree (file->fpa->fromTPA);
    747     file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region,100, 10);
     738    file->fpa->fromTPA = psPlaneTransformInvert(NULL, file->fpa->toTPA, *region, 50, ExtraOrders);
    748739
    749740    psFree (region);
Note: See TracChangeset for help on using the changeset viewer.