67 def run(self, dataRef):
68 self.log.info(
"Processing %s" % (dataRef.dataId))
69 calexp = dataRef.get(
'calexp')
70 srcs = dataRef.get(
'src')
71 print 'Calexp:', calexp
80 mapper.addMinimalSchema(srcs.getSchema(),
True)
81 schema = mapper.getOutputSchema()
83 if self.config.doDeblend:
84 self.makeSubtask(
"deblend", schema=schema)
85 if self.config.doMeasurement:
86 self.makeSubtask(
"measurement", schema=schema, algMetadata=self.
algMetadata)
91 if src.getParent() == 0:
95 outsources.reserve(len(parents))
96 outsources.extend(parents, mapper=mapper)
98 print len(srcs),
'sources before deblending'
100 if self.config.doDeblend:
101 self.deblend.run(calexp, srcs, calexp.getPsf())
103 if self.config.doMeasurement:
104 self.measurement.run(calexp, srcs)
106 if srcs
is not None and self.config.doWriteSources:
107 sourceWriteFlags = (0
if self.config.doWriteHeavyFootprintsInSources
108 else afwTable.SOURCE_IO_NO_HEAVY_FOOTPRINTS)
109 print 'Writing "src" outputs'
110 if self.config.sourceOutputFile:
111 srcs.writeFits(self.config.sourceOutputFile, flags=sourceWriteFlags)
113 dataRef.put(srcs,
'src', flags=sourceWriteFlags)