How do you deal with image distortion in the input images?

144 views
Skip to first unread message

Marcel Granetzny

unread,
Mar 5, 2014, 3:11:10 PM3/5/14
to
Hi there,

our group of astroparticle physicists has just started to use your astrometry software in the CTA project (an international effort to detect high energy gamma rays by so called Cherenkov light) and we are planning to use your software for the exact pointing (alignment) of our telescopes.,

I have just read through the wonderful slides of the talk, Sam Roweis gave at Google in Pittsburgh and have a question about the star to star identification process you apply after identifying the "roughly" right place on the night sky.
In our CCD cameras we assume to experience the problem of small image distortions, which would alter the positions of stars which are used for the one on one identification.
In this case there would be aberrations between catalog and image positions of the stars, which will be growing with increasing radial distance from the image center.

Given this problem, how does your algorithm calculate the exact sky coordinates of the image center?
Does it take the coordinates of every detected reference object and considers them by linear interpolation to the image center?
Or does it use only the objects close to the image center and performs a linear interpolation on them?
Or is the method totally different?

Further we have developed a method to undo the distortions described above, but it would be necessary to apply the correction after the detection of the reference points (star positions). Is there a easy way to "intersect" the positions coordinates and alter them in a user defined way before they enter the whole sky feature calibration process in the download version of your software?

Please let me now, if you want me to make some points more clear.

Best Regards,
Marcel Granetzny

Dustin Lang

unread,
Mar 5, 2014, 3:48:54 PM3/5/14
to astro...@googlegroups.com
Hi,

We first match up "quadrangles" of stars, and for each matching "quad" we produce a tangent-plane WCS that sets the center of the "quad" on the sky and in your image as the reference position.  The positions of others stars are predicted using that WCS, assuming no distortion.  The assumed uncertainty in the star positions increases away from the matched quad.

Currently there is not a way to specify a known distortion that should be "taken out" and then "put back in".  I started implementing that but ran out of steam.  I could probably finish it if it seems necessary for your images.  The system can handle images with a fair bit of distortion.

It is possible to "intercept" the positions, sort-of.  The 'solve-field' program does source detection and writes an ".axy" file, which is just a FITS binary table of x,y positions of detected stars, PLUS a few FITS header cards describing the parsed command-line args.  It then calls the "astrometry-engine" program ("backend" in earlier versions) with that .axy file.  "solve-field" can also use that .axy as input (though it isn't smart about existing FITS header cards that describe a previous job).  So you could do:

solve-field --just-augment [other command-line args] image.fits
# writes image.axy

# Distort the coordinates in image.axy

solve-field [command-line args] image.axy


Please let us know how it goes.

cheers,
--dustin


Nathan Towne

unread,
Mar 17, 2014, 11:20:50 AM3/17/14
to astro...@googlegroups.com
Marcel,

Regarding measuring distortion, I collect reference matches via quad matches in the fov, and compute the FITS SIP distortion coefficients as per Shupe and Hook (2008) (and FITS paper II) as a least-square fit.  My fov is only a degree or so across; with larger fov, I imagine conditions for match must be relaxed, a cleaning process may be needed, and higher-order fits depending on accuracy may be needed.  

Nathan Towne

Maik Riechert

unread,
Apr 3, 2014, 3:31:51 PM4/3/14
to astro...@googlegroups.com
Hi,


Dustin Lang wrote:
Currently there is not a way to specify a known distortion that should be "taken out" and then "put back in".  I started implementing that but ran out of steam.  I could probably finish it if it seems necessary for your images.  The system can handle images with a fair bit of distortion.

I basically have the same requirement. Currently I'm working around it by correcting the distortion of the images before-hand using the lensfun library (http://lensfun.berlios.de). But in the end I find this approach suboptimal because I have to create a new copy of the image which will loose quality due to resampling. Ideally, the distortion should be stored within the WCS header of the original image.

So I could actually think of the following: I read the distortion parameters (coefficients,..) using the lensfun library, convert them (in case not in polynomial coefficient model; there are others), and hand them as-is to solve-field. Does that sound logical? I think this option would be insanely useful.

Cheers
Maik
Reply all
Reply to author
Forward
0 new messages