79 "Failed to cast SpatialCellCandidate to KernelCandidate");
82 kCandidate->setStatus(afwMath::SpatialCellCandidate::BAD);
83 LOGL_DEBUG(
"TRACE2.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
84 "Cannot process candidate %d, continuing",
kCandidate->getId());
88 LOGL_DEBUG(
"TRACE1.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
89 "Processing candidate %d",
kCandidate->getId());
108 kImage.writeFits(str(boost::format(
"askv_k%d.fits") %
kCandidate->getId()));
109 diffim.writeFits(str(boost::format(
"askv_d%d.fits") %
kCandidate->getId()));
115 _imstats.apply(diffim, _coreRadius);
117 _imstats.apply(diffim);
119 LOGL_DEBUG(
"TRACE2.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
120 "Unable to calculate imstats for Candidate %d",
kCandidate->getId());
121 kCandidate->setStatus(afwMath::SpatialCellCandidate::BAD);
127 LOGL_DEBUG(
"TRACE4.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
128 "Chi2 = %.3f", _imstats.getVariance());
129 LOGL_DEBUG(
"TRACE4.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
133 LOGL_DEBUG(
"TRACE4.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
134 "Kernel Sum = %.3f",
kSum);
135 LOGL_DEBUG(
"TRACE4.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
136 "Background = %.3f", background);
137 LOGL_DEBUG(
"TRACE2.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
138 "Candidate %d resids = %.3f +/- %.3f sigma (%d pix)",
147 kCandidate->setStatus(afwMath::SpatialCellCandidate::BAD);
148 LOGL_DEBUG(
"TRACE3.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
149 "Rejecting candidate %d, encountered NaN",
155 if (_ps->getAsBool(
"spatialKernelClipping")) {
156 if (fabs(_imstats.getMean()) > _ps->getAsDouble(
"candidateResidualMeanMax")) {
157 kCandidate->setStatus(afwMath::SpatialCellCandidate::BAD);
158 LOGL_DEBUG(
"TRACE3.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
159 "Rejecting candidate %d; bad mean residual : |%.3f| > %.3f",
162 _ps->getAsDouble(
"candidateResidualMeanMax"));
165 else if (_imstats.getRms() > _ps->getAsDouble(
"candidateResidualStdMax")) {
166 kCandidate->setStatus(afwMath::SpatialCellCandidate::BAD);
167 LOGL_DEBUG(
"TRACE3.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
168 "Rejecting candidate %d; bad residual rms : %.3f > %.3f",
171 _ps->getAsDouble(
"candidateResidualStdMax"));
175 kCandidate->setStatus(afwMath::SpatialCellCandidate::GOOD);
176 LOGL_DEBUG(
"TRACE3.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
177 "Spatial kernel OK");
182 kCandidate->setStatus(afwMath::SpatialCellCandidate::GOOD);
183 LOGL_DEBUG(
"TRACE5.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
184 "Sigma clipping not enabled");
189 if (!(_useCoreStats)) {
191 _imstats.apply(diffim, _coreRadius);
193 LOGL_DEBUG(
"TRACE2.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
194 "Unable to calculate core imstats for Candidate %d",
196 kCandidate->setStatus(afwMath::SpatialCellCandidate::BAD);
199 LOGL_DEBUG(
"TRACE3.ip.diffim.AssessSpatialKernelVisitor.processCandidate",
200 "Candidate %d core resids = %.3f +/- %.3f sigma (%d pix)",