HiRISE

HiRISE.HiPlan.HiSEAS
Class Rules

java.lang.Object
  extended by HiRISE.HiPlan.HiSEAS.Rules
All Implemented Interfaces:
Cloneable

public class Rules
extends Object
implements Cloneable

A set of rules for evaluating candidate stereo pair observations.


Nested Class Summary
static class Rules.Comparator
          A comparator for HiSEAS rules.
static class Rules.CompletionSort
           
static class Rules.RollSign
           
static class Rules.RulesException
           
 
Field Summary
static Interval ALLOWED_CONVERGENCE
           
static Interval ALLOWED_LATITUDES
           
static Interval ALLOWED_ROLLS
           
static String AZIMUTH_DIFFERENCE_MAX
           
static String BAND_NAME
           
static String COMPLETION_SORT
           
static String CONVERGENCE_ANGLE_GOOD_INTERVAL
           
static double CONVERGENCE_ANGLE_GOOD_MAX
           
static double CONVERGENCE_ANGLE_GOOD_MIN
           
static String CONVERGENCE_ANGLE_OKAY_INTERVAL
           
static double CONVERGENCE_ANGLE_OKAY_MAX
           
static double CONVERGENCE_ANGLE_OKAY_MIN
           
static double CONVERGENCE_MAX
          The maxmimum allowed convergence angle.
static double CONVERGENCE_MIN
          The minimum allowed convergence angle.
static double DEFAULT_AZIMUTH_DIFFERENCE_MAX
           
static Rules.CompletionSort DEFAULT_COMPLETION_SORT
           
static double[] DEFAULT_CONVERGENCE_ANGLE_GOOD_INTERVAL
           
static double[] DEFAULT_CONVERGENCE_ANGLE_OKAY_INTERVAL
           
static double DEFAULT_INCIDENCE_DIFFERENCE_MAX
           
static boolean DEFAULT_INCLUDE_OKAY_SPORC_CONVERGENCE
           
static double[] DEFAULT_LATITUDES
           
static Rules.RollSign DEFAULT_ROLL_SIGN
           
static double DEFAULT_SHADOW_TIP_DIFFERENCE_MAX
           
static double DEFAULT_SOLAR_SEPARATION_ANGLE_MAX
           
static double DEFAULT_URGENT_THRESHOLD
           
static String ID
          Class identification name with source code version and date.
static String INCIDENCE_DIFFERENCE_MAX
           
static String INCLUDE_OKAY_SPORC_CONVERGENCE
           
static double LATITUDE_MAX
          The maximum allowed latitude.
static double LATITUDE_MIN
          The minimum allowed latitude.
static String LATITUDES
           
static String ROLL_SIGN
           
static String SHADOW_TIP_DIFFERENCE_MAX
           
static String SOLAR_SEPARATION_ANGLE_MAX
           
static String URGENT_THRESHOLD
           
static String USER_DEFAULTS
           
 
Constructor Summary
Rules(Configuration parameters, Rules defaults)
           
Rules(String parameterName, String name, Interval latitudes, double shadowTipDifferenceMax, double azimuthDifferenceMax, double solarSeparationAngleMax, double incidenceDifferenceMax, Interval okayConvergence, Interval goodConvergence, boolean includeOkaySporcConvergence, Rules.RollSign rollSign, double urgentThreshold, Rules.CompletionSort completionSort)
           
 
Method Summary
 Rules clone()
           
 boolean coversLatitude(double lat)
           
 double getAzimuthDifferenceMax()
           
 Rules.CompletionSort getCompletionSort()
           
 Interval getGoodConvergence()
           
 double getIncidenceDifferenceMax()
           
 Interval getLatitudes()
           
 String getName()
           
 Interval getOkayConvergence()
           
 String getParameterName()
           
 Rules.RollSign getRollSign()
           
 double getShadowTipDifferenceMax()
           
 double getSolarSeparationAngleMax()
           
 double getUrgentThreshold()
           
 boolean isAllowedAzimuthDifference(double val)
           
 boolean isAllowedIncidenceDifference(double val)
           
 boolean isAllowedShadowTipDifference(double val)
           
 boolean isAllowedSolarSeparationAngle(double val)
           
 boolean isGoodConvergence(double val)
           
 boolean isOkayConvergence(double val)
           
 boolean isOkaySporcConvergenceIncluded()
           
 boolean isUrgent(double referenceLs, double ls)
           
 void setAzimuthDifferenceMax(double azimuthDifferenceMax)
           
 void setCompletionSort(Rules.CompletionSort completionSort)
           
 void setGoodConvergence(Interval goodConvergence)
           
 void setIncidenceDifferenceMax(double incidenceDifferenceMax)
           
 void setLatitudes(Interval latitudes)
           
 void setName(String name)
           
 void setOkayConvergence(Interval okayConvergence)
           
 void setOkaySporcConvergenceIncluded(boolean includeOkaySporcConvergence)
           
 void setRollSign(Rules.RollSign rollSign)
           
 void setShadowTipDifferenceMax(double shadowTipDifferenceMax)
           
 void setSolarSeparationAngleMax(double solarSeparationAngleMax)
           
 void setUrgentThreshold(double urgentThreshold)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ID

public static final String ID
Class identification name with source code version and date.

See Also:
Constant Field Values

LATITUDE_MIN

public static final double LATITUDE_MIN
The minimum allowed latitude. This value is used in checking the limits of the latitude bands' latitude values, along with LATITUDE_MAX.

See Also:
Constant Field Values

LATITUDE_MAX

public static final double LATITUDE_MAX
The maximum allowed latitude. This value is used in check the limits of the latitude bands' latitude values, along with LATITUDE_MIN.

See Also:
Constant Field Values

ALLOWED_LATITUDES

public static final Interval ALLOWED_LATITUDES

CONVERGENCE_MIN

public static final double CONVERGENCE_MIN
The minimum allowed convergence angle. This value is used in checking the limits of the latitude bands' convergence angle values, along with CONVERGENCE_MAX. In practice, the min convergence should be larger than this value, typically greater than 10 degrees.

See Also:
Constant Field Values

CONVERGENCE_MAX

public static final double CONVERGENCE_MAX
The maxmimum allowed convergence angle. This value is used in checking the limits of the latitude bands' convergence angle values, along with CONVERGENCE_MIN. In practice, the max convergence should be smaller than this value, typically less than 40 degrees.

See Also:
Constant Field Values

ALLOWED_CONVERGENCE

public static final Interval ALLOWED_CONVERGENCE

ALLOWED_ROLLS

public static final Interval ALLOWED_ROLLS

USER_DEFAULTS

public static final String USER_DEFAULTS
See Also:
Constant Field Values

BAND_NAME

public static final String BAND_NAME
See Also:
Constant Field Values

LATITUDES

public static final String LATITUDES
See Also:
Constant Field Values

DEFAULT_LATITUDES

public static final double[] DEFAULT_LATITUDES

SHADOW_TIP_DIFFERENCE_MAX

public static final String SHADOW_TIP_DIFFERENCE_MAX
See Also:
Constant Field Values

DEFAULT_SHADOW_TIP_DIFFERENCE_MAX

public static final double DEFAULT_SHADOW_TIP_DIFFERENCE_MAX
See Also:
Constant Field Values

AZIMUTH_DIFFERENCE_MAX

public static final String AZIMUTH_DIFFERENCE_MAX
See Also:
Constant Field Values

DEFAULT_AZIMUTH_DIFFERENCE_MAX

public static final double DEFAULT_AZIMUTH_DIFFERENCE_MAX
See Also:
Constant Field Values

SOLAR_SEPARATION_ANGLE_MAX

public static final String SOLAR_SEPARATION_ANGLE_MAX
See Also:
Constant Field Values

DEFAULT_SOLAR_SEPARATION_ANGLE_MAX

public static final double DEFAULT_SOLAR_SEPARATION_ANGLE_MAX
See Also:
Constant Field Values

INCIDENCE_DIFFERENCE_MAX

public static final String INCIDENCE_DIFFERENCE_MAX
See Also:
Constant Field Values

DEFAULT_INCIDENCE_DIFFERENCE_MAX

public static final double DEFAULT_INCIDENCE_DIFFERENCE_MAX
See Also:
Constant Field Values

CONVERGENCE_ANGLE_GOOD_INTERVAL

public static final String CONVERGENCE_ANGLE_GOOD_INTERVAL
See Also:
Constant Field Values

CONVERGENCE_ANGLE_GOOD_MIN

public static final double CONVERGENCE_ANGLE_GOOD_MIN
See Also:
Constant Field Values

CONVERGENCE_ANGLE_GOOD_MAX

public static final double CONVERGENCE_ANGLE_GOOD_MAX
See Also:
Constant Field Values

DEFAULT_CONVERGENCE_ANGLE_GOOD_INTERVAL

public static final double[] DEFAULT_CONVERGENCE_ANGLE_GOOD_INTERVAL

CONVERGENCE_ANGLE_OKAY_INTERVAL

public static final String CONVERGENCE_ANGLE_OKAY_INTERVAL
See Also:
Constant Field Values

CONVERGENCE_ANGLE_OKAY_MIN

public static final double CONVERGENCE_ANGLE_OKAY_MIN
See Also:
Constant Field Values

CONVERGENCE_ANGLE_OKAY_MAX

public static final double CONVERGENCE_ANGLE_OKAY_MAX
See Also:
Constant Field Values

DEFAULT_CONVERGENCE_ANGLE_OKAY_INTERVAL

public static final double[] DEFAULT_CONVERGENCE_ANGLE_OKAY_INTERVAL

INCLUDE_OKAY_SPORC_CONVERGENCE

public static final String INCLUDE_OKAY_SPORC_CONVERGENCE
See Also:
Constant Field Values

DEFAULT_INCLUDE_OKAY_SPORC_CONVERGENCE

public static final boolean DEFAULT_INCLUDE_OKAY_SPORC_CONVERGENCE
See Also:
Constant Field Values

ROLL_SIGN

public static final String ROLL_SIGN
See Also:
Constant Field Values

DEFAULT_ROLL_SIGN

public static final Rules.RollSign DEFAULT_ROLL_SIGN

URGENT_THRESHOLD

public static final String URGENT_THRESHOLD
See Also:
Constant Field Values

DEFAULT_URGENT_THRESHOLD

public static final double DEFAULT_URGENT_THRESHOLD
See Also:
LsFunctions.DEFAULT_URGENT_THRESHOLD, Constant Field Values

COMPLETION_SORT

public static final String COMPLETION_SORT
See Also:
Constant Field Values

DEFAULT_COMPLETION_SORT

public static final Rules.CompletionSort DEFAULT_COMPLETION_SORT
Constructor Detail

Rules

public Rules(Configuration parameters,
             Rules defaults)
      throws Rules.RulesException
Throws:
Rules.RulesException

Rules

public Rules(String parameterName,
             String name,
             Interval latitudes,
             double shadowTipDifferenceMax,
             double azimuthDifferenceMax,
             double solarSeparationAngleMax,
             double incidenceDifferenceMax,
             Interval okayConvergence,
             Interval goodConvergence,
             boolean includeOkaySporcConvergence,
             Rules.RollSign rollSign,
             double urgentThreshold,
             Rules.CompletionSort completionSort)
Method Detail

getParameterName

public String getParameterName()

getName

public String getName()

setName

public void setName(String name)

getLatitudes

public Interval getLatitudes()

setLatitudes

public void setLatitudes(Interval latitudes)

getShadowTipDifferenceMax

public double getShadowTipDifferenceMax()

setShadowTipDifferenceMax

public void setShadowTipDifferenceMax(double shadowTipDifferenceMax)

getAzimuthDifferenceMax

public double getAzimuthDifferenceMax()

setAzimuthDifferenceMax

public void setAzimuthDifferenceMax(double azimuthDifferenceMax)

getSolarSeparationAngleMax

public double getSolarSeparationAngleMax()

setSolarSeparationAngleMax

public void setSolarSeparationAngleMax(double solarSeparationAngleMax)

getIncidenceDifferenceMax

public double getIncidenceDifferenceMax()

setIncidenceDifferenceMax

public void setIncidenceDifferenceMax(double incidenceDifferenceMax)

getOkayConvergence

public Interval getOkayConvergence()

setOkayConvergence

public void setOkayConvergence(Interval okayConvergence)

getGoodConvergence

public Interval getGoodConvergence()

setGoodConvergence

public void setGoodConvergence(Interval goodConvergence)

isOkaySporcConvergenceIncluded

public boolean isOkaySporcConvergenceIncluded()

setOkaySporcConvergenceIncluded

public void setOkaySporcConvergenceIncluded(boolean includeOkaySporcConvergence)

getRollSign

public Rules.RollSign getRollSign()

setRollSign

public void setRollSign(Rules.RollSign rollSign)

getUrgentThreshold

public double getUrgentThreshold()

setUrgentThreshold

public void setUrgentThreshold(double urgentThreshold)

getCompletionSort

public Rules.CompletionSort getCompletionSort()

setCompletionSort

public void setCompletionSort(Rules.CompletionSort completionSort)

coversLatitude

public boolean coversLatitude(double lat)

isAllowedShadowTipDifference

public boolean isAllowedShadowTipDifference(double val)

isAllowedAzimuthDifference

public boolean isAllowedAzimuthDifference(double val)

isAllowedSolarSeparationAngle

public boolean isAllowedSolarSeparationAngle(double val)

isAllowedIncidenceDifference

public boolean isAllowedIncidenceDifference(double val)

isOkayConvergence

public boolean isOkayConvergence(double val)

isGoodConvergence

public boolean isGoodConvergence(double val)

isUrgent

public boolean isUrgent(double referenceLs,
                        double ls)

clone

public Rules clone()
Overrides:
clone in class Object

toString

public String toString()
Overrides:
toString in class Object

HiRISE

Copyright (C) Arizona Board of Regents on behalf of the Planetary Image Research Laboratory, Lunar and Planetary Laboratory at the University of Arizona