Hi Mischa,
mischa hat geschrieben:Wenn du mir die entsprechenden Transformationen raussuchst, dann sehe ich mir das gerne an (aber ohne Implementationsgarantie, andere baustellen sind grad wichtiger).
Ich möchte die Bilder auf eine ZEA Projektion astrometrieren, da diese näher an der Fisheye Abbildung ist als die TAN. Da Scamp/Swarp aber nur mit TAN die PVi_j richtig berücksichtigen (Plots und Coadds), möchte ich den Referenzkatalog zuerst mit ZEA von den sphärischen Koordinaten (Ra/Dec) auf Pixelkoordinaten transformieren. Die Pixelkoordinaten sind durch SIZEX/Y und REFPIXX/Y aus dem instrument.ini des (einzigen) Chips der DSLR festgelegt. Diese Pixelpositionen möchte ich dann mit TAN wieder in sphärische Koordinaten zurückprojezieren, um damit die ansonsten unveränderten Rohframes/Source-Kataloge zu astrometrieren und coaddieren. Bei der Koaddition muss ich als Projetion zwar TAN einstellen, wegen des reprojezierten Referenzkatalogs ist das Ergebnis dann aber tatsächlich ZEA. Das korrigiere ich dann ganz zum Schluß mit replacekey in den coadd.fits.
Ich bin mir nicht sicher, ob der Ansatz mathematisch richtig ist, weil ja z.B. eine Verschiebung der Frames in TAN anders zu kompensieren ist als in ZEA. Ich ignoriere das aber vorerst, da meine Daten nicht gedithert sind und praktisch nachführfehlerfrei sind (Pixelscale im Bogenminutenbereich), die Offsets zwischen den Frames also klein sind. In dem Fall würde ich das beinhart probieren und schauen, ob es für ein Pretty Picture reicht. Photometrische Auswertungen brauchts hier nicht ...
Ein schneller Implementierungshack würde so aussehen, einzufügen im create_astrorefcat_fromWEB.sh vor dem Erstellen der verschiedenen Refcat-Formate:
- Code: Alles auswählen
if [ "${LENSPROJECTION}" == "ZEA" ]; then
# we're running ZEA images through Scamp/Swarp, pretending they're TAN (so that PVi_j are treated correctly).
# reproject ref catalog to pixel positions of ZEA projection, then back to spherical coordinates using TAN.
# setup WCS with center at ${ra} ${dec}, pixelscale ${PIXSCALE} and camera chip 1 image dimensions
${P_IC} -c ${SIZEX[1]} ${SIZEY[1]} \
-h CRVAL1 $(${P_HMSTODECIMAL} ${ra}) \
-h CRVAL2 $(${P_DMSTODECIMAL} ${dec}) \
-h EQUINOX 2000.0 \
-h RADECSYS "'FK5 '" \
-h CRPIX1 ${REFPIXX[1]}.0 \
-h CRPIX2 ${REFPIXY[1]}.0 \
-h CTYPE1 "'RA---ZEA'" \
-h CTYPE2 "'DEC--ZEA'" \
-h CD1_1 $(echo ${PIXSCALE} | ${P_GAWK} '{ print -1./$1; }') \
-h CD1_2 0 \
-h CD2_1 0 \
-h CD2_2 $(echo ${PIXSCALE} | ${P_GAWK} '{ print 1./$1; }') \
'0' > ${TEMPDIR}/wcszea_$$.fits
${P_IC} -c ${SIZEX[1]} ${SIZEY[1]} \
-h CRVAL1 $(${P_HMSTODECIMAL} ${ra}) \
-h CRVAL2 $(${P_DMSTODECIMAL} ${dec}) \
-h EQUINOX 2000.0 \
-h RADECSYS "'FK5 '" \
-h CRPIX1 ${REFPIXX[1]}.0 \
-h CRPIX2 ${REFPIXY[1]}.0 \
-h CTYPE1 "'RA---TAN'" \
-h CTYPE2 "'DEC--TAN'" \
-h CD1_1 $(echo ${PIXSCALE} | ${P_GAWK} '{ print -1./$1; }') \
-h CD1_2 0 \
-h CD2_1 0 \
-h CD2_2 $(echo ${PIXSCALE} | ${P_GAWK} '{ print 1./$1; }') \
'0' > ${TEMPDIR}/wcstan_$$.fits
# ${TEMPDIR}/tmp1_$$ contains lines RA DE MAG, e.g. 6.350881 1.939696 5.770000
${P_SKY2XY} ${TEMPDIR}/wcszea_$$.fits @${TEMPDIR}/tmp1_$$ > ${TEMPDIR}/tmp2_$$
${P_GAWK} '{ print $5 " " $6 " " $3; }' ${TEMPDIR}/tmp2_$$ > ${TEMPDIR}/tmp3_$$
${P_XY2SKY} -d -n 7 -a ${TEMPDIR}/wcstan_$$.fits @${TEMPDIR}/tmp3_$$ > ${TEMPDIR}/tmp4_$$
${P_GAWK} '{ if ($1 != "") print $1 " " $2 " " $6; }' ${TEMPDIR}/tmp4_$$ > ${TEMPDIR}/tmp5_$$
mv ${TEMPDIR}/tmp5_$$ ${TEMPDIR}/tmp1_$$
rm ${TEMPDIR}/tmp[234]_$$
rm ${TEMPDIR}/wcszea_$$.fits
rm ${TEMPDIR}/wcstan_$$.fits
fi
# make an astrometrix catalogue
...
Ich lege mir mit ic zwei Dummy-Bilder an, deren WCS ich dann für sky2xy und xy2sky verwende. Geht das einfacher, oder würdest Du das auch so implementieren? Im instrument.ini muss man LENSPROJECTION=ZEA ergänzen, um den Code zu aktivieren.
Ich hab das jetzt auf die Schnelle probiert, und das Ergebnis schaut vielversprechend aus. Mit Vorbehalt, da das jetzt sehr brutal mit der heißen Nadel gestrickt wurde. Die Error-Plots sind jetzt wieder aussagekräftig und liegen erstmals, seit ich die Daten habe, im Sub-Pixel Bereich. Die Distortion-Plots sehen wie klassische TAN-Plots aus, logisch. Die coadds der Farbkanäle decken sich gut, Ref-Katalog (den unmodifizierten) muss ich erst noch drüberlegen, dann wird sich's zeigen.
Was meinst? Ist zwar ein Hack, aber mei ...
Ciao,
Wolfgang