Sum up the unconvolved model for a 2D data set.
This function is for two-dimensional data sets: use calc_source_sum for one-dimensional data sets.
reg (str, optional) – The spatial filter to use. The default,
None, is to use the whole data set.
id (int or str, optional) – Use the source expression associated with this data set. If not given then the default identifier is used, as returned by get_default_id.
msum – The sum of the model values that lie within the given region. This does not include any PSF included by set_psf.
- Return type
The coordinate system of the region filter is determined by the coordinate setting for the data set (e.g. get_coord).
Any existing filter on the data set - e.g. as created by ignore2d or notice2d - is ignored by this function.
The following examples use the data in the default data set created with the following calls, which sets the y (data) values to be 0 to 11 in a 3 row by 4 column image:
>>> ivals = np.arange(12) >>> y, x = np.mgrid[10:13, 20:24] >>> y = y.flatten() >>> x = x.flatten() >>> load_arrays(1, x, y, ivals, (3, 4), DataIMG) >>> set_source(const2d.bgnd) >>> bgnd.c0 = 2
with no argument, the full data set is used. Since the model evaluates to 2 per pixel, and there are 12 pixels in the data set, the result is 24:
>>> calc_source_sum2d() 24.0
and a spatial filter can be used to restrict the region used for the summation:
>>> calc_source_sum2d('circle(22,12,1)') 8.0 >>> calc_source_sum2d('field()-circle(22,12,1)') 16.0
Apply the spatial filter to the model for the data set labelled “a2142”:
>>> calc_source_sum2d('rotbox(4232.3,3876,300,200,43)', 'a2142')