Contents

*Page author and contact:* Rongpu Zhou

Starting with DR9, we supply a new quantity called *noise equivalent area* (NEA) in the Tractor catalogs (and downstream products).
The NEA measures the scaling between the inverse variance (IVAR) of the flux measurement and the noise level of the sky background. In units of
pixels, NEA is defined via:

\(\mathrm{IVAR} \equiv 1/(\sigma_{\mathrm{pix}}^2 \times \mathrm{NEA})\) (**Eq. 1**)

where IVAR is the flux inverse variance and \(\sigma_{\mathrm{pix}}\) is the per-pixel variance. For a single image, the NEA can be calculated as

\(\mathrm{NEA} = \left(\sum\mathrm{pixel}\right)^2 / \sum\left(\mathrm{pixel}^2\right)\) (**Eq. 2**)

where pixel represents the pixel values of the model. See King (1983) for the derivation.

In theory, given the variance map and the NEA values, one can estimate the flux error of a source. One of the use cases of the NEA for the Legacy Surveys will be to model the effects of varying depth and seeing on DESI target selection: given the "truth" photometry from deep imaging, we can estimate the scatter in the photometry from shallower imaging using the NEA and the per-pixel depth. The NEA can also be used to correct for offsets in the photometry due to sky-subtraction residuals.

The utility of the NEA for predicting flux errors relies on several assumptions:

- The photometric noise is dominated by the sky background. This should hold for sources with relatively low surface brightness,
*e.g.*faint galaxies. - The pixel-level variance is constant over the extent of the source.
- The morphology of the source is perfectly known.

## Implementation Details

The actual computation of the NEA is complicated by two considerations.

The first complication is that *Tractor* uses multiple overlapping images
that have different depth and PSF, whereas the NEA definition in **Eq. 2** only works for a single image. Therefore we instead compute an
effective NEA, which is a weighted average of the per-image NEA:

\(\frac{1}{\mathrm{NEA}_\mathrm{eff}} = \sum\left[ \frac{1}{(\sigma^2_{\mathrm{pix},i} \times \mathrm{NEA}_i)}\right] / \sum\left[\frac{1}{\sigma^2_{\mathrm{pix},i}}\right]\) **(Eq. 3)**

where \(\sigma_{\mathrm{pix},i}\) is the per-image pixel-level variance and \(\mathrm{NEA}_i\) is the per-image NEA. The derivation of \(\mathrm{NEA}_\mathrm{eff}\) is as follows:

The inverse variance (of the flux measurement of a source) from multiple images is, by definition (see **Eq. 1**):

\(\mathrm{IVAR}_\mathrm{tot} \equiv \frac{1}{\sigma^2_\mathrm{pix,eff} \times \mathrm{NEA}_\mathrm{eff}}\)

and, is also the sum of the per-image inverse variance:

\(\mathrm{IVAR}_\mathrm{tot} = \sum{\mathrm{IVAR}_i} = \sum \frac{1}{\sigma^2_{\mathrm{pix,}i} \times \mathrm{NEA}_i}\) .

In the legacypipe software used to process the Legacy Surveys imaging, the effective (combined) pixel-level variance \(\sigma_\mathrm{pix,eff}\) is given by:

\(\frac{1}{\sigma^2_\mathrm{pix,eff}} = \sum\frac{1}{\sigma^2_{\mathrm{pix,}i}}\)

Combining all three of the preceding equations produces **Eq. 3**.

The second complication is that some sources are only partially covered by an image (CCD), and some sources (models) have wings that extend beyond their
blobs. Since this breaks the assumption of a constant pixel-level variance, there is no single rigorous method to compute the NEA. We therefore decided to provide
*two* versions of the NEA in the Tractor catalogs:

`nea`

The `nea` version of the NEA calculation is:

\(\mathtt{nea} = \sum(\frac{1}{\sigma^2_{\mathrm{pix,}i}} \times \mathrm{fracin}_i)\, / \sum(\frac{1}{\sigma^2_{\mathrm{pix,}i}} \times \mathrm{fracin}_i \times \frac{1}{\mathrm{nea}_i})\)

with:

\(\mathrm{fracin} = \mathrm{pflux} / \mathrm{flux}\)

and:

\(\mathrm{nea}_i = \mathrm{pflux}^2 / \sum p^2\)

where p is the model image patch (*i.e.* the model image that overlaps the image), \(\mathrm{pflux}=\sum p\) is the total flux in the patch, \(\mathrm{flux}\) is the total
flux of the model (regardless of coverage), and the weight \(\mathrm{fracin}\) is the fraction of flux in the model patch overlapping the image. In this version of the
NEA calculation, the blob mask is ignored, which makes `nea` less sensitive to partial coverage than `blobnea`.

`blobnea`

The blob-masked version of the NEA calculation is:

\(\mathtt{blobnea} = \frac{1}{\sigma^2_\mathrm{pix,coadd}} / \sum\left(\frac{1}{\sigma^2_{\mathrm{pix,}i}} \times \frac{1}{\mathrm{mnea}_i}\right)\)

with:

\(\mathrm{mnea}_i = \mathrm{flux}^2 / \sum \mathrm{maskedp}^2\)

where \(\mathrm{flux}\) is the total flux of the model (regardless of coverage), and \(\mathrm{maskedp}\) is the blob-masked model image patch. The blob mask is accounted for in this
version of the NEA calculation, and, hence, the `blobnea` value increases with decreasing coverage. Effectively, for `blobnea`, images with less coverage
have larger noise for the same pixel-level variance.

The `blobnea` values use the coadd per-pixel inverse variance in the denominator of **Eq. 3** (instead of \(\sum[1/\sigma^2_{\mathrm{pix,}i}]\)). The
coadd per-pixel inverse variance can be obtained using the `psfsize` and `psfdepth` values from the Tractor catalogs as follows:

\(1/\sigma^2_\mathrm{pix,coadd} = \mathtt{psfdepth} \times [4 \times \pi \times (\mathtt{psfsize}/2.3548)^2]\)

where `psfdepth` is the flux IVAR of a point source (assuming sky domination), and \(4 \times \pi \times (\mathtt{psfsize}/2.3548)^2\) is the NEA of a point
source. The quantity \(2.3548 = 2\sqrt{2\ln(2)}\) converts the FWHM to a gaussian sigma. Here, we are just backing out the computation of
`psfsize` to get the NEA value of the PSF.

The two versions of NEA agree within 1% (10%) for 90% (97%) of all sources. The `nea` version might be more appropriate when correcting for residual
sky background. The `blobnea` version should be more accurate for predicting the flux errors via:

\(\mathrm{flux\_ivar\_predict} = \mathtt{psfdepth} \times [4 \times \pi \times (\mathtt{psfsize}/2.3548)^2] \, / \, \mathtt{blobnea}\)

The plot below shows a comparison between `flux_ivar_g` from tractor and the predicted `flux_ivar_g` using `blobnea`. At bright magnitudes, the NEA
overestimates `flux_ivar` because the sources are bright compared to the sky (although the deviation can be easily corrected for point sources). The
agreement is better than a few percent for faint sources.