instead of just checking whether the Peak is within the Footprint, we should check whether it is with a very small distance (perhaps one or two pixels?) of the peak. I'd like to also catch the case where the centroid is worse than the Peak but not bad enough to be outside the Footprint.
(I assume that should read "whether the centroid is within the Footprint")
Can you clarify the above a little – how can one tell that the centroid is "worse than the Peak"? Do you mean it's bad if it's offset by more than a few pixels from the peak?
I'm not sure which flag should be set on the record objects. Is this a flag of the centroider algorithm? So that every centroider algorithm which is defined in plugins has one of these flags?
Yes, that's my reading of Nate's text.
And is the failure for the centroid to be inside the footprint actually a FAILURE, or is it a flag outside the normal MeasurementError flags
I'm not sure I'm parsing that properly, but I think that the suggestion is that we should set a "centroider-fell-back-to-peak" flag, but not a general "centroider failed" flag. It's then up to downstream algorithms to check the individual flags defined by the centroider algorithms to see if the centroid is adequate for their purposes.
I'm actually a bit nervous about this: my first reaction is that algorithms which can sensibly fall back to peaks instead of centroids should be responsible for doing that for themselves. Having the centroider do it for them seems dangerous: what if a naive algorithm developer doesn't know or remember to check the special "centroid-is-actually-a-peak" flag? Jim will be better placed to comment on what the likely consequences of falling back to the peak when a centroid isn't available are, though, so if he assures us it will always be safe I guess that's good enough.
It also seems like the flag should be visible at the schema (i.e., centroid slot level) Is there an alias which needs to be defined for this to work?
As I recall – and Jim Bosch will soon correct me if I'm wrong! – this will already be handled by the existing slot mechanism. No special casing needed.