Status: in branch u/djreiss/
DM-3704 we have split imageDifference.py into two separate command-line tasks, makeDiffim.py and processDiffim.py. Those two tasks now reside in ip_diffim, and their corresponding calls from command-line are in pipe_tasks. We have also written a (temporary) imageDifference2.py task in pipe_tasks which is meant to perform identically to the original imageDifference.py but by calling the two new tasks in order, as subtasks. Config parameters have been moved into the appropriate subtasks.
It all seems to work.
Preliminary tests show that imageDifference2.py performs identical processing to the original script, and generates output similar to the original script in the butler repo. Similarly, the two new command-line tasks are fully functional and perform as expected. The output diaSource catalogs are indentical in size, but not bit-wise identical, however I have confirmed that they contain identical content.
It was found that certain config parameters (debugging flags which were set to False by default) were not functional (likely bit-rotted) in the original imageDifference.py task, and they are not functional in the new imageDifference2.py. These include doAddMetrics and doMatchSources. There are other related parameters such as doSelectDcrCatalog/doSelectVariableCatalog which have not been tested as they depend upon the other two parameters being functional.
Some refactoring of the individual makeDiffim and processDiffim tasks has been performed, including some but not all listed in