Description
        
    
    This program performs photometric correction on image pixels acquired under
    different illumination and viewing geometries by adjusting the brightness
    and contrast such that the resulting image appears as if obtained under uniform
    conditions.  The photometric correction is applied to each pixel by computing
    a photometric model based on local photometric angles and a set of parameters
    that defines the model.  Currently, no default values are assigned for any
    parameter names in the ISIS version of photomet.
     
    
    Photometric angles can be computed from the following:
     
    This program sets all pixels that have an incidence angle and/or emission angle
    greater than or equal to 90 degrees to  NULL pixel values, regardless of the
    photometric angles resulting from using a topographic model.
    
     
    The user must select a photometric model and a normalization model, with the
    option of adding an atmospheric model.  Each of these models has a set of
    parameters that specifies its operation, which the user must provide.  The
    different models can be mixed and matched to produce variations of the
    photometric correction.
     
    - 
      You may enter the desired parameters by using the program GUI, which is
      recommended
    
 
    - 
      A PVL file containing the photometric parmeters may be used if you opt
      to use the "frompvl" parameter
    
 
    - 
      Within the GUI you may select a PVL file, and in addition, select the
      "frompvl" drop-down menu and photomet will load the values from the PVL
      file into the appropriate parameter names in the GUI for you.
      Note, if more than one model type for phtname, atmname, or normname parameters
      are in the PVL file, then the parameter values for the first model type
      encountered by the program are loaded.  Review the parameter values to make
      sure the correct options are selected and have correct values before executing
      the program.
    
 
    - 
      Values also can be entered manually at the command line
    
 
     
    Note: If any parameter names are entered into the GUI after specifying
    "frompvl", the new values entered into the GUI will take precedence
    over the values entered in the PVL file.
    
     
    There are three aspects of a photometric correction that should be
    considered when running the photomet program:
     
    
      - 
       The surface photometric function model type that describes the planetary
       surface.  Any one of the surface photometric functions can be used in
       combination with any of the normalization type models and optionally an
       atmospheric photometric model.
      
 
      - 
       The atmospheric photometric function model type used when atmospheric
       scattering is present. The models that end with "1" use a first order
       scattering approximation, and those that end with "2" use a second order
       approximation; the second order has slower processing time because it
       uses more iterations and a quadratic equation versus fewer iterations and
       a linear equation used in the first order approximation.
      
 
      - 
       The type of normalization applied to the image to equalize the albedo
        or the topographic contrasts, or a combination of the two.  One of
       the available modes must be selected.
      
 
     
    
    The intent of topographic normalization is to correct for the variation in
    incidence, emission, and phase angles within and between images.  Topographic
    normalization involves both a multiplicative correction that adjusts the
    contrast for a unit slope to reference conditions, and an additive correction
    to keep the average brightness uniform.
     
    
    In practice, the albedo may be nonuniform, so a multistep process is used:
     
    - 
    Photomet is run in albedo mode, which decreases the brightness variations across
    the individual image and removes any additive atmospheric contribution.
    
 
    - 
    The output image in step 1 is divided by a low-pass-filtered version of itself,
    which removes the albedo variations if they have broader spatial scales than
    the topographic shading as is often the case.
    
 
    - 
    And finally, photomet is run again in topography mode on the output image from
    step 2, which reverses the albedo normalization of the first pass and then applies
    the topographic normalization.
    
 
     
    In the absence of an atmosphere, the "albedo mode" is very simple: the image
    is divided by the photometric model evaluated at the actual angles and then
    multiplied by the model at a reference geometry.  If an atmosphere is present,
    the additive component of the atmospheric scattering is subtracted at the real
    conditions before a multiplicative step, and added back as calculated for the
    standard conditions at the end.  The "mixed mode" of normalization is used for
    images that span very large ranges of  incidence
    angles. In the mixed mode, the
    albedo correction is applied at small incidence angles where albedo variations
    dominate topographic shading, and the topographic normalization is performed
    at large incidence angles where the reverse is true.  A user-specified
    parameter "incmat" controls the incidence angle at which a smooth transition
    from one type of normalization to the other takes place.
    
     
    The normalization models that use an atmospheric correction are albedoatm, shadeatm,
    and topoatm. If using the GUI interface photomet will automatically exclude
    all atmospheric models for normaliztion types that do not require an atmospheric
    correction. 
     
    
    Question: What happens if the normalization model I chose does not perform
    an atmospheric correction although I have an atmospheric model defined in my PVL
    file?
     
    Answer: If you have chosen a normalization model that does not
    perform atmospheric correction, then the image is normalized without applying
    the atmospheric correction.
     
    
      New Developments
     
    
    A new parameter name "chngpar" was added to photomet to allow the user to enter
    a string consisting of parameter names and values outside of the PVL files. This
    string replaces any parameter already defined.  This is useful when one or two
    parameter values change for each image but all the other parameter values remain
    the same.
     
    
    The parameter name "ZEROB0STANDARD" was shortened to "ZEROB0ST," but the longer
    name will still work for backward compatibility.  The default is to get the
    user setting for "ZEROB0ST" from the PVL file.  If no PVL file exists and the
    user does not specify a "FALSE" or "TRUE" option, the program will automatically
    default to "TRUE" to follow the default setting in previous photomet versions.
    PLEASE NOTE: This change was actually not added because the ability to support aliases
    (or deprecated) values has not been fully implemented in ISIS. As a result, you
    must use the full ZEROB0STANDARD parameter name.
     
    
    The parameter name "INCMAT" is no longer required when the "ALBEDO" normalization
    model is selected.  The parameter name will still appear in the GUI for backward
    compatibility, but does not need to be defined by the user in the GUI or on the
    command line.
     
    
    A set of photomet PVL templates for Mars and other planetary bodies
    developed in ISIS2 are now available in $ISISROOT/appdata/templates/photometry/
    directory.  There are also additional examples of PVL files for different
    photometric models under "Example PVL files," later in this document.
     
    
    Note: The NoNormalization model has been removed because it duplicated
    the functionality of the shade model.  Use shade with incref=0 and
    albedo=1.0 instead.
     
    
    The program photemplate can be used to set up the PVL file
    containing the selected options for photomet.
     
    
    The tables below show the models and their related parameter requirements
    along with the ISIS2 default values.  The ISIS2 default values are only meant
    to serve as possible initial values to test backward compatibility since there
    are no default values defined in ISIS.
     
 
 
 
 
SURFACE PHOTOMETRIC FUNCTION MODELS
 
Available photometric function models and required parameter names
| Name | 
Required parameter names | 
 
|  Hapkehen  | 
B0, hg1, hg2, hh, theta, wh | 
 
|  Hapkeleg  | 
Theta, wh, bh, ch, hh, b0, zerob0st | 
   
|  Lambert  | 
None | 
 
|  LommelSeeliger  | 
None | 
 
|  LunarLambert  | 
L | 
 
|  LunarLambertEmpirical  | 
Phaselist, llist, phasecurvelist | 
 
|  LunarLambertMcEwen  | 
None | 
 
|  Minnaert  | 
K | 
 
|  MinnaertEmpirical  | 
Phaselist, klist, phasecurvelist | 
 
 
 
 
Photometric model parameter names and settings
| Name | 
Description | 
ISIS2 default | 
Valid range | 
 
| B0 | 
Hapke opposition surge component | 
0.0 | 
0 <= value | 
 
| Bh | 
Hapke Legendre coefficient for single particle phase function | 
0.0 | 
-1 <= value <= 1 | 
 
| Ch | 
Hapke Legendre coefficient for single particle phase function | 
0.0 | 
-1 <= value <= 1 | 
 
| Hg1 | 
Hapke Henyey Greenstein coefficient for single particle phase function | 
0.0 | 
0 <= value <= 1 | 
 
| Hg2 | 
Hapke Henyey Greenstein coefficient for single particle phase function | 
0.0 | 
0 <= value <= 1 | 
 
| Hh | 
Hapke opposition surge component | 
0.0 | 
0 <= value | 
 
| K | 
Minnaert function exponent | 
1.0 | 
0 <= value | 
 
| L | 
Lunar-Lambert function weight | 
1.0 | 
No limit | 
 
| Theta | 
Hapke macroscopic roughness component | 
0.0 | 
0 <= value <= 90 | 
 
| Wh | 
Hapke single scattering albedo component | 
0.5 | 
0 < value <= 1 | 
 
| Zerob0st | 
Flag to set opposition surge B0 to zero | 
True | 
True or False | 
 
| Phaselist | 
Phase list for empirical functions | 
None | 
String | 
 
| Llist | 
Exponent list of limb darkening values | 
None | 
String | 
 
| Klist | 
Exponent list of limb darkening values | 
None | 
String | 
 
| Phasecurvelist | 
Phase curve list of brightness values | 
None | 
String | 
 
 
 
The functions are defined as follows, where phase is the 
phase angle, and u0 and u are the cosines of the 
incidence and emission angles, respectively:
 
- 
Lambert 
 
-   FUNC=u0 
 
- 
LommelSeeliger 
 
-   FUNC=u0/(u0+u)
 
- 
Minnaert 
 
-   FUNC=u0**K * u**(K-1)
 
- 
LunarLambert (Lunar-Lambert, "lunar" part is Lommel-Seeliger) 
 
-   FUNC=(1-L)*u0 + 2*L*u0/(u0+u)
 
- 
MinnaertEmpirical 
 
-   FUNC=B(phase) * u0**K(phase) * u**(K(phase)-1)
 
- 
LunarLambertEmpirical 
 
-   FUNC=B(phase) * ((1-L)*u0 + 2*L*u0/(u0+u))
 
 
 
ATMOSPHERIC PHOTOMETRIC FUNCTION MODELS
Available atmosphereic functions and required parameter names
| Function model name | 
Required parameters | 
 
|  Anisotropic1  | 
Bha, hnorm, nulneg, tau, tauref, wha | 
 
|  Anisotropic2  | 
Bha, hnorm, nulneg, tau, tauref, wha | 
 
|  HapkeAtm1  | 
Hga, hnorm, nulneg, tau, tauref, wha | 
 
|  HapkeAtm2  | 
Hga, hnorm, nulneg, tau, tauref, wha | 
 
|  Isotropic1  | 
Hnorm, nulneg, tau, tauref, wha | 
 
|  Isotropic2  | 
Hnorm, nulneg, tau, tauref, wha | 
 
 
Atmospheric models parameter names and settings
| Name | 
Description | 
ISIS2 Default | 
Valid Range | 
 
| Bha | 
Coefficient of the single particle Legendre phase function | 
0.85 | 
-1 <= value <= 1 | 
 
| Hga | 
Coefficient of single particle Henyey Greenstein phase function | 
0.68 | 
-1 < value < 1 | 
 
| Hnorm | 
Atmospheric shell thickness normalized to the planet radius | 
0.003 | 
0 <= value | 
 
| Nulneg | 
Specifies if negative values after removal of atmospheric effects will be set to NULL | 
NO | 
YES or NO | 
 
| Tau | 
Normal optical depth of the atmosphere | 
0.28 | 
0 <= value | 
 
| Tauref | 
Reference value of tau to which the image will be normalized | 
0.0 | 
0 <= value | 
 
| Wha | 
Single scattering albedo of atmospheric particles | 
0.95 | 
0 < value < 1 | 
 
 
 
PHOTOMETRIC NORMALIZATION MODELS
Available photometric normalization functions and required parameter names
| Function name | 
Normalization function type  | 
Required parameter names  | 
 
| Albedo  | 
Albedo contrasts uniform  | 
Albedo, incref, thresh | 
 
| AlbedoAtm  | 
Albedo with atmosphere  | 
Incref  | 
 
| Mixed | 
Albedo at low incidence blended to topo at high incidence  | 
Albedo, incmat, incref, thresh | 
 
| MoonAlbedo  | 
Special Lunar model  | 
Bsh1, d, e, f, g2, h, wl, xb1, xb2, xmul | 
 
| Shade  | 
Shaded relief model  | 
Albedo, incref | 
 
| ShadeAtm  | 
Shaded relief with atmosphere  | 
Albedo, incref | 
 
| Topo | 
Topographic shading uniform  | 
Albedo, incref, thresh | 
 
| TopoAtm  | 
Topographic shading with atmosphere  | 
Albedo, incref | 
 
 
Normalization model parameter names and settings
| Name | 
Description | 
ISIS2 default | 
Valid range | 
 
| Albedo | 
Albedo to which the image will be normalized | 
1.0 | 
No limit | 
 
| Bsh1 | 
Albedo dependent phase function normalization parameter | 
0.08 | 
0 <= value | 
 
| D | 
Albedo dependent phase function normalization parameter | 
0.14 | 
No limit | 
 
| E | 
Albedo dependent phase function normalization parameter | 
-0.4179 | 
No limit | 
 
| F | 
Albedo dependent phase function normalization parameter | 
0.55 | 
No limit | 
 
| G2 | 
Albedo dependent phase function normalization parameter | 
0.02 | 
No limit | 
 
| H | 
Albedo dependent phase function normalization parameter | 
0.048 | 
No limit | 
 
| Incmat | 
Specifies incidence angle where albedo normalization transitions to incidence normalization | 
0.0 | 
0 <= value < 90 | 
 
| Incref | 
Reference incidence angle to which the image will be normalized | 
0.0 | 
0 <= value < 90 | 
 
| Thresh | 
Sets upper limit on amount of amplification in regions of small incidence angle | 
30.0 | 
No limit | 
 
| Wl | 
Wavelength in micrometers of the image being normalized | 
1.0 | 
No limit | 
 
| Xb1 | 
Albedo dependent phase function normalization parameter | 
-0.0817 | 
No limit | 
 
| Xb2 | 
Albedo dependent phase function normalization parameter | 
0.0081 | 
No limit | 
 
| Xmul | 
Used to convert radiance to reflectance or apply a calibration fudge factor | 
1.0 | 
No limit | 
 
 
    Example PVL files:
     
    Example 1:
    Object = PhotometricModel
      Group = Algorithm
        PhtName = Lambert
      EndGroup
    EndObject
    Object = NormalizationModel
      Group = Algorithm
        NormName = Shade
	Incref = 0.0
	Albedo = 1.0
      EndGroup
    EndObject
    --------------------------------
    Example 2:
    Object = PhotometricModel
      Group = Algorithm
        PhtName = Minnaert
	K = 0.5
      EndGroup
    EndObject
    Object = NormalizationModel
      Group = Algorithm
        NormName = Albedo
	Incref = 0.0
	Incmat = 0.0
	Albedo = 1.0
	Thresh = 30.0
      EndGroup
    EndObject
    --------------------------------
    Example 3:
    Object = PhotometricModel
      Group  = Algorithm
        PhtName = Hapkehen
	Wh = 0.52
	Hh = 0.0
	B0 = 0.0
	Theta = 30.0
	Hg1 = 0.213
	Hg2 = 1.0
      EndGroup
    EndObject
    Object = AtmosphericModel
      Group = Algorithm
        AtmName = hapkeatm2
	Hnorm = 0.003
	Tau = 0.28
	Tauref = 0.0
	Wha = 0.95
	Hga = 0.68
      EndGroup
    EndObject
    Object = NormalizationModel
      Group = Algorithm
        NormName = albedoatm
	Incref = 0.0
      EndGroup
    EndObject
    --------------------------------
    Example 4 (Used to process Clementine UVVIS filter "a" data):
    Object = PhotometricModel
      Group  = Algorithm
        PhtName = LunarLambertMcEwen
      EndGroup
    EndObject
    Object = NormalizationModel
      Group = Algorithm
        NormName = MoonAlbedo
	D = 0.0
	E = -0.222
	F = 0.5
	G2 = 0.39
	H = 0.062
	Bsh1 = 2.31
        Wl = 1.0
        Xb1 = 1.0
        Xb2 = 1.0
      EndGroup
    EndObject
    --------------------------------
    Example 5 (Used to process Clementine UVVIS filter "b" data):
    Object = PhotometricModel
      Group  = Algorithm
        PhtName = LunarLambertMcEwen
      EndGroup
    EndObject
    Object = NormalizationModel
      Group = Algorithm
        NormName = MoonAlbedo
	D = 0.0
	E = -0.218
	F = 0.5
	G2 = 0.4
	H = 0.054
	Bsh1 = 1.6
        Wl = 1.0
        Xb1 = 1.0
        Xb2 = 1.0
      EndGroup
    EndObject
    --------------------------------
    Example 6 (Used to process Clementine UVVIS filter "cde" data):
    Object = PhotometricModel
      Group  = Algorithm
        PhtName = LunarLambertMcEwen
      EndGroup
    EndObject
    Object = NormalizationModel
      Group = Algorithm
        NormName = MoonAlbedo
	D = 0.0
	E = -0.226
	F = 0.5
	G2 = 0.36
	H = 0.052
	Bsh1 = 1.35
        Wl = 1.0
        Xb1 = 1.0
        Xb2 = 1.0
      EndGroup
    EndObject
    --------------------------------
    Example 7 (Used for Mars red filter data to apply empirical photometric models):
    Object = PhotometricModel
    # For Mars red filter images
    # The phase angles at which the coefficient values for the Lunar Lambert
    # Empirical (LunarLambertEmpirical) L and the Minnaert Empirical K approximation are
    # calculated, along with the brightness (phase curve) values at those
    # points (ALL ON ONE LINE!)
      Group = Algorithm
	PhtName = LunarLambertEmpirical
	PhaseList = "0.,10.,20.,30.,40.,50.,60.,70.,80.,90.,100.,110.,120.,130.,140.,150.,160.,170.,180."
	LList = "0.946,0.748,0.616,0.522,0.435,0.350,0.266,0.187,0.118,0.062,0.018,-0.012,-0.027,
	   -0.035,-0.036,-0.037,-0.031,-0.012,-0.010"
	PhaseCurveList = "0.1578,0.1593,0.1558,0.1484,0.1391,0.1292,0.1194,0.1099,0.1008,0.09176,
	   0.08242,0.07234,0.06165,0.05106,0.04091,0.03137,0.02171,0.01038,0."
      EndGroup
      Group = Algorithm
	PhtName = MinnaertEmpirical
	PhaseList = "0.,10.,20.,30.,40.,50.,60.,70.,80.,90.,100.,110.,120.,130.,140.,150.,160.,170.,180."
	KList = "0.518,0.595,0.660,0.709,0.753,0.796,0.837,0.875,0.904,0.922,0.926,0.935,0.954,0.986,
	   1.019,1.063,1.099,1.095,1.090"
	PhaseCurveList = "0.1574,0.1582,0.1546,0.1470,0.1375,0.1273,0.1174,0.1077,0.09797,0.08750,
	   0.07594,0.06466,0.05471,0.04665,0.03935,0.03339,0.02642,0.01482,0."
      EndGroup
    EndObject
  References:
  Chandrasekhar, S., 1960.  Radiative Transfer. Dover, 393 pp.
  Hapke, B. W., 1981. Bidirectional reflectance spectroscopy 1: Theory. J.
     Geophys. Res., pp. 86,3039-3054.
  Hapke, B., 1984. Bidirectional reflectance spectroscopy3: Corrections for
     macroscopic roughness. Icarus, 59, pp. 41-59.
  Hapke, B., 1986. Bidirectional reflectance spectroscopy 4: The extinction
     coefficient and the opposition effect. Icarus, 67, pp. 264-280.
  Johnson, J. R., et al., 1999, Preliminary Results on Photometric Properties of
     Materials at the Sagan Memorial Station, Mars, J. Geophys. Res., 104, 8809.
  Kirk, R. L., Thompson, K. T., Becker, T. L., and Lee, E. M., 2000.
     Photometric modelling for planetary cartography. Lunar Planet. Sci., XXXI,
     Abstract #2025, Lunar and Planetary Institute, Houston (CD-ROM).
  Kirk, R. L., Thompson, K. T., and Lee, E. M., 2001. Photometry of the martian
     atmosphere:  An improved practical model for cartography and photoclinometry.
     Lunar Planet. Sci., XXXII, Abstract #1874, Lunar and Planetary Institute,
     Houston (CD-ROM).
  McEwen, A. S., 1991. Photometric functions for photoclinometry and other
     applications.  Icarus, 92, pp. 298-311.
  Thorpe, T. E., 1973, Mariner 9 Photometric Observations of Mars from November
     1971 through March 1972, Icarus, 20, 482.
  Tomasko, M. G., et al., 1999, Properties of Dust in the Martian Atmosphere from
     the Imager on Mars Pathfinder, J. Geophys. Res., 104, 8987.
  
   
 
          Categories
        
 
            Related Applications to Previous Versions of ISIS
          
          This program replaces the following
          
            application
            
          existing in previous versions of ISIS:
          
 
Applications
 
              History
          
| Tammy Becker | 1989-02-15 | 
      Original version - based on Tammy Becker's
      photom/photompr programs which were later
      converted to Randy Kirk's photomet
     | 
 
| Janet Barrett | 2008-03-07 | 
      Added code to acquire the BandBin Center keyword from the
      input image. This value is needed in case the user chooses
      the MoonAlbedo normalization method.
     | 
 
| Steven Lambright | 2008-05-13 | 
      Removed references to CubeInfo
     | 
 
| Jeannie Walldren | 2009-01-08 | 
      Added MAXEMISSION and MAXINCIDENCE parameters.  Modified code to set
      off-target pixels to NULL.  Added appTests for new parameters.  Added user
      documentation examples.
     | 
 
| Eric Hyer | 2010-11-10 | 
      Added USEDEM parameter.
     | 
 
| Janet Barrett | 2010-11-22 | 
      Added error check for situations where there is not an intersection with
      the DEM and the local photometric angles are requested.
     | 
 
| Janet Barrett | 2010-11-23 | 
      Added capability to use both ellipsoid and DEM photometric angles in
      atmospheric corrections. This provides the ability to do shading using a
      DEM surface.
     | 
 
| Janet Barrett | 2011-02-22 | 
      The USEDEM parameter has been removed and the ANGLESOURCE parameter has
      been added. The ANGLESOURCE parameter lets you specify the source where the
      photometric angles will come from: ellipsoid, DEM, or center of image.
     | 
 
| Janet Barrett | 2011-03-29 | 
      The CENTER option of the ANGLESOURCE parameter has been removed and the
      CENTER_FROM_IMAGE, CENTER_FROM_LABEL and CENTER_FROM_USER options have been
      added. This allows the user to determine where the center photometric angles
      will come from.
     | 
 
| Janet Barrett | 2011-09-23 | 
      The following changes were made to the program for the ISIS3.3.0 release:
      1) The PHOPAR parameter name was changed to FROMPVL - this was done to have
         consistent parameter names throughout the photometry software.
      2) All radio button options are now accessed through drop down menus. The
         only radio button options that existed prior to this release were those for
         choosing the ANGLESOURCE. In order to use any of the drop down menus, click
         on the drop down menu and hold the mouse button down while navigating to
         the choice that you want.
      3) Added a USEDEM option which will let you determine how the trim is performed.
         If you don't check the USEDEM box, then trimming is performed based on the
         photometric angles of the ellipsoid. If you check the USEDEM box, then the
         trimming is performed based on the photometric angles of the DEM (if one is
         specified in the image labels). If there is no DEM associated with your FROM
         file, then the default is to use the ellipsoid.
      4) The program now lets you specify the photometric model, atmospheric model,
         and normalization model through the PHTNAME, ATMNAME, and NORMNAME drop down
         menus. Prior to this release, you were forced to provide an input PVL file with
         all of the model information in it. You can now provide the model information
         through the PVL, the GUI, or a combination of both. If you provide a FROMPVL
         file, then you need to use the GUI to specify which model(s) to use from that
         file. If you change any of the model-specific parameters in the GUI, then they
         will override the values in the FROMPVL file.
      5) The BHAREF, HGAREF, and WHAREF parameters have been removed because they were
         obsolete.
      6) The NONORMALIZATION model was removed because it duplicated the functionality
         of the SHADE model.
      7) More photometric models have been added. The Hapke Legendre, Minnaert Empirical,
         and Lunar Lambert Empirical models have been added. The Minnaert Empirical
         model has parameters PHASELIST, PHASECURVELIST, and KLIST associated with it.
         The information for the new parameters is a list of comma delimited values
         (phase angle goes in PHASELIST, brightness values go in PHASECURVELIST, and
         limb darkening values go in KLIST). The Lunar Lambert Empirical model has
         parameters PHASELIST, PHASECURVELIST, and LLIST where LLIST is similar to the
         KLIST parameter for Minnaert Empirical.
      8) A USEDEM parameter has been added which allows the user to determine which
         photometric angles to use for trimming. If the USEDEM parameter is set to false,
         then the photometric angles of the ellipsoid are used. If USEDEM is set to true,
         then the photometric angles of the DEM shape model are used for trimming.
      9) Helper buttons were added to the FROMPVL to allow you to View a PVL or to Load
         a PVL. PLEASE NOTE: When loading a Minnaert Empirical or Lunar Lambert Empirical
         model from a PVL, only the first value will be loaded into the GUI. This is
         a known problem and will be fixed in the next patch or release to ISIS.
      10) ***NOTE*** The Minnaert Empirical and Lunar Lambert Empirical models do not
         load properly from a PVL file when using the Load PVL helper button. This is
         a known problem and will be fixed in the next patch or release of ISIS.
     | 
 
| Janet Barrett | 2011-11-04 | 
      The ZEROB0STANDARD parameter for the Hapke models was not added to the new
      update of photomet during the last release. This parameter is responsible for
      determining if the Hapke opposition surge component B0 is set to zero when
      calculations are based on standard conditions. This parameter has been added
      to the new interface to photomet.
     | 
 
| Janet Barrett | 2012-01-10 | 
      The program was fixed to make it backwards compatible with older PVL files. If
      you tried running this program with an older PVL, then you most likely got the
      following error message "A Normalization model must be specified before running
      this program." This message would have occurred even if you had a Normalization
      model specified in your FROMPVL file. This problem has been fixed. If your FROMPVL
      file specifies a Normalization model, then you aren't required to specify one through
      the program interface as well.
     | 
 
| Janet Barrett | 2012-05-04 | 
      A new BACKPLANE option was added to ANGLESOURCE. This BACKPLANE option allows you
      to input photometric angle information using separate ISIS cube files. Files
      containing geometric, photometric, etc. information pixel by pixel for the input
      image file are normally referred to as backplanes. This option was added to support
      image data that does not have a camera model associated with it. If you have a
      way to generate the photometric angles for such data, then you will be able to
      do photometric correction on it. This option is also very useful for speeding up
      the processing done by photomet. If you have all the photometric information
      pre-computed, then this information no longer needs to be generated every time
      the program is run. You can input photometric information using a combination of
      files and photometric angle constants. For example, if you have a file containing
      the phase angle for every pixel, a file containing the incidence angle for every
      pixel, and you know that the emission angle is 0.0 for every pixel, then you can
      use the PHASE_ANGLE_FILE, INCIDENCE_ANGLE_FILE, and EMISSION_ANGLE fields to input
      the 2 file names and the emission angle constant.
     | 
 
| Ella Mae Lee | 2012-10-05 | 
      Improved the documentation, reference Mantis issue #453, #843
     | 
 
| Janet Barrett | 2012-10-24 | 
      The following changes were made to the program:
      1) Added a new parameter, CHNGPAR, which allows the user to change any of the model-
         related parameter settings without having to specify the model name on the command
         line or in the GUI. Before the CHNGPAR parameter was added, you could only change
         a model-related parameter on the command line or in the GUI if you also specified
         the model name using the PHTNAME, ATMNAME, or NORMNAME parameter. Any value you
         set using the CHNGPAR parameter will override changes that are specified in the
         GUI. Any value that is changed through the GUI will override values specified in
         the FROMPVL file.
         **PLEASE NOTE**: Any parameter that you type into the CHNGPAR string MUST be spelled
         correctly and using the full name (no partial parameter names). Otherwise, the
         program will not recognize the parameter and it won't get used.
      2) Added new output groups to the print.prt log file so that the user can see exactly
         which values were used to run photomet. The new groups that get written to the
         print.prt file include NormalizationModelParametersUsed, AtmosphericModelParametersUsed,
         and PhotometricModelParametersUsed.
      3) Fixed photomet so that the INCMAT parameter is no longer required for the ALBEDO
         normalization model. The INCMAT parameter is not used by the ALBEDO normalization
         model, so the user is no longer required to input an INCMAT value for that model.
      4) Fixed a problem which was causing the NULNEG and ZEROB0STANDARD parameters to be
         loaded incorrectly if specified in the FROMPVL file.
      5) Added a more meaningful error message when a normalization model is not specified by
         the user either through the GUI, command line, or FROMPVL file.
      6) Changed the ZEROB0STANDARD parameter name to ZEROB0ST. This was to help prevent the
         user from needing to resize the GUI each time they opened it because the parameter
         name was too long. We are maintaining backwards compatibility by supporting both
         ZEROB0STANDARD and ZEROB0ST in the photomet code. This will allow you to run a
         script with the old parameter name without any problems.
     | 
 
| Janet Barrett | 2012-12-07 | 
      PLEASE NOTE (in reference to change made on 2012-10-24): The backwards compatibility for
      the shorter ZEROB0ST parameter name has not been fully implemented in ISIS. As a result,
      this change has been removed and the full ZEROB0STANDARD parameter name must be used.
      Support for aliases (deprecated values) must be fully implemented in ISIS before the shorter
      parameter name (ZEROB0ST) will be available. Fixes #1288.
     | 
 
| Lynn Weller | 2013-02-25 | 
      Removed links to applications imbedded in text and replaced with
      italicized application name.  Added application links to the
      "Related Objects and Documents" section of the documentation.
      Fixes mantis ticket #1525.
     | 
 
| Kelvin Rodriguez | 2016-08-24 | 
      Added cast to void on 'changePar.simplified()' function call to silience unused return
      value warnings on OS X
     | 
 
| Curtis Rose | 2016-11-16 | 
      Decoupled ANGLESOURCE and USEDEM parameters. They were working incorrectly before
      and were tangled together a bit. They are separated now and working as expected.
      Anglesource DEM makes the photometric calculations based on the DEM of the image
      if it exists. Anglesource ELLIPSOID makes the photometric calculations based on the radius
      obtained from the DEM shape model. Usedem true trims the image using the photometric
      calculations on the radius obtained from the DEM shape model. Usedem false trims the image
      using the from the IAU/NAIF target body file, which is defined within the cube's kernel group
      as the TargetAttitudeShape. Fixes #4180.
     | 
 
| Lauren Adoram-Kershner | 2019-11-07 | 
      Added a warning when the 'DEM' angle source option is used with 'mixed'
      or 'topo' normalization method. Fixes #3451 and #3452.
     | 
 
 
 |