IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5467


Ignore:
Timestamp:
Nov 3, 2005, 2:29:46 PM (21 years ago)
Author:
Paul Price
Message:

Non-linearity working

Location:
trunk/archive/scripts/src/phase2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/archive/scripts/src/phase2/ipprc.config

    r5105 r5467  
    2323        pmConfigRead            S32     10
    2424        pmFPARead               S32     10
     25        pap                     S32     10
    2526END
  • trunk/archive/scripts/src/phase2/papPhase2.c

    r5464 r5467  
    516516                                if (coeff->type.type != PS_TYPE_F64) {
    517517                                    psVector *temp = psVectorCopy(NULL, coeff, PS_TYPE_F64); // F64 version
    518                                     psFree(coeff);
    519518                                    coeff = temp;
    520519                                }
    521                                 psPolynomial1D *correction = psPolynomial1DAlloc(PS_POLYNOMIAL_ORD,
    522                                                                                  coeff->n + 1);
    523                                 for (int i = 0; i < coeff->n; i++) {
    524                                     correction->coeff[i] = coeff->data.F64[i];
    525                                 }
     520                                psPolynomial1D *correction = psPolynomial1DAlloc(coeff->n - 1,
     521                                                                                 PS_POLYNOMIAL_ORD);
     522                                psFree(correction->coeff);
     523                                correction->coeff = psMemIncrRefCounter(coeff->data.F64);
    526524                                (void)pmNonLinearityPolynomial(inputReadout, correction);
    527525                                psFree(coeff);
     
    541539                                    (void)pmNonLinearityLookup(inputReadout, table);
    542540#else
    543                                     printf("XXX: Non-linearity with lookup table not yet implemented.\n");
     541                                    psVector *influx = table->values->data[0];
     542                                    psVector *outflux = table->values->data[1];
     543                                    (void)pmNonLinearityLookup(inputReadout, table->values->data[0],
     544                                                               table->values->data[1]);
    544545#endif
    545546                                }
  • trunk/archive/scripts/src/phase2/phase2.config

    r5464 r5467  
    1515# Non-linearity correction
    1616NONLIN.SOURCE           STR     CHIP.NAME       # How to determine the source
    17 # @NONLIN.SOURCE        STR     0.0 1.001 0.001 # A polynomial
    18 NONLIN.DATA             METADATA                # Source of non-linearity data
    19         ccd00           STR     nonlin00.dat    # A lookup table
    20         @ccd01          F32     0.0 1.001 0.001 # A polynomial
    21         @ccd02          F32     0.0 1.001 0.001 # A polynomial
    22         @ccd03          F32     1.2345          # A polynomial
    23         @ccd04          F32     0.0 1.001 0.001 # A polynomial
    24         @ccd05          F32     0.0 1.001 0.001 # A polynomial
    25         @ccd06          F32     0.0 1.001 0.001 # A polynomial
    26         @ccd07          F32     0.0 1.001 0.001 # A polynomial
    27         @ccd08          F32     0.0 1.001 0.001 # A polynomial
    28         @ccd09          F32     0.0 1.001 0.001 # A polynomial
    29         @ccd10          F32     0.0 1.001 0.001 # A polynomial
    30         @ccd11          F32     0.0 1.001 0.001 # A polynomial
    31         @ccd12          F32     0.0 1.001 0.001 # A polynomial
    32         @ccd13          F32     0.0 1.001 0.001 # A polynomial
    33         @ccd14          F32     0.0 1.001 0.001 # A polynomial
    34         @ccd15          F32     0.0 1.001 0.001 # A polynomial
    35         @ccd16          F32     0.0 1.001 0.001 # A polynomial
    36         @ccd17          F32     0.0 1.001 0.001 # A polynomial
    37         @ccd18          F32     0.0 1.001 0.001 # A polynomial
    38         @ccd19          F32     0.0 1.001 0.001 # A polynomial
    39         @ccd10          F32     0.0 1.001 0.001 # A polynomial
    40         @ccd21          F32     0.0 1.001 0.001 # A polynomial
    41         @ccd22          F32     0.0 1.001 0.001 # A polynomial
    42         @ccd23          F32     0.0 1.001 0.001 # A polynomial
    43         @ccd24          F32     0.0 1.001 0.001 # A polynomial
    44         @ccd25          F32     0.0 1.001 0.001 # A polynomial
    45         @ccd26          F32     0.0 1.001 0.001 # A polynomial
    46         @ccd27          F32     0.0 1.001 0.001 # A polynomial
    47         @ccd28          F32     0.0 1.001 0.001 # A polynomial
    48         @ccd29          F32     0.0 1.001 0.001 # A polynomial
    49         @ccd30          F32     0.0 1.001 0.001 # A polynomial
    50         @ccd31          F32     0.0 1.001 0.001 # A polynomial
    51         @ccd32          F32     0.0 1.001 0.001 # A polynomial
    52         @ccd33          F32     0.0 1.001 0.001 # A polynomial
    53         @ccd34          F32     0.0 1.001 0.001 # A polynomial
    54         @ccd35          F32     0.0 1.001 0.001 # A polynomial
    55         @ccd36          F32     0.0 1.001 0.001 # A polynomial
    56 END
     17#@NONLIN.DATA           F32     0.0 1.001 0.001 # A polynomial
     18NONLIN.DATA             STR     nonlin.dat      # Filename for lookup table
     19#NONLIN.DATA            METADATA                # Source of non-linearity data
     20#       ccd00           STR     nonlin00.dat    # A lookup table
     21#       @ccd01          F32     0.0 1.001 0.001 # A polynomial
     22#       @ccd02          F32     0.0 1.001 0.001 # A polynomial
     23#       @ccd03          F32     1.2345          # A polynomial
     24#       @ccd04          F32     0.0 1.001 0.001 # A polynomial
     25#       @ccd05          F32     0.0 1.001 0.001 # A polynomial
     26#       @ccd06          F32     0.0 1.001 0.001 # A polynomial
     27#       @ccd07          F32     0.0 1.001 0.001 # A polynomial
     28#       @ccd08          F32     0.0 1.001 0.001 # A polynomial
     29#       @ccd09          F32     0.0 1.001 0.001 # A polynomial
     30#       @ccd10          F32     0.0 1.001 0.001 # A polynomial
     31#       @ccd11          F32     0.0 1.001 0.001 # A polynomial
     32#       @ccd12          F32     0.0 1.001 0.001 # A polynomial
     33#       @ccd13          F32     0.0 1.001 0.001 # A polynomial
     34#       @ccd14          F32     0.0 1.001 0.001 # A polynomial
     35#       @ccd15          F32     0.0 1.001 0.001 # A polynomial
     36#       @ccd16          F32     0.0 1.001 0.001 # A polynomial
     37#       @ccd17          F32     0.0 1.001 0.001 # A polynomial
     38#       @ccd18          F32     0.0 1.001 0.001 # A polynomial
     39#       @ccd19          F32     0.0 1.001 0.001 # A polynomial
     40#       @ccd10          F32     0.0 1.001 0.001 # A polynomial
     41#       @ccd21          F32     0.0 1.001 0.001 # A polynomial
     42#       @ccd22          F32     0.0 1.001 0.001 # A polynomial
     43#       @ccd23          F32     0.0 1.001 0.001 # A polynomial
     44#       @ccd24          F32     0.0 1.001 0.001 # A polynomial
     45#       @ccd25          F32     0.0 1.001 0.001 # A polynomial
     46#       @ccd26          F32     0.0 1.001 0.001 # A polynomial
     47#       @ccd27          F32     0.0 1.001 0.001 # A polynomial
     48#       @ccd28          F32     0.0 1.001 0.001 # A polynomial
     49#       @ccd29          F32     0.0 1.001 0.001 # A polynomial
     50#       @ccd30          F32     0.0 1.001 0.001 # A polynomial
     51#       @ccd31          F32     0.0 1.001 0.001 # A polynomial
     52#       @ccd32          F32     0.0 1.001 0.001 # A polynomial
     53#       @ccd33          F32     0.0 1.001 0.001 # A polynomial
     54#       @ccd34          F32     0.0 1.001 0.001 # A polynomial
     55#       @ccd35          F32     0.0 1.001 0.001 # A polynomial
     56#       @ccd36          F32     0.0 1.001 0.001 # A polynomial
     57#END
    5758
    5859# Overscan subtraction
  • trunk/archive/scripts/src/phase2/testing.txt

    r5465 r5467  
    6161CELL.TRIMSEC (assuming the non-linearity is from the CCD itself, not
    6262the amplifier).  It's fairly slow, but that might be because of the
    63 multiple trace messages in the polynomial evaluation.
     63multiple trace messages in the polynomial evaluation.  Got the
     64individual correction parameters working.  Now need to do the lookup
     65table.
Note: See TracChangeset for help on using the changeset viewer.