Subsections

High Level Routines


segment


First Included: Release 0.1


Updated: Release 0.3


Purpose


segment takes an image and produces a `cartoon' segmentation consisting of a collection of regions. The regions are each coloured with its mean value (in the case of real or single layered complex images) or with the determinant of the M by M covariance matrix (for $M>1$ complex images). The latter is defined as

\begin{displaymath}det = \det\vert\Sigma\vert \end{displaymath}

where

\begin{displaymath}\Sigma_{ij} = \sigma_{i}\sigma^{*}_{j}, i = 1,2,\ldots M \end{displaymath}

and $\sigma_{i}$ is the variance of the data in the (current segment of) the $i^{th}$ layer of the image. The image or images need not emanate from a SAR processor: images from other sources (eg: optical) may be processed either alone or in combination with SAR images.
The algorithm starts with an adaptive rectangular (default: single pixel) segmentation of the image. The likelihood of the data fitting this segmentation can then be calculated. The judgement as to whether to move edge pixels depends on the change in likelihood of the segmentation. The process, governed by a simulated annealing optimisation algorithm, will eventually find the global optimal solution for the segmentation of the image. The computational cost increases with the area $N$ of the image as $O(N \log N)$.
It is normally worthwhile setting the overlap parameter to be considerably greater than the default value when processing polarimetric images, in order to avoid artifacts of the tiling scheme when growing large regions.


Command Line Script


segment.py image.nc output.nc [quality=] [shape=] [stopping=] [cooling=]
[looks=] [maxiters=] [regionsize=] [intensity=] [tilesize=] [overlap=]
[tmpdir=]


Python Procedure


output_array = segment($\textstyle \parbox{4.5in}{image\_array, [,quality=]
[,shape=] [,stopping=] [,cooling=] [,looks=] [,maxiters=] [,regionsize=]
[,intensity=])}$


Parameters



image.nc This can be either a single or a multiple layered real or complex-valued image. segment internally converts single layered complex images into single layered intensity images and processes them as with real images. A polarimetric image should be given as a layered complex-valued image.



output.nc The coloured region map output image is of the same dimensionality as the input image if the original image was real-valued. The coloured region map output image is single layered in the case of a complex-valued original image.



quality Chooses from a predefined set of segmentation parameters: quality = ``default'', ``sensitive'' or ``fast'' (default: ``default'') These choices set the following parameter values:

Parameter Fast Default Sensitive
Shape 0.01 0.01 0.01
Stopping 0.03 0.01 0.003
Cooling 10 1 0.3
Regionsize 1 1 1
Looks -1 -1 -1
Maxiters 100 1000 10000
Intensity 0 0 0
Any of these values can be over-ridden by subsequent values on the command line. The values ``fast'', ``default'', ``sensitive'' are provided as generally convenient settings, but because of the iterative nature of the segmentation process, and its data dependence, some initial parameter searching may be worthwhile for best results.



shape real32, default 0.01. The objective function minimised by texseg includes a ``shape'' term designed to inhibit crinkle in the edges of regions. The larger shape, the more region edges are inhibited from exhibiting high local curvature.



stopping real32, default 0.01. Unless maxiters iterations are reached, the routine will terminate when two successive iterations show a relative change in the objective function of less than stopping.



cooling real32, default 1. Determines the rate of cooling in the simulated annealing minimisation process. A larger value of cooling tends to decrease the time taken by the routine, but may increase the likelihood that it gets stuck in a local minimum.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data.



maxiters integer, default 1000. The maximum number of iterations (complete scans of the image data) allowed.



regionsize integer, default 1. segment will start forming regions of size regionsize pixels. For most purposes the default value of 1 is recommended. A larger value will decrease runtimes but may lead to ``chunky'' segmentations.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


The merge routine may be employed to tidy the segmentation and ensure that all the edges are of a requisite strength.


texseg


First Included: Release 0.1


Updated: Release 0.4


Purpose


Segments the given input image according to the Blacknell-Tough measure.

\begin{displaymath}\overline{I\log(I)}/\overline{I} - \log(\overline{I}) \end{displaymath}

where $I$ denotes the intensity image values. This measure accounts for variation of texture within the image. Joint segmentation is performed when there is more than one image layer.

It is normally worthwhile setting the overlap parameter to be considerably greater than the default value in order to avoid artifacts of the tiling scheme when growing large regions.


Command Line Script


texseg.py image.nc output.nc [quality=] [shape=] [stopping=] [cooling=]
[looks=] [maxiters=] [regionsize=] [intensity=] [tilesize=] [overlap=]
[tmpdir=]


Python Procedure


output_array = texseg($\textstyle \parbox{4.0in}{image\_array [,quality=]
[,shape=] [,stopping=] [,cooling=] [,looks=] [,maxiters=] [,regionsize=]
[,intensity=])}$


Parameters



image.nc The NetCDF file to be segmented. This can be either a single or a multiple layered real or complex-valued image. In this routine, all complex-valued layers of the image are converted to real intensity valued layers before processing.



output.nc The output file containing the segmented image with regions coloured according to the Blacknell-Tough measure. The texseg region map output image is of the same dimensionality as the input image.



quality Chooses from a predefined set of segmentation parameters: quality=``default'', ``sensitive'' or ``fast'' (default: ``default'') These choices set the following parameter values:

Parameter Fast Default Sensitive
Shape 0.025 0.025 0.01
Stopping 0.001 0.001 0.001
Cooling 8 0.75 0.2
Looks -1 -1 -1
Maxiters 100 1000 10000
Regionsize 200 200 200
Intensity 0 0 0
Any of these values can be over-ridden by subsequent values on the command line. The values ``fast'', ``default'', ``sensitive'' are provided as generally convenient settings, but because of the iterative nature of the segmentation process, and its data dependence, some initial parameter searching may be worthwhile for best results.



shape real32, default 0.025. The objective function minimised by texseg includes a ``shape'' term designed to inhibit crinkle in the edges of regions. The larger shape, the more region edges are inhibited from exhibiting high local curvature.



stopping real32, default 0.001. Unless maxiters iterations are reached, the routine will terminate when two successive iterations show a relative change in the objective function of less than stopping.



cooling real32, default 0.75. Determines the rate of cooling in the simulated annealing minimisation process. A larger value of cooling tends to decrease the time taken by the routine, but may increase the likelihood that it gets stuck in a local minimum.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data.



maxiters integer, default 1000. The maximum number of iterations (complete scans of the image data) allowed.



regionsize integer, default 200. texseg will start forming regions of a size regionsize pixels. Because texture is not defined for a single pixel, regionsize should be set greater than 1; for an initial look at a new dataset the default value of 200 is recommended.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


merge


First Included: Release 0.1


Updated: Release 0.4


Purpose


Given an original image file and a region map of this image, merge will unify any adjacent regions which (to within the specified probability of false alarm) are not significantly different in intensity. Alternatively, the minimum absolute value between regions may be specified.


Command Line Script


merge.py region_map.nc image.nc output.nc [pfa=] [looks=] [abs=]
[intensity=] [tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = merge($\textstyle \parbox{4.0in}{region\_map\_array,
image\_array [,pfa=] [,looks=] [,abs=] [,intensity=])}$


Parameters



region_map.nc The file containing the region map image. This image should be one of either

In the case of a multiple layered region-map, the algorithm takes the intersection of the given layers to be the region map on which to perform the classification.



image.nc This can be either a single or a multiple layered real or complex-valued image. A polarimetric image should be given as a layered complex-valued image.



output.nc The merged region map output image is of the same dimensionality as the input image if the original image was real-valued. The merged region map output image is single layered in the case of a complex-valued original image.



pfa real32, default 5. Specifies the Probability of False Alarm ($= 10^{-pfa}$ if $pfa>1$) to be used in determining whether to merge regions. Two adjacent regions will be merged if their intensities are not significantly different at a confidence level of $pfa$.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data.



abs real32, default 0. Merges regions whose intensity differs by less than the entered absolute value.



intensity integer, default 0. The original image is intensity (1) not amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


None.


colseg


First Included: Release 0.1


Updated: Release 0.1


Purpose


Given an original image file and a region map of this image, colseg will produce a segmented image with the regions coloured according to one of a number of measures.


Command Line Script


colseg.py region_map.nc image.nc output.nc [method=] [looks=] [intensity=]
[tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = colseg($\textstyle \parbox{4.0in}{region\_map\_array,
image\_array [,method=] [,looks=] [,intensity=])}$



region_map.nc The file containing the region map image. This image should be one of either

In the case of a multiple layered region-map, the algorithm takes the intersection of the given layers to be the region map on which to perform the classification.



image.nc This can be either a single or a multiple layered real or complex-valued image (depending on the chosen method). A polarimetric image should be given as a layered complex-valued image.



output.nc The coloured region map output image is of the same dimensionality as the input image if the original image was real-valued. The coloured region map output image is single layered in the case of a complex-valued original image.



method The measure to be used to colour the regions (default ``mean'')

The available measures are:
``mean''
Mean of values within the segment. This measure may be applied on either real or complex images. For real images, the mean value is given as the intensity mean or the square root of the intensity mean depending on whether the data given is intensity or amplitude respectively.
``bt''
Blacknell-Tough measure within each segment:

\begin{displaymath}bt = \overline{I\log(I)}/\overline{I} - \log(\overline{I}) \end{displaymath}

where $I$ denotes the intensity values. This measure is used in the textured segmentation routine texseg. This measure can only be prescribed for real images.
``gorder''
Gamma order parameter of segments The estimated order of the gamma distribution best fitting the data in the segment. This measure can only be prescribed for real images.
``korder''
K order parameter of segments The estimated order of the K distribution best fitting the data in the segment. Note that the default overlap size for this method is set to zero. Use of a non-zero overlap is likely to lead to unpredicatble behaviour due to the poor estimates for this measure from small sample sizes. This measure can only be prescribed for real images.
``size''
Size of segments. Each pixel will have value the number of pixels in the region. This measure can only be prescribed for real images.
``region''
Region number of the segment. This measure can only be prescribed for real images. Also this measure is not supported under the tiling scheme and will thus not run in a memory efficient fashion with arbitrarily large images.
``var''
The variance of the data in the segment. This measure can only be prescribed for real images.
``det''
Determinant of the M by M covariance matrix associated with the M-layer complex image:

\begin{displaymath}det = \det\vert\Sigma\vert \end{displaymath}

where

\begin{displaymath}\Sigma_{ij} = \sigma_{i}\sigma^{*}_{j}, i = 1,2,\ldots M \end{displaymath}

and $\sigma_{i}$ is the variance of the data in the (current segment of) the $i^{th}$ layer of the image. This measure can only be prescribed for an $M$-layer ($M>1$) complex image.


looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data.



intensity integer, default 0. The original image is intensity (1) not amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


Except for the det measure, each of these measures is computed layer-by-layer. With the exception of det and mean, the data must be real.


edge


First Included: Release 0.1


Updated: Release 0.1


Purpose


Given a region map, edge will scan the segments and construct an edge map


Command Line Script


edge.py region_map.nc output.nc [tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = edge(region_map_array)


Parameters



region_map.nc The file containing the region map image. This should be a single or multiple layered real-valued image.



output.nc The output file. This is a real-valued image of the same dimensionality as the input region map.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


edge should be used to produce edge maps of segmented images (rather than scanedge). Using edge to produce an edge map of other than a segmented image will produce disapointing results.


classify


First Included: Release 0.1


Updated: Release 0.1


Purpose


Given an original image and a region map of this image, classify will allocate each region to one of a number of classes. The output is multi-dimensional with number of layers equal to the number of classes. Each output layer has pixels either coloured with value 1 (indicating that they belong to the associated class) or with value 0 (they don't belong to that class). The classification scheme is based upon the assumption that the data is gamma distributed. A priori class means or order parameters can be included for supervised classification.


Command Line Script


classify.py region_map.nc image.nc output.nc [means=] [orders=] [num_classes=]
[scaling=] [intensity=] [tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = classify($\textstyle \parbox{4.5in}{region\_map\_array,
image\_array [,means=] [,orders=] [,num\_classes=] [,scaling=]
[,intensity=])}$


Parameters



region_map.nc The file containing the region map image. This image should be one of either

In the case of a multiple layered region-map, the algorithm takes the intersection of the given layers to be the region map on which to perform the classification.



image.nc The NetCDF file containing the original image. This can be either a single or a multiple layered real-valued image.



output.nc The output file. The output is a real-valued multiple layer image, with number of layers equal to the number of classes. Each output layer has pixels either coloured with value 1 (indicating that they belong to the associated class) or with value 0 (they don't belong to that class).



means Optional image of a priori class means per layer. The given image should be a single layered real valued image of height equal to the number of layers. The number of classes is then assumed to be equal to the width of the given image. Note that means are always assumed to be given for the data as intensity data.



orders Optional image of a priori class order parameters per layer. The given image should be a single layered real valued image of height equal to the number of layers. The number of classes is then assumed to be equal to the width of the given image. Note that order parameters are always assumed to be given for the data as intensity data.



num_classes integer, default 5. The number of desired classes. Note that if either the means or orders file is defined then the number of classes is defined to be equal to the height of that image.



scaling integer, default 0. Flag to specify whether there should be scaling (1) or not (0). The purpose of the scaling option is to allow the temporal sequence for a given segment to be scaled to match the reference pattern in temporal signature classification. The absolute value of RCS is therefore normalised out and classification depends on the relative changes within the sequence alone. This option is valuable when members of the same class have differing absolute RCS due to factors such as ground slope.



intensity integer, default 0. The original image is intensity (1) not amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


The means.nc and orders.nc files can be generated by either:

In any case, the means.nc and orders.nc files can be edited further to provide iterative supervised classification.


change_detection


First Included: Release 0.1


Updated: Release 0.1


Purpose


For each region in a given region map, change_detection looks for significant change over a series of original speckled images.
The routine detects large-scale changes between two or more images; large-scale implies that it is not tailored to detecting differences in point targets between images. The images to be scanned for changes must be provided as layers in a single multi-layer image (if your images are separate, first merge them into a single 3-D image).
The routine uses the segmentation of each layer to carry out its analysis, and this must be provided too. In most cases the ``joint segmentation'' produced by segmenting the multilayer image is what will most conveniently be used.
The routine detects changes across the whole series of provided layers - the ordering of the layers in the multiple layer image file is not important. The output is a single layer image specifying where any significant changes were found over the whole sequence.
If you are interested in the individual changes found between adjacent pairs of layers in the input image, use routine change_detection_position.


Command Line Script


change_detection.py region_map.nc image.nc output.nc [pfa=] [looks=] [intensity=]
[tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = change_detection($\textstyle \parbox{3.5in}{region\_map\_array, image\_array [,pfa=]
[,looks=] [,intensity=])}$


Parameters



region_map.nc The file containing the region map image. This image should be one of either

In the case of a multiple layered region-map, the algorithm takes the intersection of the given layers to be the region map on which to perform the change detection.



image.nc The NetCDF file containing the original image. This must be a multiple layered (i.e. more than 1 layer) real-valued image.



output.nc The output file. The output is real-valued single layer image, with dimensionality equal to the first layer of the original image. Pixels are either coloured with value 1 (indicating that they belong to regions for which there has been significant change) or with value 0 (that they don't).



pfa real32, default 6. Specifies the Probability of False Alarm ($= 10^{-pfa}$ if $pfa>1$) to be used in determining whether changes are significant. The larger $pfa$ is, the less chance there will be of reporting insignificant changes.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data.



intensity integer, default 0. Specifies whether the image layers contain intensity (1) or amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


If you are interested in the individual changes found between adjacent pairs of layers in the input image, use routine change_detection_position.


change_detection_position


First Included: Release 0.1


Updated: Release 0.2


Purpose


For each region in a given region map, change_detection_position looks for significant change over a series of original speckled images.
The routine detects large-scale changes between adjacent pairs of images; large-scale implies that it is not tailored to detecting differences in point targets between images. The images to be scanned for changes must be provided as layers in a single multi-layer image (if your images are separate, first merge them into a single 3-D image).
The routine uses the segmentation of each layer to carry out its analysis, and this must be provided too. In most cases the ``joint segmentation'' produced by segmenting the multilayer image is what will most conveniently be used.
The routine detects changes between adjacent pairs of layers in the provided image - the ordering of the layers in the multiple layer image file is therefore crucial. The output is a multiple layer image with number of layers equal to the number of adjacent pairs in the sequence of layers in the original image (i.e. number of layers minus 1). Each of these layers indicates where significant changes were found between the image pair.
If you are interested solely in whether there are changes over the whole sequence of layers in the input image, use routine change_detection.
This routine is useful for example when monitoring the growth of crops over the seasons.


Command Line Script


change_detection_position.py region_map.nc image.nc output.nc [pfa=] [looks=]
[intensity=] [tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = change_detection_position($\textstyle \parbox{2.5in}{region\_map\_array,
image\_array [,pfa=] [,looks=] [,intensity=])}$


Parameters



region_map.nc The file containing the region map image. This image should be one of either

In the case of a multiple layered region-map, the algorithm takes the intersection of the given layers to be the region map on which to perform the change detection.



image.nc The NetCDF file containing the original image. This must be a multiple layered (i.e. more than 1 layer) real-valued image.



output.nc The output file. The output is real-valued layer image, with dimensionality equal to that of the original image minus one of its layers. Thus each output layer corresponds to changes between each adjacent pair of layers in the original image. Pixels are either coloured with value 1 (indicating that they belong to regions for which there has been significant change) or with value 0 (that they don't).



pfa real32, default 0.08. Specifies the Probability of False Alarm ($= 10^{-pfa}$ if $pfa>1$) to be used in determining whether changes are significant. The larger $pfa$ is, the less chance there will be of reporting insignificant changes.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data.



intensity integer, default 0. Specifies whether the image layers contain intensity (1) or amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


If you are interested solely in whether there are changes over the whole sequence of layers in the input image, use routine change_detection.


despeckle


First Included: Release 0.1


Updated: Release 0.2


Purpose


despeckle takes a speckled image and estimates the underlying radar cross-section using a variant of the simulated annealing optimisation method. The resulting despeckled image is smoothly varying yet preserves detail.


Command Line Script


despeckle.py image.nc output.nc [quality=] [cooling=] [looks=] [maxiters=]
[intensity=] [tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = despeckle($\textstyle \parbox{4.0in}{image\_array
[,quality=] [,cooling=] [,looks=] [,maxiters=] [,intensity=])}$


Parameters



image.nc The NetCDF file to be smoothed. This can be either a single or a multiple layered real or complex-valued image.



output.nc The smoothed output image is of the same dimensionality as the input image, yet is always real-valued.



quality Chooses from a predefined set of segmentation parameters: quality=``default'', ``sensitive'' or ``fast'' (default: ``default''). These choices set the following parameter values:

Parameter Fast Default Sensitive
Cooling 0.75 0.75 1
Looks -1 -1 -1
Maxiters 25 40 50
Intensity 0 0 0
Any of these values can be over-ridden by subsequent values on the command line. The values ``fast'', ``default'', ``sensitive'' are provided as generally convenient settings, but because of the iterative nature of the smoothing process, and its data dependence, some initial parameter searching may be worthwhile for best results.



cooling real32, default 0.75. Determines the rate of cooling in the simulated annealing minimisation process. A larger value of cooling tends to decrease the time taken by the routine, but may increase the likelihood that it gets stuck in a local minimum.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data.



maxiters integer, default 40. The maximum number of iterations (complete scans of the image data) allowed.



intensity integer, default 0. The original image is intensity (1) not amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


None.


filter


First Included: Release 0.1


Updated: Release 0.2


Purpose


Uses a moving window of size width by height to filter the image by computing an output pixel value from within each window according to the specified method.


Command Line Script


filter.py image.nc output.nc [method=] [width=] [height=] [looks=] [pfa=]
[intensity=] [tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = filter($\textstyle \parbox{4.0in}{image\_array [,method=]
[,width=] [,height=] [,looks=] [,pfa=] [,intensity=])}$


Parameters



image.nc This can be either a single or a multiple layered real or complex-valued image (depending on the chosen method). A polarimetric image should be given as a layered complex-valued image.



output.nc The coloured region map output image is of the same dimensionality as the input image if the original image was real-valued. The coloured region map output image is single layered in the case of a complex-valued original image.



method Specifies the filter function to be used (default ``mean'').

The following methods are available:

``mean''
This measure may be applied on either real or complex images. For real images, the mean value is given as the intensity mean or the square root of the intensity mean depending on whether the data given is intensity or amplitude respectively.
``bt''
Blacknell-Tough measure within each segment:

\begin{displaymath}bt = \overline{I\log(I)}/\overline{I} - \log(\overline{I}) \end{displaymath}

where $I$ denotes the intensity values. This measure can only be prescribed for real images. This measure is used in the textured segmentation routine texseg.
``gorder''
Gamma order parameter of segments The estimated order of the gamma distribution best fitting the data in the window. This measure can only be prescribed for real images.
``korder''
K order parameter of segments. The estimated order of the K distribution best fitting the data in the window. This measure can only be prescribed for real images. The parameter looks can be used with this method.
``var''
The variance of the data in the window. This measure can only be prescribed for real images.
``med''
The median of the data in the window. This measure can only be prescribed for real images. The filter determines the median for the data given, i.e. it ignores the intensity flag.
``det''
Determinant of the M by M covariance matrix associated with the M-layer complex image:

\begin{displaymath}det = \det\vert\Sigma\vert \end{displaymath}

where

\begin{displaymath}\Sigma_{ij} = \sigma_{i}\sigma^{*}_{j}, i = 1,2,\ldots M \end{displaymath}

and $\sigma_{i}$ is the variance of the data in the (current window of) the $i^{th}$ layer of the image. This measure can only be prescribed for an $M$-layer ($M>1$) complex image.
``cfar''
Single pixel CFAR target detector. The CFAR algorithm works by calculating the likelihood of the central pixel in the window coming from the background distribution (as represented by the rest of the window). The classification of the central pixel as a target depends upon the comparison of this likelihood with the threshold calculated from the probability of false alarm (pfa). A lower value of probability of false alarm will mean less targets will be detected. Since the result is determined by the accuracy of the statistical estimates, it may be advisable to have a larger data sample, i.e. window size, than the default. The parameters pfa and looks can be used with this method.
``scan''
Scanning edge detector. This edge detector works by calculating the significance of every possible edge position in every window. Since the result is determined by the accuracy of the statistical estimates, it may be advisable to have a larger data sample, i.e. window size, than the default. The parameters pfa and looks can be used with this method. A lower value of probability of false alarm (pfa) will mean less edges will be detected.


width integer, default 3. The width of the filter window.



height integer, default 3. The height of the filter window.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data. This estimate can be used with some of the methods.



pfa real32, default 5. Specifies the Probability of False Alarm ($= 10^{-pfa}$ if $pfa>1$) to be used in determining whether changes are significant. The larger $pfa$ is, the less chance there will be of reporting insignificant changes. This estimate can be used with some of the methods.



intensity integer, default 0. The original image is intensity (1) not amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


None.


filter_bt, filter_det, filter_enl, filter_gorder, filter_korder, filter_mean, filter_var


First Included: Release 0.1


Updated: Release 0.2


Purpose


Uses a moving window of size width by height to filter the image by computing an output pixel value from within each window according to the method indicated in the routine name.


Command Line Script


filter_method.py image.nc output.nc [width=] [height=] [looks=] [pfa=]
[intensity=] [tilesize=] [overlap=] [tmpdir=]


Python Procedure


Use filter with the method= parameter defined appropriately.


Parameters



See parameter descriptions for filter in section A.4.10.


scanedge


First Included: Release 0.1


Updated: Release 0.2


Purpose


Scanning edge detector. This edge detector works by calculating the significance of every possible edge position within a moving window of size width by height.

Since the result is determined by the accuracy of the statistical estimates, it may be advisable to have a larger data sample, i.e. window size, than the default. A lower value of probability of false alarm (pfa) will mean less edges will be detected.


Command Line Script


scanedge.py image.nc output.nc [width=] [height=] [looks=] [pfa=] [intensity=]
[tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = filter($\textstyle \parbox{4.0in}{image\_array method=''scan''
[,width=] [,height=] [,looks=] [,pfa=] [,intensity=])}$


Parameters



image.nc This can be either a single or a multiple layered real or complex-valued image (depending on the chosen method). A polarimetric image should be given as a layered complex-valued image.



output.nc The coloured region map output image is of the same dimensionality as the input image if the original image was real-valued. The coloured region map output image is single layered in the case of a complex-valued original image.



width integer, default 3. The width of the filter window.



height integer, default 3. The height of the filter window.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data. This estimate can be used with some of the methods.



pfa real32, default 5. Specifies the Probability of False Alarm ($= 10^{-pfa}$ if $pfa>1$) to be used in determining whether changes are significant. The larger $pfa$ is, the less chance there will be of reporting insignificant changes. This estimate can be used with some of the methods.



intensity integer, default 0. The original image is intensity (1) not amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


None.


cfar


First Included: Release 0.1


Updated: Release 0.2


Purpose


Single pixel CFAR target detector. The CFAR algorithm works by calculating the likelihood of the central pixel in a moving window (of size width by height) coming from the background distribution (as represented by the rest of the window). The classification of the central pixel as a target depends upon the comparison of this likelihood with the threshold calculated from the probability of false alarm (pfa). A lower value of probability of false alarm will mean less targets will be detected.

Since the result is determined by the accuracy of the statistical estimates, it may be advisable to have a larger data sample, i.e. window size, than the default.


Command Line Script


cfar.py image.nc output.nc [width=] [height=] [looks=] [pfa=] [intensity=]
[tilesize=] [overlap=] [tmpdir=]


Python Procedure


output_array = filter($\textstyle \parbox{4.0in}{image\_array method=''cfar''
[,width=] [,height=] [,looks=] [,pfa=] [,intensity=])}$


Parameters



image.nc This can be either a single or a multiple layered real or complex-valued image (depending on the chosen method). A polarimetric image should be given as a layered complex-valued image.



output.nc The coloured region map output image is of the same dimensionality as the input image if the original image was real-valued. The coloured region map output image is single layered in the case of a complex-valued original image.



width integer, default 3. The width of the filter window.



height integer, default 3. The height of the filter window.



looks real32, default -1. The looks measure of the image data. If looks is negative (use -1) the routine will compute this number from the data. This estimate can be used with some of the methods.



pfa real32, default 5. Specifies the Probability of False Alarm ($= 10^{-pfa}$ if $pfa>1$) to be used in determining whether changes are significant. The larger $pfa$ is, the less chance there will be of reporting insignificant changes. This estimate can be used with some of the methods.



intensity integer, default 0. The original image is intensity (1) not amplitude (0) data.



tilesize integer, default 128. A tilesize of 128 x 128 is used.


overlap integer, default 16. To prevent obvious joins between tiles, an overlap of 16 is used.


tmpdir directory, default "/tmp/" or ``C:/TEMP''. Intermediate results are written here.


Further Comments


None.

InfoSAR Ltd