Description
Solve for the model brightness using the Briggs' Non-Negative Least
Squares algorithm. Since NNLS works only on the I image, the I
pixels in the current image is set to zero where the fluxmask is > 0.0, then NNLS is used to estimate the I-pixels for that region.
The deconvolution is performed on the residual image calculated from
the visibility data currently selected. Hence the first step performed
in clean is to transform the current model to fill in the MODEL_DATA
column, and then inverse transform the residual visibilities to get a
residual image. This residual image is then deconvolved using the
corresponding point spread function.
Some other points to remember are that rather than explicit boxes,
mask images are used to constrain the region that is to be
deconvolved. For NNLS, there are two masks, the fluxmask specifying
the region within which flux is allowed, and the datamask specifying
the region of the dirty image to be used as constraints. Typically the
datamask will be somewhat larger than the fluxmask. On a large
machine, a practical limit to both will be about 5000-6000
pixels. Hence NNLS is only useful for compact tools. (For more
details, see the Briggs thesis). To
make mask images, use either boxmask (to
define a mask via the corner locations blc and trc) or
mask (to define a mask via
thresholding an existing image).
On the canonical AIPS++ machine with 64MBytes of physical memory,
you should try to keep the product of the pixels in the fluxmask
and the datamask below about 5-10 million. Otherwise the
solution phase will swap badly.
Arguments
model |
in |
Name of image |
|
|
Allowed: |
Vector of strings |
fixed |
in |
Keep model fixed |
|
|
Allowed: |
Vector of booleans |
|
|
Default: |
F |
complist |
in |
Name of component list |
|
|
Allowed: |
String |
niter |
in |
Number of Iterations, set to zero for no NNLS |
|
|
Allowed: |
Int |
|
|
Default: |
0 |
tolerance |
in |
Tolerance for solution |
|
|
Allowed: |
Double |
|
|
Default: |
1e-06 |
fluxmask |
in |
Name of mask for allowed flux |
|
|
Allowed: |
Vector of strings |
datamask |
in |
Name of mask for constraint pixels in dirty image |
|
|
Allowed: |
Vector of strings |
image |
in |
Names of restored images |
|
|
Allowed: |
Vector of strings |
residual |
in |
Names of restored images |
|
|
Allowed: |
Vector of strings |
async |
in |
Run asynchronously in the background |
|
|
Allowed: |
Bool |
|
|
Default: |
!dowait |