MeqCompounder

The compounder implements an implicit function. The first child should give the grid points and the second child should give the higher dimensional function. Here is a diagram on what it does compounder.pdf

Here is how you can use it:


  # create a 4D funklet
  x_node=create_4d_beam(....)
  ns.x<<x_node

  # use RA,Dec as the grid 
  ra = [[0.1,0.2],[0.01,0.02]]
  dec = [[0.1,-0.1],[0.1,0.1]]
  ns.ra0 << Meq.Parm(ra,node_groups='Parm')
  ns.dec0 << Meq.Parm(dec,node_groups='Parm')

  # then create a MeqComposer containing ra dec children
  ns.RADec <<Meq.Composer(ns.ra0, ns.dec0)

  # finally use the compounder to get a t,f result for the grid points on the RA,Dec values from the funklet
  ns.y<<Meq.Compounder(children=[ns.RADec.name,ns.x.name],common_axes=[hiid('a'),hiid('b')])

The arguments are:

Note that you can solve for any child of the Compounder (i.e. the grid and/or the funklet).

A Compounder node can be used together with a MeqResampler node to extract e.g. values of a beamshape (E Jones) that have been read in and stored in a fixed grid via e.g. a FITSImage node (see the MeqImage page).

The compounder also handles perturbed values in a smart way to avoid duplication.

The resampler uses cubic Hermite interpolation in any number of dimensions (upto 6).

MeqCompounder (last edited 2007-02-24 17:43:16 by TonyWillis)