Skip to content
Gijs Molenaar edited this page Feb 12, 2014 · 3 revisions

We're always talking about an LSM "redesign", so I thought I'd start a page to list all the issues that need to be addressed. After playing around with 3C343 calibration a bit, I think I've identified a few missing features.

Displaying LSM objects over an image

At the moment there's no easy way to compare an LSM with an image of the sky. One can try to visually match patterns between the LSM GUI and an image, but this is only possible for a limited number of objects. This is quite necessary though: looking at the 3C343 residuals, for example, it is obvious that my NVSS-derived LSM has a few errors. Things like, e.g. a single point source instead of an obvious double source, the odd extended source, some incorrect positions, etc. Before I can get around to correcting the model (more on this below), I need a way to identify the "incorrect" sources, and I don't see any reasonable way to do it unless we can plot the LSM "crosses" directly over the residual image.

I suggest a cheap solution for now. Karma supports image "annotations" which can be loaded up and displayed on top of an image. This is just a text file giving some plotting commands. The format is described here: http://www.atnf.csiro.au/computing/software/karma/user-manual/node17.html. It shouldn't be too difficult to write a bit of Python to export a given LSM into a Karma annotations file, to produce crosses, circles, etc. at the locations of LSM sources, plus text labels with their identifiers.

Interactive editing

OK, I've figured out I can read an NVSS file and save it as a proper LSM. Now, I want to go and edit the LSM. Simple things like:

  • delete a source
  • edit a source, e.g., change position, change a point source into a gaussian, etc.
  • copy/paste a source. E.g., there's a single source that I want to split into a double -- the easiest way would be to make a copy of the source, then edit the positions. Obviously, some kind of interactive editing tool is needed for this.

Tagging

I need to be able to assign tags to sources, both interactively and via the API. Here are some use cases for this:

  • a few sources in my LSM have incorrect positions. I want to tag them with some label I make up, such as "bad_position". These tags would then propagate into the Meq.Parms associated with the sources. Then over in my calibration script I could easily identify them, and solve for positions of only these "uncertain" sources.
  • likewise, I may want to solve for gaussian parameters or polarizations of a specific subset of sources. Tagging them interactively is a good way to do this.
  • non-interactive tagging: having solved for a set of sources in the LSM (e.g. the 20 brightest ones), I want to go and tag them with something, so that later I can go back and take the next 20 without a "solved" tag.
Clone this wiki locally