|
|||
NRAO Home > CASA > CASA Toolkit Reference Manual |
|
image.calcmask - Function
1.1.1 Image mask calculator
Description
This method is used to create a new pixel mask via a Boolean LEL
expression. This gives you much more scope than the simple set and putregion
functions. Both float and complex valued images are supported.
See http://casa.nrao.edu/aips2_docs/notes/223/index.shtml which describes the the syntax and functionality of LEL in detail. Also in this document is a description of ways to escape image names that contain certain non-alphanumeric characters so they are compatible with LEL syntax.
If the expression is not a scalar, the shapes and coordinates of the image and expression must conform. If the expression is a scalar then the entire pixel mask will be set to that value.
By default (argument name) the name of a new pixel mask is made up for you. However, if you specify a pixel mask name (use function summary or maskhandler to see the mask names) then it is used. If the pixel mask already exists, it is overwritten.
You can specify whether the new pixel mask should be the default mask or not. By default, it is made the default pixel mask !
Arguments
Inputs |
| ||
mask |
| Mask to use. Default is none. | |
| allowed: | string |
|
| Default: |
| |
name |
| Mask name. Default is auto new name.
| |
| allowed: | string |
|
| Default: |
|
|
asdefault |
| Make specified mask the default mask?
| |
| allowed: | bool |
|
| Default: | true |
|
bool
Example
"""
#
print "\t----\t calcmask Ex 1 \t----"
ia.maketestimage(’zz’, overwrite=true)
subim = ia.subimage() # Make "another" image
ia.calcmask(’T’) # Specify ’True’ mask as a string
ia.calcmask(’zz>0’) # Mask of zz ignored
ia.calcmask(’mask(zz) && zz>0’) # Mask of zz included
ia.calcmask(subim.name(true)+’>min(’+subim.name(true)+’)’) # Use tool names
ia.calcmask(’zz>min(zz:nomask)’) # Mask of zz not used in scalar function
subim.done()
ia.close()
#
"""
The first calcmask example is the equivalent of {\cf
ia.set(pixelmask=1)}. It sets the entire mask to True.
The second example creates a new \pixelmask\ which is True when
the pixel values in image {\sff zz} are greater than 0.
Now for some subtlety. Read carefully ! Any LEL expression can be
thought of as having a value and a mask. Usually the value is Float and
the mask Boolean. In this case, because the expression is Boolean
itself, the value is also Boolean. The expression mask would just be
the mask of {\sff zz}. Now what {\stfaf calcmask} does is create a mask
from the expression value (which is Boolean) and discards the expression
mask. Therefore, the resulting mask is independent of any mask
that {\sff zz} might have.
If you wish the mask of the expression be honoured as well,
then you can do as in the third example. It says the output \pixelmask\
will be True if the current \pixelmask\ of {\sff zz} is True and the expression
value is True.
The fourth example is like the second, except that we use the pixel
values associated with the on-the-fly {\stf subim} Image tool disk file. Note one further
subtlety here. When the scalar function {\cf min} evaluates a value
from {\cf subim.name()}, which in this case is just {\cf zz}, the default
mask of {\cf subim.name()} {\it will} be used. All the scalar
functions look at the mask. If you didn’t want the mask to be used
you can use the special {\cf :nomask} syntax shown in the final
example.
__________________________________________________________________
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