Home
About ISIS
Support
Download

ISIS

Documentation
Tutorials
Technical Documents

ISIS 2

Documentation
Tutorials
Technical Documents
USGS

ISIS Application Documentation


autoregtemplate

Standard View | TOC | Home

Create auto registration group template

Description
Categories
Groups
Examples
History


Description

This program creates an auto registration group template for applications such as "coreg", "pointreg", "qnet", "findrx", and other ISIS software with a pattern matching component. Given a specific algorithm name, it will create that specific algorithm group template. If a tolerance is specified, the application will automatically insert the tolerance keyword and value into the auto registration template. The user must enter values for the chip sizes of both the pattern and search chips.

It is highly recommended that users review the Pattern Matching document (in the "Related Objects and Documents" section). This is where you will find the available auto registration algorithms.

NOTE: This program lacks updates for the Gruen pattern matching algorithm. In the future, this program will be deprecated and replaced with a wizard (expert system) which will help guide the user in the selection of the appropriate algorithm and parameter values.

Categories


Related Objects and Documents

Applications

Documents


Parameter Groups

Files

Name Description
TOPVL Output text file containing auto registration template

Algorithm

Name Description
ALGORITHM AdaptiveGruen, MaximumCorrelation, or MinimumDifference
TOLERANCE Tolerance for goodness of fit (See pattern matching documentation).
REDUCTIONFACTOR The new pattern and search chips will be this many times smaller than the originals.
SUBPIXELACCURACY Use sub-pixel accuracy
INTERP Interpolator to be used to load chips.

PatternChip

Name Description
PSAMP Pattern Chip Sample Size
PLINE Pattern Chip Line Size
PMIN Pattern Chip Valid Minimum Pixel Value
PMAX Pattern Chip Valid Maximum Pixel Value
MINIMUMZSCORE Minimum Pattern Chip Z-Score Range (Default = 1.0)
PVALIDPERCENT Pattern Chip Valid Pixel Percent Value (Default = 50.0)

SearchChip

Name Description
SSAMP Search Chip Sample Size
SLINE Search Chip Line Size
SMIN Search Chip Minimum Valid Pixel Value
SMAX Search Chip Maximum Valid Pixel Value
SSUBCHIPVALIDPERCENT Search Subchip Valid Pixel Percent Value (Default = 50.0)

SurfaceModel

Name Description
DISTANCETOLERANCE Distance Tolerance
WINDOWSIZE Window Size

Files: TOPVL

Description

This file will contain the auto registration group template.

Type filename
File Mode output

Algorithm: ALGORITHM

Description

This is the name of the algorithm (AdaptiveGruen, MaximumCorrelation, or MinimumDifference) for the auto registration group being created.

Type string

Algorithm: TOLERANCE

Description

This is the value of the tolerance for the auto registration, represented in the template as the Tolerance keyword.

Type double

Algorithm: REDUCTIONFACTOR

Description

Reduction factor used to speed up the pattern matching algorithm. The original pattern and search chips are divided by this factor to get the size of the new pattern and search chips.

Type integer
Internal Default None

Algorithm: SUBPIXELACCURACY

Description

This option allows the user to specify if sub-pixel accuracy will be used in the registration. Enables the SurfaceModel options, as those tests will only be performed when calculating to sub-pixel accuracy. When this parameter is true, SurfaceModel parameters may be selected.

Type boolean
Default TRUE
Inclusions
  • DISTANCETOLERANCE
  • WINDOWSIZE

Algorithm: INTERP

Description

Type of interpolator to be used to read and load the pattern and search chips.

Type string
Default CUBICCONVOLUTIONTYPE
Option List:
Option Brief Description
NEARESTNEIGHBORTYPE NearestNeighborType Indicates that a NearestNeighborType interpolator should be used to load chips.
BILINEARTYPE BiLinearType Indicates that a BiLinearType interpolator should be used to load chips.
CUBICCONVOLUTIONTYPE CubicConvolutionType Indicates that a CubicConvolutionType interpolator should be used to load chips.

PatternChip: PSAMP

Description

The sample size of the pattern chip for the auto registration. The Sample keyword in the PatternChip group will be set to this value in the auto registration template.

Type integer

PatternChip: PLINE

Description

The line size of the pattern chip for the auto registration. The Line keyword in the PatternChip group will be set to this value in the auto registration template.

Type integer

PatternChip: PMIN

Description

The minimum value a pixel must have in order to be considered valid and used in the auto registration. This parameter is optional, and does not have to be set. The auto registration algorithm will default to the Isis ValidMinimum, if this parameter is not provided.

Type integer
Internal Default None

PatternChip: PMAX

Description

The maximum value a pixel must have in order to be considered valid and used in the auto registration. This parameter is optional, and does not have to be set. The auto registration algorithm will default to the Isis ValidMaximum, if this parameter is not provided.

Type integer
Internal Default None

PatternChip: MINIMUMZSCORE

Description

This option allows the user to specify the minimum z-score range for the minimum and maximum values for the pattern chip that will be used in the registration. The auto registration algorithm will default to 1.0 if this parameter is not provided.

Type double
Internal Default None

PatternChip: PVALIDPERCENT

Description

The minimum percent of pixels in the pattern chip that must be valid in order for the auto registration of the chip to be used. This parameter is optional, and does not have to be set. The auto registration algorithm will default to 50.0 if this parameter is not provided.

Type double
Internal Default None

SearchChip: SSAMP

Description

The sample size of the search chip for the auto registration. The Sample keyword in the SearchChip group will be set to this value in the auto registration template.

Type integer

SearchChip: SLINE

Description

The line size of the search chip for the auto registration. The Line keyword in the SearchChip group will be set to this value in the auto registration template.

Type integer

SearchChip: SMIN

Description

The minimum value a pixel must have in order to be considered valid and used in the auto registration. This parameter is optional, and does not have to be set. The auto registration algorithm will default to the Isis ValidMinimum if this parameter is not provided.

Type integer
Internal Default None

SearchChip: SMAX

Description

The maximum value a pixel must have in order to be considered valid and used in the auto registration. This parameter is optional, and does not have to be set. The auto registration algorithm will default to the Isis ValidMaximum, if this parameter is not provided.

Type integer
Internal Default None

SearchChip: SSUBCHIPVALIDPERCENT

Description

The minimum percent of pixels in the subchip of the search chip that must be valid in order for the auto registration of the chip to be used. This parameter is optional, and does not have to be set. The auto registration algorithm will default to 50.0 if this parameter is not provided.

Type double
Internal Default None

SurfaceModel: DISTANCETOLERANCE

Description

Set the distance that the surface model is allowed to move away from the best whole pixel fit in the chip.

Type double
Default 1.5

SurfaceModel: WINDOWSIZE

Description

Set the surface model window size in terms of the length of a square window. The pixels in this window will be used to fit a surface model in order to compute to sub-pixel accuracy. Must be odd and greater than or equal to five.

Type integer
Default 5
Minimum 5 (inclusive)

Examples


Example 1

Create an auto registration template with all defaults.

Description

This example shows how the autoregtemplate application works, and how to create a simple AutoReg template. Here, only the required parameters have been entered. Because SubpixelAccuracy is "true" by default, there is a SurfaceModel group in the output PVL containing the default DistanceTolerance and WindowSize.
            Object = AutoRegistration
              Group = Algorithm
                Name             = MaximumCorrelation
                Tolerance        = 0.7
                SubpixelAccuracy = True
              End_Group

              Group = PatternChip
                Samples = 15
                Lines   = 15
              End_Group

              Group = SearchChip
                Samples = 31
                Lines   = 31
              End_Group

              Group = SurfaceModel
                DistanceTolerance = 1.5
                WindowSize        = 5
              End_Group
            End_Object
            End
        
The above output is the text file resulting when the following command line is run:

Command Line

autoregtemplate algorithm=MaximumCorrelation tolerance=0.7 psamp=15 pline=15 ssamp=31 sline=31 topvl=out.txt
Run autoregtemplate with an algorithm name, tolerance, output file name, and search and pattern chip sizes.

Example 2

Create an auto registration template without Subpixel Accuracy and with Chip Interpolator specified.

Description

This example shows the process and results of creating an auto registration template that disables calculating to subpixel accuracy. All the parameter values from the previous example are left the same, except that the SUBPIXELACCURACY keyword is set to "false". As a result, there is no SurfaceModel PVL group, and none of those keywords may be entered. Notice, the INTERP parameter is not specified in the command line. Thus, the default cubic convolution type of interpolator is used to load chips.
            Object = AutoRegistration
              Group = Algorithm
                Name             = MaximumCorrelation
                Tolerance        = 0.7
                SubpixelAccuracy = False
                ChipInterpolator = CubicConvolutionType
              End_Group

              Group = PatternChip
                Samples = 15
                Lines   = 15
              End_Group

              Group = SearchChip
                Samples = 31
                Lines   = 31
              End_Group
            End_Object
            End
        
The above output is the text file resulting when the following command line is run:

Command Line

autoregtemplate algorithm=MaximumCorrelation tolerance=0.7 subpixelaccuracy=false psamp=15 pline=15 ssamp=31 sline=31 topvl=out.txt
Run autoregtemplate with an algorithm name, tolerance, output file name, search and pattern chip sizes, specified chip interpolator, but no subpixel accuracy computation.

Example 3

Create an auto registration template specifying every parameter.

Description

This example shows the kinds of values one might potentially enter for every valid keyword in an auto registration template. Every parameter is specified in the template for this example. The only parameter not specified in the command line is subpixel accuracy, which must remain at its default ("true") in order to have a SurfaceModel group in the output PVL. Interp is set to the nearest neighbor chip interpolator type.
            Object = AutoRegistration
              Group = Algorithm
                Name             = MinimumDifference
                Tolerance        = 0.7
                ReductionFactor  = 2
                SubpixelAccuracy = True
                ChipInterpolator = NearestNeighborType
              End_Group

              Group = PatternChip
                Samples       = 15
                Lines         = 15
                ValidMinimum  = 1200
                ValidMaximum  = 2800
                MinimumZScore = 0.5
                ValidPercent  = 75.0
              End_Group

              Group = SearchChip
                Samples             = 31
                Lines               = 31
                ValidMinimum        = 1200
                ValidMaximum        = 2800
                SubchipValidPercent = 80.0
              End_Group

              Group = SurfaceModel
                DistanceTolerance = 2.5
                WindowSize        = 11
              End_Group
            End_Object
            End
       
The above output is the text file resulting when the following command line is run:

Command Line

autoregtemplate algorithm=MinimumDifference tolerance=0.7 reductionfactor=2 interp=nearestneighbor psamp=15 pline=15 pmin=1200 pmax=2800 pvalidpercent=75 ssamp=31 sline=31 smin=1200 smax=2800 minimumzscore = 0.5 ssubchipvalidpercent = 80 distancetolerance=2.5 windowsize=11 topvl=out.txt
Run autoregtemplate with all parameters specified by the user.

History

Elizabeth Miller2005-09-28 Original Version
Jacob Danton2006-01-05 Added SubpixelAccuracy option.
Jacob Danton2006-05-17 Added MinimumPatternZScore option and updated appTest.
Brendan George2006-07-19 Moved MininmumPatternZScore keyword to PatternChip Group
Travis Addair2010-04-15 Updated to use the current version of keywords accepted by AutoReg, improved documentation on parameters, and improved error reports.
Travis Addair2010-04-22 Updated tests and examples.
Jeannie Walldren2010-06-16 Added CHIPINTERPOLATOR and INTERPOLATORTYPE parameters to Algorithm group. Updated examples and added error unitTest.
Jeannie Walldren2010-07-20 Changed VALIDPERCENT to SSUBCHIPVALIDPERCENT parameters in SearchChip group. Added PVALIDPERCENT to PatternChip group. Updated examples and unit tests.
Jeff Anderson2011-10-05 Updated documentation
Kimberly Oyama2012-10-03 Removed the ECCENTRICITYRATIO, ECCENTRICITYTESTING, RESIDUALTESTING, and RESIDUALTOLERANCE parameters because they are no longer used due to the new sub-pixel registration algorithm that has replaced the previous surface model algorithm. Also because of the new algorithm, the minimum windowsize was changed from 3 to 5. The CHIPINTERPOLATOR parameter has been removed and the INTERPOLATORTYPE parameter has been renamed INTERP. The TO parameter has been changed to TOPVL. The references to the AutoReg class have been rewritten for better user understanding and helpful documentation has been added for some parameters. The documentation has been updated to reflect these changes. Fixes #1043.