aboutsummaryrefslogtreecommitdiff
path: root/noao/nproto/ace/doc/objmasks.hlp
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /noao/nproto/ace/doc/objmasks.hlp
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'noao/nproto/ace/doc/objmasks.hlp')
-rw-r--r--noao/nproto/ace/doc/objmasks.hlp710
1 files changed, 710 insertions, 0 deletions
diff --git a/noao/nproto/ace/doc/objmasks.hlp b/noao/nproto/ace/doc/objmasks.hlp
new file mode 100644
index 00000000..1c35c4c9
--- /dev/null
+++ b/noao/nproto/ace/doc/objmasks.hlp
@@ -0,0 +1,710 @@
+.help objmasks Jan02 nproto
+.ih
+NAME
+objmasks -- detect objects in images and create masks and sky maps
+.ih
+SYNOPSIS
+.ih
+USAGE
+objmasks images objmasks skys
+.ih
+PARAMETERS
+.ls images
+List of images or multiextension files for which object masks are desired.
+.le
+.ls objmasks
+List of object masks to be created. This list must match the input list.
+Multiextension input files will produce multiextension mask files. If the
+input image is writable, the name of the created mask will recorded in the
+image header. Note that it is possible to specify a null image to
+not produce an output mask. This might be done if the background sky
+or sky sigma maps are desired or to just see the log information.
+.le
+
+.ls omtype = "numbers" (boolean|numbers|colors|all)
+The type of encoding for the object mask values. In all cases non-object pixels
+(that is background) have mask values of zero. The choices for the mask
+values are "boolean", "numbers", "colors", and "all". These are described
+in the \fIOutput Data\fR section.
+.le
+.ls skys = "", sigmas = ""
+Optional lists of input or output sky and sigma maps. Maps are either
+constant values or images which are interpolated to the size of the input
+images. If a list is given it must match the input \fIimages\fR list.
+If constant values or existing maps are specified then those are used
+without change. If a new filename is given then an output file is created
+with the values computed by the task. Multiextension input images create
+or apply the same extension names to the specified sky or sigma files.
+Constant input values apply to all extensions. The sigma values are
+per single input image pixel.
+.le
+.ls masks = "!BPM"
+List of bad pixel masks for the input images. Non-zero masks values are
+ignored in the object detection and are passed on to the output object
+masks based on the \fIomtype\fR parameter. An empty list applies no bad
+pixel mask, a single mask applies to all input images, and a matching
+list matches the masks with the input image. A mask is specified by a
+filename or by reference to a filename given by the value of a header
+keyword in the input image. A header keyword reference is made with the
+syntax "!<keyword>" where <keyword> is the desired keyword with case
+ignored. For multiextension files the input masks may be either a
+multiextension file with matching extension names or a directory of
+pixel list files with the extension names as filenames.
+.le
+.ls extnames = ""
+Extensions to select from multiextension files. A null string matches all
+extension names. Otherwise the parameter is a comma separated list of
+patterns that match the entire extension name. Thus, an explicit list of
+extension names may be specified or the pattern matching characters '?' for
+any character or '[]' for a set of characters may be used. The set may
+include ranges in ascii order by using hyphens; i.e. 1-3 matches the
+characters 1, 2, and 3.
+.le
+.ls logfiles = "STDOUT"
+List of output log files. If no list is given then no output log information
+will be produced. If only one file is specified it applies to all input
+images otherwise the list of files must match the images list. Note that
+the special name "STDOUT" corresponds to terminal output.
+.le
+
+.ls blkstep = 1
+The mean and sigma of the background or sky pixels are determined in a
+first pass through the image. If \fIblkstep\fR is one all lines are used.
+To skip lines in order to speed up this computation, the parameter may be
+set to a larger value to define the increment between lines. However, the
+task will enforce a preset minimum number to insure a sufficient sample.
+.le
+.ls blksize = -10
+The background mean sky and sky sigma are determined in a set of square
+blocks from which the values are linearly interpolated to each point in the
+input image. The size of the blocks may be specified as a number of blocks
+spanning the smaller image dimension by using a negative integer value.
+Or the size may be specified as the number of pixels across a block.
+The task will enforce a preset minimum number of pixels per block which may
+require using bigger blocks than specified. The background determination
+algorithm is described further in the "Background Determination" section.
+.le
+
+.ls convolve = "block 3 3"
+Convolution filter to be applied prior to threshold detection. The
+convolution filter is defined by a set of weights in a 2D array. These
+may be specified in files or with certain forms given by special strings.
+The options are described in the "Convolution Filter" section.
+.le
+.ls hsigma = 3., lsigma = 10.
+Object pixels are identified by sigma thresholds about the mean background
+based on the estimated background sigma at each point in the image.
+The sigma factors are specified in terms of the "per pixel" sigma before
+convolution. The \fIhsigma\fR value is the "high" or above background
+limit and the \fIlsigma\fR value is the "low" or below background limit.
+Typically detections are one-sided, such as detecting objects above
+the background, and so the thresholds need not be equal.
+.le
+.ls hdetect = yes, ldetect = no
+Identify objects as pixels which are above the background (\fIhdetect\fR)
+and below the background (\fIldetect\fR)? If objects are detected but the
+corresponding parameter is no then the output mask will not include those
+objects.
+.le
+.ls neighbors = "8" (8|4)
+The threshold selected pixels are associated with other neighboring pixels to
+form an object. The criterion for a neighbor being part of the
+same object is defined by this parameter. The choices are "8" for
+pixels touching in any of the 8 directions or "4" to identify neighbors
+as only horizontal or vertically adjacent.
+.le
+.ls minpix = 6
+The minimum number of neighboring pixels which define an acceptable object.
+.le
+.ls ngrow = 2, agrow = 2.
+After an object is identified as a set of threshold detected pixels,
+additional neighboring pixels may be added to the object. This allows
+expanding the object into the faint wings of the light distribution. The
+additional pixels are those which touch the boundary pixels. Pixels are
+added in multiple passes, each time extending the previous boundary. The
+parameter \fIngrow\fR (an integer value) defines the maximum number of
+boundary extensions. The parameter \fIagrow\fR (a real value) specifies
+the maximum increase in area (number of pixels) from the original
+detection.
+.le
+.ih
+DESCRIPTION
+\fBOBJMASKS\fR is a task for creating masks covering objects in images.
+An optional secondary product of this task is to produce background
+and sigma maps. Objects are identified by threshold sigma detection.
+These object masks may be used by other applications to exclude the object
+data or focus on the objects. The detection consists of determining a
+smooth, spatially variable mean background and background sigma (if no
+input maps are provided), convolving the data by an optional filter to
+optimize detection of faint sources, collecting pixels satisfying the
+detection thresholds, assigning neighboring pixels to a common object,
+applying a minimum number of pixels test to the objects, and growing
+objects to extend into the wings of the object light distribution.
+The last step is writing out the identified object pixels as a mask.
+
+1. Input Data
+
+The input data consists of one or more 2D images. The images are assumed
+to contain a moderately smooth background and multiple sources or
+objects. This task is most useful for images with large numbers of small
+sources rather than one large object such as a nearby galaxy. The input
+images, specified by the \fIimages\fR parameter, may be individual images
+(which includes images selected from multiextension files as explicit
+image extensions) or multiextension files specified by a root filename. In
+the latter case the image extension names selected by the \fIextnames\fR
+parameter are used.
+
+Background means and sigmas (specified per image pixels) may be specified
+by "maps". These may be constant numerical values or images. The map
+images will be linearly interpolated to the size of the input images.
+For multi-extension input data, constant map values apply to all extensions
+and maps are also multiextension files with map images having the same
+extension names.
+
+Bad pixel masks may be associated with the input images to
+exclude pixels from the background and object determinations. These
+bad pixels are also included in the output object masks. The bad pixel
+masks are specified by the \fImasks\fR parameter. This parameter may
+identify a mask by a filename or a keyword. A single mask may be
+specified to apply to all images or a matching list of masks may be
+given.
+
+The masks are in one of the supported mask formats. As of IRAF V2.12 this
+includes pixel list (.pl) files and FITS "type=mask" extensions. When the
+input files are multiextension files, the selected extension names are
+appended to the specified mask filename to select masks with the same
+extension name. If a mask file of the form "name[ext]" is not found
+the task will treat the filename as a directory of pixel list files and
+select the pixel list file with the extension name; i.e. "name/ext.pl".
+
+2. Output Data
+
+The output of this task are object masks, sky maps, sigma maps, and log
+information. The output object masks default to mask type extensions. If an
+extension name is not specified explicitly the default extension name
+"pl" is created. To select a pixel list output format an explicit ".pl"
+extension must be used.
+
+When the input data are multiextension files, the output masks, mean sky
+maps, and sky sigma maps will be multiextension files with the specified
+rootnames and the same extension name as the input.
+
+The output mask values identify non-object pixels with zero. The non-zero
+values are encoded as selected by the \fIomtype\fR parameter. The choices
+are:
+
+.ls "boolean"
+All object and bad pixels have a mask value of one; i.e. the output masks
+consists only of the values 0 and 1.
+.le
+.ls "numbers"
+Input bad pixels values between 1 and 10 preserve their value and all
+other input mask values are mapped to 10. The object mask pixels have
+object numbers starting with 11. The object numbers are assigned by
+the task (roughly in order from the first line to the last line) and
+all pixels from a single object have the same unique object number.
+.le
+.ls "colors"
+Input bad pixels are mapped to output values of one. The object numbers
+are modulo 8 plus 2; i.e. values between 2 and 9. The purpose of this
+numbering is to allow mapping to the nine standard display colors for an
+interesting overlay with the \fBdisplay\fR task and "ocolors='+203'".
+.le
+.ls "all"
+This is the same as "numbers" except that bits 24 to 27 in the mask values
+are used for various purposes. In particular bit 24 is set for the boundary
+pixels. This numbering will be used in the future by special tasks.
+.le
+
+Output mean sky and sky sigma maps consist of the mean and sigma values
+in blocks as described in the "Background Determination" section.
+Therefore, the size of the map images are smaller than the input data images.
+These maps need to be interpolated to the size of the input image
+to obtain the values used for particular pixels in the data images.
+This interpolation expansion is done automatically by some tasks such
+as \fBmscred.rmfringe\fR.
+
+The log output provides information about the files, the phase of the
+processing, some of the parameters, and the convolution filter weights.
+The output begins with the task identifier ACE. This is because this
+prototype task is a first release piece of a major package called ACE
+(Astronomical Cataloging Environment), which is under development.
+
+3. Background Determination
+
+Detection of sources in an image begins with determining the background.
+By this we mean estimating the probability distribution of the background
+pixel values at every pixel in the image. In practice we only estimate
+the central value and width and assume a normal distribution for evaluating
+the significance of deviations from the central value. Since we normally
+won't have a sample of values at each pixel the distribution is
+determined from a sample of nearby pixels.
+
+In this discussion the central value of a distribution is denoted by <I>.
+It is estimated by the mean or mode of the sample. The width of the
+distribution about <I> is denoted by <S> and is estimated by the absolute
+mean residual converted to the standard deviation of a normal distribution
+with the same absolute mean residual. The normal deviation of a value I
+from the distribution is defined as R = (I - <I>) / <S>.
+
+The background may be specified by input maps for one or both of the
+background quantities. The maps may be constant values which apply
+to all pixels or a grid of values given in an image which are linearly
+interpolated to the full size of the input data. For those quantities
+which are not input the following algorithm is used for computing
+a map. The maps may be output and used as a product of this task.
+
+The background and/or sigma are estimated in two initial passes through the
+data. The first pass algorithm fits linear functions to a subsample of
+lines using sigma clipping iteration to eliminate objects. The subsample
+is used to speed up the algorithm and is reasonable since only linear
+functions are used. Each sample line is block averaged in blocks of 10
+pixels and a linear function is fit by least squares to obtain an estimate
+for <I> along the line. The fitting weights are the number of good pixels
+in each block average after elimination of bad pixels specified by the
+user in a bad pixel mask. The absolute values of the residuals are also
+fit to produce a constant function for <S>.
+
+To exclude objects from affecting these estimates the fitting is iterated
+using sigma clipping rejection on the normal deviations R. In the
+first iteration the fitting function for <S> is a constant and in
+subsequent steps a linear fit is used. When the sigma clipping iteration
+rejects no more data, the remaining block averages, absolute residuals, and
+weights are used to fit a 2D plane for both <I> and <S>. The <S> surface
+is a constant in order to avoid potential negative sigma values.
+
+This first pass algorithm is fast and produces good estimates for the
+planar approximation to the background. The second pass divides the image
+into large, equal sized blocks, as specified by the \fIblksize\fR
+parameter, and estimates <I> and <S> in each block. The size of the blocks
+needs to be large enough to give good estimates of the statistics though
+small enough to handle the scale of variations in the sky. Each block is
+divided into four subblocks for independent estimates which are then
+combined into a final value for the block. As with the first pass, the
+second pass can be speeded up by using a subsample of lines (parameter
+\fBblkstep\fR) provided some minimum number of lines per subblock is
+maintained.
+
+The background estimates in each subblock are made using histograms of the
+normal deviations R computed relative to the first pass estimates of <I>
+and <S>. When pixels are added into the histogram the <I> and <S> used to
+compute R are accumulated into means of these quantities in order
+to convert estimates from the normalized deviation histogram back into data
+values. The histograms are truncated at +/-2.5 and have bin widths
+determined by requiring a specified average bin population based on the
+number of pixels in the block. Typically the bin population is of order
+500. The histogram truncation is essentially an object-background
+discrimination.
+
+When all the pixels in a subblock have been accumulated, new estimates of
+<I> and <S> are computed. If the number of pixels in the histogram is
+less than two-thirds of the subblock pixels the estimates are set to be
+indefinite. This flags the subblock as too contaminated by objects to be
+used. All subblock neighbors, which may cross the full block boundaries,
+are also rejected to minimize contamination by the wings of big galaxies
+and very bright stars.
+
+If the histogram has enough pixels, the bin populations are squared to
+emphasize the peak of the distribution and reduce the effects of the
+truncated edges of the histogram. Because of noise and the fine binning of
+the histogram, a simple mode cannot be used and squaring the bin numbers
+helps to approach the mode with a centroid. Squaring the bin values and
+then computing the centroid can also be thought of as a weighted centroid.
+
+Generally a mode is considered the best estimate to use for the central
+value <I> of the sky distribution. But it is unclear how to best estimate
+the mode without an infinite number of pixels. One could do something like
+fit a parabola to the histogram peak. But instead we use the empirical
+relation for a skewed distribution between the mean, mode, and median;
+<I>=mean-3*(mean-median). The mean is the weighted centroid and the median
+is obtained numerically from the histogram using linear interpolation to
+get a subbin value.
+
+The <S> values are obtained from the absolute mean residual of the
+unweighted histogram about the previously derived central value <I> of the
+histogram. The conversion to a standard deviation is made by computing the
+ratio between the standard deviation and mean absolute deviation of a
+Gaussian distribution. The standard value over the entire distribution
+cannot be used because the histogram is truncated. However, it is easy to
+numerically compute the ratio with the same truncation.
+
+Once <I> and <S> are obtained in bin numbers it is converted to data
+values by using the mean and sigma of the input pixel values used
+to create the histogram.
+
+The averages of the subblock <I> and <S> values which are not indeterminate
+in each block are computed. If any of the full blocks are indeterminate
+when all the subblocks have been eliminated as contaminated, values are
+obtained for them by interpolation from nearby blocks. The block values
+are then linearly interpolated to get background values for every
+pixel in the input image.
+
+Note that the background pixels used in the block algorithm before
+detection are derived by simple sigma clipping of the histogram values
+around the planar background. If an output map for either the mean
+values or the sigmas is specified then during the object detection stage
+the background and sigmas are updated using the detected sky pixels about
+the initial block sampled background. This is a more sensitive selection
+of sky pixels since convolution filtering can exclude pixels from faint
+objects and the wings of all objects. The new set of sky pixels are
+accumulated and used in the same way as described earlier.
+
+4. Convolution Filters
+
+In order to improve the detection of faint sources dominated by the
+background noise, the input data may be convolved to produce filtered
+values in which the noise has been suppressed. The threshold detection
+is then performed on the filtered data values.
+
+The convolution detection filter is specified with the \fIconvolve\fR
+parameter. There is only one convolution that can be specified and it
+applies to all input images in a list. If a null string ("") is specified
+then no convolution is performed. The task has been optimizations for this
+case to avoid treating this as a 1x1 convolution and to avoid extra memory
+allocations required when a convolution is done.
+
+The convolved value at pixel (i,j), denoted I'(i,j), is defined by
+
+.nf
+ I'(i,j) = sum_kl{I(m,n)*W(k,l)} / sum_kl{W(k,l)}
+.fi
+
+where I(m,n) is the unconvolved value at pixel (m,n), W(k,l) are the NX x
+NY (both must be odd) convolution weights, sum_kl is the double sum over k
+and l, and
+
+.nf
+ m' = i + k - (NX+1)/2 for k = 1 to NX
+ n' = j + l - (NY+1)/2 for l = 1 to NY
+
+ m = m' (1<=m'<=C) m = 1-m' (m'<1) m = 2C-m' (m'>C)
+ n = n' (1<=n'<=L) n = 1-n' (n'<1) n = 2L-n' (m'>L)
+.fi
+
+The size of the image is C x L. The last two lines represent boundary
+reflection at the edges of the image.
+
+The sky sigma of a convolved pixel is approximated by
+
+.nf
+ sigma'(i,j) = sigma(i,j) / sum_kl{W(k,l)}
+.fi
+
+In the presence of bad pixels specified in the bad pixel mask the
+convolution weight applied to a bad pixel is set to zero. If the central
+pixel is bad then the convolved value is also considered to be bad. The
+sum of the weights used to normalize the convolution is then modified from
+the situation with no bad pixels. This will correct the convolved pixel
+value for the missing data and the estimated sky sigma is appropriately
+larger. Since there is an overhead in checking for bad pixels the
+convolution has an optimization to avoid such checks in the case where no
+bad pixel mask is specified.
+
+A convolution can be computational slow, especially for larger convolution
+kernel sizes. The implementation of the convolution has been optimized to
+recognize bilinear symmetries or lines which are scaled versions of other
+lines. So if possible users should chose convolutions with such symmetries
+to be most efficient. The "block", "bilinear", and "gauss" special
+convolutions described below all have such symmetries.
+
+The \fIconvolve\fR parameter is a string with one of the following forms.
+
+.ls ""
+There is no convolution or, equivalently, NX=1, NY=1.
+.le
+.ls @[filename]
+The weights are given in the specified file. The format consists of lines
+of whitespace separated values. The number of values on each line must be
+the same and defines NX and the number of lines defines NY.
+.le
+.ls block [NX] [NY]
+The weights are all the same and the convolution size is given by the
+two numbers following the word "block". This is a moving block average
+filter.
+.le
+.ls bilinear [NX] [NY]
+The weights are the bilinear matrix product of triangular one dimensional
+matrices of sizes given by the two numbers following the word "bilinear".
+The weights are described by the matrix product relation
+
+.nf
+ [1 ... (NX+1)/2 ... 1] * Transpose{[1 ... (NY+2)/2 ... 1]}
+.fi
+
+For example for NX=5, and NY=3 the weights would be
+
+.nf
+ 1 2 3 2 1
+ 2 4 6 4 2
+ 1 2 3 2 1
+.fi
+.le
+.ls gauss [NX] [NY] [SX] [SY]
+The weights are bidimensional gaussian values on a grid of size NX by NY
+with sigma values SX and SY (real numbers) in units of pixel spacing.
+.le
+.ls [W(1,1)] ... [W(NX,1)], ..., [W(1,NY)] ... [W(NX,NY)]
+The weights are specified as a string of real values. The values are
+whitespace separated within each line and the lines are delimited by
+comma. For example
+
+.nf
+ 1 2 1
+ 1 2 1, 2 3 2, 1 2 1 ==> 2 3 2
+ 1 2 1
+.fi
+.le
+
+When a logfile is defined the convolution weights are included in the
+output.
+
+5. Object Detection
+
+The detection of objects in an image is conceptually quite simple once the
+background is known. If an input pixel, before any convolution, is
+identified in the bad pixel mask the output object mask pixel is also
+identified as bad. Otherwise the input data is convolved as described
+previously.
+
+Each convolved pixel is compared against the expected background at that
+point and, if it is more that a specified number of convolution adjusted
+background sigma above (\fIhsigma\fR) or below (\fIlsigma\fR) the
+background, it is identified as a candidate object pixel. Candidate object
+pixels, with the same sense of deviation, are grouped into objects on
+the basis of being connected along the four or eight neighboring directions
+as specified by the \fIneighbor\fR parameter. The candidate object is then
+accepted if it satisfies the minimum number of pixels (\fIminpix\fR) in
+an object and the \fIhdetect\fR or \fIldetect\fR parameter selects that
+type of object. The accepted objects are assigned sequential numbers
+beginning with 11. The object numbers are used, as described in the
+section on the output data, to set the output object mask values.
+
+If an output mean sky or sigma map is requested, the output is that
+updated by the sky pixels identified during the detection.
+
+6. Object Growing
+
+Astronomical objects do not have sharp edges but have light distributions
+that merge into the background. This is due not only to the nature of
+extended sources but to the atmospheric and instrument point spread function
+effects on unresolved sources. In order to include pixels which extend
+away from the threshold detection and contain some amount of light
+apart from the background, the task provides options to extend or grow
+the object boundaries. This is done by making multiple passes where
+pixels which have not been identified as object pixels but which neighbor
+object pixels are assigned to the object which they neighbor in any of
+the eight directions. Each pass can be thought of as adding a ring
+of new pixels following the boundary of the object from the previous
+pass.
+
+When a non-object pixel neighbors two or more object pixels it is
+assigned to the object with the greater "flux". The flux is the sum
+of the pixel value deviations from the background.
+
+The parameter \fIngrow\fR selects the maximum number of growing iterations.
+The parameter \fIagrow\fR selects the maximum fractional increase in
+the number of original detected object pixels. The number of pixels
+is called the "area" of the object. The growing of an object stops
+when either maximum is exceedd at the end of a growing iteration.
+.ih
+EXAMPLES
+1. The following is a test example with default parameters that can be run
+by anyone. An artificial galaxy field image is generated with the task
+\fBmkexample\fR (the \fBartdata\fR package is assumed to already be loaded)
+and a mask is created with \fBobjmasks\fR. The image is displayed with
+the object mask overlayed in colors.
+
+.nf
+ np> mkexample galfield galfield
+ Creating example galfield in image galfield ...
+ np> objmasks omtype=color
+ List of images or MEF files: galfield
+ List of output object masks: gfmask
+ ACE:
+ Image: galfield - Example artificial galaxy field
+ Set sky and sigma:
+ Determine sky and sigma by surface fits:
+ start line = 1, end line = 512, step = 51.1
+ xorder = 2, yorder = 2, xterms = half
+ hclip = 2., lclip = 3.
+ Determine sky and sigma by block statistics:
+ Number of blocks: 5 5
+ Number of pixels per block: 100 100
+ Number of subblocks: 10 10
+ Number of pixels per subblock: 50 50
+ Detect objects:
+ Convolution:
+ 1. 1. 1.
+ 1. 1. 1.
+ 1. 1. 1.
+ 422 objects detected
+ Grow objects: ngrow = 2, agrow = 2.
+ Write object mask: gfmask[pl,type=mask]
+ np> display galfield 1
+ z1=371.5644 z2=455.8792
+ np> display galfield 2 overlay=gfmask[pl] ocolors="+203"
+ z1=371.5644 z2=455.8792
+.fi
+
+2. In the first example there was no input mask. The next example
+creates a new object mask using the first object mask as an input
+"bad pixel mask". While this is not the usual usage of the bad pixel
+mask it does illustrate an interesting option. Note that the mask
+values in the input mask are mapped to an output value of 1 in the
+"colors" output. In this example the output is forced to be a pl
+file by using the explicit extension.
+
+.nf
+ np> objmasks omtype=colors mask=gfmask[pl]
+ List of images or MEF files (galfield):
+ List of output object masks (gfmask): gfmask1.pl
+ ACE:
+ Image: galfield - Example artificial galaxy field
+ Bad pixel mask: gfmask.pl
+ Set sky and sigma:
+ Determine sky and sigma by surface fits:
+ start line = 1, end line = 512, step = 51.1
+ xorder = 2, yorder = 2, xterms = half
+ hclip = 2., lclip = 3.
+ Determine sky and sigma by block statistics:
+ Number of blocks: 5 5
+ Number of pixels per block: 100 100
+ Number of subblocks: 10 10
+ Number of pixels per subblock: 50 50
+ Detect objects:
+ Convolution:
+ 1. 1. 1.
+ 1. 1. 1.
+ 1. 1. 1.
+ 44 objects detected
+ Grow objects: ngrow = 2, agrow = 2.
+ Write object mask: gfmask1.pl
+ np> display galfield 2 overlay=gfmask1 ocolors="+203"
+ z1=371.5644 z2=455.8792
+.fi
+
+3. The next example illustrates use with a multiextension file. The
+example is two realizations of the galfield artificial data.
+
+.nf
+ np> mkexamples galfield mef.fits[im1]
+ Creating example galfield in image mef[im1] ...
+ np> mkexamples galfield mef[im2,append] oseed=2
+ Creating example galfield in image mef[im2,append] ...
+ np> objmasks
+ List of images or MEF files (galfield): mef
+ List of output object masks (gfmask1.pl): mefmask
+ ACE:
+ Image: mef[im1] - Example artificial galaxy field
+ Set sky and sigma:
+ Determine sky and sigma by surface fits:
+ start line = 1, end line = 512, step = 51.1
+ xorder = 2, yorder = 2, xterms = half
+ hclip = 2., lclip = 3.
+ Determine sky and sigma by block statistics:
+ Number of blocks: 5 5
+ Number of pixels per block: 100 100
+ Number of subblocks: 10 10
+ Number of pixels per subblock: 50 50
+ Detect objects:
+ Convolution:
+ 1. 1. 1.
+ 1. 1. 1.
+ 1. 1. 1.
+ 422 objects detected
+ Grow objects: ngrow = 2, agrow = 2.
+ Write object mask: mefmask[im1,append,type=mask]
+ ACE:
+ Image: mef[im2] - Example artificial galaxy field
+ Set sky and sigma:
+ Determine sky and sigma by surface fits:
+ start line = 1, end line = 512, step = 51.1
+ xorder = 2, yorder = 2, xterms = half
+ hclip = 2., lclip = 3.
+ Determine sky and sigma by block statistics:
+ Number of blocks: 5 5
+ Number of pixels per block: 100 100
+ Number of subblocks: 10 10
+ Number of pixels per subblock: 50 50
+ Detect objects:
+ Convolution:
+ 1. 1. 1.
+ 1. 1. 1.
+ 1. 1. 1.
+ 410 objects detected
+ Grow objects: ngrow = 2, agrow = 2.
+ Write object mask: mefmask[im2,append,type=mask]
+ np> display mef[im1] 1 over=mefmask[im1]
+ z1=371.5644 z2=455.8792
+ np> display mef[im2] 2 over=mefmask[im2]
+ z1=371.5666 z2=455.7844
+.fi
+
+4. This example shows outputing the sky information.
+
+.nf
+ np> objmasks galfield gfmask2 sky=gfsky2
+ ACE:
+ Image: galfield - Example artificial galaxy field
+ Set sky and sigma:
+ Determine sky and sigma by surface fits:
+ start line = 1, end line = 512, step = 51.1
+ xorder = 2, yorder = 2, xterms = half
+ hclip = 2., lclip = 3.
+ Determine sky and sigma by block statistics:
+ Number of blocks: 5 5
+ Number of pixels per block: 100 100
+ Number of subblocks: 10 10
+ Number of pixels per subblock: 50 50
+ Write sky map: gfsky2
+ Detect objects:
+ Convolution:
+ 1. 1. 1.
+ 1. 1. 1.
+ 1. 1. 1.
+ 422 objects detected
+ Update sky map: gfsky2
+ Grow objects: ngrow = 2, agrow = 2.
+ Write object mask: gfmask2[pl,append,type=mask]
+ np> imstat gfsky2
+ # IMAGE NPIX MEAN STDDEV MIN MAX
+ gfsky2 25 401.1 0.4397 400.3 401.9
+.fi
+
+5. This examples shows specifying the sky information as constant values.
+In this case we already know that the artificial image has a
+constant background of 400 and a sigma of 10.
+
+.nf
+ np> objmasks galfield gfmask3 sky=400 sigma=10
+ ACE:
+ Image: galfield - Example artificial galaxy field
+ Set sky and sigma:
+ Use constant input sky: 400.
+ Use constant input sigma: 10.
+ Detect objects:
+ Convolution:
+ 1. 1. 1.
+ 1. 1. 1.
+ 1. 1. 1.
+ 432 objects detected
+ Grow objects: ngrow = 2, agrow = 2.
+ Write object mask: gfmask3[pl,append,type=mask]
+.fi
+
+.ih
+REVISIONS
+.le
+.ih
+SEE ALSO
+.endhelp
+266c266
+< fit to produce a function for <S>.
+---
+> fit to produce a constant function for <S>.
+273c273,274
+< weights are used to fit a 2D plane for both <I> and <S>.
+---
+> weights are used to fit a 2D plane for both <I> and <S>. The <S> surface
+> is a constant in order to avoid potential negative sigma values.
+