Provide an easy way to set Coord fields of a source catalog

XMLWordPrintable

Details

• Type: Improvement
• Status: To Do
• Resolution: Unresolved
• Fix Version/s: None
• Component/s:
• Labels:
• Templates:
• Story Points:
2
• Team:

Description

We sometimes need to set the coord fields of a source catalog, e.g. when fitting a new WCS or when studying an icSrc catalog (whose Coord field is not set). It would be nice to have a central, easily found way to do this. Right now we have the following as a static method of TanSipWcsTask, which works fine but is in a poor location:

 def updateSourceCoords(wcs, sourceList): """Update coords in a collection of sources, given a WCS """ if len(sourceList) < 1: return schema = sourceList[1].schema srcCoordKey = afwTable.CoordKey(schema["coord"]) for src in sourceList: src.set(srcCoordKey, wcs.pixelToSky(src.getCentroid()))

The other direction is also useful for reference catalogs, though from a practical standpoint the only user is probably meas_astrom. Even so, I suggest that this be made publicly available in the same way. Again, this is presently a static method of FitTanSipWcsTask:

 def updateRefCentroids(wcs, refList): """Update centroids in a collection of reference objects, given a WCS """ if len(refList) < 1: return schema = refList[0].schema coordKey = afwTable.CoordKey(schema["coord"]) centroidKey = afwTable.Point2DKey(schema["centroid"]) for refObj in refList: refObj.set(centroidKey, wcs.skyToPixel(refObj.get(coordKey)))

I hope this can remain Python code, but admit that the extra speed of C++ might come in handy in some cases. In any case, once the function is in a central location we can implement it in C++ if we find the need.

People

• Assignee:
Unassigned
Reporter:
Russell Owen
Watchers:
Jim Bosch, John Parejko, John Swinbank, Russell Owen
0 Vote for this issue
Watchers:
4 Start watching this issue

Dates

• Created:
Updated: