|
23 | 23 |
|
24 | 24 | from fink_broker.common.tester import spark_unit_tests |
25 | 25 |
|
| 26 | +from fink_filters.ztf.classification import extract_fink_classification |
| 27 | +from fink_science.ztf.hostless_detection.processor import run_potential_hostless |
| 28 | + |
26 | 29 | # Import of science modules |
27 | 30 | from fink_science.ztf.random_forest_snia.processor import rfscore_sigmoid_full |
28 | 31 |
|
@@ -347,7 +350,6 @@ def apply_science_modules(df: DataFrame, tns_raw_output: str = "") -> DataFrame: |
347 | 350 | .withColumn("lc_features_r", df["lc_features"].getItem("2")) |
348 | 351 | .drop("lc_features") |
349 | 352 | ) |
350 | | - |
351 | 353 | # Apply level one processor: fast transient |
352 | 354 | _LOG.info("New processor: magnitude rate for fast transient") |
353 | 355 | mag_rate_args = [ |
@@ -421,6 +423,47 @@ def apply_science_modules(df: DataFrame, tns_raw_output: str = "") -> DataFrame: |
421 | 423 |
|
422 | 424 | df = df.withColumn("slsn_score", superluminous_score(*args)) |
423 | 425 |
|
| 426 | + _LOG.info("New processor: ELEPHANT Hostless module") |
| 427 | + fink_classifier_cols = [ |
| 428 | + "cdsxmatch", |
| 429 | + "roid", |
| 430 | + "mulens", |
| 431 | + "snn_snia_vs_nonia", |
| 432 | + "snn_sn_vs_all", |
| 433 | + "rf_snia_vs_nonia", |
| 434 | + "candidate.ndethist", |
| 435 | + "candidate.drb", |
| 436 | + "candidate.classtar", |
| 437 | + "candidate.jd", |
| 438 | + "candidate.jdstarthist", |
| 439 | + "rf_kn_vs_nonkn", |
| 440 | + "tracklet", |
| 441 | + ] |
| 442 | + df = df.withColumn("finkclass", extract_fink_classification(*fink_classifier_cols)) |
| 443 | + df = df.withColumn("tnsclass", F.lit("Unknown")) |
| 444 | + df = df.withColumn( |
| 445 | + "elephant_kstest", |
| 446 | + F.slice( |
| 447 | + run_potential_hostless( |
| 448 | + df["cmagpsf"], |
| 449 | + df["cutoutScience.stampData"], |
| 450 | + df["cutoutTemplate.stampData"], |
| 451 | + df["snn_snia_vs_nonia"], |
| 452 | + df["snn_sn_vs_all"], |
| 453 | + df["rf_snia_vs_nonia"], |
| 454 | + df["rf_kn_vs_nonkn"], |
| 455 | + df["finkclass"], |
| 456 | + df["tnsclass"], |
| 457 | + df["candidate.jd"] - df["candidate.jdstarthist"], |
| 458 | + df["roid"], |
| 459 | + ), |
| 460 | + 1, |
| 461 | + 2, |
| 462 | + ), |
| 463 | + ) |
| 464 | + expanded.extend(["finkclass", "tnsclass"]) |
| 465 | + df = df.drop(*expanded) |
| 466 | + |
424 | 467 | # Drop temp columns |
425 | 468 | df = df.drop(*expanded) |
426 | 469 |
|
|
0 commit comments