def minfun(pv, period, zero_epoch): if any(pv < 0): return inf dummy = [] for j in range(4): dummy.append(-ll_normal_es( self.flux, self.sine_model(pv, j * 2 * period, zero_epoch), self.flux_e)) return np.nanmin( dummy ) #-ll_normal_es(self.flux, self.sine_model(pv, 2*period, zero_epoch), self.flux_e)
def per_orbit_likelihoods(self): pv = self._pv_trf lnl = array([ll_normal_es(f, self.transit_model(pv, t), e) / t.size for t,f,e in zip(self.times, self.fluxes, self.flux_es)]) self._tr_lnlike_po = lnl self._tr_lnlike_med = lmed = median(lnl) self._tr_lnlike_std = lstd = lnl.std() self._tr_lnlike_max = lmax = (lnl.max() - lmed) / lstd self._tr_lnlike_min = lmin = (lnl.min() - lmed) / lstd self._rpol = array((lmed, lstd, lmax, lmin), dt_poresult)
def run_bls(self): b = self.bls r = self.bls() self._rbls = array((b.bsde, b.tc, b.bper, b.duration, b.depth, sqrt(b.depth), floor(diff(self.time[[0,-1]])[0]/b.bper)), dt_blsresult) self._pv_bls = [b.bper, b.tc, sqrt(b.depth), as_from_rhop(2.5, b.bper), 0.1] self.create_transit_arrays() self.lcinfo['lnlike_constant'] = ll_normal_es(self.flux, ones_like(self.flux), self.flux_e) self.period = b.bper self.zero_epoch = b.tc self.duration = b.duration
def per_orbit_likelihoods(self): pv = self._pv_trf lnl = array([ ll_normal_es(f, self.transit_model(pv, t), e) / t.size for t, f, e in zip(self.times, self.fluxes, self.flux_es) ]) self._tr_lnlike_po = lnl self._tr_lnlike_med = lmed = median(lnl) self._tr_lnlike_std = lstd = lnl.std() self._tr_lnlike_max = lmax = (lnl.max() - lmed) / lstd self._tr_lnlike_min = lmin = (lnl.min() - lmed) / lstd self._rpol = array((lmed, lstd, lmax, lmin), dt_poresult)
def run_bls(self): b = self.bls r = self.bls() self._rbls = array( (b.bsde, b.tc, b.bper, b.duration, b.depth, sqrt(b.depth), floor(diff(self.time[[0, -1]])[0] / b.bper)), dt_blsresult) self._pv_bls = [ b.bper, b.tc, sqrt(b.depth), as_from_rhop(2.5, b.bper), 0.1 ] self.create_transit_arrays() self.lcinfo['lnlike_constant'] = ll_normal_es(self.flux, ones_like(self.flux), self.flux_e) self.period = b.bper self.zero_epoch = b.tc self.duration = b.duration
def eclipse_likelihood(self, f, shift, time=None): return ll_normal_es(self.flux, (1-f)+f*self.eclipse_model(shift, time), self.flux_e)
def minfun(pv, period, zero_epoch): if any(pv<0): return inf dummy = [] for j in range(4): dummy.append(-ll_normal_es(self.flux, self.sine_model(pv, j*2*period, zero_epoch), self.flux_e)) return np.nanmin(dummy)#-ll_normal_es(self.flux, self.sine_model(pv, 2*period, zero_epoch), self.flux_e)
def minfun(pv, time, flux, flux_e): if any(pv<=0) or (pv[3] <= 1) or (pv[4] > 1): return inf return -ll_normal_es(flux, self.transit_model(pv, time), flux_e)
def minfun(pv): if any(pv<=0) or (pv[3] <= 1) or (pv[4] > 1) or not (0.75<pv[0]<80) or abs(pv[0]-pbls) > 1.: return inf return -ll_normal_es(self.flux, self.transit_model(pv), self.flux_e)
def eclipse_likelihood(self, f, shift, time=None): return ll_normal_es(self.flux, (1 - f) + f * self.eclipse_model(shift, time), self.flux_e)
def minfun(pv, time, flux, flux_e): if any(pv <= 0) or (pv[3] <= 1) or (pv[4] > 1): return inf return -ll_normal_es(flux, self.transit_model(pv, time), flux_e)
def minfun(pv): if any(pv <= 0) or (pv[3] <= 1) or (pv[4] > 1) or not ( 0.75 < pv[0] < 80) or abs(pv[0] - pbls) > 1.: return inf return -ll_normal_es(self.flux, self.transit_model(pv), self.flux_e)