; --- NST TiO Fitsheader Corrections Determined from TiO-HMII Co-alignment; Images Used:
; --- bbso_tio_pcosr_20160309_185007.fts and 20160309_185839_4096_HMII.jpg
; --- Generated by "bbso_tio2hmi.pro" on Wed May 24 14:06:14 2017
; ---
; --- Starting 2016 all TiO images have to be flipped in vertical direction
; --- and then rotated using the fits header parameter CROTA1
; ---
; --- The Xc and Yc in the TiO Fits header should be corrected by
dXc= -6.39 arcsec, and dYc= 12.32 arcsec
; ---
; --- The corrected coordinates of the center of the FOV in the panels below are (in arcsec)
Xc= 412.61 arcsec and Yc= 193.32 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.0337 arcsec/pixel
; --- Old (fits header) TiO Pix size is (in arcsec)
0.0342 arcsec/pixel; Correction factor 0.9852x
; ---
; --- 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
; ---
; --- Image Rotation Section
; --- 20160309 Solar Po= -23.500904, deg
; --- 20160309 Solar Radius= 966.36512 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). ; ---