This adds some very nice improvements and clarifications. I just have a few minor comments and a request for more documentation.
- afwImage is imported but not used
- GetCoaddAsTemplateTask, GetCalexpAsTemplateTask can be imported from lsst.im.diffim; you don't need to go down into getTemplate to get to them, and doing so makes the code a bit less clear
- I suggest moving "import lsst.ip.diffim.utils as diUtils" to the top; the most important reason is to catch errors that prevent the module from being imported early, but it also reduces repetition and makes dependencies more obvious
GetTemplateCoaddTask and GetCalexpAsTemplateTask
- These tasks are missing the doxygen comments that makes them show up on the main task documentation page. Please add that to make the tasks visible.
- The main doc strings are too brief; please fill these out as per our standard for tasks (including a brief example of how to run the task). If you are out of time for that now, please file a ticket so it does not get forgotten.
I suggest adding the configs to _all_ (in the past I have argued that it's just as good or better to get to the configs via the task's ConfigureClass method, but others disagree, and it certainly is true that it can be convenient to get to the configs directly).
ImagePsfMatchTask.makeCandidateList argument "candidateList": please document the two accepted data types in the @param description. When you refactor this code I hope you'll find you can require one of the two data types and make the user convert the other one, as it would simplify the API and the code. Also, with any luck you can clarify a function called makeCandidateList that take one kind of candidate list and return another – I find that really confusing, but not worth fixing on this ticket.
- pex.exceptions is imported but never used