import numpy as np
from scipy.ndimage.interpolation import shift
from bin_2d import bin_2d
from rebin import rebin

def clean_negbgr(imcube_inp, bgr_inp, mask, binsize=10, negsig=0.1, n_ch=1):
   b = bin_2d(imcube_inp, binsize)
   bgr_b = np.zeros((b.shape[0], b.shape[1]))
   m_val = np.median(b, axis=-1)
   s_val = np.std(b, axis=-1)
   bgr_b[m_val < -negsig*s_val] = m_val[m_val < -negsig*s_val]
   bgr = np.zeros(imcube_inp.shape)
   bgr[0:binsize*b.shape[0],0:binsize*b.shape[1]] = rebin(bgr_b, binsize)
   #bgr[binsize*b.shape[0]-1:,:] = bgr[binsize*b.shape[0]-1,:]
   #bgr[:,binsize*b.shape[1]-1:] = bgr[:,binsize*b.shape[1]-1]
   return bgr

def test_cnegbg():
   from astropy.io import fits
   hh = fits.open('/data1/rcsed_v2/HECTOSPEC/MILES/2015.0414/skysub_cosmos15a2_1/spSpec279.cosmos15a2_1_1527.ms_results.fits')
   h = fits.open('images/UKIDSS_J125957.20+280300.00/swarp/K_COADD.fits')
   bgr = clean_negbgr(h[0].data, h[0].data*0.0, h[0].data*0.0)
   h[0].data = h[0].data - bgr
   h.writeto('test_bgr.fits', overwrite=True)


if __name__=='__main__':
   test_cnegbg()
