Source code for lc_correction.helpers

import pandas as pd

COL_DATA_QUALITY = ['aimage', 'aimagerat', 'bimage', 'bimagerat', 'candid', 'chipsf', 'classtar', 'fid', 'fwhm',
                   'mindtoedge', 'nbad', 'nneg', 'objectId', 'scorr', 'seeratio', 'sky', 'sumrat', 'xpos', 'ypos']
COL_SS_ZTF = ['candid', 'objectId', 'ssdistnr', 'ssmagnr', 'ssnamenr']
COL_PS1_ZTF = ['sgscore1', 'szmag1', 'srmag2', 'nmtchps', 'distpsnr3', 'objectidps2', 'szmag2', 'simag3', 'sgmag1',
               'distpsnr1', 'sgmag2', 'sgscore3', 'sgscore2', 'candid', 'distpsnr2', 'sgmag3', 'srmag3', 'simag1',
               'objectidps1', 'simag2', 'objectidps3', 'szmag3', 'srmag1']
COL_CORRECTED = ['objectId', 'candid', 'mjd', 'fid', 'pid', 'diffmaglim', 'isdiffpos', 'nid', 'ra', 'dec', 'magpsf',
                 'sigmapsf', 'magap', 'sigmagap', 'distnr', 'rb', 'magapbig', 'sigmagapbig', 'rfid', 'magpsf_corr',
                 'sigmapsf_corr', 'sigmapsf_corr_ext', 'corrected', 'dubious', 'has_stamp', 'parent_candid', 'step_id_corr']


[docs]def get_data_quality(df): return df[COL_DATA_QUALITY]
[docs]def get_ss_ztf(df): return df[COL_SS_ZTF]
[docs]def get_ps1_ztf(df): def ps1(group): first = group.mjd.min() data = group[COL_PS1_ZTF][group.mjd == first] return pd.Series(data.iloc[0].to_dict()) return df.groupby(["objectId", "fid"]).apply(ps1).reset_index()
[docs]def get_clean_corrected(df, step_name=None): df["has_stamp"] = (df["parent_candid"] == 0) df['step_id_corr'] = 'corr_bulk_0.0.1' if step_name is None else step_name # df.loc[(df["parent_candid"] == 0), "parent_candid"] = np.nan return df.reset_index()[COL_CORRECTED]