astropy.units.brightness_temperature(frequency, beam_area=None)[source]

Defines the conversion between Jy/sr and “brightness temperature”, \(T_B\), in Kelvins. The brightness temperature is a unit very commonly used in radio astronomy. See, e.g., “Tools of Radio Astronomy” (Wilson 2009) eqn 8.16 and eqn 8.19 (these pages are available on google books).

\(T_B \equiv S_\nu / \left(2 k \nu^2 / c^2 \right)\)

If the input is in Jy/beam or Jy (assuming it came from a single beam), the beam area is essential for this computation: the brightness temperature is inversely proportional to the beam area.

frequency : Quantity with spectral units

The observed spectral equivalent Unit (e.g., frequency or wavelength). The variable is named ‘frequency’ because it is more commonly used in radio astronomy. BACKWARD COMPATIBILITY NOTE: previous versions of the brightness temperature equivalency used the keyword disp, which is no longer supported.

beam_area : angular area equivalent

Beam area in angular units, i.e. steradian equivalent


Arecibo C-band beam:

>>> import numpy as np
>>> from astropy import units as u
>>> beam_sigma = 50*u.arcsec
>>> beam_area = 2*np.pi*(beam_sigma)**2
>>> freq = 5*u.GHz
>>> equiv = u.brightness_temperature(freq)
>>> (1*u.Jy/beam_area).to(u.K, equivalencies=equiv)  
<Quantity 3.526295144567176 K>

VLA synthetic beam:

>>> bmaj = 15*u.arcsec
>>> bmin = 15*u.arcsec
>>> fwhm_to_sigma = 1./(8*np.log(2))**0.5
>>> beam_area = 2.*np.pi*(bmaj*bmin*fwhm_to_sigma**2)
>>> freq = 5*u.GHz
>>> equiv = u.brightness_temperature(freq)
>>> (u.Jy/beam_area).to(u.K, equivalencies=equiv)  
<Quantity 217.2658703625732 K>

Any generic surface brightness:

>>> surf_brightness = 1e6*u.MJy/
>>>, equivalencies=u.brightness_temperature(500*u.GHz)) # doctest: +FLOAT_CMP
<Quantity 130.1931904778803 K>