Selection functions from ingested SSI catalogues#465
Conversation
…ross full footprint
|
The current version is a basic working version and has been tested on DES Y3 SSI catalogues, but there are still a few TODOs to deal with before it's ready for merging:
|
…d create a mask with no valid pixels
…y TXSelectionFunctionSSIMaps (configurable)
…of TXAuxiliarySSIMaps
…_frac map produced by TXAuxiliarySSIMaps
|
Major changes since the last comment:
I also found a bug where any attempt to load a mask with a non-zero threshold for removing pixels would produce an empty map, which should now be fixed. |
elvinpoole
left a comment
There was a problem hiding this comment.
This looks great!
It might be useful to also upload an example ini file (or just add this stage to the existing SSI depth one)
Also, some of the methods (particularly polynomial_model) could do with a bigger docstring so we can see the inputs are dask arrays and what their expected shape will be
In general I wonder if the current dask logic is optimal. There are a few places where da.compute is called early so you lose the laziness of the dask arrays. This might be fine, just bringing it up in case there is a better way....
joezuntz
left a comment
There was a problem hiding this comment.
A couple of comments from me too.
…ixels across maps
…expicitly compute uncertainties earleir than needed)
… on model predictions
Added two stages to
auxiliary_maps.py:TXSelectionFunctionSSIMaps: Uses ingested SSI catalogues to estimate the survey selection function and its 1-sigma uncertainties in pixels containing injected sources. This makes use of a new function calledmake_dask_selection_functionadded todr1.py.TXModelSelectionFunction: Uses a model to extrapolate the selection function to the rest of the footprint, as defined via an input mask. For now this model is a multilinear fit to survey property maps, but there is scope for alternative models to be added later.