`NoiseReplacerTask` wants some statistics about the background that was subtracted from the exposure, but it gets these in a fragile and roundabout fashion: it expects the code that measures the background to put the mean and variance into the exposure's metadata, using special keys. It is difficult to enforce correctness because background is measured several times while processing an exposure.
I propose that the background be passed directly to `NoiseReplacerTask`. This will require passing the background through the various measurement tasks, which will require small changes to code that calls the measurement tasks.
I further propose to remove computation of background statistics from the background fitting code (presently `lsst.meas.algorithms.estimateBackground`, but that will change when
DM-5323 is merged).
In the long run, the cleanest solution is be to save the background model as part of the exposure (e.g. by adding it only in python and tweaking the wrapper code for persisting exposures to handle the background separately from the underlying implementation). However, I don't see that happening soon enough, hence this proposal.