<s> import numpy as np <EOL> import dask . async <EOL> from . import science_features as sf <EOL> __all__ = [ '<STR_LIT>' , '<STR_LIT>' ] <EOL> FEATURES_LIST = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' ] <EOL> def generate_science_features ( t , m , e , features_to_compute = FEATURES_LIST ) : <EOL> """<STR_LIT>""" <EOL> features_to_compute = [ f for f in features_to_compute <EOL> if f in FEATURES_LIST ] <EOL> feature_graph = { <EOL> '<STR_LIT>' : ( sf . amplitude , m ) , <EOL> '<STR_LIT>' : ( sf . flux_percentile_ratio , m , <NUM_LIT:20> ) , <EOL> '<STR_LIT>' : ( sf . flux_percentile_ratio , m , <NUM_LIT> ) , <EOL> '<STR_LIT>' : ( sf . flux_percentile_ratio , m , <NUM_LIT:50> ) , <EOL> '<STR_LIT>' : ( sf . flux_percentile_ratio , m , <NUM_LIT> ) , <EOL> '<STR_LIT>' : ( sf . flux_percentile_ratio , m , <NUM_LIT> ) , <EOL> '<STR_LIT>' : ( sf . maximum , m ) , <EOL> '<STR_LIT>' : ( sf . max_slope , t , m ) , <EOL> '<STR_LIT>' : ( sf . median , m ) , <EOL> '<STR_LIT>' : ( sf . median_absolute_deviation , m ) , <EOL> '<STR_LIT>' : ( sf . minimum , m ) , <EOL> '<STR_LIT>' : ( sf . percent_amplitude , m ) , <EOL> '<STR_LIT>' : ( sf . percent_beyond_1_std , m , e ) , <EOL> '<STR_LIT>' : ( sf . percent_close_to_median , m ) , <EOL> '<STR_LIT>' : ( <EOL> sf . percent_difference_flux_percentile , m ) , <EOL> '<STR_LIT>' : ( sf . skew , m ) , <EOL> '<STR_LIT>' : ( sf . std , m ) , <EOL> '<STR_LIT>' : ( sf . stetson_j , m ) , <EOL> '<STR_LIT>' : ( sf . stetson_k , m ) , <EOL> '<STR_LIT>' : ( sf . weighted_average , m , e ) , <EOL> '<STR_LIT>' : ( sf . qso_fit , t , m , e ) , <EOL> '<STR_LIT>' : ( sf . get_qso_log_chi2_qsonu , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_qso_log_chi2nuNULL_chi2nu , <EOL> '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . lomb_scargle_model , t , m , e ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_frequency , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_frequency , '<STR_LIT>' , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_frequency , '<STR_LIT>' , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:1> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:4> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:1> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:4> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:1> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:4> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:1> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:1> , <NUM_LIT:4> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:1> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:2> , <NUM_LIT:4> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:1> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_rel_phase , '<STR_LIT>' , <NUM_LIT:3> , <NUM_LIT:4> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude_ratio , '<STR_LIT>' , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_amplitude_ratio , '<STR_LIT>' , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_frequency_ratio , '<STR_LIT>' , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_frequency_ratio , '<STR_LIT>' , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_signif_ratio , '<STR_LIT>' , <NUM_LIT:2> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_signif_ratio , '<STR_LIT>' , <NUM_LIT:3> ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_lambda , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_signif , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_varrat , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_trend , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_lomb_y_offset , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . num_alias , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . scatter_res_raw , t , m , e , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . periodic_model , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_max_delta_mags , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_min_delta_mags , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_model_phi1_phi2 , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . period_folding , t , m , e , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_fold2P_slope_percentile , <EOL> '<STR_LIT>' , <NUM_LIT:10> ) , <EOL> '<STR_LIT>' : ( sf . get_fold2P_slope_percentile , <EOL> '<STR_LIT>' , <NUM_LIT> ) , <EOL> '<STR_LIT>' : ( sf . get_medperc90_2p_p , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . p2p_model , t , m , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_p2p_scatter_2praw , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_p2p_scatter_over_mad , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_p2p_scatter_pfold_over_mad , <EOL> '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . get_p2p_ssqr_diff_over_var , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : ( sf . lomb_scargle_fast_period , t , m , e ) , <EOL> } <EOL> values = dask . async . get_sync ( feature_graph , features_to_compute ) <EOL> return dict ( zip ( features_to_compute , values ) ) </s>
