execfile('/afs/slac/u/ki/lances/python/python_HxRG/HxRG_Setup.py')
execfile('/afs/slac/u/ki/lances/python/SPIEPlotSettings.py')
from ReturnRadialProfiles import *
from RadialFits import *
import optimize

BoxSize    = 21
DoCentroid = 1
TvFlag     = 0
Mode       = 0
Slope      = 1

#Guiding
FitsFileName='/nfs/slac/g/ki/ki03/lances/H2RG-32-147/ASIC/Reduced/07Dec14/SAO81134/SAO81134_H2RG_SIPIN_220_Reads_Dec15_2007_04_57_19_I_RPS_Slope.fits'
HxRG_G = HxRG_C(FitsFileName=FitsFileName)
XCen = 1948
YCen = 1522
RadiiG, IntArrG, ReadG=ReturnRadialProfiles(FitsFileName, Mode, TvFlag=TvFlag,\
            XCen=XCen, YCen=YCen, Slope=Slope, BoxSize=BoxSize,\
            DoCentroid=DoCentroid)
Height_G, MuX_G, MuY_G, FWHMX_G, FWHMY_G, FWHM_G, E_G, EA_G = \
            moments(IntArrG, SubSize=1)
mplot.figure(0)
mplot.clf()

mplot.plot(RadiiG, HxRG_G.CGain*(IntArrG-IntArrG.min()), 'ro')
#mplot.plot(RadiiG, IntArrG-IntArrG.min(), 'ro')
Amp_G, FWHM_G, Fit_G = RadialGaussFits(RadiiG, \
    HxRG_G.CGain*(IntArrG-IntArrG.min()), \
    IncFitData=1)
Amp_G_M, FWHM_G_M, Beta_G_M, Fit_G_M = RadialMoffatFits(RadiiG, \
    HxRG_G.CGain*(IntArrG-IntArrG.min()), \
    IncFitData=1)
Radii = frange(160)/10
mplot.plot(Radii, Amp_G*exp(-.5*Radii**2/FWHM_G**2), 'g--', label=r'\textbf{Gaussian Fit}')
mplot.plot(Radii, Amp_G_M*(1+(Radii/FWHM_G_M)**2)**Beta_G_M, 'b--', label=r'\textbf{Moffat Fit}')
mplot.plot(Radii, 9*(1+(Radii/3)**2)**(-2), 'g--')
xlim(0,15)

#Format String
E_GStr    = "%.4f" % E_G
FWHM_GStr = "%.2f" % FWHM_G
FWHM_G_MStr = "%.2f" % FWHM_G_M
mplot.figtext(.6,.8,r'\textbf{E : '+E_GStr+'}')
mplot.figtext(.6,.75,r'\textbf{FWHM$_{Gauss}$=  '+FWHM_GStr+'}')
mplot.figtext(.6,.70,r'\textbf{FWHM$_{Moffat}$= : '+FWHM_G_MStr+'}')
mplot.legend(numpoints=1, loc=5)
mplot.xlabel(r'\textbf{Radius (Pixels)}')
mplot.ylabel(r'\textbf{electrons per second}')

mplot.figure(1)
mplot.imshow(ReadG)
mplot.colorbar() 
