WIP: Single Object Model and Scene Maker Future PSF Photometry API #756
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request is set up for the discussion of the forward-looking additions to PSF photometry and should not be merged until after the discussion is finished. In this case the issue is the 'single object model' and 'scene maker' aspects of the block diagram -- although 'scene maker' is not currently implemented within the block diagram it is heavily linked to the 'single object model' and included here for discussion accordingly. This API documentation complements that in #721 where the documentation for those blocks implemented, with solid APIs unlikely to change in future releases. Please see #766 for an overview of the fitting process and a revised block diagram.
The structure of the blocks input and output parameters is described in detail in the documentation, but the main issues are summarised below:
SingleObjectModel
star
variable renamingobject_type
list available to bothSingleObjectModel
andSceneMaker
psf_model
(~astropy.modeling.Fittable2DModel
) andobject_type
(string) and returnsconvolve_psf_model
(~astropy.modeling.Fittable2DModel
)SceneMaker
In particular discussion on
Fitter
instance. While point sources can be naively fit for flux and position with no knowledge of the underlying physics of the source (age, spectral type, etc.), the creation of an underlying intrinsic "image" of extended sources requires fitting for physical parameters.star
. Is it better to keep backwards consistency and keep all sources, extended or not, under a variable called 'star', or is it better to have a physically motivated name for the variable?SingleObjectModel
andSceneMaker
have the same acceptedobject_type
list (such thatSceneMaker
cannot assign a source as being, e.g., a Quasar, which is not an accepted object type inSingleObjectModel
) -- or whether there is a more effective way to handle such non-point source determination than the list of accepted strings ofobject_type
variables.SceneMaker
to be "galaxy 1" while stars 3 and 6 are now "galaxy 2" with star 4 a point source still; what framework within thestar
~astropy.table.Table
structure will most efficiently and obviously indicate such mergings?is appreciated to finalise the API call.
Please provide any feedback on the API for this PSF photometry fitting routine block you may have, such that the implementation meets all of the requirements of all users and is as clear as possible going forward. A simple example for this block, maintaining "do nothing" backwards-compatibility can be found in
IterativelySubtractedPSFPhotometry
, with changes toget_grouped_psf_model
necessary for creating a composite PSF given here and the exampleSingleObjectModel
class shown here. Note that the example shown is very basic, with no implementation of any convolution with intrinsic sources, and does not attempt to implementSceneMaker
at all. Please also provide simpler formatting or grammatical changes to improve the readability and professional look of the document. The function's primary goal is to allow for the extension of PSF fitting to include non-point sources, fitting for more complex extended sources as well as the eventual acceptance the mergers between multiple sources into an extended source in a manner analagous to source grouping.