Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1367
News FAQ
Search Home


next up previous
Next: Image Tools Up: Calibration, Imaging and Datasystems for AIPS++ - Report Previous: Telescope Correction/Calibration Models

ImagingModel

The ImagingModel is a means of connecting a specific observation or observing mode (e.g., VLA or MERLIN observation) to a method which is to be used in making images from Yegs associated with that observation, together with the inverse operation for predicting Yegs from a model or estimated Image. The purpose of this is to provide a flexible means of switching between the various methods for a given observation, and to encapsulate all information about the relevant measurement equations in one place. A telescope forms an image which we will represent by a vector $ \bf x$ which can be described by a linear equation $ \bf y$ = A$ \bf x$ where $ \bf y$ denotes the observed, calibrated Yegs. This linearity holds for most cases currently of interest, but is not crucial. An interferometer without primary beam correction has elements of A which are simply complex phasors whereas for a single dish the elements correspond to points in the primary beam. PredictYegs thus corresponds to calculating $ \bf y$ = A$ \bf x$ whereas InvertYegs corresponds to performing the transpose operation $ \bf x$ = AT($ \bf y w$) where the weights $ \bf w$ can be chosen using CalcWeights.

Note that the scheme should cope with other inversion schemes which are specific to a given type of ImagingModel, but where the transpose relationship does not apply. So long as PredictYegs and InvertYegs exist, any other methods can be attached to the ImagingModel.

To treat two telescopes as the same (e.g., for making uniformly weighted images using data from multiple telescopes such as MERLIN and the VLA), each must use the same instantiation of the ImagingModel; this might look something like:

  // Instantiate imaging model.
  IntImagingModel intim(FALSE,FALSE);

  // Use the same imaging model for the MERLIN
  //   and VLA Telescopes.
  VLA.ImagingModel = intim;
  MERLIN.ImagingModel = intim;

  // Perform the inversion on a mixture of data.
  Dirty = intim.invert (SomeYegSet);
Here, IntImagingModel is a class derived from ImagingModel, which applies for interferometers. It requires some parameters for initialisation (e.g., is the model to include primary beam effects?). This allows the Yegs from the two different Telescopes to be recognised as requiring the same treatment, whilst any others would require a different model.

ImagingModels are typically used by a higher level application such as mosaicing methods. One makes appropriate instances of ImagingModels and connects them to the Telescopes which require them:

  // Instantiate imaging models for interferometer and single dish.
  IntImagingModel intim(TRUE,FALSE);
  BeamSwitchSDImagingModel bssdim(FALSE);

  // Use appropriate imaging models
  VLA.ImagingModel = intim;
  GBT.ImagingModel = bssdim;

  // Instantiate image tool...
  MosaicTool mt(100,10.9,11.6);

  // ...and use it.
  SkyImage Result = mt.Estimate(YegSet);
In this example, BeamSwitchSDImagingModel is a derived class, for single dish beam-switched experiments. We assign these two imaging models to a VLA and a GBT Telescope, respectively.


next up previous
Next: Image Tools Up: Calibration, Imaging and Datasystems for AIPS++ - Report Previous: Telescope Correction/Calibration Models
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-03-28