; --- NST TiO Fitsheader Corrections Determined from TiO-HMII Co-alignment; Images Used:
; --- bbso_tio_pcosr_20170816_170004.fts and 20170816_171038_4096_HMII.jpg
; --- Generated by "bbso_tio2hmi.pro" on Sun Oct 1 14:18:06 2017
; ---
; --- The Xc and Yc in the TiO Fits header should be corrected by
dXc= 8.75 arcsec, and dYc= 4.12 arcsec
; ---
; --- The corrected coordinates of the center of the FOV in the panels below are (in arcsec)
Xc= -766.25 arcsec and Yc= 119.12 arcsec
; --- Please keep in mind that due to telescope flexture and the seeing the FOV will still move around but the pointing error will be small.
; ---
; --- New TiO Pix size as defined from the co-alignment is (in arcsec)
0.0331 arcsec/pixel
; --- Old (fits header) TiO Pix size is (in arcsec)
0.0342 arcsec/pixel; Correction factor 0.9696x
; ---
; --- Keep in mind that the pix size correction is very tiny and the old pix size is not necessarily incorrect.
; ---
; --- You may use this correction file, in your IDL data processing
; ---
; --- All TiO images may be rotated using the fits header parameter CROTA ; ---
; --- One can also derotate image using the IDL code below. The imput params are:
; --- time- the current image obs time
; --- time1 - the reference time (see explanations in the code)
; --- Reference time, time1 for 20170816 = 0.00000 hours
; --- Solar Po for 20170816 = 16.529439, deg
; --- Solar Radius for 20170816 = 947.73865 arcsec
; ---
; --- Use IDL code below to derotate images
; -------------------------------------------------------------------------------------------------------
PRO DEROTATE_IMG, img, time, time1, direction, MISSING=MISSING, ANGLE=ANGLE, dangle=dangle
;+ ;
;INPUT ; img: image to be derotated
; time: time of the image acquisition in fraction of hours, e.g., 18:20->18.33
; time1: time of the first image in the set, it determines by how much img should be rotated
; it is also the reference time; for example, at approx 21:14UT the orientation of NST FOV ; is aligned along solar N-S and E-W lines.
; By setting time1 to 21.2333 (21:14) any TiO image will be derotated thus to match the HMI orientation.
; HOWEVER, to achieve that you must assign parameter angle = solar_p0! (listed in fits header)
; angle: any additional correction angle, such as solar Po calculated on day of observations
; CCW: if rotation should proceed in CCW direction
;
; all missing values will be filled w/ missing
; output
; dangle is the resulting rotation angle
;
; USAGE example> derotate_img, img, 18.34, 21.2333, '1', missing=999, angle=solar_p0, dangle=dangle
;
; Copyright: May 6 2017 by Vasyl Yurchyshyn, NJIT
;-
IF direction EQ 1 THEN dir=1.
IF direction EQ 2 THEN dir=-1.

IF NOT KEYWORD_SET(angle) THEN angle=0

dt=time-time1
dangle=dt*360./24.
dangle=angle+dangle*dir

img=ROT(img, dangle, /INTERP, MISSING=MISSING)

END
; -------------------------------------------------------------------------------------------------------


; ---
; --- The two panel figure shows the resulting coalignment between HMI (left) and TiO (right) images. Both images are overplotted with the same TiO contours.
; ---

; ---
; --- The full disk HMI/I image overplotted with 1) the TiO original fitheader center of FOV (black asterisk) and the FOV size (black square) and 2)corrected FOV and the center (white). ; ---