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

David Berry d.berry at jach.hawaii.edu
Mon Oct 13 03:16:17 EDT 2008


The problem here is that the first four parameters on the longitude
axis are reserved for the native longitude and latitude of the
projection's fiducial point, and for copies of LONPOLE and LATPOLE.
See FITS-WCS paper 2, sections 2.5 and 2.6. So your supplied values
are being over-written. Also, a TAN projection shouldn't have any
genuine projection parameters, so you're into the realm of
undocumented features here anyway.

David

2008/10/11 Sean Mattingly <Smattacus at gmail.com>:
> 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
> _______________________________________________
> fitsbits mailing list
> fitsbits at listmgr.cv.nrao.edu
> http://listmgr.cv.nrao.edu/mailman/listinfo/fitsbits
>



More information about the fitsbits mailing list