Refining Dust Extinction Corrections

A technical walkthrough of my first research paper and the methodology behind it.

First of all, read the paper! You can find it here: Refining Dust Extinction Corrections for Hα Luminosity Functions

This page is intended as a more technical companion to my broader Masters Thesis overview.

If you're here because you are trying to understand the actual methodology used in my first paper — welcome! The goal of this page is to walk through the analysis process in a way that would help a university student reproduce the work themselves.

This is NOT a simplified outreach article. I’ll still try to explain concepts clearly, but this page assumes some familiarity with:

  • galaxy evolution,
  • star formation rate tracers,
  • luminosity functions,
  • basic statistical fitting,
  • and observational astronomy datasets.
The goal here is not just to explain what we found — but how the analysis pipeline itself actually worked.

Paper Overview

The project explored whether radio-derived star formation rates could be used to construct an alternative dust obscuration correction for Hα luminosity functions.

The core idea was:

If radio emission is largely unaffected by dust, and Hα emission IS affected by dust, then the relationship between the two tracers may encode information about dust attenuation itself.

To investigate this, I:

  • matched EMU radio survey data with GAMA optical spectroscopy using TOPCAT,
  • constructed a local Hα-radio SFR relationship,
  • used that relationship as a dust correction prescription,
  • applied the correction to published Hα luminosity functions,
  • refit the luminosity functions using Schechter functions,
  • and then calculated the resulting cosmic star formation rate density evolution.

Step 1 — Constructing the Local SFR Relationship

The first stage involved building a relationship between:

  • uncorrected Hα star formation rates
  • and radio-derived 1.4 GHz star formation rates.

The local galaxy sample was restricted to:

  • 0.0 < z < 0.35
  • star forming galaxies only
  • quality controlled detections

After calculating star formation rates using the Kennicutt (1998) and Bell (2003) calibrations, the two tracers were compared directly.

A linear regression was then fit using:

numpy.polyfit(..., cov=True)

This produced the local Universe dust correction relation:

log(SFR) = 0.55 log(SFR1.4GHz) − 0.22

This relationship became "Model 4" throughout the paper and represented the strongest dust correction scenario.

Three additional intermediate models were then constructed to test how the relationship might evolve with redshift.

Step 2 — Applying Dust Corrections

Once the SFR relationship was established, the next step was applying it to published Hα luminosity functions.

This involved:

  • collecting luminosity functions from literature,
  • removing previous dust corrections where necessary,
  • converting luminosities into SFRs,
  • applying the radio-based correction,
  • then converting the corrected SFRs back into luminosities.

This stage was significantly more difficult than it sounds because different papers:

  • used different cosmologies,
  • used different IMFs,
  • used different luminosity units,
  • and sometimes already contained hidden assumptions about dust attenuation.
A surprisingly large amount of astronomy research is just trying to make other astronomy research comparable.

Step 3 — Refitting Luminosity Functions

Once corrected luminosities were produced, new luminosity functions had to be fit.

For this work I used Schechter functions:

φ(L) = φ* (L/L*)α exp(-L/L*)

The luminosity functions were separated into six redshift bins spanning:

  • z = 0 → 8

Initial fits were generated using weighted residual minimisation, then refined using MCMC fitting with the Python package emcee.

Each luminosity function fit used:

  • 100,000 MCMC iterations
  • uncertainty propagation
  • confidence interval estimation

Step 4 — Calculating Cosmic Star Formation Rate Density

Once Schechter parameters were determined, the luminosity functions could be integrated to calculate the luminosity density:

ρL = ∫ L φ(L) dL

This was then converted into the cosmic star formation rate density (SFRD) using the Kennicutt calibration adjusted for a Chabrier IMF.

The resulting SFRD evolution was then compared against:

  • UV measurements,
  • Infrared measurements,
  • Hα studies,
  • and radio-derived literature values.

Which, again, was more difficult than it sounds because of the wide variety of assumptions and calibrations used across different papers, that had to be carefully accounted for to ensure a fair comparison.

The Main Result

The locally calibrated dust correction worked well at low redshift.

But at high redshift the method dramatically overestimated star formation rates — by up to two orders of magnitude.

This implied that:

The local Hα-radio dust relationship does not remain static over cosmic time.

Instead, the results suggested progressively reduced dust obscuration towards earlier cosmic epochs.

This ultimately led to the construction of a composite evolving dust correction model that transitions between different slopes at different redshifts.

Future Work

This project was intentionally exploratory.

The major next steps would likely involve:

  • continuous redshift evolution rather than step-function models,
  • including stellar mass dependence,
  • testing against more JWST-era datasets,
  • and incorporating galaxy morphology or ISM geometry.

I’m also currently developing a public coding package for constructing luminosity functions using this methodology.

📄 Simplified Annotated Version

If you would prefer a much more simplified and visually annotated version of the paper, check out the PDF below.

This version is designed more like a guided walkthrough and is intended for students or non-specialists.

Open PDF in new tab →

📚 Original Paper

Read the published paper here:

Refining Dust Extinction Corrections for Hα Luminosity Functions

💻 Code & Methods

A public repository containing luminosity function fitting tools and analysis scripts is currently in development. This will be released in the near future and I will update this page with a link once it's available.

A csv file containing the corrected luminosity function data points from the paper will also be included in the repository.

The pipeline primarily used:

  • Python
  • NumPy
  • SciPy
  • emcee
  • Matplotlib