[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