[fitsbits] WCSLIB issue with PV values, SCAMP projection parameters.

Sean Mattingly Smattacus at gmail.com
Fri Oct 10 20:12:30 EDT 2008


Hi everyone,

I've been using WCSLIB to convert some pixel coordinates to world
coordinates in a photometry calibration program that I'm currently
developing, in C. Due to the nature of some constraints, I'm reading
in projection parameters from a text file, and then feeding them
directly to a wcsprm struct. However, when I set the struct using
wcsset, some of the PV values in the struct change in a strange way!
I've put on a printout of a projection parameter file that I read in,
and the resulting struct from it.

What interests me is that, in the PV column, the PV1_1, PV1_2, PV1_3,
and PV1_4 values are extremely different than what I initially fed
into the struct before setting it. One can easily see this comparing
the projection file and printout from wcsprt().

The projection parameters I am using for this are from SCAMP, an
astrometric calibration tool used at Terapix on CFHT and other data.

What is strange about my parameters that I'm feeding in is that there
is no PV1_3 or PV2_3, even though it ranges from PV1,2_0 to PV1,2_10
(see .ascii headers I've attached). Currently I just put it in as
zero. Has anyone had an issue like this before? I'm going to start
looking through the wcsset code and see if perhaps something is
behaving strangely.

Thank you so much in advance for any assistance!
Sean Mattingly
IPAC,  Caltech
seanm at ipac.caltech.edu

----------------------------------------Begin Attach.

****ASCII header file. This contains the projection parameters I feed
into the wcsprm. ******

HISTORY   Astrometric solution by SCAMP version 1.4.6 (2008-09-15)
COMMENT   (c) Emmanuel BERTIN <bertin at iap.fr>
COMMENT
EQUINOX =            2000.0000 / Mean
equinox
RADECSYS= 'FK4     '           / Astrometric
system
CTYPE1  = 'RA---TAN'           / WCS projection type for this
axis
CTYPE2  = 'DEC--TAN'           / WCS projection type for this
axis
CUNIT1  = 'deg     '           / Axis
unit
CUNIT2  = 'deg     '           / Axis
unit
CRVAL1  =      2.811714649E+02 / World coordinate on this
axis
CRVAL2  =      5.230562978E+01 / World coordinate on this
axis
CRPIX1  =      4.210600000E+03 / Reference pixel on this
axis
CRPIX2  =      4.042300000E+03 / Reference pixel on this
axis
CD1_1   =      5.645524433E-05 / Linear projection
matrix
CD1_2   =     -6.875181636E-07 / Linear projection
matrix
CD2_1   =     -8.675544002E-07 / Linear projection
matrix
CD2_2   =     -5.680880690E-05 / Linear projection
matrix
PV1_0   =      7.185625209E-04 / Projection distortion
parameter
PV1_1   =      1.009100977E+00 / Projection distortion
parameter
PV1_2   =      5.012161938E-03 / Projection distortion
parameter
PV1_4   =      1.447277893E-02 / Projection distortion
parameter
PV1_5   =      3.736379604E-02 / Projection distortion
parameter
PV1_6   =     -3.298217608E-03 / Projection distortion
parameter
PV1_7   =     -1.013329269E-01 / Projection distortion
parameter
PV1_8   =      8.673834317E-02 / Projection distortion
parameter
PV1_9   =     -3.865599315E-02 / Projection distortion
parameter
PV1_10  =     -3.429112379E-02 / Projection distortion
parameter
PV2_0   =     -1.384981525E-03 / Projection distortion
parameter
PV2_1   =      9.898633315E-01 / Projection distortion
parameter
PV2_2   =     -1.619639610E-02 / Projection distortion
parameter
PV2_4   =      4.868387579E-02 / Projection distortion
parameter
PV2_5   =     -2.870213784E-02 / Projection distortion
parameter
PV2_6   =     -6.204489712E-02 / Projection distortion
parameter
PV2_7   =     -7.859607786E-02 / Projection distortion
parameter
PV2_8   =      6.539564176E-03 / Projection distortion
parameter
PV2_9   =     -5.253163953E-02 / Projection distortion
parameter
PV2_10  =     -7.477271745E-02 / Projection distortion
parameter
FGROUPNO=                    2 / SCAMP field group
label
ASTIRMS1=      5.470387003E-05 / Astrom. dispersion RMS (intern., high
S/N)
ASTIRMS2=      2.770450580E-05 / Astrom. dispersion RMS (intern., high
S/N)
ASTRRMS1=      2.902002638E-04 / Astrom. dispersion RMS (ref., high S/
N)
ASTRRMS2=      4.848293648E-04 / Astrom. dispersion RMS (ref., high S/
N)
ASTINST =                    1 / SCAMP astrometric instrument
label
FLXSCALE=      1.124471704E-03 / SCAMP relative flux
scale
MAGZEROP=               0.0000 / SCAMP zero-
point
PHOTIRMS=               0.2428 / mag dispersion RMS (internal, high S/
N)
PHOTINST=                    1 / SCAMP photometric instrument
label
PHOTLINK=                    F / True if linked to a photometric
field
END

*************Output from WCSLIBS wcsprt() of the same wcsprm
struct.*******************

       flag: 137
      naxis: 2
      crpix: 0x5002e0
               4210.6       4042.3
         pc: 0x5005c0
    pc[0][]:   5.6455e-05  -6.8752e-07
    pc[1][]:  -8.6755e-07  -5.6809e-05
      cdelt: 0x5005e0
               1            1
      crval: 0x5005f0
               281.17       52.306
      cunit: 0x502e30
             "deg"
             "deg"
      ctype: 0x502ec0
             "RA---TAN"
             "DEC--TAN"
    lonpole: 180.000000
    latpole: 52.305630
    restfrq: 0.000000
    restwav: 0.000000
        npv: 22
     npvmax: 22
         pv: 0x180a800
               1   0   0.00071856
               1   1   0
               1   2   90
               1   3   180
               1   4   52.306
               1   5   0.037364
               1   6  -0.0032982
               1   7  -0.10133
               1   8   0.086738
               1   9  -0.038656
               1  10  -0.034291
               2   0  -0.001385
               2   1   0.98986
               2   2  -0.016196
               2   3   0
               2   4   0.048684
               2   5  -0.028702
               2   6  -0.062045
               2   7  -0.078596
               2   8   0.0065396
               2   9  -0.052532
               2  10  -0.074773
        nps: 0
     npsmax: 8
         ps: 0x180ac00
     altlin: 2
         cd: 0x502f50
    cd[0][]:   5.6455e-05  -6.8752e-07
    cd[1][]:  -8.6755e-07  -5.6809e-05
      crota: 0x500600
               0            0
        alt: ' '
     colnum: 0
      colax: 0x502f70
                 0      0
    wcsname: UNDEFINED
      cname: 0x502f80
             UNDEFINED
             UNDEFINED
      crder: 0x503010
             UNDEFINED     UNDEFINED
      csyer: 0x503020
             UNDEFINED     UNDEFINED
    radesys: UNDEFINED
    equinox: UNDEFINED
    specsys: UNDEFINED
    ssysobs: UNDEFINED
    velosys: UNDEFINED
    ssyssrc: UNDEFINED
    zsource: UNDEFINED
     obsgeo: UNDEFINED     UNDEFINED     UNDEFINED
    dateobs: UNDEFINED
    dateavg: UNDEFINED
     mjdobs: UNDEFINED
     mjdavg: UNDEFINED
       ntab: 0
        tab: 0x0
       nwtb: 0
        wtb: 0x0
      types: 0x509750
            2200 2201
     lngtyp: "RA"
     lattyp: "DEC"
        lng: 0
        lat: 1
       spec: -1
   cubeface: -1
        lin: (see below)
        cel: (see below)
        spc: (see below)
     m_flag: 137
    m_naxis: 2
    m_crpix: 0x5002e0  (= crpix)
       m_pc: 0x5005c0  (= pc)
    m_cdelt: 0x5005e0  (= cdelt)
    m_crval: 0x5005f0  (= crval)
    m_cunit: 0x502e30  (= cunit)
    m_ctype: 0x502ec0  (= ctype)
       m_pv: 0x180a800  (= pv)
       m_ps: 0x180ac00  (= ps)
       m_cd: 0x502f50  (= cd)
    m_crota: 0x500600  (= crota)

    m_colax: 0x502f70  (= colax)
    m_cname: 0x502f80  (= cname)
    m_crder: 0x503010  (= crder)
    m_csyer: 0x503020  (= csyer)
      m_tab: 0x0  (= tab)
      m_wtb: 0x0  (= wtb)

   lin.*
       flag: 137
      naxis: 2
      crpix: 0x5002e0
               4210.6       4042.3
         pc: 0x5005c0
    pc[0][]:   5.6455e-05  -6.8752e-07
    pc[1][]:  -8.6755e-07  -5.6809e-05
      cdelt: 0x5005e0
               1            1
      unity: 0
piximg[0][]:   5.6455e-05  -6.8752e-07
piximg[1][]:  -8.6755e-07  -5.6809e-05
imgpix[0][]:  -0.18588      0.23019
imgpix[1][]:  -0.13537      0.22707
     m_flag: 0
    m_naxis: 0
    m_crpix: 0x0
       m_pc: 0x0
    m_cdelt: 0x0

   cel.*
       flag: 137
     offset: 0
       phi0:  0.000000
     theta0: 90.000000
        ref:   281.17       52.306       180          52.306
        prj: (see below)
      euler:   281.17       37.694       180          0.79128
0.61145
    latpreq: 0 (not required)
     isolat: 0

   prj.*
       flag: 103
       code: "TAN"
         r0: 57.295780
         pv: (not used)
       phi0:  0.000000
     theta0: 90.000000
     bounds: 1

       name: "gnomonic"
   category: 1 (zenithal)
    pvrange: 0
  simplezen: 1
  equiareal: 0
  conformal: 0
     global: 0
  divergent: 1
         x0: 0.000000
         y0: 0.000000
        w[]:   0            0            0            0
0
               0            0            0            0
0
          n: 0
     prjx2s: 0x38c8a0
     prjs2x: 0x38cac0

   spc.*
       flag: 0
       type: "    "
       code: "   "
      crval: UNDEFINED
    restfrq: 0.000000
    restwav: 0.000000
         pv: (not used)
          w:   0            0            0           (remainder
unused)
    isGrism: 0
     spxX2P: 0x0
     spxP2S: 0x0
     spxS2P: 0x0
     spxP2X: 0x0



More information about the fitsbits mailing list