コード例 #1
0
def check_snr(period, t0, time_array, flux, duration):

    time_array = kepler_utils.phase_fold_time(time_array, period, t0)
    sorted_i = np.argsort(time_array)
    time_array = time_array[sorted_i]
    flux = flux[sorted_i]

    local_view = kepler_utils.local_view(time_array, flux, period, duration)

    t_min = duration * -3.0
    t_max = duration * 3.0

    time_array = np.linspace(t_min, t_max, local_view.size)  #*24.0
    #start to measure the SNR around the signal.
    index_snr = np.argwhere((time_array > duration * 1.0)
                            | (time_array < duration * -1.0))
    mean_snr, median_snr, std_snr = sigma_clipped_stats(local_view[index_snr])

    index_profile = np.argwhere((time_array <= duration * 1.0)
                                & (time_array >= duration * -1.0))

    if local_view[index_profile].min() <= median_snr - 3 * std_snr:

        return 1.0
    else:
        return 0.0
コード例 #2
0
def mean_fold(time_array, flux_array, period_id, t0, bin_num, bin_size):

    time_array = kepler_utils.phase_fold_time(time_array, period_id, t0)
    sorted_i = np.argsort(time_array)
    flux = flux_array[sorted_i]
    time = time_array[sorted_i]
    flux_out = np.zeros(bin_num)
    time_out = np.zeros(bin_num)

    for kk in np.arange(bin_num):
        idx_l = int(kk * bin_size)
        idx_u = int((kk + 1) * bin_size)
        flux_out[kk] = np.mean(flux[idx_l:idx_u])
        time_out[kk] = np.mean(time[idx_l:idx_u])

    return time_out, flux_out
コード例 #3
0
def transit_profile(period, t0, time_array, flux, duration):

	time_array = kepler_utils.phase_fold_time(time_array, period, t0)
	sorted_i = np.argsort(time_array)
	time_array = time_array[sorted_i]
	flux = flux[sorted_i]

	local_view = kepler_utils.local_view(time_array, flux, period, duration)

	t_min= duration*-3.0
	t_max= duration*3.0

	time_array=np.linspace(t_min, t_max, local_view.size)

	data_lc = dict()
	data_lc['time'] = time_array
	data_lc['flux'] = local_view
	return data_lc