예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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
예제 #4
0
 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)
예제 #5
0
 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
예제 #6
0
 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)
예제 #7
0
 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)
예제 #8
0
 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)
예제 #9
0
 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)
예제 #10
0
 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)
예제 #11
0
 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)
예제 #12
0
 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)