# -*- coding: utf-8 -*-
"""
Created on Fri Oct 16 15:40:54 2015

@author: kervella
"""

import matplotlib.pyplot as plt
import numpy as np
import gravi_rawclass
import sys

def plot_delayscft(filename):
    
    raw = gravi_rawclass.Rawdata(filename+'.fits')

    plt.close('all')
    
    flux_ft = np.zeros((raw.nframe_ft))
    for frame in range(0,raw.nframe_ft):
        flux_ft[frame] = np.sum(raw.data_ft[frame,:,:])
    flux_ft -= np.min(flux_ft)
    flux_ft /= np.max(flux_ft)
    
    flux_sc = np.zeros((raw.nframe_sc))
    for frame in range(0,raw.nframe_sc):
        flux_sc[frame] = np.sum(raw.data_sc[frame,:,:])

    flux_sc -= np.min(flux_sc)
    flux_sc /= np.max(flux_sc)
    
    # The time zero is the first time stamp of the FT series
    time_ft = raw.time_ft - raw.time_ft[0]
    time_sc = raw.time_sc - raw.time_ft[0]

    start_ft = raw.header['HIERARCH ESO PCR ACQ START']
    start_sc = raw.header['HIERARCH ESO INS TIM1 START']
    print("FT time stamp ['HIERARCH ESO PCR ACQ START'] : "+str(start_ft))
    print("SC time stamp ['HIERARCH ESO INS TIM1 START']: "+str(start_sc))  
    difference_scft = (gravi_rawclass.mjd_date(start_sc)-gravi_rawclass.mjd_date(start_ft))*86400.
    print("Timestamp SC - Timestamp FT = %+.3f seconds" % difference_scft)
    
    plt.figure()
    plt.plot(time_ft,flux_ft,label='FT')
    plt.plot(time_sc,flux_sc,marker='o',label='SC')
    plt.margins(0.1)
    plt.legend()

#==============================================================================
# MAIN PROGRAM    
#==============================================================================

if __name__ == '__main__':
    filename=''
#    filename = 'GRAVITY.2015-09-09T18-18-32-blink' # MR
#    filename = 'GRAVITY.2015-10-17T00-14-17' # sky MR
#    filename = 'GRAVITY.2015-10-17T01-52-36'
#    filename = 'GRAVITY.2015-10-17T02-12-34'

    if len(sys.argv) == 2 :
        filename=sys.argv[1]
        
    if filename == '' :
        filename=input(" Enter RAW file name (without .fits) : ")

    plot_delayscft(filename)
