IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 42330


Ignore:
Timestamp:
Jan 30, 2023, 9:42:43 AM (3 years ago)
Author:
eugene
Message:

adding code to support the new (2023.01.30) non-linearity analysis based on new models determined by Hua Gao; deactivate spline option for overscan (was never correctly defined)

Location:
branches/eam_branches/psModules.20230123/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.c

    r41892 r42330  
    539539    if (!strcasecmp(type, "LINEARITY"))  {
    540540      return PM_FPA_FILE_LINEARITY;
     541    }
     542    if (!strcasecmp(type, "NEWNONLIN"))  {
     543      return PM_FPA_FILE_NEWNONLIN;
    541544    }
    542545    if (!strcasecmp(type, "ASTROM"))     {
  • branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.h

    r41892 r42330  
    5454    PM_FPA_FILE_PATTERN_ROW_AMP,
    5555    PM_FPA_FILE_LINEARITY,
     56    PM_FPA_FILE_NEWNONLIN,
    5657    PM_FPA_FILE_EXPNUM,
    5758} pmFPAfileType;
  • branches/eam_branches/psModules.20230123/src/camera/pmFPAfileIO.c

    r41892 r42330  
    282282      case PM_FPA_FILE_KAPA:
    283283      case PM_FPA_FILE_LINEARITY:
     284      case PM_FPA_FILE_NEWNONLIN:
    284285        break;
    285286      default:
     
    638639      case PM_FPA_FILE_PATTERN_ROW_AMP:
    639640      case PM_FPA_FILE_LINEARITY:
     641      case PM_FPA_FILE_NEWNONLIN:
    640642      case PM_FPA_FILE_EXPNUM:
    641643        psTrace ("psModules.camera", 5, "closing %s (%s) (%d:%d:%d)\n", file->filename, file->name, view->chip, view->cell, view->readout);
     
    722724      case PM_FPA_FILE_KAPA:
    723725      case PM_FPA_FILE_LINEARITY:
     726      case PM_FPA_FILE_NEWNONLIN:
    724727        psTrace ("psModules.camera", 5, "nothing to free for %s (%s)\n", file->filename, file->name);
    725728        return true;
     
    881884      case PM_FPA_FILE_PATTERN_ROW_AMP:
    882885      case PM_FPA_FILE_LINEARITY:
     886      case PM_FPA_FILE_NEWNONLIN:
    883887      case PM_FPA_FILE_EXPNUM:
    884888        psTrace ("psModules.camera", 5, "opening %s (%s) (%d:%d:%d)\n",
  • branches/eam_branches/psModules.20230123/src/detrend/Makefile.am

    r28043 r42330  
    1010        pmMaskStats.c \
    1111        pmNonLinear.c \
     12        pmNewNonLinear.c \
    1213        pmBias.c \
    1314        pmOverscan.c \
     
    3031        pmMaskStats.h \
    3132        pmNonLinear.h \
     33        pmNewNonLinear.h \
    3234        pmBias.h \
    3335        pmOverscan.h \
  • branches/eam_branches/psModules.20230123/src/detrend/pmDetrendDB.h

    r41892 r42330  
    3939    PM_DETREND_TYPE_VIDEODARK,
    4040    PM_DETREND_TYPE_LINEARITY,
     41    PM_DETREND_TYPE_NEWNONLIN,
    4142    PM_DETREND_TYPE_AUXMASK,
    4243    PM_DETREND_TYPE_KH_CORRECT,
  • branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.c

    r42327 r42330  
    88// model is stored as a FITS table, read into an array
    99// each row is one knot, with (X, Y, dY2)
    10 bool pmNonLinearityApply(pmReadout *inputReadout, psArray *table)
     10bool pmNewNonLinearityApply(pmReadout *inputReadout, psArray *table)
    1111{
     12    PS_ASSERT_PTR_NON_NULL(table, false);
    1213    PS_ASSERT_PTR_NON_NULL(inputReadout, false);
    1314    PS_ASSERT_PTR_NON_NULL(inputReadout->image, false);
    1415    PS_ASSERT_IMAGE_TYPE(inputReadout->image, PS_TYPE_F32, false);
    15     PS_ASSERT_PTR_NON_NULL(Ltab, false);
    1616
    1717    psTimerStart ("nonlinear");
     
    2626        psMetadata *row = table->data[i];
    2727       
     28        bool status;
    2829        model->xKnots[i]   = psMetadataLookupF32(&status, row, "X_KNOT");
    2930        model->yKnots[i]   = psMetadataLookupF32(&status, row, "Y_KNOT");
  • branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.h

    r42327 r42330  
    1313
    1414/// Correct non-linearity using spline
    15 bool pmNonLinearityApply(pmReadout *inputReadout, psArray *table);
     15bool pmNewNonLinearityApply(pmReadout *inputReadout, psArray *table);
    1616
    1717/// @}
  • branches/eam_branches/psModules.20230123/src/detrend/pmOverscan.c

    r42327 r42330  
    141141        // output spline.  EAM: still true 2023.01.22
    142142
    143         overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate);
    144         fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate);
     143        // overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate);
     144        // fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate);
     145        psError(PS_ERR_UNKNOWN, true, "Spline overscan fitting is broken\n");
    145146        break;
    146147      default:
     
    188189      }
    189190      case PM_FIT_SPLINE: {
     191        /*
    190192          psSpline1D *spline = overscanOpts->spline; // The spline
    191193          for (int i = 0; i < spline->n; i++) {
     
    200202              comment = NULL;
    201203          }
     204        */
    202205          // write metadata header value
    203206          psMetadataAddF32(hdu->header, PS_LIST_TAIL, "OVER_VAL", PS_META_REPLACE,
  • branches/eam_branches/psModules.20230123/src/psmodules.h

    r36856 r42330  
    7777#include <pmMaskStats.h>
    7878#include <pmNonLinear.h>
     79#include <pmNewNonLinear.h>
    7980#include <pmOverscan.h>
    8081#include <pmBias.h>
Note: See TracChangeset for help on using the changeset viewer.