IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 42338


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

merge from branches/eam_branches/psModules.20230123: add new non-linearity correction using new psSpline

Location:
trunk/psModules
Files:
8 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/psModules

  • trunk/psModules/src/camera/pmFPAfile.c

    r41892 r42338  
    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"))     {
  • trunk/psModules/src/camera/pmFPAfile.h

    r41892 r42338  
    5454    PM_FPA_FILE_PATTERN_ROW_AMP,
    5555    PM_FPA_FILE_LINEARITY,
     56    PM_FPA_FILE_NEWNONLIN,
    5657    PM_FPA_FILE_EXPNUM,
    5758} pmFPAfileType;
  • trunk/psModules/src/camera/pmFPAfileIO.c

    r41892 r42338  
    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",
  • trunk/psModules/src/detrend/Makefile.am

    r28043 r42338  
    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 \
  • trunk/psModules/src/detrend/pmDetrendDB.h

    r41892 r42338  
    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,
  • trunk/psModules/src/detrend/pmOverscan.c

    r39499 r42338  
    136136        break;
    137137      case PM_FIT_SPLINE:
    138         // XXX I don't think psSpline1D is up to scratch yet --- it has no mask, and requires an
    139         // input spline
    140         overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate);
    141         fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate);
     138
     139        // XXX I don't think psSpline1D is up to scratch yet --- it has no mask, and it assumes
     140        // a knot for every input point.  it needs an argument like 'number of knots' for the
     141        // output spline.  EAM: still true 2023.01.22
     142
     143        // overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate);
     144        // fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate);
     145        psError(PS_ERR_UNKNOWN, true, "Spline overscan fitting is broken\n");
    142146        break;
    143147      default:
     
    185189      }
    186190      case PM_FIT_SPLINE: {
     191        /*
    187192          psSpline1D *spline = overscanOpts->spline; // The spline
    188193          for (int i = 0; i < spline->n; i++) {
     
    197202              comment = NULL;
    198203          }
     204        */
    199205          // write metadata header value
    200206          psMetadataAddF32(hdu->header, PS_LIST_TAIL, "OVER_VAL", PS_META_REPLACE,
  • trunk/psModules/src/psmodules.h

    r36856 r42338  
    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.