NRAO Home > CASA > CASA Toolkit Reference Manual
imager.nnls - Function

2.3.1 Calculate a deconvolved image using the NNLS algorithm


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 CASA 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





Inputs

model

Name of image

allowed:

stringArray

Default:

keepfixed

Keep model fixed

allowed:

boolArray

Default:

false

complist

Name of component list

allowed:

string

Default:

niter

Number of Iterations, set to zero for no NNLS

allowed:

int

Default:

0

tolerance

Tolerance for solution

allowed:

double

Default:

1e-06

fluxmask

Name of mask for allowed flux

allowed:

stringArray

Default:

datamask

Name of mask for constraint pixels in dirty image

allowed:

stringArray

Default:

image

Names of restored images

allowed:

stringArray

Default:

residual

Names of restored images

allowed:

stringArray

Default:

async

Run asynchronously in the background

allowed:

bool

Default:

false

Returns
bool

Example

 
 
im.nnls(image=’3C273XC1.nnls.image’, model=’3C273XC1.nnls.model’,  
fluxmask=’3C283XC1.fluxmask’, datamask=’3C273XC1.datamask’, niter=1000,  
tolerance=0.00001)  
 

__________________________________________________________________


More information about CASA may be found at the CASA web page

Copyright 2016 Associated Universities Inc., Washington, D.C.

This code is available under the terms of the GNU General Public Lincense


Home | Contact Us | Directories | Site Map | Help | Privacy Policy | Search