Image Registration Algorithm
From Tauwiki
Contents |
[edit] Overview
TAUVEX is a suite of 3 imagers which will fly on GSAT-4. The telescope will point toward the sky at a fixed orientation to the Earth-satellite axis and will thus scan a fixed line of celestial latitude with a period of 24 hours. Each event is recorded by the photon counting detectors. This event list need to be corrected for spacecraft motion (includes jitter and motion around the earth) before converting it to images of the sky. Image registration involves the corrections to be applied to an event list. In doing so, we assume that correction factors are the same for all pixels within a given field of view. Pixel dependent corrections fall into the category of geometric distortions, which is dealt with in a separate document.
[edit] Related Documents
[edit] Problem Description
GSAT-4 will be located on a geostationary orbit, so that it completes one revolution around earth in 24 hours. Located on the east face of GSAT-4, TAUVEX will scan a 360 degree strip of sky as the parent satellite complete one revolution. Note that orbit of GSAT4 is not exactly aligned with the celestial equator, hence TAUVEX scans will deviate from constant declination scans by a small amount.
TAUVEX data are recorded with timestamps separated by 128 milliseconds. All data within this time range constitute one image-frame. Thus, one image frame corresponds to one pointing. Next image will be shifted in time by 128 milliseconds, which corresponds to a shift of scanrate x 0.128 seconds in angular coordinates.
Scanrate
Shift between image frames =
pixels (One pixel = 3.164'')
As an observation progresses, the detector plane coordinates of a source will thus be shifted by so many pixels per image frame. Before preparing final images, this shift need to be corrected so that all image frames can be mosaiced into a larger frame. Once we have the detector coordinates transformed to a common reference frame, we can convert it to sky coordinates. Before doing so, we need to tackle one more problem.
GSAT-4 being primarily a telecommunication satellite, the only way to estimate coordinates of TAUVEX look direction is from the spacecraft attitude information. Accuracy of this data is only within +/- 0.1 degress, which is not good enough for astronomical observations. Hence, we need to fine tune this initial estimate to arc-second levels. This has to be done by comparing the positions of well known sources in TAUVEX data with that in existing catalogs. Once these two operations are performed after calibrations, data is ready to be delivered to scientific community. This document discusses the required steps for performing data registration and sky coordinate estimation.
[edit] Data Registration
Data registration will be the final stage in the four level UVS data pipeline software (Definition of the stages). Data registration is performed by the module UVS_register_data. Input to this module will be a fits file containing data from one observation, with multiple binary extension tables (one extension per image frame). The required information is:
- From primary Header
- START_RA
- DECLINATION
- From extension headers:
- --
- From extension tables:
- Input data to be registered: Columns named "X" and "Y" in the extension tables. (x, y) denote the detector plane coordinates of each event.
The program can be divided into two blocks. First one would correct for spacecraft motion and second to estimate sky coordinates.
[edit] Correcting Spacecraft Motion
Tasks of the program are discussed in the following steps:
- Step 1: Data preparation
- Step 2: Data Extraction
- Step 3: Cross Correlation
- Step 4: Apply Corrections
[edit] Registration near the Poles
[edit] Problem
Although the motion of stars across the detector will always follow the small circle centred at the pole, in practice this will be linear and constant across the plate except near the poles. In effect, this is equivalent to assuming that the shift between frames can be reduced to a single δ x and δ y over the entire plate.
This breaks down near the pole where the motion of individual stars will vary and may even change direction over the entire plate.
[edit] Algorithm
We are using a modified cross-correlation which finds the shifts between each point. The problem is that the shift is different for different points which we have to account for.
- Find the approximate position of the center of the field using the ra and dec in the header (from the spacecraft).
- Let us call this angle DEC.
- Find the shift between each of the point sources. (Sources at the same y position should have the same shift.)
- Find the spread in shifts. That is: it might be 10 pixels at the bottom of the frame and 6 at the top.
- If the maximum shift is greater than 0.5 pixel (Use a parameter here) then:
- Create a vector (C) containing cos(theta*pi/180) where theta runs from (DEC - .45) to (DEC + .45) in steps of 1 pixel.
- 1 pixel = (0.9 degrees / 1024 pixels) where both should be parameters.
- Multiply each x shift by the value of C at the y position.
- Find RMS of deviations from average.
- Shift vector (C) by DELTA.
- Assume that DELTA = -0.25 (a parameter) with a step size of 0.05
- Calculate new RMS.
- Repeat for all DELTA and find minimum RMS.
- This will give the DEC related shift for each pixel in y.
- Scale each pixel by DEC
- Create a vector (C) containing cos(theta*pi/180) where theta runs from (DEC - .45) to (DEC + .45) in steps of 1 pixel.
- Apply modified shift to each pixel in y.
