Isis 3.0 Object Programmers' Reference |
Home |
2014-02-15 Kris Becker - Original Version
2015-03-08 Jeannie Backer - Added class to ISIS trunk. References #2035
2005-03-07 deborah lee soltesz - Completed main page content.
2005-03-07 deborah lee soltesz - Completed and refine module descriptions.
2006-08-10 deborah lee soltesz - Added "Radiometric and Photometric Corrections" and alphabetized mission-specific categories
2008-05-19 steven lambright - Fixed Mission End Group Tag
2008-05-19 steven lambright - Fixed Bad Namespace Documentation
2013-03-27 Jeannie Backer - Added NEAR Shoemaker mission. References #1248.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2006-03-18 Elizabeth Miller - Added gui helper stuff
2006-05-17 Elizabeth Miller - Removed .xml and documented .h file
2014-02-15 Kris Becker - Original Version
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
2012-01-20 Steven Lambright - Documentation improved.
2012-03-14 Tracie Sucharski - Update for change to the CubePlotCurve::sourceCube(), which now returns a QStringList instead of QString.
2008-06-25 Noah Hilt - Added enumeration for different column values.
2008-10-14 Noah Hilt - Added Projected X and Y values to the table.
2008-10-17 Noah Hilt - Added tooltips to certain items in the table that did not have descriptive names.
2010-02-17 Sharmila Prasad -Added the attributes TRACK_MOSAIC_INDEX, TRACK_MOSAIC_FILENAME, TRACK_MOSAIC_SERIAL_NUM to track mosaic origin
2010-03-08 Jeannie Walldren - Added record() slot to be able to record a QPoint passed from the FindTool to the current row.
2010-05-07 Eric Hyer - record() SLOT now shows the table as well
2010-06-26 Eric Hyer - Class now uses MdiCubeViewport, also fixed include issues
2011-02-16 Sharmila Prasad - Added columns for Local Emission and Incidence Angles
2012-06-22 Kimberly Oyama and Steven Lambright - Added a help menu to the menu bar and a help dialog that displays when the tool is opened the first time and when the user opens it through the help menu. Fixes #772.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-11-30 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-04-24 Jeannie Backer - Modified to print "N/A" for NorthAzimuth if projection is not triaxial since this value is meaningless for ring plane projections. References #775.
2014-06-17 Jeannie Backer - Modified to print set value to empty strings for photometric angles, azimuths, resolutions if not valid. References #1659.
2010-03-08 - Jeannie Walldren - This slot was added to be connected to the FindTool recordPoint() signal in qview.
2010-05-07 - Eric Hyer - Now shows the table as well
2006-08-03 Tracie Sucharski, Added Scale method
2007-07-12 Debbie A. Cook, Added methods Coefficients and InverseCoefficients
2008-06-18 Christopher Austin - Added documentation
2008-10-29 Steven Lambright - Corrected usage of std::vector, problem pointed out by "novas0x2a" (Support Forum Member)
2009-07-24 Kris Becker Introduced the AMatrix typedef; added new constructor that accepts an AMatrix; added static method to return an Affine identity matrix; added methods to retrieve forward and inverse AMatrixs; added new method that inverts the matrix.
2010-11-18 Kris Becker Fixed bug in inverse representation when scaling is applied to the current transform.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Changed name of Incmatch parmater to Incmat
2008-06-18 Christopher Austin - Fixed documentation errors
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
2007-08-15 Steven Lambright - Refactored code and fixed unit test
2008-06-18 Christopher Austin - Fixed documentation errors
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class.
2008-11-07 Jeannie Walldren - Fixed documentation.
2009-05-11 Janet Barrett - Fixed so that the NormModelAlgorithm supporting DEM input is the empty function. DEM input is not yet supported.
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid and the DEM
2004-02-13 Jeff Anderson - Added another constructor and refactored UpdateGroup method.
2004-06-03 Jeff Anderson - Fixed bug in UpdateGroup which occured when a cube label did not already have a AlphaCube group.
2005-02-14 Leah Dahmer - Modified file to support Doxygen documentation.
2012-09-06 Steven Lambright - Changed the Pvl constructor to take a Cube instead. This was to prevent duplicating complicated label parsing code. This should eventually be refactored into a CubeLabel or similar object so that an actual cube isn't required in the future, but for now this enables the control net GUI to create a camera from a cube with no dimensions in the label.
2013-11-27 Kris Becker - Original version
2015-02-26 Kris Becker - Implement starting detector specs; add summing and AlphaCube support.
2015-03-11 Kris Becker - Fixed timing error - was using the UTC StartTime rather than the SpacecraftClockStartCount. References #2180.
2010-11-01 Steven Lambright - Added methods setRadians and SetDegrees
2012-02-16 Steven Lambright - Brought up to method and member naming standards.
2012-03-22 Steven Lambright - Renamed text() to toString().
2012-06-29 Steven Lambright and Kimberly Oyama - Removed duplicate code from the contstructor. Added the fullRotation() method which creates an angle of 360 degrees and modified the unit test to exercise this. References #958.
2012-07-26 Steven Lambright and Kimberly Oyama - Modified the < and > operators to make sure they do not return true if the two operands are the same. Updated the unitTest to exercise this change. References #604.
2013-02-01 Steven Lambright - Added QDebug() printout capabilities. References #1060.
2014-07-28 Kristin Berry - Added a constructor which accepts a Qstring of the form: "dd mm ss.ss" for angles provided in this format.
2014-08-21 Jeannie Backer - Modified isValid to utilize the IsValidPixel() method in the SpecialPixel header. References #1659.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code.
2007-02-20 Janet Barrett - Imported from Isis2.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2008-06-18 Christopher Austin - Fixed documentation error
2008-11-05 Jeannie Walldren - Replaced reference to NumericalMethods::r8expint() with AtmosModel::En(). Added documentation from Isis2.
2011-08-17 Sharmila Prasad - Moved common HNORM to base AtmosModel
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
2008-11-05 Jeannie Walldren - Replaced NumericalMethods::r8expint() with AtmosModel::En(). Replaced Isis::PI with PI since this is in Isis namespace.
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code.
2007-02-20 Janet Barrett - Imported from Isis2.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2008-06-18 Christopher Austin - Fixed documentation error
2008-11-05 Jeannie Walldren - Replaced references to NumericalMethods::r8expint() with AtmosModel::En(), NumericalMethods::G11Prime() with AtmosModel::G11Prime(), and NumericalMethods::r8ei() with AtmosModel::Ei(). Added documentation from Isis2.
2011-08-17 Sharmila Prasad - Moved common HNORM to base AtmosModel
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
2008-11-05 Jeannie Walldren - Replaced NumericalMethods::r8expint() with AtmosModel::En(), NumericalMethods::G11Prime() with AtmosModel::G11Prime(), and NumericalMethods::r8ei() with AtmosModel::Ei(). Replaced Isis::PI with PI since this is in Isis namespace.
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
2006-11-14 Jacob Danton - Original Version
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2010-07-20 Sharmila Prasad - Modified documentation to remove Doxygen Warning
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Removed Apollo namespace wrap inside Isis namespace. Added Isis Disclaimer to files.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-01-17 Kris Becker - Set CkReferenceID to J2000 to resolve problem with ckwriter. Also, set the SpkReferenceId to J2000. References #1737 and #1739.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods.
2011-05-03 Jeannie Walldren - Added documentation.
2014-01-17 Kris Becker - Set CkReferenceID to J2000 to resolve problem with ckwriter
2011-05-03 Jeannie Walldren - Updated documentation. Removed Apollo namespace wrap inside Isis namespace. Added Isis Disclaimer to files.
2013-03-18 Debbie A. Cook - Added flag to flip focal plane z axis
2011-05-03 Jeannie Walldren - Added documentation.
2013-03-18 Debbie A. Cook - Added flag to flip focal plane z axis
2011-09-19 Orrin Thomas - Original version
2012-07-10 Orrin Thomas - Updated to current coding standards
2011-09-19 Orrin Thomas - Original version
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-07-10 Orrin Thomas - Updated to current coding standards
2011-11-21 Orrin Thomas - Original version
2012-07-10 Orrin Thomas - Updated to current coding standards
2005-12-16 Elizabeth Miller - Added documentation and -BATCHLIST capabilities
2006-02-13 Elizabeth Miller - Added GuiHelper Capabilities
2006-02-16 Jeff Anderson - Fixed race condition on sockets between communicating ISIS programs
2006-02-17 Fixed bug with application name being unknown if the user interface threw an error
2006-02-27 Elizabeth Miller - Added GuiLog and GuiReportError methods
2006-07-28 Jeff Anderson - Fixed another race condition with sockets between communicating ISIS programs. Also updated progress to output name of the program
2006-08-30 Jeff Anderson - Create a QCoreApplication if in command line mode.
2007-10-04 Steven Koechle - Added output capability for debugging log for -info flag
2008-01-04 Jeannie Walldren - Changed description of Log method
2008-01-09 Steven Lambright - Fixed Memory Leak
2008-04-16 Steven Lambright - Added parameter check that was removed from UserInterface
2008-06-18 Christopher Austin - Fixed documentation error
2008-06-19 Steven Lambright - Added CubeManager::CleanUp call to clean up cubes in memory after calling IsisMain.
2008-06-24 Steven Koechle - Added Preferences to Debugging Log.
2008-07-08 Steven Lambright - Singletons now destroy themselves instead of Application deleting them
2008-07-08 Steven Lambright - p_ui is no longer static, which fixes issues with the mac unit tests.
2009-11-19 Kris Becker - Made argc pass by reference since Qt's QApplication/QCoreApplication requires it
2010-03-17 Stuart Sides - Added the location of the Qt plugins into the library path
2010-06-29 Steven Lambright - Added a setlocale to english for numeric values
2010-11-29 Steven Lambright - Added the Version() method
2010-11-30 Steven Lambright - Merged some of the the "System" functions' functionality. Moved some of the inter-process communication to ProgramLauncher.
2011-03-01 Steven Lambright - Fixed Version method
2011-04-01 Eric Hyer - Now inherits from Environment
2011-07-12 Sharmila Prasad - Fixed bug in "ExecutionDateTime" keyword
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2013-02-28 Janet Barrett - Needed to instantiate a QApplication in the constructor instead of a QCoreApplication so that Qt Gui is accessible by the command line. Also needed to define a compiler directive, USE_GUI_QAPP, to bypass a problem the Macs have with using QApplication. References #575.
2007-02-20 Janet Barrett - Imported from Isis2.
2007-07-31 Steven Lambright - Fixed unit test
2007-08-15 Steven Lambright - Refactored
2008-03-07 Janet Barrett - Added code to set standard conditions. Also added bharef, hgaref, tauref, and wharef variables and supporting methods.
2008-06-18 Christopher Austin - Fixed much documentation
2008-07-09 Steven Lambright - Fixed unit test
2008-11-05 Jeannie Walldren - Moved numerical methods and functions to NumericalMethods and NumericalAtmosApprox classes. Moved G11Prime(), Ei(), and En() from NumericalMethods into this class. Added splines to protected variables and removed second derivative vector protected variables (p_atmosAhTable2, p_atmosHahgtTable2, p_atmosHahgt0Table2) that are no longer needed. Replaced arrays with vectors in protected variables. Added documentation from Isis2 files. Removed "Isis::" and "std::" in AtmosModel.cpp since that file uses std and Isis namespaces.
2008-11-07 Jeannie Walldren - Fixed documentation
2011-08-17 Sharmila Prasad -Added API's for HNORM, Additive Offset
2011-09-14 Janet Barrett - Got rid of bharef, hgaref, and wharef variables and supporting methods.
2011-12-19 Janet Barrett - Added the p_atmosEstTau variable that determines if the optical depth "tau" will be estimated using shadow modeling. Added the GenerateHahgTablesShadow method for doing the shadow modeling. Added a getter method for accessing the Munot (normally the cosine of the incidence angle) value in the atmospheric classes. Added a setter method for setting the p_atmosEstTau variable which is used by the atmospheric classes.
1999-08-11 K Teal Thompson - Original version named pht_r8ei in Isis2.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class named r8ei().
2008-11-05 Jeannie Walldren - Renamed and modified input parameters. Added documentation.
1999-08-10 K Teal Thompson - Original version in named pht_r8expint Isis2.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class named r8expint().
2008-11-05 Jeannie Walldren - Renamed and modified input parameters. Added documentation.
1998-12-21 Randy Kirk, USGS - Flagstaff - Original code in Isis2 pht_am_functions
1999-03-12 K Teal Thompson - Port to Unix/ISIS; declare vars; cadd implicit none.
2007-02-20 Janet Barrett - Imported from Isis2 to Isis3 in NumericalMethods class.
2008-11-05 Jeannie Walldren - Moved this method from NumericalMethods class.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original specs
1999-01-15 K Teal Thompson - Original code
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. moved factors to outside integration
2006-05-30 Randy Kirk - Added code to report the directional hemispheric albedo that relates to thermal balance for simulating Themis images
2007-02-20 Janet Barrett - Imported to Isis3 from Isis2 pht_get_ah_table
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods and replaced r8qromb() with NumericalAtmosApprox::RombergsMethod(). Changed name from PhtGetAhTable().
1998-12-21 Randy Kirk - USGS, Flagstaff - Original specs
1999-01-15 K Teal Thompson - Original code
2006-07-07 Randy Kirk - Modify get_ah_table to get other integrals
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. moved factors to outside integration
2007-02-20 Janet Barrett - Imported to Isis3 from Isis2 pht_get_ah_table
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods and replaced r8qromb() with NumericalAtmosApprox::RombergsMethod(). Changed name from GetHahgTables().
1998-12-21 Randy Kirk - USGS, Flagstaff - Original specs
1999-01-15 K Teal Thompson - Original code
2006-07-07 Randy Kirk - Modify get_ah_table to get other integrals
2000-09-15 Randy Kirk - Delete first, last integrals and table of second integral
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. moved factors to outside integration
2011-12-16 Janet Barrett - Imported to Isis3 from Isis2 get_hahgsb_shad routine in the not_shadow_tau set of routines
2008-06-18 Christopher Austin - Fixed documentation errors
2011-08-25 Sharmila Prasad - Use 'AstName' for Model name to be able to be used in combo Gui which requires unique parameter name. Maintaining 'Name' to support existing apps using this keyword.
2006-01-11 Jacob Danton Added idealFit variable, option for sub-pixel accuracy, new CompareFit method, an arbitrarily chosen EPSILON value, a minimum standard deviation cutoff for the pattern chip, and created a unitTest
2006-02-13 Jacob Danton Added shrinking pattern and sampling option for the pattern chip.
2006-05-15 Jeff Anderson Moved ZScoreMinimum from Algorithm group to the PatternChip group
2006-05-22 Jacob Danton Added statistics reporting
2006-06-28 Brendan George Added copy constructor (private member function)
2008-06-23 Steven Lambright Fixed naming and some documentation fixes, added ZScores
2008-08-13 Noah Hilt Added two new optional arguments to AutoReg: WindowSize and DistanceTolerance. These two arguments affect how AutoReg gathers and compares data for surface modeling and accuracy and should be contained inside the group "SurfaceModel" in the Pvl. Also changed the Pvl returned by RegistrationStatistics so that group names do not contain spaces and the Pvl only contains groups.
2008-11-18 Steven Koechle - Changed all keywords *NotEnoughData to *NotEnoughValidData
2009-03-17 Tracie Sucharski - Added method to return fit chip
2009-03-26 Jeff Anderson - Removed pattern chip reduction as it was broken, added skewness check for the fit chip, cleaned up the RegistrationStatistics method and added setters methods where appropriate
2009-03-30 Jeff Anderson - Modified code to reset parameters (goodness of fit and skewness) for successive calls to Register method. Also check to see if skewness is null.
2009-05-08 Stacy Alley - Took out the skewness test and added the ellipse eccentricity test in the ModelSurface method. Also added the 'reduce' option to speed up the pattern matching process.
2009-06-02 Stacy Alley - ModelSurface method now returns a bool instead of an int. The p_registrationStatus is set within this method now. The Match method now takes another arg... fChip, passed in from Register. Also took out a redundant test, 'CompareFits' after the ModelSurface call. Also changed all the Chips in this header file from pointers to non-pointers. Saved all the reduced chips and have methods to return them so they can be views from Qnet.
2009-06-02 Jeff Anderson - Added AdaptiveRegistration virtual methods
2009-08-07 Travis Addair - Added functionality allowing it and all its sublcasses to return their auto registration template parameters
2009-08-25 Kris Becker - Correct calls to abs instead of the proper fabs.
2009-08-26 Kris Becker - Added chip parameters to Adaptive method to coorespond to the Match method. Also added best search sample and line parameters to Adaptive method. Also needed way to relate best fit value.
2009-09-02 Kris Becker - Set the default valid minimum and maximum values for pattern and search chips to Isis::ValidMinimum and Isis::ValidMaximum, respectively, as opposed to -DBL_MAX and _DBL_MAX. This modification has the net effect of excluding special pixels from a valid test. Also fix a bug whereby the extracted subsearch chip valid percent was divided by 100 - it instead should be passed in as is with the pattern chip test.
2009-09-07 Kris Becker - Set the goodness of fit when successful Adaptive algorithm.
2010-02-22 Tracie Sucharski - Added return methods for settings.
2010-03-16 Travis Addair - Added option to skip eccentricity testing, and made it so that the eccentricity is assumed to be 0 when it cannot otherwise be computed.
2010-03-18 Travis Addair - Added optional surface model validity test to ensure that the average residual of the least squares solution is within a tolerance.
2010-03-19 Travis Addair - Changed eccentricity and residual tests to be disabled by default. Including the keyword EccentricityRatio or ResidualTolerance in the Pvl that constructs an AutoReg object will enable the respective test.
2010-03-26 Travis Addair - Added methods Eccentricity() and AverageResidual() to retrieve the last computed value for those variables
2010-04-08 Travis Addair - Added methods EccentricityRatio() and EccentricityRatioTolerance() to retrieve an eccentricity value as the antecedent in an A:1 ratio.
2010-06-15 Jeannie Walldren - Modified code to read in an Interpolator type from the pvl and set the pattern and search chips' Read() methods to use this Interpolator type. Updated documentation and unitTest.
2010-07-09 Travis Addair - ComputeChipZScore now requires that both p_ZScoreMin and p_ZScoreMax are less than the pattern stats minimum z-score in order to fail.
2010-07-20 Jeannie Walldren - Added ability to set a valid percentage for the search chip's subchip. Updated documentation and unitTest.
2010-08-04 Jeannie Walldren - Updated documentation.
2010-10-07 Travis Addair - Changed enumeration value "Success" into two separate values "SuccessPixel" and "SuccessSubPixel" to differentiate between registrations computed and not computed to sub-pixel accuracy. Also added method "Success()" to fill the role of looking at the original "Success" value to know if AutoReg succeeded.
2011-03-08 Jai Rideout - Added ability to apply a gradient filter to chips before attempting to perform a match. Renamed member variables to be consistent with the variable naming scheme in the rest of the file.
2011-03-29 Jai Rideout - Fixed bug where gradient filter was being reapplied to pattern and search chips each time Register() was called. Also fixed bug where filtered chips lost cube positioning information in ApplyGradientFilter().
2011-05-04 Jai Rideout - Added ability to save gradient- filtered chips after registration instead of just saving the original chips.
2011-05-18 Steven Lambright - Fixed a bug with ReductionFactor
2011-10-12 Jai Rideout - Removed Roberts gradient. It did not give useful results due to the 2x2 matrix it uses.
2012-01-05 Travis Addair - Added separate variables for Whole Pixel Correlation and Subpixel Correlation.
2010-06-15 Jeannie Walldren - Added ability to read ChipInterpolator keyword from the Algorithm group.
2010-07-20 Jeannie Walldren - Added ability to read search sub chip valid percent
2006-03-27 Jacob Danton Added unitTest
2008-06-18 Christopher Austin Fixed documentation errors
2008-06-19 Steven Lambright Fixed memory leak
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport
2010-12-01 Steven Lambright - No longer calls setBandBin() if the viewport doesn't change.
2012-09-18 Steven Lambright - setBandBin() now takes a Cube instead of a label. This is because the method needs the band count, which is no longer always readily available in the labels.
2013-11-04 Janet Barrett - Fixed the setBandBin and setList methods so that they retain the band bin settings for the current viewport. The band bin combo box will now be set to the user setting when a viewport is reactivated. Before this change was made, the band bin combo box would always reset to 'Center' when the user reactivated a viewport. Fixes #1612.
2005-03-16 Leah Dahmer modified file to support Doxygen documentation.
2008-01-08 Tracie Sucharski, Derived from BasisFunction class for a single variable function. Added Derivative methods as pure virtuals. This class was developed as a convenience to simplify the Derivative methods and any other methods that might need to be developed in the future.
2006-04-04 Jeff Anderson Class was not overwriting existing blobs correctly.
2007-02-20 Elizabeth Miller Fixed bug with OriginalLabel naming and modified to be backwards compatible
????-??-?? Steven Lambright Added copy constructor, assignment operator
2010-05-15 Steven Lambright Changed Read to use an istream instead of an fstream
2011-05-25 Janet Barrett and Steven Lambright Added a Read method that takes the pvl labels so they do not have to be re-read, which is a very expensive operation.
2012-10-04 Jeannie Backer Added include due to forward declaration in TableField. Ordered includes and added forward declaration. Fixed header definition statement. Moved method implementation to cpp and reordered methods in cpp. Added documentation. Improved test coverage in all categories. Added padding to control statements. References #1169.
2013-01-11 Steven Lambright and Tracie Sucharski - Fixed support of writing blobs in very large cubes. This was caused by calling the wrong number to string conversion function. Introduced when refactoring the IString class. Fixes #1388.
2008-05-12 Steven Lambright - Removed references to CubeInfo
2008-06-18 Christopher Austin - Fixed documentation errors
2012-10-04 Jeannie Backer Changed references to TableField methods to lower camel case. Ordered includes, put third party tnt includes inside angle braces, and added padding to control statements to fit coding standards. Added padding to control statements. References #1169.
2003-04-01 Tracie Sucharski - added documentation explaining the offsets (which pixel is being processed within the boxcar) and added unitTest.
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
2005-02-25 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-04-21 Jacob Danton - Modified Brick to extend BufferManager, added new constructor, and two methods, SetBrick and Bricks
2011-11-23 Jai Rideout - Added a new constructor that allows one to specify the shape buffer size as well as the size of the area to be mapped. This is useful for classes such as ProcessByBrick that need to specify an area to be traversed that is bigger than the cube itself.
2008-01-18 Stacy Alley - Changed the constructor to accept a QStringList which serves as the default filters for the file dialog boxes.
2008-01-28 Stacy Alley - Changed the constructor again to accept a QDir which is the default directory the file dialog box should point to. When the user changes directories, the dir variable which is passed by reference set to that new directory.
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
2005-01-16 Jeff Anderson - moved some private methods/variables into protected space
2007-09-05 Kris Becker - Added default constructor for added protection; Added assignment operator for a single value for convenience.
2008-06-25 Noah Hilt - Added some safety measures to the allocate and deconstructor methods to prevent accessing buffers that have not been initialized. Added memory checking to make sure to release any memory if initialized.
2010-06-22 Steven Lambright - "Copy" now ensures pixel types are the same to prevent going out of memory bounds
2012-07-02 Steven Lambright and Stuart Sides - Added "includeRawBuf" to Copy(). We did this to simplify implementation in Cube::copy()... this ought to be usable in many other areas also. References #961.
2012-11-19 Steven Lambright - Added CopyOverlapFrom() for use as a quicker IO than going back to Cube. References #1232.
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
2003-06-02 Jeff Anderson - Modified setpos method to allow for speedy reverse direction management.
2005-05-23 Jeff Anderson - Modified to support 2GB+ files
2007-12-04 Christopher Austin - Added option to constructor to change the order of the progression through the cube
2008-06-18 Christopher Austin - Fixed documenation errors
2012-02-24 Steven Lambright - Optimized setpos() and made it public.
2005-05-30 Jeff Anderson, Debbie A. Cook & Tracie Sucharski Original version
2007-05-29 Debbie A. Cook Added new method IterationSummary and changed points on held images to held instead of ground
2007-07-12 Debbie A. Cook Fixed bug in iteration statistics calculations in the case of a single control point that was causing a divide by zero error
2007-08-25 Debbie A. Cook Added methods and members to support instrument position solution
2007-09-17 Debbie A. Cook Added ability to process in observation mode for Lunar Orbiter
2007-11-17 Debbie A. Cook Added method SetSolution Method.
2007-12-21 Debbie A. Cook Added member p_Degree and methods m_nsolveCamDegree and ckDegree
2008-01-11 Debbie A. Cook Added observation mode functionality for spacecraft position and upgraded ObservationNumber methods for compatability
2008-01-14 Debbie A. Cook Added code to solve for local radii
2008-04-18 Debbie A. Cook Added progress for ControlNet
2008-06-18 Christopher Austin Fixed ifndef
2008-11-07 Tracie Sucharski, Added bool to constructors to indicate whether to print iteration summary info to the session log. This was needed for qtie which has no session log.
2008-11-22 Debbie A. Cook Added code to wrap longitude to keep it in [0.,360.]
2008-11-22 Debbie A. Cook Added new call to get timeScale and set for the observation along with basetime
2008-11-26 Debbie A. Cook Added check to ApplyHeldList for Ignored points and measures
2009-01-08 Debbie A. Cook Revised AddPartials and PointPartial to avoid using the camera methods to map a body-fixed vector to the camera because they compute a new time for line scan cameras based on the lat/lon/radius and the new time is used to retrieve Spice. The updated software uses the Spice at the time of the measurement.
2009-02-15 Debbie A. Cook Corrected focal length to include its sign and removed obsolete calls to X/Y direction methods. Also modified PointPartial to use lat/lon/radius from the point instead of the camera.
2009-08-13 Debbie A. Cook Corrected calculations of cudx and cudy so that they use the signed focal length also
2009-10-14 Debbie A. Cook Modified AddPartials method to use new CameraGroundMap method, GetXY
2009-10-30 Debbie A. Cook Improved error message in AddPartials
2009-12-14 Debbie A. Cook Updated SpicePosition enumerated partial type constants
2010-03-19 Debbie A. Cook Moved partials to GroundMap classes to support Radar sensors and modified argument list for GroundMap method ComputeXY since it now returns cudx and cudy
2010-06-18 Debbie A. Cook Added p_cnetFile as member since it was taken out of ControlNet
2010-07-09 Ken Edmundson Added Folding in solution method (SPECIALK), error propogation, statistical report, etc.
2010-08-13 Debbie A. Cook Changed surface point from lat/lon/radius to body-fixed XYZ.
2010-12-17 Debbie A. Cook Merged Ken Edmundson version with system and updated to new binary control net
2011-02-01 Debbie A. Cook Moved code to create point index map into its own method to be called after the solution method has been set.
2011-02-17 Debbie A. Cook Updated to use new parameter added to SpicePosition, p_timeScale
2011-03-05 Debbie A. Cook Put point index creation back in init. This will prevent QRD and SVD from working if ground points are in the control net.
2011-03-29 Ken Edmundson Fixed bug in observation mode when solving for spacecraft position and improved output
2011-04-02 Debbie A. Cook Updated to ControlPoint class changes regarding target radii. Also separated out 2 sets of calculations to test later for efficiency
2011-06-05 Debbie A. Cook Changed checks for solution type to match change from SPARSE to SPARSE-LU
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-06-14 Debbie A. Cook added method IsHeld(int index) for preventing any updates to held images
2011-06-27 Debbie A. Cook and Ken Edmundson Added names to top header fields of .csv output and fixed bugs in sparse output.
2011-07-12 Ken Edmundson Segmentation fault bugfix in OutputHeader method. Previously was attempting to output camera angle sigmas when none had been allocated.
2011-07-14 Ken Edmundson and Debbie Cook Added new member, m_bDeltack to indicate calling application was deltack (or qtie) and has potential to have a single ControlPoint and ControlMeasure.
2011-08-08 Tracie Sucharski, Added method to return the iteration summary to be used in qtie which does not have a log file. In SetImages, clear the cameraMap and cameraList. Added this back in (was originally added on 2011-01-19), was deleted somewhere along the line.
2011-09-28 Debbie A. Cook Renamed SPARSE solve method to OLDSPARSE and CHOLMOD to SPARSE.
2011-10-14 Ken Edmundson Added call to m_pCnet->ClearJigsawRejected(); to Init() method to set all measure/point JigsawRejected flags to false prior to bundle.
2011-12-09 Ken Edmundson, memory leak fix in method cholmod_Inverse need call to "cholmod_free_dense(&x,&m_cm)" inside loop.
2011-12-20 Ken Edmundson, Fixes to outlier rejection. Added rejection multiplier member variable, can be set in jigsaw interface.
2012-02-02 Debbie A. Cook, Added SetSolvePolyOverHermite method and members m_bSolvePolyOverHermite and m_nPositionType.
2012-03-26 Orrin Thomas, added maximum likelihood capabilities
2012-05-21 Debbie A. Cook, Added initialization of m_dRejectionMultiplier
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-09-28 Ken Edmundson, Initialized variables for bundle statistic computations;bundleout.txt modifed to show N/A for RMS, Min, Max of Radius Sigmas when not solving for radius. References #783.
2013-11-12 Ken Edmundson Programmers Note. References #813, #1521, #1653 #813 - info echoed to screen when using Maximum Likelihood methods are now printed to print.prt file. #1521 - cout debug statements that appear on screen when updating images removed from SpiceRotation.cpp #1653 - Constraints were being applied for "Free" points that have constrained coordinates. Also found that a priori coordinates for these points were not being computed in ControlPoint::ComputeApriori, this has also been fixed.
2013-12-18 Tracie Sucharski - The ControlNet::GetNumberOfMeasuresInImage was renamed to ControlNet::GetNumberOfValidMeasuresInImage and only returns the number of valid (Ignore= False) measures.
2014-02-25 Ken Edmundson - Speed up and memory improvements to error propagation. References #2031.
2014-11-05 Ken Edmundson - Fixed memory bug. Wasn't releasing cholmod_factor m_L every iteration. Now release every iteration but the last since we need m_L for error propagation. References #2189.
2011-05-22 Debbie A. Cook - Added commas to make csv header lines consistent for comparer
2011-06-05 Debbie A. Cook - Fixed output of spacecraft position when it is not part of the bundle
2011-07-26 Debbie A. Cook - Omitted output of camera angles for radar, which only has spacecraft position
2003-02-11 Stuart Sides - Documented and created an object unittest
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-10-03 Stuart Sides - Added the byte order enumeration and functions to convert the enumeration to a string and from a string to an enumeration. Also deprecated the LittleEndian and BigEndian functions. They were replaced by Lsb and Msb functions.
2004-03-18 Stuart Sides - Added to macros for case where we need to know at compile time if a system is LSB or MSB. The macros are ISIS_LITTLE_ENDIAN and ISIS_BIG_ENDIAN
2007-06-11 Jeff Anderson - Fixed bug in Push(Buffer) method. NAN was not computed properly.
2007-08-21 Steven Lambright - Moved the infix to postfix conversion into its own class.
2008-01-28 Steven Lambright - Added more support for the power operator
2008-03-28 Steven Lambright - Condensed math methods to just call PerformOperation(...). Converted valarray's to vectors (in order to use iterators)
2008-06-18 Christopher Austin - Added as well as fixed documentation
2010-02-23 Steven Lambright - Added Minimum2, Maximum2 and all min/max operations now ignore special pixels.
2010-04-08 Steven Lambright - Made min, max have proper implementations and vectors are now QVectors.
2005-11-09 Tracie Sucharski - Added HasProjection method.
2006-04-11 Tracie Sucharski - Added IgnoreProjection method and p_ignoreProjection so that the Camera is used rather than Projection.
2006-04-19 Elizabeth Miller - Added SpacecraftRoll method
2006-06-08 Elizabeth Miller - Added static Distance method that calculates the distance between 2 lat/lon pts (given the radius)
2006-07-25 Elizabeth Miller - Fixed bug in Distance method
2006-07-31 Elizabeth Miller - Added OffNadirAngle method and removed SpacecraftRoll method
2007-06-11 Debbie A. Cook - Added overloaded method SetUniversalGround that includes a radius argument and method RawFocalPlanetoImage() to handle the common functionality between the SetUniversalGround methods.
2008-01-28 Christopher Austin - Added error throw when minlon range isn't set beyond initialization.
2008-02-15 Stacy Alley - In the GroundRangeResolution () method we had to subtract 0.5 when looking at the far left of pixels and add 0.5 to ensure we are seeing the far right of pixels.
2008-05-21 Steven Lambright - Fixed boundary condition in the GroundRangeResolution () method.
2008-06-18 Christopher Austin - Fixed documentation errors
2008-07-15 Steven Lambright - Added NaifStatus calls
2008-07-24 Steven Lambright - Fixed memory leaks: the alpha cube, distortion map, focal plane map, sky map, detector map, and ground map were not being deleted.
2008-08-08 Steven Lambright - Added the LoadCache() method which tries to find the correct time range and calls Spice::CreateCache
2008-09-10 Steven Lambright - Added the geometric tiling methods in order to optimize push frame cameras and prevent corruption of data when running cam2map with push frame cameras
2008-11-13 Janet Barrett - Added the GroundAzimuth method. This method computes and returns the ground azimuth between the ground point and another point of interest, such as the subspacecraft point or the subsolar point. The ground azimuth is the clockwise angle on the ground between a line drawn from the ground point to the North pole of the body and a line drawn from the ground point to the point of interest (such as the subsolar point or the subspacecraft point).
2009-01-05 Steven Lambright - Added InCube method
2009-03-02 Steven Lambright - This class now keeps track of the current child band, has added error checks, and now hopefully resets state when methods like GroundRangeResolution are called.
2009-05-21 Steven Lambright - The geometric tiling hint can now be 2,2 as a special case meaning no tiling will be used (the initial box will be a 2x2 box - only the 4 corners - is the idea behind using this value).
2009-05-22 Debbie A. Cook - Added Resolution method for Sensor (parent) virtual
2009-06-05 Mackenzie Boyd - Updated samson truthdata
2009-07-08 Janet Barrett - Added RadarGroundMap and RadarSlantRangeMap as friends to this class so that they have access to the SetFocalLength method. The Radar instrument does not have a focal length and these classes need to be able to change the focal length value each time the slant range changes. This insures that the detector resolution always comes out to the pixel width/height for the Radar instrument.
2009-07-09 Debbie A. Cook - Set p_hasIntersection in SetImage if successful instead of just returning the bool to that other methods will know a ground point was successfully set.
2009-08-03 Debbie A. Cook - Added computation of tolerance to support change in Spice class for supporting downsizing of Spice tables
2009-08-14 Debbie A. Cook - Corrected alternate tolerance
2009-08-17 Debbie A. Cook - Added default tolerance for sky images
2009-08-19 Janet Barrett - Fixed the GroundAzimuth method so that it checks the quadrant that the subspacecraft or subsolar point lies in to calculate the correct azimuth value.
2009-08-28 Steven Lambright - Added GetCameraType method and returned enumeration value
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of reclat when computing azimuths.
2009-12-14 Steven Lambright - BasicMapping(...) will now populate the map Pvl parameter with a valid Pvl
2010-03-19 Debbie A. Cook - Added members p_ckFrameId and p_ckReferenceId and members SetCkFrameId(), SetCkReferenceId(), CkFrameId(), and CkReferenceId() needed by the ckwriter application
2010-03-29 Debbie A. Cook - Modified SetCkFrameid and SetCkReferenceFrame to set new bool value p_ckwriteReady to true if the kernels have values and false if they don't instead of bombing.
2010-11-04 Steven Lambright - Added SetGround() methods with the SurfacePoint version being commented out until the SurfacePoint class is available.
2010-11-09 Eric Hyer - Added GetLocalNormal() and LocalPhotometricAngles() methods
2010-11-22 Janet Barrett - Added checks to make sure that the normal can be determined for DEM surface. Also modified the LocalPhotometricAngles method to report if the angles could successfully be calculated.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-01-14 Kris Becker - Added the (pure) virtual methods CkFrameId(), CkReferenceId(), SpkTargetId(), SpkCenterId() and SpkReferenceId(). Camera model developers must provide, at a minimum, implementations for CkFrameId(), CkReferenceId() and SpkReferenceId(). A determination must be made if default implementations of SpkTargetId() and SpkCenterId() are sufficient. These methods are required in order to write proper CKs and SPKs NAIF kernels for instruments from updated pointing and position data; Removed SetCkFrameId() and SetCkReferenceId() and their implementations as the aforementioned routines replace them; also corrected a bug in the computation of North, Sun and Spacecraft azimuths when a shape model is present/active. The call to LocalRadius() should be LocalRadius(lat,lon) in these cases. (Note at this time, those two routines return meters and kilometers, respectively - we need to address this inconsistancy!)
2011-01-25 Eric Hyer - SurfacePoint class now exists so uncommented Steven's new SetGround() methods (see history for 2010-11-04)
2011-01-26 Steven Lambright - ComputeAzimuth now takes a Distance for the radius. The LocalRadius() methods now return instances of the Distance class.
2011-02-10 Jeannie Walldren - Moved code from LoadCache() methods to create new methods CacheSize() and StartEndEphemerisTime(). Removed unused input parameter from LoadCache(). Set pointers to null in constructor. Added documentation to methods, enum, and private variables.
2011-02-09 Steven Lambright - Interfaces using Latitude, Longitude, and SurfacePoint are now more efficient. Updated to work with changes to the parent. Now uses more abstraction internally also. These changes were for readability (you have more explicit units and less of a change to misuse them).
2011-02-11 Steven Lambright - Moved Distance() method to SurfacePoint
2011-02-18 Steven Lambright - Fixed a problem where using a planetographic mapping group in GroundRange would still output planetocentric latitudes.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2012-01-19 Janet Barrett - Fixes issue #625 - Fixed a problem with the ground azimuth calculation in the GroundAzimuth method. The algorithm being used was the Napier's analogies and was not providing the correct azimuth value. The Napier's analogies also have the weakness of producing a divide by zero error. The new algorithm being used is the spherical law of cosines for sides which comes out of the "CRC Standard Mathematical Tables and Formulae 30th Edition on page 469.
2012-06-01 Janet Barrett - Modified the GroundAzimuth method to detect which hemisphere the ground point is in so that the closer pole will be used to obtain the azimuth value. If the closer pole is the South pole, then the azimuth is adjusted to be relative to the North pole.
2012-06-04 Janet Barrett - Got rid of redundant calls to Sample(), Line(), and SetImage() in the ComputeAzimuth method.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-10-12 Debbie A. Cook - Updated to use new Target and ShapeModel classes. References Mantis ticket #775 and #1114.
2012-10-25 Jeannie Backer - Changed resolution() method to lower camel case. References #1181.
2012-11-20 Janet Barrett - Fixed a problem with the GroundAzimuth method so that the azimuth value is calculated correctly for radar data. Fixes #1117.
2012-04-24 Jeannie Backer - Added a programmer error if NorthAzimuth() is called on a plane projection since this value is meaningless for ring plane projections. References #775.
2012-12-20 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection instead of Projection as needed. References #775.
2013-03-04 Tracie Sucharski - Added new method, PixelIfovOffsets, which will return the ifov offsets,in x and y, from the center of the pixel in mm. The default camera offsets will be half of the pixel pitch in both the x and y directions. References #1604.
2014-04-17 Jeannie Backer - Modified ComputeAzimuth() to return an Isis::Null if the method fails (instead of -1.0). Add a check in ComputeAzimuth() to make sure the "SetUniversalGround()" call succeeds, if not, reset to the original sample/line and return Null. References #1659.
2015-03-14 Jeannie Backer - Modified GetLocalNormal() to call non-DEM shapes' calculateLocalNormal() with an empty vector of neighbors since only DemShape uses this vector. References #2035.
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of reclat.
2010-09-28 Janet Barrett - Added Randy's updated method for calculating the azimuth.
2011-02-11 Janet Barrett - Added documentation.
2011_02-11 Janet Barrett - There were some problems with calculating azimuths when a DEM shape model was specified. One problem occurred when the DEM did not cover the poles. The LocalRadius was returning a NULL for the radius value in places that the DEM did not cover (such as the poles). This was fixed by using the radius of the origin point when determining the x,y,z location of the point of interest. The radius is not important because we just need to know the direction of the point of interest from the origin point. Another problem was also found with the call to SetUniversalGround when the new point (new point = point within a pixel of the origin point and in the direction of the point of interest) was being determined. The new point should be at the same radius as the origin point, but this was not happening. The call to SetUniversalGround was changed to use the radius of the origin point when determining the line,sample of the new point. Another problem was that the vector pointing from the origin point to the point of interest was being unitized before its perpendicular component was being calculated. This has been fixed.
2012-06-04 Janet Barrett - Removed redundant calls to Sample(), Line(), and SetImage().
2014-04-17 Jeannie Backer - Modified ComputeAzimuth() to return an Isis::Null if the method fails (instead of -1.0). Add a check in ComputeAzimuth() to make sure the "SetUniversalGround()" call succeeds, if not, reset to the original sample/line and return Null.
2009-04-02 Debbie A. Cook Removed obsolete methods IsXAxisTimeDependent, IsYAxisTimeDependent, XAxisDirection, YAxisDirection, SetXAxisDirection, and SetYAxisDirection
2012-07-25 Kris Becker - Corrected bug in SetStartingDetectorLine() method in that it applied this value to the sample starting detector rather than the line starting detector. It appeared to only affect the MESSENGER/MDIS camera model, however.
2013-02-11 E. Howington-Kraus - Added accessor methods: AdjustedStartingSample() and AdjustedStartingLine(). These are tested by application socetlinescankeywords since no unitTest exists. Fixed indentation of history entries. References #1490.
2014-04-17 Jeannie Backer - Added padding for ISIS coding standards compliance. References #1659.
2008-02-05 Jeff Anderson - Modified to allow for variable focal length
2008-02-21 Steven Lambright - Fixed a problem that resulted in infinities and NaNs
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2013-02-11 E. Howington-Kraus - Added accessor methods OpticalDistortionCoefficients() and ZDirection(). These are tested by application socetlinescankeywords since no unitTest exists. Fixed indentation of history entries. References #1490.
2005-10-06 Elizabeth Miller - added unitTest.exclude file
2006-05-17 Elizabeth Miller - changed CameraManager.plugin to Camera.plugin
2009-05-12 Steven Lambright - Added CameraVersion(...) and version checking.
2011-05-23 Jannet Barrett and Steven Lambright - Added m_cameraPlugin to reduce cost of instantiating Cameras.
2012-09-06 Steven Lambright - Changed Create() to take Cube instead of Pvl because cameras now require cubes to construct. Please see Camera for more information.
2007-02-13 Debbie A. Cook - Added methods SignMostSigX() and SignMostSigY()
2011-05-25 Janet Barrett and Steven Lambright - Spice::GetDouble is no longer static.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-11-21 Jeannie Backer - Added accesssor methods: TransX(), TransY(), TransS(), and TransL(). These are tested by application hideal2pds since no unitTest exists. Fixed indentation of history entries, order of includes, moved method implementations to cpp, and fixed control statement padding to be more compliant with Isis standards. Added documentation to member variables.References #678.
2014-03-27 Jeff Anderson - Added constructor which takes an Affine transform instead of only reading from NAIF kernels to obtain the transform. This is required for non-NAIF instruments such as Aerial photos.
2005-11-16 Jeff Anderson Fixed bug in SetGround not setting the proper boolean return value
2007-06-11 Debbie A. Cook - Added overloaded method SetGround that includes a radius argument and the method LookCtoFocalPlaneXY() to handle the common functionality between the SetGround methods
2008-07-14 Steven Lambright Added NaifStatus calls
2009-10-14 Debbie A. Cook Added new virtual method GetXY(lat,lon,radius, lookJ)
2009-11-27 Debbie A. Cook Modified virtual method GetXY(lat,lon,radius,lookJ,cudx,cudy)
2010-03-19 Debbie A. Cook Modified virtual method to return cudx and cudy; added methods GetdXYdPosition, GetdXYdOrientation, GetdXYdPoint, PointPartial, and DQuotient; and added members PartialType (from BundleAdjust) and p_lookJ.
2010-08-05 Debbie A. Cook Added another version of GetXY to support changes from binary control net upgrade
2010-11-22 Debbie A. Cook Moved PointPartial call out of GetdXYdPoint to allow BundleAdjust to avoid multiple calls for every measure. The application must call PointPartial to get the body-fixed look vector derivative prior to calling this method.
2011-02-09 Steven Lambright SetGround now uses the Latitude, Longitude and SurfacePoint classes.
2011-03-18 Debbie A. Cook Added reference to surface point in GetXY
2012-07-06 Debbie A. Cook Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-10-10 Debbie A. Cook Modified to use new Target class. References Mantis ticket #775 and #1114.
2013-02-22 Debbie A. Cook Fixed LookCtoFocalPlaneXY method to properly handle instruments with a look direction along the negative z axis. Fixes Mantis ticket #1524
2014-04-17 Jeannie Backer - Replaced local variable names with more descriptive names. References #1659.
2009-09-13 Mackenzie Boyd - Added methods SetCenter, SetSample and SetLine to support campt functionality. Added CheckCube private method to check m_currentCube isn't NULL.
2010-03-25 MNB - Modified longitude output to have Positive East and West, 360 and 180 longitudes.
2010-05-25 MNB - Many changes, primary changes had to do with how errors are handled. Depending on the options sent in, errors can be handled by putting an Error keyword into the PvlGroup instead of throwing an exception. Other changes, addition of two booleans, both defaulting to false, to the Set methods (excluding SetCube) so that allowoutside option and allowerrors option could be taken in instead of using setters. CheckConditions method was removed and placed within GetPointInfo, GetPointInfo had 3 boolean parameters added, passed - whether or not the SetImage or SetGround done above was successful, allowoutside - if locations outside the cube are acceptable, and allowerrors - what to do with errors.
2010-06-07 MNB - Changed Error keyword so that it is always present when allowErrors is true.
2010-09-13 Steven Lambright - Corrected units for SampleResolution and LineResolution
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2013-03-27 Jeannie Backer - Added comment in code. References #1248.
2012-12-20 Debbie A. Cook - Changed to use TProjection. References #775.
2013-03-16 Jeannie Backer - Added accessor methods camera() and cube(). Added m_ prefix to member variables. Made GetPointInfo() virtual so it can be redefined in child classes. References #775.
2014-04-17 Jeannie Backer - Added check for valid azimuth values. If not, print "NULL" to be consistent with caminfo's CamTools.cpp. Replaced local variable names with more descriptive names. References #1659.
2005-02-08 Jeff Anderson Original version
2008-07-14 Steven Lambright Added NaifStatus calls
2011-10-12 Orrin Thomas - Original version
2012-02-14 Orrin Thomas - updated to Centroid::select(..) to start the floodfill algorithim at [Chip::p_chipSample, Chip::p_chipLine]. Thus, the starting pixel of the floodfill/centroid is set by calling the Chip::SetChipPosition() before Centroid::select.
2006-07-11 Tracie Sucharski - Added reLoad method to use p_cube instead of cube passed in.
2006-08-03 Tracie Sucharski - Added Load and ReLoad method to apply scale factor to chip.
2006-08-04 Stuart Sides - Added SetClipPolygon method. If the clip polygon is set all pixel values outside the polygon will be set to NULL.
2007-10-01 Steven Koechle - Fixed inc in LoadChip to fix an infinite loop problem when x.size() never grew to be more than 3.
2009-01-19 Steven Koechle - Fixed memory leak
2009-06-02 Stacy Alley, Added a check in the SetSize() method to make sure the given samples and lines are not equal to or less than zero.
2009-08-19 Kris Becker - Added new Extract method that applies an Affine transform to the extract a portion of the chip; added an assigment operator that sets the entire chip to a single value for convenience; added a getter that returns a const reference to the internal Affine transform of this chip.
2009-08-20 Steven Lambright - Removed local cube pointer and parenthesis operator
2009-08-20 Travis Addair - Added Statistics method
2009-08-28 Kris Becker - Added new Affine setter method to establish a new Affine transform to the chip; added another Load method that uses a new Affine transform to load a chip from a cube.
2009-09-01 Travis Addair, Added valid Min/Max pixel value functionality for Statistics method
2010-01-28 Tracie Sucharski - In the Load method (with match chip) when calculating control points away from the corners, added a linc to move into the center of the chip in a non-linear fashion to prevent control points that fall in a line and cause the matrix inversion to fail.
2010-05-24 Jeannie Walldren - Fixed bug in the Load() method (with match chip). Modified to look for control points from each corner, rather than looping around. Added a method, PointsColinear() to check whether the points added are almost along the same line. Moved the code from Load() that chose new points to a new method, MovePoints().
2010-06-10 Jeannie Walldren - Modified PointsColinear() method to take in user defined tolerance as parameter to allow registration of more narrow search chip areas. Updated documentation, error messages and unitTest.
2010-06-15 Jeannie Walldren - Added set and accessor methods for Read() method's Interpolator::interpType. Updated documentation and unitTest.
2010-09-16 Jeannie Walldren - Updated unitTest, truth file and test cube to run properly with ShapeModel changes to Sensor class.
2011-03-29 Jai Rideout - Added copy constructor and equals operator.
2011-10-02 Kris Becker - Corrected a bug in the Extract(Chip, Affine) method when computing output pixels coordinates.
2010-01-28 Tracie Sucharski - When calculating control points away from the corners, added a linc to move into the center of the chip in a non-linear fashion to prevent control points that fall in a line and cause the matrix inversion to fail.
2010-05-24 Jeannie Walldren - Modified code when looking for control points for affine to start at each corner and move inward rather than looping around the corners. This lessens the likelyhood that the points will be too linear for the transform to work properly. A check was also added to ensure that we do not choose colinear points.
2010-06-10 Jeannie Walldren - Modified error message and added tolerance to linearity check. Fixed error messages.
2010-05-24 Jeannie Walldren - Original version.
2010-06-10 Jeannie Walldren - Modified to take in user defined tolerance as parameter to allow registration of narrow search chip areas
2008-09-09 Tracie Sucharski - Added setCircle and setCircleSize methods.
2010-06-16 Jeannie Walldren - Modified geomChip(), nogeomChip(), rotateChip() and reloadChip() to catch possible iExceptions from Chip's Load() method and display Error in QMessageBox
2010-11-17 Eric Hyer - Added cubeToViewport method and setControlNet slot. paintEvent can now use the control net to paint measures in the viewport.
2010-11-22 Eric Hyer - ChipViewports can now be stretched by stretching CubeViewports opened to the same cube
2010-11-24 Eric Hyer - Fixed bug where crosses were painted one screen pixel off on each direction. Also no longer paint cross under the large main red crosses.
2010-12-01 Eric Hyer - Added stretch locking
2011-06-07 Debbie A. Cook and Tracie Sucharski - Changed point type "Ground" to "Fixed".
2011-06-14 Tracie Sucharski - Added mouseClick signal. Qnet needed to know if user moved the tackpoint vs. simply loading a new chip, or geoming the chip.
2011-06-15 Tracie Sucharski - Changed signal mouseClick to userMovedTackPoint. TODO: Could not use tackPointChanged signal because that signal is emitted whenever the measure is loaded not just when the user initiates the move. This should be cleaned up.
2011-09-14 Tracie Sucharski - Added user option to determine whether control points are drawn.
2012-07-26 Tracie Sucharski - Added method to return zoom factor and slot to zoom to a specific zoom factor.
2011-08-23 Tracie Sucharski - Use the GetMeasuresInCube method from ControlNet to get list of measures rather than searching through entire net.
2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.
2008-03-27 Jeannie Walldren - Original Version.
2011-05-03 Jeannie Walldren - Fixed documentation of ingroup name and added Isis disclaimer.
2008-11-05 Jeannie Walldren - Original Version
2008-11-07 Jeannie Walldren - Fixed documentation.
2011-05-03 Jeannie Walldren - Fixed documentation.
2006-07-03 Kris Becker Added the ability to stored duplicate keys if needed (using a multimap instead of a map). Initial default behavior of unique keys is retained. See KeyPolicy.
2006-07-28 Kris Becker Fixed a bug in the NoCaseStringCompare implementation. Prior to this fix, it would not function properly at all for case-insenstive keys.
2006-08-30 Kris Becker Fixed bug in copy constructors that attempted to use a virtual method in the object being created when it must use the method from the one it is being created from. (g++ 4.1 on Suse 10.1 didn't like this bug at all!)
2008-06-18 Christopher Austin Fixed Documentation
2007-06-18 Brendan George Fixed error message outputs and unitTest
2009-10-14 Eric Hyer Added documentation; Moved from base/apps/cubediff to base/objs;
2012-09-20 Steven Lambright - Improved unit test, fixed bug where uninitialized member variables were causing errors to be thrown sometimes. Fixes #1125.
2012-08-02 Kimberly Oyama - Added comments to some of the methods and member variables.
2012-09-11 Tracie Sucharski - Added new constructor that takes a ControlNet *.
2011-01-14 Travis Addair and Christopher Austin - original version
2011-02-18 Eric Hyer - This class now also acts as a vertex class for a graph where edges are the connections between images. This means that connections are stored to other ControlCubeGraphNode objects who have measures which have the same parent (point) as measures here.
2011-02-22 Eric Hyer - Added isConnected() and getAdjacentNodes methods
2011-03-15 Eric Hyer - Connections handled more simply - fixed connection related bugs
2011-06-22 James Alexander Crough and Eric Hyer- Added getValidMeasures method.
2011-07-29 Jai Rideout, Steven Lambright, and Eric Hyer - Made this inherit from QObject to get destroyed() signal
2009-09-23 Eric Hyer Original version
2009-10-15 Eric Hyer Added GetCubeList Method
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2005-07-29 Jeff Anderson Original version
2006-01-11 Jacob Danton Added a Reference flag and updated unitTest
2006-10-05 Brendan George Modified call to retrieve current time to use iTime class, instead of Application class
2008-06-23 Steven Lambright The ZScore keyword is now supported
2008-06-25 Steven Koechle Added get methods for ZScore values.
2009-09-01 Eric Hyer Added the methods GetMeasureData and GetMeasureDataNames. Also fixed include issues.
2009-09-22 Eric Hyer Removed forward declaration for QPair
2009-10-30 Eric Hyer GetMeasurDataNames is now static
2009-12-31 Tracie Sucharski Added new parameters for jigsaw.
2010-04-29 Tracie Sucharski Renamed AutomaticPixel to Registered Pixel and AutomaticSubPixel to RegisteredSubPixel.
2010-05-06 Tracie Sucharski Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.
2010-06-03 Tracie Sucharski Move SetReference to ControlPoint, so error checking to make sure only a single measure be set to Reference.
2010-06-17 Tracie Sucharski Added Lock value to MeasureStatus.
2010-07-21 Tracie Sucharski Remove SetReference IsReference methods. Reference is no longer a separate keyword, but a possible MeasureType. Use either the ControlMeasure::Type() method or ControlPoint::HasReference, ReferenceIndex to determine the reference measure.
2010-07-27 Tracie Sucharski Updated for changes made after additional working sessions for Control network design.
2010-08-26 Tracie Sucharski No longer writing ResidualMagnitude, will be calculated as needed.
2010-10-04 Sharmila Prasad Add PrintableMeasureType method to return String Measure Type
2010-10-05 Eric Hyer No more includes in header file! serial number is now a QString.
2010-10-18 Tracie Sucharski Change "Setters", ComputeApriori and ComputeResiduals to return either Success or PointLocked. If the point is locked do not set values.
2010-10-19 Tracie Sucharski Set the DateTime to Null if anything in measure chanes, the date will be updated at write time.
2010-10-22 Steven Lambright Moved all implementations to the cpp file to shorten the header. Reordered methods. Improved consistency as far as the types of parameters passed in - some took 'double' and some 'const double &' depending on the original programmer. Now all take 'double' for the cleaner syntax and hopefully the overhead is negligable.
2010-10-26 Steven Lambright Change default chooser name from user name to application name.
2010-11-03 Mackenzie Boyd Modified MeasureType to string method, added static version. Added method PrintableClassData.
2010-11-16 Debbie Cook, Added jigsawRejected keyword.
2010-11-29 Tracie Sucharski, Constructor still had initializations in addition to the same intiializers in the method InitializeToNull. Also, values were being intialized to 0. instead of Isis::Null. Not sure how this happened other than a mistake in svn mergina? This was causing keywords with a value of 0. to be written to the output network. Remove all methods relating to Ephemeris Time-they are not used anywhere in Isis.
2010-12-08 Tracie Sucharski, Added a new measure type of Ground. This was done to help qnet functionality, but may be used for other functionality in the future. Added IsGround for convenience.
2010-12-22 Steven Lambright Added LogData capabilities and prepped for detailed change logs. The accessors needed to change names because of a conflict with a new enumerated value, DataField. The accessors to this class no longer give up internal pointers.
2011-01-13 Mackenzie Boyd Added pointer to owning ControlPoint.
2011-02-10 Eric Hyer - Measures no longer know about or care about whether they are the reference measure or not. This is now completely maintained by the ControlPoint class.
2011-02-18 Eric Hyer - ControlCubeGraphNode is now a friend. Eliminated ConnectControlSN and DisconnectControlSN methods. Fixed bug in destructor.
2011-03-01 Eric Hyer - Added StringToMeasureType method
2011-03-04 Tracie Sucharski - Fixed bug in DeleteLogData method, subtract 1 from size() in the loop.
2011-03-14 Eric Hyer - ControlMeasures now notify their network when their ignored status changes.
2011-04-04 Steven Lambright - Removed an old constructor
2011-04-07 Steven Lambright - GetResidualMagnitude no longer does math on special pixels.
2011-04-11 Steven Lambright - Added GetLogValue for convenience
2011-07-05 Debbie A. Cook - Removed editLock checks from methods SetCamera, SetRejected, and SetResidual and changed all other editLock tests to use IsEditLocked method instead of the private member, p_editLock, directly. Also added a check for an implicit lock if the measure is the reference measure of the parent point in the IsEditLocked method.
2011-07-29 Jai Rideout, Steven Lambright, and Eric Hyer - Made this inherit from QObject to get destroyed() signal
2012-07-26 Tracie Sucharski, Fixed bug in == operator, comparison of chooserName and dateTime, comparison was between the pointers instead of the data and added comparisons for missing member data.
2012-08-11 Tracie Sucharski, Add computed and measured ephemeris time set to Null in InitializeToNull.
2010-10-28 Mackenzie Boyd - Changed name and made static, added exception.
2010-12-08 Tracie Sucharski - Added measure type of Ground.
2011-09-01 Tracie Sucharski - Do not set parentPoint to NULL or copy, retain the current parentPoint.
2011-09-22 Tracie Sucharski - Bug introduced from 2011-09-01 change when setting ignored status.
2010-06-24 Tracie Sucharski, Added new keywords
2012-07-26 Tracie Sucharski, Fixed bug in comparison of chooserName and dateTime, comparison was between the pointers instead of the data and added comparisons for missing member data.
2010-12-22 Steven Lambright - Original version
2011-03-08 Eric Hyer - MaximumNumericLogDataType now makes sense
2011-04-04 Steven Lambright - Added error checking to the conversion to protocol buffer
2011-04-11 Steven Lambright - Added GetValue method
2005-07-29 Jeff Anderson Original version
2006-01-11 Jacob Danton Updated unitTest
2006-06-22 Brendan George Updated to conform to changes in SerialNumberList class
2008-04-04 Christopher Austin Added Exists function
2008-04-18 Debbie A. Cook Added Progress reports to loading and SetImages and calculates the total number of measurements in the control net
2008-06-18 Christopher Austin Fixed documentation errors
2009-01-06 Jeannie Walldren Fixed typo in SetImages() exception output. Added documentation.
2009-02-05 Christopher Austin when the created date or the modified date are not set, they default to the time in which Write() is called.
2009-04-07 Tracie Sucharski Added NumValidMeasures and NumIgnoredMeasures methods.
2009-06-03 Christopher Austin Added p_invalid functionality along with forceBuild, as well as other small fixes including documentation.
2009-07-13 Stacy Alley The std::vector of ControlPoints called 'p_points' was replaced with a QVector of QString 'p_pointIds' in conjunction with a QHash of <QString, ControlPoint> called 'p_pointsHash'. This was done to speed up the Add method which was essentially slowing down the reading or creation of Control Networks.
2010-05-06 Tracie Sucharski Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.
2010-08-06 Tracie Sucharski Updated for changes made after additional working sessions for Control network design.
2009-09-01 Eric Hyer Added two includes: QVector and QString
2010-09-09 Sharmila Prasad Added API to sort Control Net by Point ID Changed PointID's vector to StringList
2009-09-25 Travis Addair Changed methods which return the number of control measures in the network to compute those values at the time the method is called, not when the control network is first initialized.
2010-10-05 Tracie Sucharski Renamed the Write method to WritePvl. Create new method, Write which takes another parameter indicating whether to write pvl format or binary format, The default will write binary.
2010-10-05 Eric Hyer ControlMeasure and ControlPoint now return QStrings for some methods. Fixed breakages caused by this.
2010-10-06 Sharmila Prasad Added method to get CreatedDate
2010-11-21 Tracie Sucharski - Added new keyword, jigsawRejected to the read and write methods.
2011-01-13 Mackenzie Boyd Added copy constructor and assignment operator.
2011-01-17 Eric Hyer - Points are now owned and deleted by the network. Network now stored in such a way that access to all points in a cube is just as cheap as accessing measures in a point. Removed redundant methods and made other api changes.
2011-02-18 Eric Hyer - Made improvements and bug fixes related to interaction to other control network classes including ControlPoint and ControlMesure, but most significantly to ControlCubeGraphNode. Most important fix was network notification of measures added to or removed from points after the point is added to the network.
2011-02-23 Eric Hyer - Added some methods to support graphing calculations (RandomBFS, Shuffle, CalcBWAndCE, and GetNodeConnections).
2011-03-08 Ken Edmundson - Added methods GetNumberOfMeasuresInImage, GetNumberOfJigsawRejectedMeasuresInImage, IncrementNumberOfRejectedMeasuresInImage, DecrementNumberOfRejectedMeasuresInImage, and members p_cameraMeasuresMap and p_cameraRejectedMeasuresMap.
2011-03-12 Debbie A. Cook - Added member p_targetRadii and method GetTargetRadii to support SurfacePoint sigma conversions in ControlPoint.
2011-03-14 Eric Hyer - Cube connection graph now updated when points or measures are ignored.
2011-03-15 Eric Hyer - Some cube graph bugs were fixed.
2011-03-25 Christopher Austin - Added UpdatePointReference() to work with ControlPoint's SetId()
2011-03-29 Steven Lambright - Made versioning viable for first release.
2011-04-27 Steven Lambright - UpdatePointReference had a bug where the pointIds list was not being correctly updated.
2011-05-04 Eric Hyer - References in graph data structure now kept for ignored points and measures
2011-05-25 Eric Hyer - Added getPoints method
2011-06-22 James Alexander Crough and Eric Hyer - Added getGraphNode method.
2011-06-28 Eric Hyer - Added getEdgeCount() method
2011-07-08 Travis Addair - Locked points can no longer be deleted
2011-07-27 Sharmila Prasad - Fixed bug in GetNumEditLockMeasures()
2011-08-01 Eric Hyer - Addressed some graphing issues
2011-08-24 Steven Lambright - Fixed bug in graph code
2011-10-06 Steven Lambright - Having a target is no longer required.
2011-10-14 Ken Edmundson Added method ClearJigsawRejected(); to set all measure/point JigsawRejected flags to false prior to bundle adjustment.
2012-04-13 Orrin Thomas Added method sortedMeasureList, and functor ControlMeasureLessThanFunctor.
2012-11-22 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2012-09-11 Tracie Sucharski - Added a Mutex and MutexLocker for the SetTarget method.
2012-09-26 Steven Lambright - Fixed assignment operator to return a non-const ControlNet reference. Added swap(). Refactored assignment operator to use copy-and-swap idiom which fixed a bug where you couldn't access control points by index after an assignment.
2013-11-08 Tracie Sucharski - Add camera to ignored measures. References #1603.
2013-12-18 Tracie Sucharski - Previous change caused problems for jigsaw app. It was expecting the method GetNumberOfMeasuresInImage to only return the number of VALID (Ignore=False) measures. Renamed method to GetNumberOfValidMeasuresInImage and the private variable p_cameraMeasuresMap to p_cameraValidMeasuresMap. References #1603.
2009-04-07 Tracie Sucharski - Keep track of ignored measures.
2010-08-06 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design.
2011-04-02 Debbie A. Cook - Added code to set the target radii in the surface points of the control points as they are read into memory instead of setting parent prematurely to be able to set the radii in ControlPoint.
2010-01-12 Tracie Sucharski Added support for binary networks, added new parameters, renamed ComputeErrors to ComputeResiduals, renamed MaximumError to MaximumResidual, renamed AverageError to AverageResidual.
2010-08-05 Steven Lambright New label format much closer to a cube so that we can expand upon it easily later. Also added support for more than just the protocol buffer in the file, at the current cost of reading the protocol buffer's binary data into memory. This might need to be changed later.
2011-04-04 Steven Lambright - Reading is more likely to work... not sure why my changes fixed it for very large networks. Binary reads now do the same progress as Pvl for console output consistency (and because it can take time).
2011-04-08 Steven Lambright - Extracted functionality to ControlNetFileV0001 class
2011-06-21 Steven Lambright - Files can have a larger size now
2012-11-30 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection instead of Projection. References #775.
2013-05-22 Kimberly Oyama and Tracie Sucharski - Added the JIGSAWREJECTED keyword to the toPvl() method. Fixes #661.
2011-05-02 Debbie A. Cook - Converted to version pvl 3 instead of 2
2011-05-09 Tracie Sucharski - Add comments for printing apriori and adjusted values as lat/lon/radius, and sigmas.
2011-05-16 Tracie Sucharski - Before trying to get radii, make sure network has a TargetName. If not, do not add lat/lon/radius comments for SurfacePoints.
2011-06-07 Tracie Sucharski/Debbie A. Cook - Point Type changes Ground -—> Fixed Tie -—> Free
2010-08-10 Sharmila Prasad - Original version
2010-09-16 Sharmila Prasad - Modified prototype for GetImageStatsBySerialNum API in sync with the ControlNetStatistics class
2010-09-27 Sharmila Prasad - Moved ParseExpression functionality to QString class Verify the DefFile in the PVL Class
2010-09-27 Sharmila Prasad - Made changes for the Binary Control Network
2010-10-04 Sharmila Prasad - Use QString's Token method instead of ParseExpression
2010-10-15 Sharmila Prasad - Display error on bad filter values
2010-11-09 Sharmila Prasad - Point_MeasureProperties,process 'All' measuretype
2011-01-17 Eric Hyer - Fixed breakages caused by ControlNet api changes
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-07-22 Sharmila Prasad - Modified for new keywords in binary control net and added new filters for ResidualTolerance, PixelShift and EditLock(Point & Measure)
2011-10-05 Sharmila Prasad - Report double values with 10 digit precision
2011-11-03 Sharmila Prasad - Added functionality to filter by Convex Hull Ratio
2011-12-29 Sharmila Prasad - Updated GoodnessOfFit Filter. Fixes Mantis #652
2011-05-10 Steven Lambright - Added arrow capabilities for CPs
2012-04-16 Jeannie Backer - Added #include for Pvl class in implementation file.
2013-01-02 Steven Lambright - Updated setArrowVisible() to support new coloring options. The design of this configuration is wrong/needs fixed, but I'm leaving it alone due to time constraints. Fixes #479.
2010-08-24 Sharmila Prasad Original version
2010-09-16 Sharmila Prasad Added individual image std::maps for each Point stats to correct segmentation faults.
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2011-05-03 Debbie A. Cook Added type "Constrained" to sPointType values
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-07-19 Sharmila Prasad - Modified for new keywords in binary control net
2011-11-03 Sharmila Prasad - Used ControlNet's CubeGraphNodes to get Image stats including Convex Hull Ratio
2011-12-21 Sharmila Prasad Fixed #634 to include stats of images not in the ControlNet
2011-12-29 Sharmila Prasad Fixed #652 to include stats of ControlMeasure Log data
2012-04-26 Jai Rideout, Steven Lambright and Stuart Sides - Fixed results of min, max, average computations. Verified results of convex hull computation. Minor refactoring but needs a lot more. References #619 because fixing the order of the cnet caused us to fix some cnet graph node bugs which caused the convex hull tests to fail.
2010-05-11 Sharmila Prasad - Original Version
2010-06-21 Sharmila Prasad - Remove references to UniversalGroundMap & Cubes use CubeManager instead
2010-06-23 Sharmila Prasad - Added Pixels/Meters from the edge options and Validate Standard Options
2010-09-16 Sharmila Prasad - Renamed to ControlNetValidMeasure for uniformity with other ControlNet Classes
2010-10-14 Sharmila Prasad - Use only a single copy of Control Net
2010-11-10 Sharmila Prasad - Change group name of DefFile from "Operator" to "ValidMeasure"
2011-05-17 Sharmila Prasad - Added Sample, Line Residuals and Residual Magnitude for validation
2011-05-19 Sharmila Prasad - Flag to indicate whether Camera is required, to increase the processing speed
2011-06-06 Sharmila Prasad - Process the options only is specified in the DefFile to improve run time
2011-11-21 Sharmila Prasad - Validate/Parse Pvl only if ValidMeasure Group is found. Fixes Mantis #584
2013-01-31 Steven Lambright - Fixed LocationString() to return valid text. Also, added a test for this text. Fixes #1436.
2014-03-03 Janet Barrett - Initialize the mdDnValue variable in the ValidStandardOptions method. Fixes #2040.
2011-04-14 Steven Lambright - Improved handling of V1 networks
2011-05-02 Tracie Sucharski - If Held=True exists in input net, set PointType=Ground.
2011-05-02 Debbie A. Cook - Created pvl version 3 which added point type of constrained.
2012-08-14 Steven Lambright - Simplified error handling of invalid target names in V1 networks (V1->V2 code).
2012-11-22 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-03-13 Steven Lambright and Stuart Sides - Added support for more V1 Pvl networks (specifically, isis3.2.1 hijitreg output networks with measures that lack Sample/Line and are set to unmeasured). Fixes #1554.
2005-07-29 Jeff Anderson Original version
2006-01-11 Jacob Danton Added ReferenceIndex method and updated unitTest
2006-06-28 Tracie Sucharski, Added method to return measure for given serial number.
2006-10-31 Tracie Sucharski, Added HasReference method, changed ReferenceIndex method to throw error if there is no Reference ControlMeasure.
2007-01-25 Debbie A. Cook, Removed return statement in SetApriori method for case so that FocalPlaneMeasures will get set. The method already has a later return statement to avoid changing the lat/lon values.
2007-10-19 Debbie A. Cook, Wrapped longitudes when calculating apriori longitude for points with a difference of more than 180 degrees of longitude between measures.
2008-01-14 Debbie A. Cook, Changed call to Camera->SetUniversalGround in ComputeErrors to include the radius as an argument since the method has been overloaded to include radius.
2008-09-12 Tracie Sucharski, Add method to return true/false for existence of Serial Number.
2009-03-07 Debbie A. Cook Fixed ComputeErrors method to set focal plane coordinates without changing time and improved error messages.
2009-06-03 Christopher Austin, Added the invalid functionality along with forceBuild, fixed documentation errors.
2009-06-22 Jeff Anderson, Modified ComputeAprior method to correctly handle ground and held points. Previosuly it would throw an error if the lat/lon of a measure could not be computed. Also, modify the ComputeErrors method to not abort any longer if a control point lat/lon could not be projected back to a image line/sample.
2009-08-13 Debbie A. Cook Corrected calculation of scale used to get the undistorted focal plane coordinates to use the signed focal length (Z) from the CameraDistortionMap,
2009-08-21 Christopher Austin, Put the default return of ReferenceIndex() back as the first Measured measure.
2009-09-01 Eric Hyer, fixed some include issues.
2009-09-08 Eric Hyer, Added PointTypeToString method.
2009-10-13 Jeannie Walldren - Added detail to error messages.
2009-12-06 Tracie Sucharski, Renamed ComputeErrors to ComputeResiudals.
2010-03-19 Debbie A. Cook Replaced code in method ComputeErrors with call to CameraGroundMap->GetXY
2010-01-12 Tracie Sucharski, Added support for binary networds, added new parameters, renamed ComputeErrors to ComputeResiduals, renamed MaximumError to MaximumResidual, renamed AverageError to AverageResidual.
2010-03-19 Debbie A. Cook Replaced code in method ComputeErrors with call to CameraGroundMap->GetXY
2010-05-06 Tracie Sucharski, Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.
2010-05-11 Sharmila Prasad Added API's Copy Constructor to copy one point to another and ReferenceIndexNoException not to throw Exception if there are no reference point or no measures in a Control Point. Also added the boolean logical operator method = and !=.
2010-05-26 Tracie Sucharski, Changed point type of Ground to GroundXYZ, GroundXY, or GroundZ.
2010-06-01 Tracie Sucharski, Added Ellipsoid and DEM to AprioriSource enum. Change AprioriSourceBasemap to AprioriLatLonSourcFile and AprioriRadiusSourceFile.
2010-06-03 Tracie Sucharski, Moved SetReference method from ControlMeasure so check for multiple reference meausres can be done.
2010-06-17 Tracie Sucharski, Added Lock keyword, new methods SetLocked, Locked and NumLockedMeasures.
2010-06-04 Eric Hyer - removed parametor for PointTypeToString() additional working sessions for Control network design.
2010-07-27 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design. Major change to keywords, including storing coordinates as x/y/z instead of lat/lon/radius. Needed methods to allow inputting either, and conversion methods.
2010-08-18 Tracie Sucharski, Updated for changes made to SurfacePoint covariance matrix.
2010-08-25 Tracie Sucharski, Fixed some bugs relating to conversions between sigmas and covariance matrices.
2010-09-13 Tracie Sucharski, Added methods for setting planetocentric sigmas as both degrees and meters, as a result of changes made to the SurfacePoint class.
2010-09-15 Tracie Sucharski, It was decided after mtg with Debbie, Stuart, Ken and Tracie that ControlPoint will only function with x/y/z, not lat/lon/radius. It will be the responsibility of the application or class using ControlPoint to set up a SurfacePoint object to do conversions between x/y/z and lat/lon/radius. So... remove all conversion methods from this class. It was also decided that when importing old networks that contain Sigmas, the sigmas will not be imported, due to conflicts with the units of the sigmas.
2010-05-11 Sharmila Prasad Added API's Copy Constructor to copy one point to another and ReferenceIndexNoException not to throw Exception if there are no reference point or no measures in a Control Point.
2010-06-04 Eric Hyer - removed parametor for PointTypeToString()
2010-09-09 Sharmila Prasad - Added API's to get Latitude, Longitude, Radius from the Reference Measure in the Point. Also to get the min & max Line & Sample Errors
2010-09-27 Tracie Sucharski, Removed these new methods and move functionality to the ControlNetFilter class. Add the old methods, SetUniversalGround, UniversalLatitude, UniversalLongitude and Radius back in for convenience.
2010-10-05 Eric Hyer - interface to ID is now with QString
2010-10-06 Sharmila Prasad - Added method ReferenceLocked()
2010-10-18 Tracie Sucharski, Change "Setters", ComputeApriori and ComputeResiduals to return either Success or PointLocked. If the point is locked do not set values.
2010-10-18 Tracie Sucharski, Change SurfacePoint::Rectangular and SurfacePoint::Ocentric to SurfacePoint as both return values and parameters.
2010-10-06 Sharmila Prasad - API to reset Apriori
2010-10-21 Steven Lambright Minimized the header file and moved most implementations to the cpp. Reorganized the order of methods. Made more methods callable on a const instance. Added GetMeasure(...) methods and a suggested implementation for the bracket operators, not yet implemented due to returning reference conflicts. Finished implementing the new use of SurfacePoint mentioned in the last history comment. Marked SetUniversalGround(), UniversalLatitude(), UniversalLongitude(), and Radius() as deprecated. These methods need to be phased out and GetSurfacePoint() used instead. There are naming conflicts with accessors (some use Get, some don't) still. The comparison operator now relies on QVector's comparison operator instead of looping itself. Added private helper methods: int FindMeasureIndex(QString serialNumber) const void PointModified(); Updated documentation extensively. Removed everything apost except for inside of Load() and CreatePvlObject(). Added automatic updating of DateTime and ChooserName.
2010-10-26 Steven Lambright Change default chooser name from user name to application name.
2010-11-03 Mackenzie Boyd Added ToString methods for enums, String and statis ToString now exist for PointType, RadiusSource, and SurfacePointSource.
2010-11-16 Debbie Cook, Added jigsawRejected keyword.
2010-12-08 Tracie Sucharski, Added IsGround convenience method.
2010-12-28 Steven Lambright Changed accessors to match ControlMeasure's method of accessing data. Removed obsolete methods to prevent further use of them.
2011-01-13 Mackenzie Boyd Added pointer to owning ControlNet.
2011-01-17 Eric Hyer - Points now own and delete their measures. ControlNet now notified of changes (like adding and removing measures). Returning pointers to measures is now safe and encouraged.
2011-02-10 Eric Hyer - measures no longer know or care if they are the reference measure. This information is now completely maintained by this class. Made numerous API and internal changes, eliminating substantial duplicate code and increasing interface clearity. Hungarian notation now eliminated from this class.
2011-02-11 Steven Lambright - Measure log data is now written to the binary file properly.
2011-02-18 Eric Hyer - Added Delete(ControlMeasure *) method. Fixed bugs related to network notification of measure addition and deletion.
2011-02-28 Eric Hyer - Fixed bug in operator= that caused the the reference measure to not get propagated correctly
2011-02-28 Steven Lambright - Added a flag for cnetref to say whether a reference measure has been explicitly or implicitly set.
2011-03-01 Eric Hyer - Added StringToRadiusSource and StringToSurfacePointSource methods
2011-03-08 Ken Edmundson and Debbie Cook - Added members ConstraintStatus, LatitudeConstrained, LongitudeConstrained, RadiusConstrained, constraintStatus and methods ConputeResiduals_Millimeters(), HasAprioriCoordinates(), IsConstrained(), IsLatitudeConstrained(), IsLongitudeConstrained(), and NumberOfConstrainedCoordinates().
2011-03-11 Debbie Cook - changed name of member surfacePoint to adjustedSurfacePoint. Also changed methods SetSurfacePoint to SetAdjustedSurfacePoint and GetSurfacePoint to GetAdjustedSurfacePoint.
2011-03-14 Eric Hyer - Added GetMeasures method. Network now notified when a point's ignored status changes for updating its cube connection graph (cube connections were not respecting ignored flags on points / measures).
2011-03-14 Christopher Austin - Added GetBestSurfacePoint to reduce external duplicate code.
2011-03-15 Steven Lambright - Now writes AdjustedX, AdjustedY, and AdjustedZ to the pvl format. Also updated proto buffer calls to reflect naming changes.
2011-03-17 Eric Hyer - Added default parameter to GetMeasures method for excluding ignored measures.
2011-03-25 Christopher Austin - Added functionality to SetId()
2011-04-01 Debbie A. Cook and Ken Edmundson - Added argument to constructor for target radii
2011-04-04 Steven Lambright - Removed an old constructor and made the Distance vector one take a const reference.
2011-04-04 Steven Lambright - Updated constructor from binary to take planetary radii
2011-05-02 Debbie A. Cook - Added new point type Constrained
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types: Ground ---—> Fixed Tie-------—> Free
2011-06-30 Eric Hyer - Added StringToPointType() method
2011-07-01 Debbie A. Cook - Removed editLock checks from SetAdjustedSurfacePoint and ComputeResiduals
2011-07-08 Travis Addair - Locked measures can no longer be deleted
2011-07-12 Ken Edmundson - Modified ComputeApriori method to handle radius properly when computing average coordinates
2011-07-29 Jai Rideout, Steven Lambright, and Eric Hyer - Made this inherit from QObject to get destroyed() signal
2011-07-29 Eric Hyer - Changed some graph code in Delete()
2011-09-13 Eric Hyer,Tracie Sucharski - operator= changes: Change input parameter to const &. Re-wrote to use Delete and AddMeasure methods, so that the ControlGraphNode is updated correctly.
2011-09-30 Steven Lambright and Tracie Sucharski - Fixed bugs that caused unpredictable behavior in the assignment operator.
2011-10-01 Steven Lambright - Simplified the copy constructor and fixed problems (which caused ASSERT fails) in the copy constructor.
2011-10-06 Steven Lambright - Radii provided in the protocol buffer constructor can now be invalid.
2011-10-07 Steven Lambright and Stuart Sides - Fixed bug in the constructor given a protocol buffer. This caused unpredictable reference measure behaviour sometimes (rarely).
2011-10-14 Ken Edmundson Added method ClearJigsawRejected(); to set all measure and point JigsawRejected flags to false prior to bundle adjustment.
2012-03-31 Debbie A. Cook Programmer note: Revised ComputeResiduals to call ComputeResidualsMillimeters and avoid duplication of code. Also revised ComputeResidualsMillimeters to make the radar case handled the same as other instruments.
2013-11-12 Ken Edmundson Programmer note: Revised ComputeApriori such that initial coordinates are computed for "Free" points that have constrained coordinates. References #1653.
2013-11-13 Kimberly Oyama - Added missing member variables to == operator and made sure the comparisons are being done correctly. Fixes #1014.
2008-06-18 Tracie Sucharski/Jeannie Walldren, Changed error messages for Held/Ground points.
2009-10-13 Jeannie Walldren - Added detail to error message.
2010-11-29 Tracie Sucharski - Remove call to ControlMeasure:: SetMeasuredEphemerisTime, the values were never used. so these methods were removed from ControlMeasure and the call was removed here.
2010-12-02 Debbie A. Cook - Added units to SetRectangular calls since default is meters and units are km.
2011-03-17 Debbie A. Cook - Added initialization of adjustedSurfacePoint to aprioriSurfacePoint and set test for empty covariance matrix to use 0. instead of nulls.
2011-03-24 Debbie A. Cook - Removed IsMeasured check since it was really checking for Candidate measures.
2011-07-12 Debbie A. Cook - Removed editLock test. Users agreed editLock was only for fixed and constrained points, which are already left unchanged by ComputeApriori. If a free point is editLocked the editLock will be ignored by this method.
2008-07-17 Tracie Sucharski, Added ptid and measure serial number to the unable to map to surface error.
2009-12-06 Tracie Sucharski, Renamed from ComputeErrors
2010-08-05 Tracie Sucharski, Changed lat/lon/radius to x/y/z
2010-12-10 Debbie A. Cook, Revised error calculation for radar because it was always reporting line errors=0.
2011-03-17 Debbie A. Cook, Fixed typo in radar call to get longitude
2011-03-24 Debbie A. Cook, Removed IsMeasured check since it was really checking for Candidate measures.
2011-07-01 Debbie A. Cook, Removed editLock check to allow BundleAdjust to compute residuals for editLocked points
2012-01-18 Debbie A. Cook, Revised to call ComputeResidualsMillimeters() to avoid duplication of code
2008-07-17 Tracie Sucharski - Added ptid and measure serial number to the unable to map to surface error.
2010-12-06 Tracie Sucharski - Renamed from ComputeErrors
2011-03-19 Debbie A. Cook - Changed to use the Camera classes like ComputeResiduals and get the correct calculations for each camera type.
2011-03-24 Debbie A. Cook - Removed IsMeasured check since it was really checking for Candidate measures.
2012-01-18 Debbie A. Cook - Made radar case the same as other instruments and removed incorrect call to SetResidual, which was setting focal plane residuals in x and y instead of image residuals in sample and line.
2008-06-18 Tracie Sucharski/Jeannie Walldren, Fixed bug with checking for "True" vs "true", change to lower case for comparison.
2009-12-29 Tracie Sucharski - Added new ControlPoint information.
2010-01-13 Tracie Sucharski - Changed from Set methods to simply setting private variables to increase speed?
2010-07-30 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design.
2010-09-01 Tracie Sucharski, Add checks for AprioriLatLonSource AprioriLatLonSourceFile. If there are AprioriSigmas,but no AprioriXYZ, use the XYZ values.
2010-09-15 Tracie Sucharski, It was decided after mtg with Debbie, Stuart, Ken and Tracie that ControlPoint will only function with x/y/z, not lat/lon/radius. It will be the responsibility of the application or class using ControlPoint to set up a SurfacePoint object to do conversions between x/y/z and lat/lon/radius. So... remove all conversion methods from this class. It was also decided that when importing old networks that contain Sigmas, the sigmas will not be imported , due to conflicts with the units of the sigmas,we cannot get accurate x,y,z sigams from the lat,lon,radius sigmas without the covariance matrix.
2010-09-28 Tracie Sucharski, Added back the conversion methods from lat,lon,radius to x,y,z only for the point, since that is what most applications need.
2010-12-02 Debbie A. Cook, Added units to SurfacePoint.SetSpherical calls.
2011-03-12 Debbie A. Cook, Added targetRadius to do conversions
2011-09-13 Eric Hyer,Tracie Sucharski - Changed input parameter to const &. Re-wrote using Delete and AddMeasure methods, so that the ControlGraphNode is updated correctly.
2011-09-30 Tracie Sucharski - Fixed some memory leaks and deleted some calls that were already handled in AddMeasure.
2011-10-03 Tracie Sucharski - Unlock measures before Deleting
2008-11-19 Tracie Sucharski - Addition option to constructor to allow mouse events on leftChipViewport.
2008-11-24 Tracie Sucharski - Changed class name from PointEdit
2008-12-02 Jeannie Walldren - Modified createPointEditor() to allow the leftChipViewport to refresh even if allowLeftMouse = false.
2008-12-10 Jeannie Walldren - Added a private variable for the template filename. Set the default value of this variable to the previously hard-coded template filename. Added setTemplateFile() method derived from previously unused and commented out method called openTemplateFile().
2008-12-15 Jeannie Walldren - Some QMessageBox warnings had strings tacked on to the list of errors. These strings were changed to iExceptions and added to the error stack to conform with Isis standards.
2008-12-30 Jeannie Walldren - Modified savePoint() method to update user (chooser) name and date when point is saved
2009-03-17 Tracie Sucharski - Add slot to set a boolean to indicate whether the registration chips should be saved.
2010-06-08 Jeannie Walldren - Added warning box in registerPoint() if unable to load left or right chip
2010-06-26 Eric Hyer - now uses MdiCubeViewport instead of CubeViewport. Fixed multiple include problems.
2010-11-17 Eric Hyer - now forwards new ControlNets to the ChipViewports
2010-11-19 Tracie Sucharski - Renamed the "Save Point" button to "Save Measure" along with signals and slots. Add a new "Save Point" button which actually saves the edit point to the network.
2010-11-22 Eric Hyer - Forwarded SIGNAL from StretchTool to ChipViewports
2010-12-01 Eric Hyer - Added checkboxes for stretch locking
2010-12-08 Eric Hyer - Relocated stretch locking checkboxes
2010-12-14 Eric Hyer - setTemplateFile now takes the filename as a parameter (no more open dialog!)
2011-05-04 Jai Rideout - updated saveChips() to reference new AutoReg API for accessing chips used in registration.
2011-06-14 Tracie Sucharski - Added slot to colorize the Save Measure button. If user moved the tack point, the button text will be changed to red. If they push the save button, button will go back to black.
2011-06-15 Tracie Sucharski - Changed signal mouseClick to userMovedTackPoint. TODO: Could not use tackPointChanged signal because that signal is emitted whenever the measure is loaded not just when the user initiates the move. This should be cleaned up.
2012-04-17 Tracie Sucharski - If geom is turned on update the right measure in ::setLeftMeasure.
2012-05-01 Tracie Sucharski - Fix intereface between No Geom, geom and rotate. Make sure resets are done properly when switching beween the options.
2012-05-07 Tracie Sucharski - Change made on 2012-04-17 introduced bug when loading a different control point, so in setLeftMeasure, only update the right chip if we're not loading a different control point.
2012-06-28 Tracie Sucharski - Add parameter to constructor to indicate whether to use cube geometry. This allow cubes with no camera or SPICE information to be used.
2012-07-20 Tracie Sucharski - Change the Save Measure button text and tootip depending on whether movement is allowed on the left chip.
2012-07-26 Tracie Sucharski - Added ability to link zooming between left and right viewports. Added 2 methods, zoomFactor() which returns a zoom factor and zoom(double zoomFactor).
2013-04-30 Tracie Sucharski - Fixed bug introduced by linking zooms between left and right viewports. Zoom factors were being passed into the Chip::Load method as the second argument which should be the rotation value.
2013-11-07 Tracie Sucharski - Moved error checking on edit locked measures from QnetTool::measureSaved to ::saveMeasure. The error checking now forces the edit lock check box to be unchecked before the measure can be saved. Fixes #1624.
2013-12-30 Kimberly Oyama and Stuart Sides - In saveChips(), added single quotes around the file names in case there are spaces or other special characters in them. Fixes #1551.
2015-01-13 Ian Humphrey - Modified setTemplateFile() so opening a template file will undo registration if a point is already registered. Modified saveMeasure() to handle exception thrown by ControlMeasure::SetLogData(). Fixes #2041.
2008-11-19 Tracie Sucharski - Added left pan buttons, but default to hidden.
2008-12-02 Jeannie Walldren - Allow connection between updateLeftView and refreshView for all objects. Previously this was only done if allowLeftMouse = true.
2008-12-02 Tracie Sucharski - Another bug fix due to change on 2008-11-19, The leftView tackPointChanged connection needs to always be made whether mouse button events are allowed or not.
2008-12-10 Jeannie Walldren - Set the default value of the new private variable, p_templateFileName, to the previously hard-coded template filename.
2008-15-2008 Jeannie Walldren - Throw and catch error before creating QMessageBox
2009-03-23 Tracie Sucharski - Added private p_autoRegAttempted for the SaveChips method.
2010-02-16 Tracie Sucharski- If autoreg fails, print registration stats.
2010-02-18 Tracie Sucharski - Registration stats wasn't the correct info to print. Instead, check registrationStatus and print separate errors for each possibility.
2010-02-22 Tracie Sucharski - Added more info for registration failures.
2010-06-08 Jeannie Walldren - Catch error and warn user if unable to load pattern (left) or search (right) chip
2010-10-12 Tracie Sucharski - Clean up try/catch blocks.
2011-06-27 Tracie Sucharski - If un-doing registration, change save button back to black. If registration successful, change save button to red.
2011-10-21 Tracie Sucharski - Add try/catch around registration to catch errors thrown from autoreg class.
2008-12-30 Jeannie Walldren - Modified to update user (chooser) name and date when point is saved
2010-11-19 Tracie Sucharski - Renamed from savePoint.
2011-03-04 Tracie Sucharski - If auto reg info is shown, save the GoodnessOfFit value to the right ControlMeasure log entry. Changed the way the left viewport is updated if the left and right measure are the same. Simply copy the right measure into the left and re-load the left measure. If measure currently has type of subPixelRegistered, but the new position has not be sub-pixel registered, change measure type and get rid of goodness of fit.
2011-06-14 Tracie Sucharski - Change Save Measure button text back to black.
2011-07-19 Tracie Sucharski - Updated for new functionality of registration pixel shift. ControlMeasure will now calculate based on aprioriSample/Line and current coordinate. If autoreg has been calculated, save coordinate to apriori before updating to subpixel registered coordinate.
2013-11-07 Tracie Sucharski - Moved error checking on edit locked measures from QnetTool::measureSaved to ::saveMeasure. The error checking now forces the edit lock check box to be unchecked before the measure can be saved.
2015-01-09 Ian Humphrey - Modified to prevent segmentation fault that arises when registering, opening a template file, and saving the measure. This was caused by not handling the exception thrown by ControlMeasure::SetLogData(), which produces undefined behavior within the Qt signal-slot connection mechanism.
2007-06-15 Tracie Sucharski - Grey out zoom buttons
2008-15-2008 Jeannie Walldren - Added error string to iException::Message before creating QMessageBox
2008-11-19 Tracie Sucharski - If left cube changes, get new universalGroundMap.
2012-04-17 Tracie Sucharski - If geom is turned on update the right measure.
2012-05-07 Tracie Sucharski - Last change introduced bug when loading a different control point, so only update the right chip if we're not loading a different control point.
2013-04-30 Tracie Sucharski - Fixed bug introduced by linking zooms between left and right viewports. Zoom factors were being passed into the Chip::Load method as the second argument which should be the rotation value.
2008-11-19 Tracie Sucharski - If right cube changes, get new universalGroundMap.
2008-15-2008 Jeannie Walldren - Added error string to iException::Message before creating QMessageBox
2009-09-14 Tracie Sucharski - Call geomChip to make sure left chip is initialized in the ChipViewport. This was done for the changes made to the Chip class and the ChipViewport class where the Cube info is no longer stored.
2013-04-30 Tracie Sucharski - Fixed bug introduced by linking zooms between left and right viewports. Zoom factors were being passed into the Chip::Load method as the second argument which should be the rotation value.
2008-12-10 Jeannie Walldren - Changed name from openTemplateFile() and added functionality to set new template filename to the private variable, p_templateFileName
2008-12-15 Jeannie Walldren - Modified code to only allow the template file to be modified if registration is successfull, otherwise the original template file is kept.
2014-12-11 Ian Humphrey - Modified code so opening a template file will undo registration if a point is already registered.
2011-05-09 Steven Lambright - Fixed known issue with paint() when zoomed in.
2011-05-10 Steven Lambright - Added arrow capabilities, fixed problem with boundingRect() that seemed to cause a crash.
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2013-01-02 Steven Lambright - Updated setArrowVisible() to support new coloring options. The design of this configuration is wrong/needs fixed, but I'm leaving it alone due to time constraints. Updated paint() method to appropriately apply colors. Fixes #479.
2009-08-11 Sharmila Prasad Original Version
2009-10-04 Steven Lambright Constructor now takes a FileName instead of a string.
2007-06-05 Brendan George - Modified to work with QString/StringTools merge
2008-06-18 Christopher Austin - Fixed documentation
2008-06-18 Christopher Austin - Fixed documentation
2010-04-08 Kris Becker - Added discarding of comment and blank lines
2006-08-03 Tracie Sucharski, Added Scale method
2007-07-12 Debbie A. Cook, Added methods Coefficients and InverseCoefficients
2008-02-21 Steven Lambright Boresight, focal length, pixel pitch keywords now loaded from kernels instead of being hard-coded. The distortion map is now being used.
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of createCache(...).
2009-03-07 Debbie A. Cook Removed obsolute CameraDetectorMap methods
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Mro namespace wrap inside Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-12-27 Tracie Sucharski, Fixed bug for images with a SpatialSumming=2. The images were compressed in the y-direction. There was a line of code commented out, "lineRate *= csum;". From the MRO_ctx_pds_sis.pdf, "Note that CTX implements downtrack summing by increasing the line time; for example, a 2X2 summed image has an actual line time twice that given by this field.". Uncommenting the line fixed the y-direction scale problem. Fixes #826.
2003-03-31 Jeff Anderson - updated unitTest truth file.
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
2003-05-21 Jeff Anderson - added read/write methods to improve speed for IsisLine buffer managers. Also added error checks on reads, writes, and seeks.
2003-05-30 Jeff Anderson - added PhysicalBand method and updated unitTest.
2003-10-06 Jeff Anderson - added PVL to create method to allow for propagation of Pixel specifications.
2003-10-15 Jeff Anderson - fixed bad error check in PhysicalBand method.
2004-01-30 Jeff Anderson - added many Set methods. Major refractor of the class.
2004-02-12 Jeff Anderson - added pruning of the band bin group given the virtual band list.
2004-02-17 Jeff Anderson - modified the number of bands in the label if a virtual band list was given.
2004-03-01 Jeff Anderson - added ability to read Isis 2.1 cube format.
2004-04-01 Jeff Anderson - fixed bug swapping NULL cache tile for non-native cubes in move method.
2005-03-24 Jeff Anderson - Added methods to return a camera or projection associated with the cube.
2005-07-18 Elizabeth Ribelin - Fixed bug in method that returns a projection associated with the cube
2005-10-03 Elizabeth Miller - Added error check to Write(blob)
2006-02-24 Kris Becker - Made the destructor virtual to properly allow the class to be inherited.
2006-04-21 Jacob Danton - Modified the WriteLabel method to use the Pvl's format template abilities.
2006-05-17 Elizabeth Miller - Depricated CameraManger to CameraFactory
2006-07-10 Elizabeth Miller - Added max size preference
2006-11-28 Jeff Anderson - Fixed detached blob bug
2007-01-05 Jeff Anderson - Fixed bug when reading/writing outside cube
2007-02-07 Tracie Sucharski - Added ReOpen method
2008-05-09 Steven Lambright - Added Statistics, Histogram, PutGroup, GetGroup, DeleteGroup, HasGroup conveinience methods. Removed excess references to CubeInfo.
2008-05-27 Jeff Anderson - Fixed bug in open method where virtual bands were not handled correctly if a BandBin group did not exist
2008-06-09 Christopher Austin - Improved maximum cube size error message.
2008-06-11 Steven Lambright - Changed prototype for SetVirtualBands
2008-06-18 Christopher Austin - Fixed documentation errors
2008-08-11 Steven Lambright - Added another Statistics method which accepts a valid range – also added another Histogram method which accepts a bin/valid range (applies both).
2008-08-11 Steven Lambright - Fixed definition of IsisCubeDef, problem pointed out by "novas0x2a" (Support Board Member)
2008-12-15 Steven Koechle - Added a method to delete blobs from a cube
2008-12-17 Steven Koechle - BlobDelete method was broken, fixed
2009-06-30 Steven Lambright - Added "HasProjection" for uniform projection existance test
2010-03-22 Steven Lambright - Added a mutex for reading and writing, which makes these methods thread safe.
2011-03-23 Steven Lambright - Added ClearCache method.
2011-06-01 Jai Rideout and Steven Lambright - Updated API to conform to new Isis standards, re-implemented IO handler and implemented new caching algorithms that can automatically apply themselves when the behavior of the caller changes.
2011-06-27 Steven Lambright - Added addCachingAlgorithm
2011-07-08 Steven Lambright - projection() and camera() will now return NULL if the cube is not open, instead of crashing, references #161
2012-02-17 Steven Lambright - Made the read() method const. Added mutex lock calls around data file accesses.
2012-04-05 Stuart Sides and Steven Lambright - Added new constructor which immediately open the cube.
2012-07-02 Steven Lambright and Stuart Sides - Added copy() and added support for external cube label files (.ecub). This was done so that cubes can be imported into projects without copying the DN data. Also, multiple versions of SPICE will be save-able for one cube (multiple ecubs... again, not copying DN data). Fixes #961.
2012-09-06 Steven Lambright - Improved parsing of ^DnFile in the ecub format and simplified/optimized writeLabels().
2012-09-17 Steven Lambright - Fixed ASSERT in getRealDataFileName() to be in the correct place.
2012-10-26 Steven Lambright and Stuard Sides - Externel cube label files no longer allocate disk space for DN data when writing out blobs.
2012-11-06 Steven Lambright and Mathew Eis - Fixed (the lack of) deletion of temporary files in the unit test. Fixes #1009.
2012-12-31 Steven Lambright - Removed 'get' prefix from accessors. Fixes #1356.
2014-06-20 Ian Humphrey - Added checks to statistics() and histogram() to throw an error if the cube is unopened. Fixes #2085.
2014-10-06 Ian Humphrey - Added case to unittest when chunk dimensions are the same as the buffer shape to ensure virtual bands accessed correctly. Added cases to test creating bsq and large bsq cubes. References #1689.
2015-01-30 Ian Humphrey - Deallocated copied cubes in unittest. References #2082.
2003-07-17 Stuart Sides - Added input file band attribute capabilities.
2003-07-29 Stuart Sides - Separated the input and output attributes into two separated class deriving off a base class, instead of one class for all cases.
2003-10-03 Stuart Sides - Added members HasPixelType. It was needed by the IsisCube so it could do an easy check. Added IsMsb, IsLsb, HasOrder, ByteOrderStr, ByteOrderType, Order and Order. These were needed to allow users to specify a byte order for output cubes.
2004-02-03 Stuart Sides - Refactor for IsisProcess and cube changes
2004-03-03 Stuart Sides - Modified IsisCubeAttributeOutput::Write so min and max don't get written when the pixel type is real.
2012-07-02 Steven Lambright and Stuart Sides - Refactored to minimize code duplication. Updated to match current coding standards. Added safety check capabilities for unrecognized attributes. References #961.
2003-07-29 Stuart Sides - Separated the input and output attributes into two seprated class deriving off a base class, instead of one class for all cases.
2004-02-03 Stuart Sides - Refactor for IsisProcess and cube changes
2006-01-05 Stuart Sides - Fixed bug when the input attribute was "+7-10". In this case the Write members were not putting the "+" at the beginning.
2012-07-02 Steven Lambright and Stuart Sides - Uses a refactored CubeAttribute parent class now. Updated to match current coding standards. Added safety checks for unrecognized attributes. References #961.
2003-07-29 Stuart Sides - Separated the input and output attributes into two separated class deriving off a base class, instead of one class for all cases.
2003-10-03 Stuart Sides - Added members HasPixelType. It was needed by the IsisCube so it could do an easy check. Added IsMsb, IsLsb, HasOrder, ByteOrderStr, ByteOrderType, Order and Order. These were needed to allow users to specify a byte order for output cubes.
2004-02-03 Stuart Sides - Refactor for IsisProcess and cube changes
2004-03-03 Stuart Sides - Modified IsisCubeAttributeOutput::Write so min and max don't get written when the pixel type is real.
2012-07-02 Steven Lambright and Stuart Sides - Uses a refactored CubeAttribute parent class now. Updated to match current coding standards. Added the "+External+ attribute. Added safety checks for unrecognized attributes. References #961.
2007-09-14 Stuart Sides - Fixed bug where pixels from a buffer outside the ns/nl were being transfered to the right most and bottom most tiles
2007-10-11 Stuart Sides - Fixed bug introduced with previous bug fix.
2008-09-03 Steven Lambright - Fixed MSB/LSB problem with the Move() method
2011-06-16 Jai Rideout and Steven Lambright - Refactored to work with the new parent.
2011-07-18 Jai Rideout and Steven Lambright - Added unimplemented copy constructor and assignment operator.
2014-09-16 Ian Humphrey - Increased size limit for determining chunk sizes. Added findGoodSize method to better calculate number of lines in chunks for bsq cubes. References #1689.
2008-05-12 Steven Lambright - Removed references to CubeInfo
2008-06-18 Steven Lambright - Fixed documentation
2009-03-03 Steven Lambright - Added missing secant method call
2010-02-23 Steven Lambright - Added min2,max2
2010-04-08 Steven Lambright - Replaced min2,max with proper implementations of cubemin, cubemax, linemin, linemax, min and max. Added support for getting statistics of a cube for constants.
2012-02-02 Jeff Anderson - Added support for camera parameters such as phase, incidence, etc
2012-02-09 Jeff Anderson - Modified to conform to ISIS coding standards
2015-01-30 Ian Humphrey - Removed unused variable m_data. Deallocated unfreed dynamic memory. Added destructor. Fixes #2082.
2010-04-12 Eric Hyer - Added check for valid cube ID's for slots ReadCube and ReadWriteCube.
2010-07-29 Eric Hyer - AcquireLock now flushes events for this thread instead of the main eventloop's thread.
2010-08-12 Steven Lambright - Fixed memory leak and simplified acquiring write bricks
2010-08-23 Eric Hyer - Added the FindCubeId method
2010-08-24 Eric Hyer - Added the RemoveCube method
2012-02-27 Jai Rideout and Steven Lambright - Made BricksInMemory() thread-safe. Fixes #733.
2010-02-23 Steven Lambright Updated to use InfixOperator class method instead of direct access to member
2012-02-02 Jeff Anderson - Added the Initialize method and camera variables (phase, incidence, etc) for a cube
2012-02-09 Jeff Anderson - Modified to conform to ISIS programming standards
2011-06-27 Steven Lambright - Added addCachingAlgorithm()
2011-07-18 Jai Rideout and Steven Lambright - Added unimplemented copy constructor and assignment operator.
2011-07-18 Jai Rideout and Steven Lambright - getDataFile() is no longer const, along with readRaw() and writeRaw().
2011-11-23 Jai Rideout - Added fix to findCubeChunks() and findIntersection() so that requested areas that are outside of the virtual bands of the cube will no longer fail, but instead will fill the buffer with nulls.
2012-02-17 Steven Lambright - The read() method is now const - the caching should be transparent to the API. It is still important to note that you cannot call read() and write() simultaneously - Cube is guaranteeing this. Backgrounded writes are now implemented and fully supported. Timing tests show results like this: Before: User: 358.71 Kernel: 38.29 Total Elapsed: 6:49.83 After: User: 380.01 Kernel: 44.97 Total Elapsed: 6:19.96 User- user-space CPU time consumed. Kernel- kernel-space CPU time consumed. The CPU consumption and kernel time consumption goes up, but the overall run time is lower. This makes the option perfectly viable for typical multi-core desktop solutions. Turning off the cube write optimization results in equivalent run times as before implementation. These time tests were run before the adaptive cache flush size was added, which improved performance further. References #727.
2012-06-06 Jeff Anderson - The read() method was modified to improve the speed for small buffer sizes as seen in ProcessByBoxcar and ProcessRubbersheet. The internal cache was always checked to be minimized which is slow for every read. Now the cache is only mimimized if it changed in size. Reference #894.
2014-04-07 Kimberly Oyama and Stuart Sides - Modified the findCubeChunks, writeIntoDouble, and writeIntoRaw methods to handle repeating virtual bands. Fixes #1927.
2014-09-30 Ian Humphrey - Modified read method to correctly access virtual bands when cube dimensions and buffer shape are same size. Fixes #1689.
2015-01-30 Ian Humphrey - Modified destructor to free m_writThreadMutex to prevent memory leaks upon destruction. Fixes #2082.
2008-08-19 Steven Koechle - Removed Geos includes
2011-06-08 Steven Lambright - Better handles the case when a Cube fails to open, fixes #161.
2009-11-03 Mackenzie Boyd - Modified to include cube attributes (input) when opening cubes.
2012-01-18 Steven Lambright and Tracie Sucharski - Renamed class to CubePlotCurve. Changed functionality dramatically to support a new plotting infrastructure.
2012-01-20 Steven Lambright and Jai Rideout - Completed documentation.
2012-01-30 Steven Lambright - Fixed a bug added when the legendItem() method was removed. This method is necessary. Fixes #688.
2012-03-14 Tracie Sucharski - Added functionality for multiple viewports as a source for plots.
2014-07-02 Ian Humphrey - Added comment for executing configure dialog. References #2089.
2012-01-20 Steven Lambright and Jai Rideout - Completed documentation.
2014-07-25 Ian Humphrey - Added configure tool menu item. This allows user to right-click a curve (as previously) or select configure tool menu item to configure a plot curve's color, symbol, line style, etc. Fixes #2089.
2007-09-14 Stuart Sides - Fixed bug where pixels from a buffer outside the ns/nl were being transfered to the right most and bottom most tiles
2011-06-16 Jai Rideout and Steven Lambright - Refactored to work with the new parent.
2011-07-18 Jai Rideout and Steven Lambright - Added unimplemented copy constructor and assignment operator.
2007-01-30 Tracie Sucharski, Add information message if spice not found.
2007-02-07 Tracie Sucharski, Remove error message, decided it was more of a hassle to click ok when displaying many images without spice.
2007-03-20 Tracie Sucharski, Add fitScaleMinDimension, fitScaleWidth and fitScaleHeight methods. Change cursor to wait cursor in paintPixmap.
2007-04-13 Tracie Sucharski, Remove fitScaleMinDimension, turns out it was not needed.
2007-09-11 Steven Lambright, Added double click signal
2007-12-11 Steven Lambright, Added 1x1xn cube auto stretch support
2008-06-19 Noah Hilt, Added a close event for saving and discarding changes and a method to set the cube.
2008-12-04 Jeannie Walldren, Fixed a bug in computeStretch() method for comparing precision difference on 32 bit Linux system. Added try/catch in showCube() to set p_cubeShown = false if this fails.
2009-03-09 Steven Lambright - Changed the way we do floating point math in autoStretch to work better in order to allow more cubes to open.
2009-03-27 Noah Hilt/Steven Lambright - Removed old rubber band methods and variables. Added new ViewportBuffer to read and store visible dn values in the viewport.
2009-10-23 Steven Lambright - Camera::SetBand is now called when switching the band being shown.
2010-04-08 Steven Lambright and Eric Hyer - Now supports ViewportBuffer using threaded cube I/O
2010-04-30 Steven Lambright - Bug fixes and better support for threaded cube I/O
2010-05-20 Steven Lambright - Added memory of global stretches
2010-05-24 Eric Hyer - Fixed bug where QPainter construction was being attempted with a potentially null pixmap
2010-06-26 Eric Hyer - Moved MDI specific code to new child class called MdiCubeViewport. Fixed many include mistakes.
2010-07-12 Jeannie Walldren - Changed setScale() method's maximum value from hard-coded 16 to the max of the viewport width and height. Added setScale() minimum value of 1/min(samps,lines). Added exceptions to ViewportBuffer to help track errors.
2010-11-08 Eric Hyer - Added better mouseMove signal
2010-12-01 Steven Lambright - The initial scale now uses fitScale so that it is consistent with the zoom tool.
2011-03-30 Sharmila Prasad - Set the frame shadow and style to remove border around the image
2011-03-31 Sharmila Prasad - Added band info to "whatsthis" API to store the whatsthis info in a PVL format
2011-04-25 Steven Lambright - Fixed "center" and added more safety checks.
2012-03-22 Steven Lambright and Jai Rideout - Fixed bug where screenPixelsChanged was not correctly emitted on resize.
2012-05-29 Steven Lambright - Changed destructor to clean up the cube when necessary.
2012-06-28 Steven Lambright - Stretching gray no longer removes stretch special pixel values from the RGB stretches. References #684.
2012-07-27 Tracie Sucharski - Added viewportClosed signal so that tools can respond to the user closing a viewport rather than when the application exits.
2013-11-04 Janet Barrett - Added the p_comboCount and p_comboIndex variables to store the current state of the band bin combo box. Also added comboCount(), comboIndex(), setComboCount(), and setComboIndex() accessors and setters to allow the BandTool class to retain the settings for each cube viewport. Fixes #1612.
2007-06-05 Brendan George - Modified to work with QString/StringTools merge
2008-10-30 Steven Lambright - tossDbError now accepts a const char* for a filename, issue pointed out by "novus0x2a" (Support Board Member)
2007-06-05 Brendan George - Modified to work with QString/StringTools merge
2009-11-27 Kris Becker - Made argc parameter for QCoreApplication so persistence of the parameter is preserve as required for Qt.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Dawn namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-05-03 Jeannie Walldren - Added NAIF error check. Added call to ShutterOpenCloseTimes() method.
2011-07-26 Jeff Anderson - Modified to support varying focal length and optical distortion based on filter
2011-03-10 Kris Becker Original Version
2011-08-23 Kris Becker - Correct length of scan line to be the EXTERNAL_REPETITION_TIME of the FRAME_PARAMETER[2] value.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2003-02-11 Jeff Anderson - Wrote unitTest and documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-05-18 Jeff Anderson - Changed long to int for 64-bit port
2008-01-09 Jeannie Walldren - Added new unitTests and new method, StringToPixel()
2008-01-10 Jeannie Walldren - Added new unitTests and modified StringToPixel() to allow the user to enter any legal and unique shortened version of special pixels.
2007-02-15 Kris Becker - Added key() method so one can iterate through all keys in the profile
2007-12-19 Kris Becker - Added getKeyList method for additional flexibility to class developers
2008-03-11 Kris Becker - Added more information to exception caught when attempting to get values from non-existant keys
2008-09-05 Kris Becker - Added the replace and remove methods to the class.
2010-07-30 - Debbie A. Cook - Original version.
2012-10-25 - Jeannie Backer - Changed call to Spice::resolution() method to lower camel case. Added documentation. Ordered includes. References #1181.
2012-07-30 Steven Lambright - The save action now has enabling/disabling of state functional (as long as there are work orders in the undo stack).
2012-08-28 Tracie Sucharski - Instead of this class adding tabs to a TabWidget, it now emits a signal which is connected to cnetSuiteMainWindow to create a new dock widget. This class no longer needs the viewContainer since it is not adding tabs.
2012-09-12 Steven Lambright - Added xml save/load capabilities, removed dead code relating to having only one image list (now we have N image lists).
2012-09-19 Steven Lambright - Re-implemented workOrders(ImageList *) into a generic templated version. Added m_workOrders and createWorkOrder().
2012-10-02 Stuart Sides and Steven Lambright - Renamed workOrders() to supportedActions(). This method now asks the footprint views for their supported actions in addition to the known work orders. Added sorting/smart arranging of the actions that come from the footprint views.
2012-10-03 Steven Lambright - Added 'All' option generation in restructureActions()
2011-04-18 Steven Lambright Improved special pixel math handling
2012-02-16 Steven Lambright - Brought up to method and member naming standards.
2012-03-22 Steven Lambright - Added toString().
2012-03-22 Steven Lambright - Added solarRadii(), setSolarRadii(), and the unit SolarRadii. References #1232.
2003-02-11 Stuart Sides - Documented and created an object unitTest.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2006-05-17 Elizabeth Miller - Removed .xml file and added documentation to .h file
2009-03-16 Tracie Sucharski - Updated for release 3.2.0.
2010-03-18 Tracie Sucharski - Updated to 3.2.1beta.
2010-05-24 Travis Addair - Added DEG2RAD and RAD2DEG
2010-11-29 Steven Lambright - Isis version constant removed
2012-06-22 Orrin Thomas - Added TWOPI and coverted DEG2RAD and RAD2DEG two decimal constants (from division expresions)
2006-10-20 Tracie Sucharski - If rubberband for rectangle option goes off the right side or bottom of image, set esamp/eline to image nsamps/nlines.
2008-05-23 Noah Hilt - Added RubberBandToolfunctionality and changed the mouseButtonReleased method. Also added a writeToCube method that is used by both the rubberBandComplete and mouseButtonRelease methods.
2008-06-19 Noah Hilt - Added methods and signals for saving and discarding changes to the current cube.
2010-06-26 Eric Hyer - uses MdiCubeViewport instead of CubeViewport. Fixed many include issues but some still remain!
2010-11-15 Eric Hyer - valid rectangle dimensions for banding must now be >= 1 instead of >= 5
2011-09-15 Steven Lambright - Enumerated values no longer conflict with global variable names and increased safety with usage of the valType combo box to make it less likely to break in the future. Fixes #345.
2012-05-24 Steven Lambright - Minor changes to support prompting to save on exit once again (this has been broken for a very long time). The prompt now appears if you have edited your file but not saved it - not when clicking "Save." This was a minimal fix (I left a lot of problems to be solved at a later date). Fixes #854.
2007-03-02 Tracie Sucharski - Reopen cube read/write Workspace::addCubeViewport was opening cube read/write, changed to open read only so that the cube date was not changed unless EditTool is invoked.
2007-02-26 Tracie Sucharski - Remove test for off image editing. It is no longer needed since the bug in the Cube class is fixed.
2008-05-23 Noah Hilt - Removed the rectangle and start/end line functionality from the mouseButtonRelease and moved it to the rubberBandComplete method.
2003-05-16 Stuart Sides modified schema from astrogeology...isis.astrogeology.
2004-03-18 Stuart Sides used Endian.h instead of the linux gcc endian.h to figure the system's endian type.
2008-08-14 Christopher Austin - Added ExportFloat() for exporting real data to the non-native endians. i.e. exporting to msb on a lsb system
2009-04-16 Steven Lambright - Added Int and LongLongInt. Long was not added because it is 4 bytes on 32-bit linux and 8 bytes on 64-bit linux.
2011-04-14 Sharmila Prasad - Ported the class from "enlarge" app to base object class with added functionality to enlarge only the sub area within the input image into the output image
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2011-09-20 Steven Lambright - Added support for 4 line version file.
2012-03-06 Steven Lambright - Added automatic environment setup that works with every Isis 3 application. This includes the 'qisis' applications. The automatic setup is setting the Qt plugin path because picking up a plugin from the OS means crashing with an error like: Cannot mix incompatible Qt library (version 0x40704) with this library (version 0x40800) Fixes #742.
2012-11-02 Steven Lambright - Updated automatic environment setup to fix a library dependency problem (that is ignoring our plugin path setting) with QDBus. Fixes #1228.
2012-04-26 Jeannie Backer - Added includes to Filelist, Pvl, PvlGroup, and Statistics classes to the implementation file.
2013-01-29 Jeannie Backer - Added input parameter to calculateStatistics() method. Added error catch to improve thrown message. Fixes #962.
2013-01-29 Jeannie Backer - Fixed bugs from previous checkin. Improved test coverage by more than 23% for each coverage type.
2013-02-06 Steven Lambright - Made the OverlapNormalization::SolutionType into a member required upon instantiation in order to support gain adjustments without normalization, which uses a separate formula in evaluate() instead of just modifying how statistics are computed. Implemented the GainsWithoutNormalization solution type. References #911.
2004-02-07 Jeff Anderson - added plug-in capability.
2004-02-24 Jeff Anderson - Modified forward and inverse methods to use the local radius at the center latitude instead of the equitorial radius.
2005-03-11 Elizabeth Ribelin - added TrueScaleLatitude method test to the unitTest
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version, IsEquatorialCylindrical methods
2008-05-09 Steven Lambright - Fixed test for being too close to a pole
2008-11-12 Steven Lambright - Commented some unclear code (CenterLatitudeRadius keyword)
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl to header file. Ordered includes in implementation file. Moved Name, Version, IsEquatorialCylindrical to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-04-26 Jeannie Backer - Modified constructor so that default center lat/lon values are at the center of the lat/lon ranges, respectively. This was done to be consistent with other projection defaults. Improved test coverage. Fixes #1597.
2013-05-14 Jeannie Backer - Fixed unitTest merge error. References #775.
2012-04-04 Travis Addair - Added documentation.
2013-06-05 Jeannie Backer - Modified valid min/max for signed and unsigned word pixel types since the exported images do not care about Isis special pixel DNs. Change ouput null/min/max member variable names for clarity. Added absolute min/max member variables and accessors. Added copy constructor and assignment operator. References #1380.
2012-06-06 Steven Lambright and Kimbelry Oyama - Added an enumerator for the approval status of each feature. Modified queryFeatures() to ensure the correct longitude domain is used. References #852. Fixes #892. Fixes #855.
2012-06-29 Steven Lambright and Kimberly Oyama - Separated queryFeatures() into: 1) queryFeatures(), which makes sure the longitude range is between 0 and 360 and that it is in the 360 domain, and calls the request method, and 2) runQuery(), which makes the request. Fixes #958.
2012-06-12 Steven Lambright and Kimberly Oyama - Implemented multiple extent types (Box, 4 Arrows, 8 Arrows). Added ability to hide unapproved or dropped features. Added appropriate mutators and accessors (showApprovedOnly(), vectorType(), setShowApprovedOnly(), setVectorType()). Added an enumerator for the vector types. Fixes #852. Fixes #892.
2012-06-26 Kimberly Oyama - Minor refactoring in the findMissingNomenclature() method. References #958.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972
2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.
2008-01-18 Stacy Alley - Changed the constructor to accept a QStringList which serves as the default filters for the file dialog boxes.
2008-01-28 Stacy Alley - Changed the constructor again to accept a QDir which is the default directory the file dialog box should point to.
2011-07-28 Steven Lambright - Now connects to the buttons' clicked signals instead of pressed, clicked is the appropriate signal. Fixes #270
2003-05-16 Stuart Sides - modified schema from astrogeology... isis.astrogeology...
2005-03-16 Leah Dahmer - modified file to support Doxygen documentation.
2006-04-05 Elizabeth Miller - Added error message to catch empty files
2007-01-04 Brendan George - Added comment recognition and it now only reads the first column
2007-02-19 Stacy Alley - modified the Read method such that if a file name and it's attributes are surround with double quotes, then don't use commas as a 'end of line' signal.
2002-11-27 Stuart Sides - added capability to expand environment variables within a filename.
2003-01-27 Jeff Anderson - added a method to allow full file specification to be extracted (includes the attributes).
2002-02-12 Stuart Sides - fixed bug with incorrect parsing when filename did not have a path.
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology.
2003-07-21 Stuart Sides - modified to use "+" as the attribute delimiter instead of a ":".
2003-10-17 ?????? - Added default constructor, operator "=" and temporary members.
2003-10-30 ?????? - Added new members: HighestVersion and Exists.
2003-12-03 ?????? - Added capability to expand Preferences in the DataDirectory group only.
2004-01-14 ?????? - Added new member OriginalPath.
2004-01-22 ?????? - Added new member Name. Name returns the filename only without any path, extension or attributes.
2004-01-27 ?????? - Tool all references to attributes out. IsisFileName now ignores all cube attributes.
2004-01-27 ?????? - Removed the member FullSpecification, because FullSpecification without the cube attributes now does the same thing as FileName.
2004-01-27 ?????? - Added a new constructor with two parameters. This new constructor will create a temporary filename using the path from the Preference DataDirectory/Temporary the filename from argument one appended with a number from 100000 to 199999 and the extension of argument two.
2004-05-17 ?????? - Added new member MakeDirectory.
2005-07-28 Drew Davidson - added new member NewVersion.
2007-10-03 Steven Koechle - Fixed Temporary() so if a path was specified it will have the cwd put on in front of it.
2009-01-07 Steven Lambright - expanded() no longer behaves differently for unit tests
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2011-08-24 Steven Lambright and Tracie Sucharski - Uses QString instead of QString for simplicity when used with our GUI applications. Removed extra includes and cleaned up code a little.
2012-04-14 Steven Lambright - Renamed FileName to FileName. No longer inherits QFileInfo, paired down functionality to file name related functionality. Fixed temporary file naming to guarantee unique, unpredictable (safe) names.
2012-06-04 Steven Lambright and Stuart Sides - Added operator!= and improved unit test to include tests of operator== and operator!=. Fixes #903.
2008-12-10 Jeannie Walldren - Added "What's this?" and shortcut to "Save" action
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2011-04-05 Sharmila Prasad - Added SaveInfo option to save the current cubeviewport's whatsthis info
2011-05-11 Sharmila Prasad - Added SaveAsDialog to select the output cube and options to save FullImage, ExportAsIs, ExportFullRes
2012-02-01 Sharmila Prasad - Fixed bug #0000681 - reduce in ISIS 3.3.0 is ignoring the +N band identifier
2012-05-24 Steven Lambright - Minor changes to support prompting to save on exit once again (this has been broken for a very long time). The prompt now appears if you have edited your file but not saved it - not when clicking "Save." This was a minimal fix (I left a lot of problems to be solved at a later date). Fixes #854.
2012-06-04 Steven Lambright - Fixed a problem with the save button. References #854.
2013-01-07 Tracie Sucharski - Added AlphaCube to output cube for saving the full resolution viewport image. Fixes # 706.
2013-01-09 Tracie Sucharski - Fixed saveAsCubeByOption which was not creating the cube for the case where the scale was 1 and saveAs_FullResolution was being called without an initialized ocube. Fixes #1386.
2013-01-17 Tracie Sucharski - Fixed some round-off errors when calculating output lines/samples. Fixed printing of Results pvl group where samples and lines were swapped. References #1385.
2007-02-13 Tracie Sucharski, Close all cubes before exiting
2012-05-24 Steven Lambright - Just close the main window. This should handle everything automatically.
2008-06-25 Noah Hilt - Switched positions of the sample/line line edits and labels.
2010-03-08 - Jeannie Walldren - The recordAction() slot and recordPoint() signal were created to connect in qview to the AdvancedTrackTool record() slot.
2010-03-24 Sharmila Prasad - Enable FindTool for no camera and/or projection image
2010-05-06 Eric Hyer - Class redesigned to work with new CubeViewport
2010-05-18 Eric Hyer - Moved button for showing/hiding the red dot from the dialog to the toolbar
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Also fixed include issues.
2011-09-22 Steven Lambright - Sync scale with projections now uses a better guess for the equivalent scale. Fixes #205.
2011-09-28 Steven Lambright - The last change would zoom the active viewport. This no longer happens. References #205
2011-11-01 Steven Lambright - Explicitly wrote out and fixed equations for sync scale. Fixes #205
2011-11-03 Steven Lambright - Fixed find given a line/sample. We were calling SetUniversalGround given DBL_MAX which causes an infinite loop. So when you looked for a line/sample it would infinite loop. Sync scale does not work for image coordinates - is it supposed to?
2013-01-10 Steven Lambright - Improved sync scale calculations to work in more cases. Fixes #953.
2014-05-19 Ian Humphrey - Fixed CTRL+F shortcut and menu option to open Find Tool's Find Latitude/Longitude Coordinate dialog window. Added help text to Find Tool menu option. Minor coding standards fixes. Fixes #2087.
2008-08-?? Stacy Alley - Added red dot which is draw at the specified lat/lon or line/sample. Also, the red dot is draw in the corresponding spot of a linked image, if there is overlap in the two images.
2010-03-08 - Jeannie Walldren - This slot was created to connect the recordPoint() signal to the AdvancedTrackTool record() slot in qview.
2010-05-06 - Eric Hyer - Modified to work with new design of this class
2010-03-24 Sharmila Prasad - Enable FindTool for no camera image only for Image Point (lines and Samples)
2010-05-06 Eric Hyer - points now calculated here for every repaint. This method is now used for all images, whether they have a cam or not
2010-03-24 Sharmila Prasad - Enable FindTool for no camera image & display status as "None"
2010-05-06 Eric Hyer - This method now also updates the line edits within the dialog.
2012-05-07 Orrin Thomas - Original version
2012-06-22 Orrin Thomas - Added realLinearRoots, realQuadraticRoots, and realCubicRoots
2006-05-25 Jacob Danton Original Version
2007-07-09 Janet Barrett - Removed invalid declaration of "static const double" variables p_lowCutoff and p_highCutoff from this file and moved them to the GaussianDistribution.cpp file. The variables were also renamed to lowCutoff and highCutoff.
2006-05-25 Jacob Danton Original Version
2006-10-28 Stuart Sides Fixed stretch pair ordering
2008-09-09 Steven Lambright Fixed stretch pair ordering again; this fix does not solve our problem but makes our tests work and isn't wrong.
2010-06-10 Sharmila Prasad Updated to accomadate CnetValidMeasure base class
2010-11-10 Sharmila Prasad - Updated unittest to accomodate changes in the DefFile
2011-05-10 Steven Lambright - Fixed problem with boundingRect()
2012-07-10 Kimberly Oyama - Added the latitude and longitude extents as parameters to the constructor to support the new grid functionallity of user specified extents (map projection, bounding rectangle of the open cubes, manually entered). Also modified the constructor so it can handle drawing grids for both planetocentric and planetographic latitudes. Fixes #604.
2013-02-06 Steven Lambright - Added a safety check to make sure the increments aren't zero or negative. References #1060.
2013-03-06 Steven Lambright - Added support for getting target radii from the TargetName mapping keyword if the target radii keywords are missing. References #1534.
2007-05-09 Tracie Sucharski, Changed a single spacing value to a separate value for x and y.
2008-02-29 Steven Lambright - Created SubGrid capabilities, cleaned up Seed methods
2008-06-18 Christopher Austin - Fixed documentation errors
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2008-11-25 Steven Lambright - Added error checking
2008-12-05 Christopher Austin - capped the subgrid to 127x127 to prevent segfaults on too high a precision
2000-01-30 Steven Lambright - Fixed an issue with not seeding entire polygons when a large portion of the polygon was on the right side of the envelope.
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
2010-04-15 Eric Hyer - Now updates parent's invalidInput variable
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2010-05-06 Steven Lambright - Added Split Lat/Lon Functionality
2010-06-22 Steven Lambright - Improved handling of resolutions
2011-01-25 Steven Lambright - Now uses native units to the projection, Lat/Lon classes, and several bug fixes when it comes to out of range values or non-standard projection types.
2011-01-26 Steven Lambright - Fixed a bug where the grid was not consistent on the edges and added SetGroundLimits and WalkBoundary for the new grid options Bound lat/lon range.
2011-02-25 Steven Lambright - Min/Max Lat/Lons do not have to be known in the constructor any more
2011-12-08 Steven Lambright - Fixed a bug causing the longitude range to be incorrect. Fixes #607.
2014-06-06 Kristin Berry - Fixed a bug where lat/lon were swapped in the code. Fixes #2081.
2009-09-14 Eric Hyer - Original Version
2009-09-18 Eric Hyer - Fixed some comments / documentation
2009-10-15 Eric Hyer - Added GetStatisticTypes method
2009-09-10 Kris Becker Changed AffineThreshHold1 to AffineTranslationTolerance and AffineThreshHold2 to AffineScaleTolerance. Added AffineShearTolerance. Added logging of Gruen parameters.
2009-09-11 Kris Becker Minor error in computation of radiometric shift
2010-06-14 Jeannie Walldren - Capitalized getTransform and setTransform to match changes in Chip class
2011-05-23 Kris Becker - Reworked major portions of implementation for a more modular support.
2007-07-19 Steven Lambright Fixed bugs: Command Line not checked but displayed initially and Command Line edit was not read only.
2008-06-06 Steven Lambright Fixed bug with corrupt parameter history file causing the program to crash
2008-07-29 Steven Lambright Fixed memory leaks and naming convention
2009-11-19 Kris Becker - Made argc pass by reference since Qt's QApplication/QCoreApplication requires it
2010-03-17 Stuart Sides - Added the location of the Qt plugins into the library path
2010-07-19 Jeannie Walldren - Modified SelectFile() in GuiFileNameParameter.cpp and removed SelectFile() from GuiCubeParameter. Cube and File customization preferences are now being handled in Cube's CubeIoHandler and IsisAml classes.
2012-11-08 Janet Barrett - Modified the AddParameter method to only update exclusions for list and combobox widgets. Fixes #624.
2013-01-28 Janet Barrett - Modified the AddParameter method to also update exclusions for boolean widgets. References #1452.
2009-11-10 Mackenzie Boyd - Moved SelectFile method up to parent class GuiParameter, also moved member pointers to QToolButton and QLineEdit up.
2009-12-15 Travis Addair - Fixed bug with button for opening file dialog, made this class a child of GuiFileNameParameter, and moved SelectFile method back to this class, no longer prompting users to confirm overwriting a file.
2010-07-19 Jeannie Walldren - Removed SelectFile() method since it was identical to parent's method after output file options were modified. Updated documentation. Removed unnecessary #includes.
2011-05-21 Sharmila Prasad - Initial Version
2011-10-07 Sharmila Prasad - Added message if the file does not have write permissions and is unable to load it.
2009-11-10 Mackenzie Boyd - Moved SelectFile method up to parent class GuiParameter, also moved member pointers to QToolButton and QLineEdit up.
2009-12-15 Travis Addair - Fixed bug with button for opening file dialog, made this class a parent for GuiCubeParameter, and moved SelectFile method back to this class, no longer prompting users to confirm overwriting a file.
2010-07-19 Jeannie Walldren - Modified SelectFile() method to allow users to view files in the directory. Updated documentation.
2007-05-16 Tracie Sucharski - For files located in CWD, do not include path in the lineEdit.
2007-06-05 Steven Koechle - Corrected problem where output FileName was being opened not saved. Defaulted to output mode if not specified.
2009-11-02 Mackenzie Boyd - Corrected building of filter string to match GuiCubeParameter.cpp and, if no filters specified, to specify "Any(*)" not ";;Any(*)" as it had been doing.
2010-07-19 Jeannie Walldren - Modified to allow users to view files in the directory.
2009-11-10 Mackenzie Boyd - Refactored to reduce code duplication in children GuiCubeParameter and GuiFileNameParameter, specifically, SelectFile method.
2009-12-15 Travis Addair - Moved the SelectFile method back to children.
2008-01-14 Janet Barret - Imported into Isis3 from Isis2.
2008-03-07 Janet Barrett - Moved variables and related methods that pertain to Hapke specific parameters to the PhotoModel class.
2008-06-18 Stuart Sides - Fixed doc error
2008-10-17 Steven Lambright - Changed inheritance, moved HapkeHen specific methods into this class from the base class.
2008-11-05 Jeannie Walldren - Added documentation from Isis2 files
2012-10-15 Janet Barrett - Shortened the ZEROB0STANDARD parameter name to ZEROB0ST. This was done so that the GUI interface does not have to be resized every time it is opened. The shortened name helps to keep the parameters within the default GUI size when it is first opened. References #453. Fixes #1288.
2000-07-07 Randy Kirk - USGS, Flagstaff - Original code
2007-02-20 Janet Barrett - Imported from Isis2.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2008-06-18 Stuart Sides - Fixed error in documentation
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class. Added documentation from Isis2.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
2000-07-07 Randy Kirk - USGS, Flagstaff - Original code
2000-12-18 K Teal Thompson Port to Unix/ISIS;
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class and replaced Isis::PI with PI since this is in Isis namespace.
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
2000-07-07 Randy Kirk - USGS, Flagstaff - Original code
2007-02-20 Janet Barrett - Imported from Isis2.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2008-06-18 Stuart Sides - Fixed doc error
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class. Added documentation from Isis2.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
2000-07-07 Randy Kirk - USGS, Flagstaff - Original code
2000-12-18 K Teal Thompson Port to Unix/ISIS;
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class. Replaced Isis::PI with PI since this is in Isis namespace.
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
2005-06-29 unknown - Original Version
2006-08-17 Debbie A. Cook - Added members p_bin and p_tdi along with methods to retrieve them and the ccd
2008-05-12 Steven Lambright - Removed references to CubeInfo
2012-04-16 Jeannie Walldren - Wrapped class inside Isis namespace. Added documentation.
2009-01-21 Tracie Sucharski - Original version
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera. Camera is now pure virtual, parent class is FramingCamera.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Clementine namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor. Changed centertime in constructor to add half exposure duration to start time to maintain consistency with other Clementine models.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2005-10-03 Elizabeth Miller - Modified file to support Doxygen documentation
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of createCache(...).
2009-03-08 Debbie A. Cook Removed reference to obsolete LineScanCameraDetectorMap method SetXAxisTimeDependent
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Added NAIF error check. Removed Mro namespace.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2002-05-22 Jeff Anderson moved Reset, AddData, and RemoveData methods into public space.
2002-10-05 Tracie Sucharski added MaxBinCount, a method to return the maximum bin count.
2005-06-21 Modified index computations in AddData and RemoveData to round
2008-08-15 Added BinRange methods and functionality. Now, you can collect statistics over all of the data and also set where the binning will start and end. Increased the default number of bins for floating point cubes.
2012-01-19 Steven Lambright and Jai Rideout - Added constructor parameters to read from the Cube automatically.
2012-04-10 Orrin Thomas - Added constructor parameters to read from ControlNets automatically (For control measure data.)
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2012-01-18 Steven Lambright and Jai Rideout - Fixed issue where histograms were not created correctly for any bands but band 1. Added check for RGB mode. Fixes #668.
2012-01-20 Steven Lambright - Completed documentation.
2013-12-11 Janet Barrett - Fixed refreshPlot method so that it checks the start sample and end sample for the plot and starts the plot at the minimum of the 2 samples. Fixes #1760.
2006-12-11 Kris Becker Fixed bug in WriteInit method using a temporary string to reference a char pointer to its contents. The string remain after the reference or its toast.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2012-10-04 Jeannie Backer - Replaced if! defined with ifndef. Added forward declaration for PvlObject and include for Pvl since the include for Pvl was removed from Blob.h. Added padding to control statements. References #1169
2012-07-23 Steven Lambright - Added/fixed documentation, improved implementation of addToHistory to look for alternative text/not display blank items.
2012-07-23 Steven Lambright and Stuart Sides - Added display of undo stack
2012-07-27 Kimberly Oyama and Steven Lambright - Added resizeEvent() and improved implementation of refit(). 2012-07-31 Kimberly Oyama - Added comments to some of the methods.
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of createCache(...). Increased the delta line/samp tolerance in the unit test.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Mex namespace wrap inside Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2007-10-18 Debbie A. Cook -Corrected coding error with TransS0 and TransL0 and added ldir and sdir.
2008-06-18 Stuart Sides - Fixed doc error
2008-08-08 Steven Lambright - Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2010-09-16 Jeannie Walldren - Modified test cube to run properly with ShapeModel changes to Sensor class and updated unitTest known lat/lon values.
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-09-10 Steven Lambright - Added support for reading ideal information from the NaifKeywords object (via readValue()). This camera now works in 3 ways: detached spice (ideal keywords, e.g. TransX0, must be in the instrument group), legacy attached spice (ideal keywords are in the instrument group, but spice is attached so kernels will not be furnished), and attached spice (ideal keywords are already in the NaifKeywords object). The first method (detached spice) works by pushing the ideal keywords into the naif kernel pool. The second method (legacy attached spice) works by pushing the keywords on the fly into the NaifKeywords object (kernels won't need to be furnished). The third method works automatically. References #1094.
2007-02-12 Debbie A. Cook - Added sign for all the trans parameters
2011-05-03 Jeannie Walldren - Added NAIF error check.
2005-05-10 Leah Dahmer - Added class documentation
2005-12-28 Elizabeth Miller - Fixed bug in Pvl error output
2006-06-12 Tracie Sucharski - Change clear method to static
2006-11-02 Jeff Anderson - Fixed bug in Report method for exit status
2007-12-31 Steven Lambright - Added stack trace
2008-05-23 Steven Lambright - Added stack trace
2008-06-18 Stuart Sides - Fixed doc error
2008-07-08 Steven Lambright - Changed memory cleanup; now uses atexit
2008-10-30 Steven Lambright - iException::Message now takes a const char* for the filename, instead of a char*, issue pointed out by "novus0x2a" (Support Board Member)
2008-12-15 Steven Lambright - iException::what no longer returns deleted memory.
2009-07-29 Steven Lambright - Stack trace calculations moved to IsisDebug.h
2011-08-05 Steven Lambright - Hacked to make multi-threaded code which throws exceptions work.
2012-03-07 Jai Rideout and Steven Lambright - Completely refactored how this class works so that it no longer stores messages in static memory. This refactoring was necessary for the upcoming control network suite project to allow this class to work with multi-threading. The ErrorType enum was also shortened to include only four relevant error types, as the other error types were often misused, ambiguous, completely forgotten, and not helpful to users. The code was updated appropriately to follow the current Isis coding standards.
2012-03-13 Steven Lambright - toString() was giving "End" with an empty exception when using Format = Pvl. It should (and must) be an empty string. This is fixed – fixes #755.
2012-07-30 Jeff Anderson - Updated internal documentation to improve backward compatibility
2011-05-11 Steven Lambright - Added accessors for data that is complicated to get or expensive (i.e. Camera statistics and the footprint).
2011-05-18 Steven Lambright - Fixed the second constructor
2012-10-02 Steven Lambright - Added support for camera statistics information that used to be in CubeDisplayProperties (a class that no longer exists).
2012-10-04 Jeannie Backer Changed references to TableField methods to lower camel case. Fixed history entry indentation. Added padding to control statements. References #1169.
2011-05-11 Steven Lambright - Added accessors for data that is complicated to get or expensive (i.e. Camera statistics and the footprint).
2011-05-18 Steven Lambright - Fixed the second constructor
2012-04-13 Steven Lambright, Stuart Sides, Ken Edmundson, Tracie Sucharski - Renamed CubeDisplayProperties to DisplayProperties and reduced functionality to just DisplayProperties.
2012-06-12 Ken Edmundson - Made DisplayProperties a base class, derived ControlNetworkDisplayProperties and ImageDisplayProperties from it.
2012-04-04 Travis Addair - Added documentation.
2012-08-28 Steven Lambright - The world file should no longer overwrite the output image. This is related to #832/#970. References #579.
2013-06-05 Jeannie Backer - Changed member function and variable names for clarity. Added ExportDescription member variable, mutator, and accessor. Removed "get" prefix from method names to bring class closer to Isis coding standards. Added accessor for extension and pixel type. Added pure virtual initialize() method to be called in the setGrayscale(), setRgb(), and setRgba() methods. References #1380.
2011-07-29 Steven Lambright - Expansion state is now stored in the project file. This change will cause older versions of qmos to fail to read newer project files. References #275.
2011-08-12 Steven Lambright - Added export options, references #342
2011-08-29 Steven Lambright - Reworded save file list export action, references #342
2011-09-27 Steven Lambright - Improved user documentation
2012-06-22 Tracie Sucharski - Adapted from MosaicFileListWidget.
2012-09-12 Steven Lambright - Added save/load from XML capabilities.
2012-10-02 Steven Lambright - Added context menu to show/hide the various columns
2013-03-19 Steven Lambright - Added setDefaultFileListCols().
2013-06-17 Jeannie Backer, Tracie Sucharski, and Stuart Sides - replaced setDefaultFileListCols() with actions() to call setDefaultFileListCols() from ImageTreeWidget.
2012-03-28 Travis Addair - Added documentation.
2014-01-17 Kimberly Oyama - Added the history label to the output cube. Fixes #1894.
2014-01-27 Kimberly Oyama - Changed the method of adding the history to the cube from adding it in the import method to using Process' WriteHistory method. References #1894.
2012-09-12 Stuart Sides and Steven Lambright - Added temporary work-around to Z order actions until we get around to implementing them properly. They cannot undo, but they redo just fine right now.
2012-09-17 Steven Lambright - Added warning to show labels
2012-10-02 Stuart Sides and Steven Lambright - Removed ZoomFit Action
2005-08-03 Stuart Sides Original version
2007-11-02 Tracie Sucharski, Added HasSN method
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2008-11-03 Steven Lambright - Added the Read and Write methods
2010-05-25 Steven Lambright - Made HasAnySameSerialNumber and HasSerialNumber const
2008-06-18 Christopher Austin - Fixed documentation
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2008-11-24 Steven Lambright - Improved upon error reporting. Added the Errors() method.
2008-11-25 Steven Koechle - Moved Despike Methods from ImageOverlapSet to PolygonTools
2008-12-10 Steven Koechle - Moved MakeMultiPolygon Method from ImageOverlapSet to PolygonTools
2008-12-05 Steven Lambright - Checking footprints for validity now, fixed an issue with the intersection operator where an invalid but repairable polygon is produced, and fixed a memory leak.
2008-12-15 Steven Koechle - Fixed to read new footprint blob naming scheme.
2009-01-06 Steven Koechle - Removed backwards compatibility for old footprint blob name. Added a throw if footprints are invalid in an image.
2009-01-07 Steven Lambright & Christopher Austin - Fixed handling of Despike(...) throwing errors on empty polygons
2009-01-13 Steven Lambright - Deletes both overlaps if an intersection fails for an unknown reason.
2009-01-28 Steven Lambright - Fixed memory leaks
2009-03-12 Christopher Austin - Added the MULTIPOLYGON to HandleError() as the Keyword "Polygon"
2009-06-01 Christopher Austin - Changed the basic algorithm to improve results.
2009-06-01 Steven Lambright - Multi-threaded this object. Split code into smaller methods, now new elements are inserted next instead of appended to the end of the overlap list, and added more error-recovery solutions.
2010-09-27 Christopher Austin - Added an error when no new overlaps are calculated. (i.e. All overlaps contain only a single Serial Number)
2011-03-29 Steven Lambright - Added some safety around p_lonLatOverlaps to (hopefully) get rid of a race condition.
2006-05-17 Stuart Sides Renamed from PolygonTools and moved the geos::GeometryFactory to the new PolygonTools
2007-01-04 Tracie Sucharski, Fixed bug in Fix360Poly, on non-pole images after splitting at the 360 boundary, wasn't insuring that start and end points of polygon were the same.
2007-01-05 Tracie Sucharski, Made a change to the SetImage method. Cannot make the assumption that if a sample/line returns a lat/lon, that the lat/lon will return a sample/line. This was found using a Moc WA, global image, sample 1, line 1 returned a lat/lon, but entering that lat/lon does not return a valid sample/line.
2007-01-08 Tracie Sucharski, Fixed bugs in the ToImage and ToGround class for images that contain a pole.
2007-02-06 Tracie Sucharski, Added band parameter to Create method and call UniversalGroundMap::SetBand.
2007-05-04 Robert Sucharski, with Jeff, Stuart, and Tracie's blessing, moved the WKT method to the PolygonTools class.
2007-07-26 Tracie Sucharski, Added ss,sl,ns,nl to constructor for sub-poly creation.
2007-11-09 Tracie Sucharski, Remove WKT method since the geos package know has a method to return a WKT string
2008-03-17 Tracie Sucharski, Added try/catch block to Create and Fix360Poly to catch geos exceptions.
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2008-12-10 Steven Koechle - Split pole code into seperate function, chanded the way FixPoly360 did its intersection to handle a multipolygon being returned.
2008-12-10 Steven Lambright - Fixed logical problem which could happen when the limb of the planet was on the left and was the first thing found in the FindPoly method.
2009-01-06 Steven Koechle - Changed Constructor, removed backwards compatibility for footprint name.
2009-01-28 Steven Lambright - Fixed memory leaks
2009-02-20 Steven Koechle - Fixed Fix360Poly to use the PolygonTools Intersect method.
2009-04-17 Steven Koechle - Rewrote most of the class. Implemented a left-hand rule AI walking algotithm in the walkpoly method. Pole and 360 boundary logic was more integrated and simplified. Method of finding the first point was seperated into its own method.
2009-05-06 Steven Koechle - Fixed Error where a NULL polygon was being written.
2009-05-28 Steven Lambright - This program will no longer generate invalid polygons and should use despike as a correction algorithm if it is necessary.
2009-05-28 Stuart Sides - Added a new argument to Create for controling the quality of the polygon.
2009-05-28 Steven Lambright - Moved the quality parameter in the argument list, improved speed and the edges of files (and subareas) should be checked if the algorithm reaches them now. Fixed the sub-area capabilities.
2009-06-16 Christopher Austin - Fixed WalkPoly() to catch large pixel increments that ( though snapping ) skip over the starting point. Also skip the first left turn in FindNextPoint() to prevent double point checking as well as errors with snapping.
2009-06-17 Christopher Austin - Removed p_name. Uses parent Name()
2009-06-18 Christopher Austin - Changes starting point skipping solution to a snap. Added fix for polygons that form self-intersecting polygons due to this first point snapping.
2009-06-19 Christopher Austin - Temporarily reverted for backport, fixed truthdata for SpiceRotation, re-commited with all updates
2009-07-01 Christopher Austin - Added Emission and Phase Angle tolerences.
2009-07-09 Christopher Austin - Fixed range error in FixPolePoly() when no points cross, an overflow exception, as well as emission and incidence handling of poles.
2009-07-21 Christopher Austin - Added limb snapping along with internal corner searching. Fixed lat/lon crossing when samp/line does not cross. Removed the SetUniversalGround call in SetImage(). Limbs are now detected and handled using an ellipsoid shape model if p_ellipsoid is true.
2009-07-28 Christopher Austin - Changed qualitiy increment to sample/line increment to remove unnecessary points from the polygon.
2009-08-05 Christopher Austin - Added pole meridian proper polygon division.
2009-08-20 Christopher Austin - Added meridian walking and subpixel accuracy.
2009-08-28 Christopher Austin - Fixed a memory bounds error.
2010-02-08 Christopher Austin - Fixed an infinite loop which revisited the starting point, and added 360 meridian crossing
2010-02-17 Christopher Austin - Fixed two more infinite looping issues, including a cycle fix which occured during Emission Angle and Incidence Angle restrictions
2011-05-11 Steven Lambright - Now works with projected images.
2011-05-12 Christopher Austin - Added validSample/LineDim() functionality.
2011-07-01 Travis Addair - Added outlier check to FindFirstPoint() to avoid choosing a first point without any valid neighbors (i.e., an outlier).
2012-05-14 Steven Lambright - Added safety to the calcImageBorderCoordinates method, along with the validSampleDim and validLineDim methods. This fixes seg faults. Fixes #686.
2012-07-16 Steven Lambright - Fixed a bug in WalkPoly() that caused crashing periodically due to accessing a vector outside of it's bounds (negative indices). This was in the 'triangle' (loop) detection code. Fixes #994.
2007-01-19 Tracie Sucharski, Comment out the ToGround method.
2007-01-31 Tracie Sucharski, Add WKT method to return WKT polygon as a string.
2008-06-18 Stuart Sides - Fixed doc error
2008-04-28 Tracie Sucharski, When calculating p_pixInc, set to 1 if values calculated is 0.
2008-12-30 Tracie Sucharski - If ground map returns pole make sure it is actually on the image.
2009-05-28 Stuart Sides - Added the quality argument.
2012-09-12 Steven Lambright - createGroup() will no longer fail if a NULL image list item is provided, it will instead create the group at the root level.
2012-09-17 Steven Lambright - Optimized for 50,000+ images. Added m_displayPropsToTreeItemLookup (changed n/2 operation to log(n)). Added queued selection changed (changed some n^2 operations to n).
2013-03-19 Steven Lambright - Added setDefaultFileListCols() and set column defaults in constructor.
2013-06-27 Tracie Sucharski - Fixed bug which resulted in a seg fault when attempting to add a group to the file list. This was introduced in the changes for "a.out". Fixes #1693.
2013-07-02 Tracie Sucharski - Restored old qmos functionality for inserting new groups and fixed bug dragging and dropping groups. Fixes #1697.
2011-05-18 Steven Lambright - Resolution now sorts correctly
2012-10-02 Steven Lambright - Added phase angle, aspect ratio, sample resolution, line resolution and north azimuth columns, added setColumnValue().
2012-08-24 Steven Lambright and Stuart Sides - Removed GUI-thread slowdown of image verification
2012-08-29 Steven Lambright - This work order should now work correctly even when just 1 QtConcurrent thread is enabled.
2012-10-02 Steven Lambright - Image ID's are now guaranteed to be the same after undo/redo. This is a beginning step for making work orders whose images are freed from memory undo/redo correctly.
2012-10-29 Steven Lambright - Added a prompt to save the project if importing a lot of images to a temporary project.
2011-08-02 Kris Becker - Modified to ensure the proper size of strings are exported to the TableRecord
2012-10-04 Jeannie Backer - Changed references to TableField methods to lower camel case. Added and ordered includes. Moved method implementation to cpp. References #1169.
2012-11-21 Jeannie Backer - Added implementation for importing binary PDS tables. Changed method name from "exportAsTable" to "importTable". Improved unitTest coverage. References #700.
2007-08-22 Steven Lambright - Changed p_operators from vector to QList (static std::vector is unsafe)
2008-01-23 Steven Lambright - Added the operators (constants) PI and e
2010-02-23 Steven Lambright - Operator/Function input strings and output strings now separated
2010-04-08 Steven Lambright - Min, max functions expanded upon
2012-01-09 Jeff Anderson - Modified to conform ISIS programming standards
2012-12-05 Kris Becker - Original version.
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
2006-02-11 Jacob Danton - Original Version
2007-08-02 Steven Koechle - Added better documentation to CompareInterests().
2007-08-02 Steven Koechle - Fixed looping error that caused subchip to go outside the chip to the left and top, and not check the bottom and right.
2007-08-14 Steven Koechle - Added virtual method Padding() which default returns 0.
2007-08-16 Steven Koechle - Fixed Looping error in Operate. Made the loops <= instead of just <. Changed from accepting one delta to accepting a deltaSamp and a deltaLine.
2008-06-18 Stuart Sides - Fixed doc error
2008-08-19 Steven Koechle - Updated to work with Geos3.0.0
2009-08-11 Travis Addair - Added functionality allowing it and all its subclasses to return the pvl group that they were initialized from
2010-04-09 Sharmila Prasad - API's to check valid DN and Emission Angle. Also changed functionality of Operate and made it overloaded.
2010-04-30 Sharmila Prasad - Added class members mdBestEmissionAngle, mdBestDnValue and their access functions.Also added member mUnusedParamGrp to check for the default values used for the operator.
2010-04-30 Sharmila Prasad - (1) Interest Operator child of ControlNetValidMeasure which validates all the standard control network options. Changed functionality to accomadate ControlNetValidMeasure (2) Removed class members mdBestEmissionAngle, mdBestDnValue..., instead stored in structure InterestResults structure (3) Move processing ImageOverlaps from app to here. (4) Added API's to compute Interest by point and by measure.
2010-06-18 Sharmila Prasad - (1) Fixed Bug to ignore Points with bad interest (2) Do not process previously Ignored points in the Original Control Net
2010-06-21 Sharmila Prasad - Remove references to UniversalGroundMap and Cubes use CubeManager instead.
2010-06-23 Sharmila Prasad - Use ControlNetValidMeasure's Validate Standard Options & Std Options Pixels/Meters from Edge
2010-07-13 Tracie Sucharski - Make changes to implement the new or modified keywords for the implementation of binary control networks.
2010-10-05 Sharmila Prasad - Process EditLock feature
2010-10-15 Sharmila Prasad - Use only a single copy of Control Net
2010-10-22 Sharmila Prasad - Reset apriori for source==Reference
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2010-10-28 Sharmila Prasad - Log, if Reference changed and apriorisource==Reference
2010-11-10 Sharmila Prasad - Modify unit test to accomodate changes in the deffile
2010-11-12 Sharmila Prasad - Move definition of structure InterestResults to private
2010-12-29 Sharmila Prasad - Modified for new ControlNet API's (UpdatePoint, UpdateMeasure)
2011-02-24 Sharmila Prasad - Fixed segmentation fault
2011-05-14 Sharmila Prasad - Modified to accomodate changes to ControlNetValidMeasure which added line, sample residuals for Measure validation
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-11-21 Sharmila Prasad - (1) InterestOperator should run without ValidMeasure Group. (2) The Validity test must be performed on Measure after moving to new location. Fixes Mantis #584
2011-11-23 Sharmila Prasad - Process for control nets with Reference not explicitly set. Fixes #589
2013-03-08 Kimberly Oyama and Steven Lambright - Added a try/catch to InterestByPoint(). References #825.
2014-03-03 Janet Barrett - Changed the FindCnetRef method to report status on number of points processed instead of number of measures. Fixes #2040.
2010-07-13 Tracie Sucharski, Changes for binary control networks, Measure type of Estimated is now Candidate and instead of a separate keyword indicating whether a meausre is the reference, the MeasureType is set to Reference.
2010-10-04 Sharmila Prasad - Modified for binary Control Net ex Edit Lock
2010-10-15 Sharmila Prasad - Use only a single copy of Control Net
2010-03-30 Sharmila Prasad - Check for valid DN Value and Emission Angle in the user defined ValidMin-ValidMax range when selecting point of interest in a Control Measure
2010-06-23 Sharmila Prasad - Validate for Resolution Range and Pixels/Meters from edge options
2010-04-09 Sharmila Prasad Check for validity of new keyword "MaxEmissionAngle"
2010-06-10 Sharmila Prasad Parse only Interest specific keywords and store in Operator group
2003-02-12 Stuart Sides Fixed misspelling of object name in XML file. (Note: XML files no longer used in documentation.)
2003-05-16 Stuart Sides modified schema from astrogeology...isis.astrogeology.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code
2007-02-20 Janet Barrett - Imported from Isis2.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2008-06-18 Stuart Sides - Fixed doc error
2008-11-05 Jeannie Walldren - Replaced reference to NumericalMethods::r8expint() with AtmosModel::En(). Added documentation from Isis2.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
2008-11-05 Jeannie Walldren - Replaced NumericalMethods::r8expint() with AtmosModel::En(). Replaced Isis::PI with PI since this is in Isis namespace.
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code
2007-02-20 Janet Barrett - Imported from Isis2.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2008-06-18 Stuart Sides - Fixed doc error
2008-11-05 Jeannie Walldren - Replaced reference to NumericalMethods::r8expint() with AtmosModel::En(), NumericalMethods::G11Prime() with AtmosModel::G11Prime(), and NumericalMethods::r8ei() with AtmosModel::Ei(). Added documentation from Isis2.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
1998-12-21 Randy Kirk, USGS, Flagstaff - Original code
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
2008-11-05 Jeannie Walldren - Replaced reference to NumericalMethods::r8expint() with AtmosModel::En(), NumericalMethods::G11Prime() with AtmosModel::G11Prime(), and NumericalMethods::r8ei() with AtmosModel::Ei(). Replaced Isis::PI with PI since this is in Isis namespace.
2011-12-19 Janet Barrett - Added code to estimate the shadow brightness value (transs). Also got rid of unnecessary check for identical photometric angle values between successive calls. This check should only be made in the photometric models.
2007-07-10 Steven Koechle - Original Version
2007-07-10 Steven Koechle - Removed hardcoding of NAIF Instrument number
2007-07-11 Steven Koechle - casted NaifIkCode to int before iString to fix problem on Linux 32bit
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2009-01-22 Kris Becker Added new frame rotation to the CK frame hierarchy to convert to detector coordinates. This is essentially a 180 degree rotation. The frame definition is actually contained in the IAK.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras
2011-02-09 Steven Lambright - Major changes to camera classes documentation.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Cassini namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-09-12 Stuart C. Sides - Added ability for the camera to use the default focal length if the observation was taken using a filter combination not supported in the calibration report. Fixes #837.
2007-07-10 Steven Koechle - Original Version
2007-07-10 Steven Koechle - Removed hardcoding of NAIF Instrument number
2007-07-11 Steven Koechle - casted NaifIkCode to int before QString to fix problem on Linux 32bit
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2009-01-22 Kris Becker Added new frame rotation to the CK frame hierarchy to convert to detector coordinates. This is essentially a 180 degree rotation. The frame definition is actually contained in the IAK.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Cassini namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2003-02-05 Jeff Anderson - Modified the constructor routine which accepts a type of double (i.e., conversion of a double to a string). The constructor now generates nice output as indicated in the documentation.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-30 Jeff Anderson - Updated unitTest and truth file to account for optimzation changes
2003-05-30 Stuart Sides - Modified conversion of double to string constructor to output 14 place of accuracy
2003-06-24 Stuart Sides - Modified UpCase and DownCase to use the transform from the STL instead of looping and converting individual chars
2003-06-25 Stuart Sides - Added member function to remove all characters which are in the parameter from the object string (Remove)
2003-06-25 Stuart Sides - Added documentation for new member (Remove)
2003-07-17 Stuart Sides - Fixed bug in Convert. It sometimes would not convert any characters even though it should have. find_first_of should be "!=npos" instead of ">0".
2003-08-14 Stuart Sides - Fixed bug in Token. It would not parse "a","b" correctly.
2004-02-20 Stuart Sides - Added ability for ToDouble to convert PDS hex values to a double
2004-04-14 Jeff Anderson - Added (int) (double) and (string) cast conversions and operator= methods
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-05-20 Jeff Anderson - Added BigInt methods
2008-07-14 Steven Lambright - Made some members const
2008-07-16 Steven Lambright - Added support for double nans and inifinities
2010-03-18 Sharmila Prasad - Ability to set the exact precision digits for double
2010-09-27 Sharmila Prasad - Moved ParseExpression from ControlNetFilter to IString class
2010-10-04 Sharmila Prasad - Remove redundant ParseExpression
2011-06-16 Jai Rideout - Fixed size of double string buffer to work with doubles that are -DBLMAX
2012-08-20 Steven Lambright - Deprecated. Please use IString instead of IString or std::string. This file now provides toBool(), toInt(), toBigInt(), toDouble(), and toString() which are not deprecated. Renamed from iString to IString to better match our new naming conventions and because this class isn't going to be removed overnight. Here are some equivalents to IString functionality: Trim() - Please use IString::trimmed(), IString::simplified() or IString::remove(QRegExp("(^[abc]*|[abc]*$)")) TrimHead() - Please use IString::trimmed(), IString::simplified() or IString::remove(QRegExp("^[abc]*")) TrimTail() - Please use IString::trimmed(), IString::simplified() or IString::remove(QRegExp("[abc]*$")) UpCase() - Please use IString::toUpper() DownCase() - Please use IString::toLower() ToQt() - N/A Token() - Please use IString::split() or IString::section() Split() - Please use IString::split() Replace() - Please use IString::replace(). If you need to respect quotes, please create a standard-compliant static method Convert() - Please use IString::replace() ConvertWhiteSpace() - Please use IString::simplified() or IString::replace(QRegExp("\\s"), " ") Remove() - Please use IString::remove() operator IString() - N/A Equal() - Please use operator==() ToStd() - Please use IString::toStdString() ToQt(vector) - This is not a string operation, it's more of a string list operation. ToStd(IStringList) - This is not a string operation, it's more of a string list operation. operator int()/ToInteger() - see the new function toInt() operator double()/ToDouble() - see the new function toDouble() operator BigInt()/ToBigInteger() - see the new function toBigInt() operator=(const int &) - toString() handles this operator=(const BigInt &) - toString() handles this operator=(const double &) - toString() handles this SetDouble() - No longer necessary, only one method converts from a double to a string Compress() - Please use IString::trimmed(), IString::simplified() or IString::replace(). If you need to respect quotes, please create a standard-compliant static method.
2012-10-13 Kris Becker - Fixed compatability issue with Qt on MacOSX
2012-12-18 Steven Lambright - Isis' API now only utilizes QStrings. Please use the toString(...) and to*(QString) (i.e. toBool(QString), toInt(QString), ...) methods. All public API's should use/expect QString (not IString, not std::string). This affects virtually every class in Isis. Fixes #1312.
2006-01-23 Jacob Danton - Changed the scientific notation start value (from 0.1 to 0.0001)
2007-06-05 Brendan George - Merged with StringTools
2007-07-17 Steven Lambright - Fixed bug where -0.0 would result in SetDouble
2007-07-25 Steven Koechle - Fixed a bug where one of the TrimTail methods was calling erase incorrectly.
2008-02-08 Steven Koechle - Keeps Convert from infinite looping
2008-02-22 Steven Koechle - Added a Replace method that honors quotes
2008-06-12 Jeannie Walldren - Fixed a bug in Compress method so that it is able to deal with multiple quotations within the string
2008-06-18 Stuart Sides - Fixed doc error
2005-02-15 Stuart Sides - add coded and implementation examples to class documentation and document IString(const char *str), and private methods
2009-11-02 Mackenzie Boyd - Modified Token method to ignore any quote groupings. Problems arose with current method and unclosed quotes.
2003-11-05 Stuart Sides - Fixed error in documentation
2003-12-03 Stuart Sides - Added comparison operators for (>=, <=, >, <, ==, and !=)
2003-12-09 Stuart Sides - Modified so all iTime objects will share the same leap second kernel. This means the leapsecond kernel will be loaded once and never unloaded. Other objects which use the leapsecond kernel should not unload it either.
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-03-31 Elizabeth Miller - added UTC method
2006-10-02 Brendan George - Added CurrentLocalTime and CurrentGMT methods
2007-12-07 Kris Becker - Modifed the SecondString() method to always return fixed notation for fractions of a second of no more than 8 digits after the decimal point. It was returning scientific notation causing parsing errors (in NAIF, PostgreSQL TIMESTAMP fields, etc...)
2011-05-25 Janet Barrett and Steven Lambright - Added setUtc, setEt and addition operators
2009-12-18 Janet Barrett - Original version.
2012-04-06 Kris Becker - Fixed condition compilation where support for JP2K is disabled
2009-01-11 Janet Barrett - Original version.
2012-04-06 Kris Becker - Fixed condition compilation where support for JP2K is disabled
2012-04-04 Travis Addair - Added documentation.
2013-06-05 Jeannie Backer - Removed "get" prefix from ImageExporter method calls. References #1380.
2012-06-14 Orrin Thomas - original version
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2020-06-20 Orrin Thomas - Original Version
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2005-12-27 Jacob Danton - Added support for multiple files and fixed a bug in SearchMatch.
2007-07-09 Steven Lambright - Removed inheritance from PVL
2007-10-25 Steven Koechle - Corrected Smithed Enum fixed search methods.
2007-07-09 Steven Lambright - Added Kernel class and multiple-ck return
2009-05-12 Steven Lambright - Added Camera Version Checking
2010-07-19 Steven Lambright - Added kernel selection merging
2011-10-05 Jacob Danton - The placement of int cameraVersion = CameraFactory::CameraVersion(lab); was the reason that spiceinit ran so slowly. Its placement in the "Matches" function resulted in CameraFactory reading in the "Camera.plugin" file for every single kernel in both the CK and SPK kernels.????.db files. That means, for LRO, it was read in around 2100 times. By moving this line of code out of the "Matches" function and into the "FindAll" function (the only one that calls "Matches") and then passing it as a parameter, I was able to reduce the time to about 5% (from almost 4 minutes to under 15 seconds).
2013-02-26 Jeannie Backer - Modified loadSystemDb() to check kernel directories first for config files that are mission specific and/or point to multiple db files. If the config files do not exist, then the newest db file from that kernel directory is read. Added m_kernelDbFiles, kernelDbFiles(), and readKernelDbFiles(). Moved Kernel class from the KernelDb header file into it's own directory. Moved the KernelType enumeration from a global "spiceInit" namespace in this header file into the Kernel class and renamed it Type. Changed method names to lower camel case and changed member variable prefix to m_ to comply with Isis3 standards. Documented methods, member variables. Added cases to unitTest.Fixes #924.
2013-02-27 Steven Lambright - This class no longer requires the Instrument group (or camera version information) to be present in order to enumerate kernels. This was done so that the 'shadow' program could find a PCK and SPK to load despite not having a cube with camera information. References #1232.
2010-12-29 Kris Becker - added resolveTypeByExt() method to find non-compliant NAIF file type identifiers kernels
2011-02-07 Kris Becker Corrected typo in Kernels/Extra (was Extras)
2011-02-28 Kris Becker - When using the examine() method, if the kernel is found to be loaded, its management state is set to unmanaged
2011-03-27 Kris Becker - Added copy constructor and assignment operator
2015-03-05 Kris Becker - Added support for DSK and meta kernels types. References #2035
2012-07-25 Jeannie Backer - Original version. Fixes #954.
2012-01-20 Debbie A. Cook - Changed to use TProjection. References #775.
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version methods
2008-08-15 Stuart Sides - Modified to allow standard parallels to be in any order. Modified to not accept center latitudes too close to either pole.
2009-03-20 Stuart Sides - Modified to not accept center latitudes near the pole opposite the apex of the cone
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Ordered includes in implementation file. Moved Name, Version, and TrueScaleLatitude to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to uTProjection instead of Projection. References #775.
2009-03-03 Tracie Sucharski, Undo the PositiveWest adjustment to the center longitude because it is done twice, once in the constructor and again in SetGround.
2009-03-20 Stuart Sides, Modified the validity check for center latitude. It now only tests for the pole opposite the apex of the cone.
2011-01-25 Steven Lambright - Added a constructor which takes a mapping group.
2012-07-26 Kimberly Oyama and Steven Lambright - Added two add methods to handle planetographic latitudes. The first takes the angle to add and a Pvl mapping group to determine the latitude type and add accordingly. The second takes the angle to add, the equatorial and polar radii, and the latitude type. References #604.
2013-03-06 Steven Lambright - Added support for getting Radii from TargetName keyword. References #1534.
2004-06-24 Jeff Anderson, Original version
2007-11-16 Tracie Sucharski and Debbie A. Cook Added SolveQRD method for a faster solve
2008-02-06 Tracie Sucharski, Renamed Solve to SolveSVD and make private. Add public Solve, with a new parameter, method which defaults to SVD. This calls the correct solution method. This was done for documentation purposes-clarifies the default solves by SVD.
2008-04-16 Debbie Cook / Tracie Sucharski, Added SolveSparse.
2008-06-09 Tracie Sucharski, Added conditional compilations for Solaris. We could not get SuperLu to build under Solaris due to a confilict with Complex definitions.
2009-04-06 Tracie Sucharski, Added return value to SolveSparse, which indicates a column containing all zeroes which causes superlu to bomb.
2009-12-21 Jeannie Walldren, Changed p_weight to p_sqrtweight. Modified Weight() and AddKnown() to take the square root of the given weight and add it to the p_sqrtweight vector.
2010-04-20 Debbie A. Cook, Replaced SparseReset with Reset to reset all solution methods
2010-11-22 Debbie A. Cook - Merged with Ken Edmundson version
2013-12-29 Jeannie Backer - Improved error messages. Fixes #962.
2008-04-22 Tracie Sucharski, Fill sparse matrix.
2009-12-21 Jeannie Walldren, Modified code to add the square root of the weight to the vector p_sqrtweight.
2008-04-22 Tracie Sucharski - New method for sparse solutions.
2009-12-21 Jeannie Walldren - Changed variable name from p_weight to p_sqrtweight.
2008-04-16 Debbie Cook / Tracie Sucharski, Added SolveSparse.
2009-04-08 Tracie Sucharski - Added return value which will pass on what is returned from SolveSparse which is a column number of a column that contained all zeros.
2010-12-12 Debbie A. Cook Fixed "no data" test for SPARSE case
2008-04-16 Debbie Cook / Tracie Sucharski, New method
2008-04-23 Tracie Sucharski, Fill sparse matrix as we go in AddKnown method rather than in the solve method, otherwise we run out of memory very quickly.
2009-04-08 Tracie Sucharski - Added return value which is a column number of a column that contained all zeros.
2009-12-21 Jeannie Walldren - Changed variable name from p_weight to p_sqrtweight.
2010 Ken Edmundson
2010-11-20 Debbie A. Cook Merged Ken Edmundson verion with system version
2011-03-17 Ken Edmundson Corrected computation of residuals
2012-10-31 Kris Becker - New class iprovides support for swapping of observer/target and light time correction to surface. Fixes (mostly) #0909, #1136 and #1223.
2012-11-01 Kris Becker - Fixed isLightTimeCorrected() as it was returning exactly opposite what it should be. References #1136.
2012-12-04 Kris Becker - Corrected documentation
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2008-11-12 Steven Lambright - Fixed documentation
2008-11-25 Steven Lambright - Added error checking
2008-12-23 Steven Lambright - Fixed problem with finding points in polygons that caused this algorithm to miss some.
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
2010-04-15 Eric Hyer - Now updates parent's invalidInput variable
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-28 Elizabeth Ribelin - Modified file to support Doxygen documentation
2007-12-06 Chris Austin - Added option to constructor to change the order of the progression through the cube
2012-11-21 Jeannie Backer - Improved error messages. References #1058.
2010-08-04 Jeannie Walldren - Fixed the #ifndef identifier to define PushFrameCamera_h. Updated documentation.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2013-02-11 E. Howington-Kraus - Added accessor method StartTime(). This is tested by application socetlinescankeywords since no unitTest exists. References #1490.
2005-02-08 Jeff Anderson - Original version
2005-08-24 Jeff Anderson - Fixed bug when algorithm was checking for the backside of the planet and convergence failed (checkHidden)
2005-11-16 Jeff Anderson - Fixed bug when a image covers more than 180 degrees in an orbit which would cause two focal plane roots to be inside the start/end time range.
2007-12-21 Debbie A. Cook - Added overloaded method SetGround that includes a radius argument
2009-03-02 Steven Lambright - Added an additional method of finding the point in SetGround(...) if the original algorithm fails. The spacecraft position at the beginning and end of the image are now being used to estimate the correct line if the bounding check fails the first time through.
2010-06-17 Steven Lambright - More tolerant of failures in the distortion models for finding the bounds of the search in FindSpacecraftDistance
2010-12-07 Steven Lambright - SetGround(double,double) now goes straight to the radius instead of using SetUniversalGround to get the radius.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2005-10-13 Jeff Anderson - Fixed a bug. Removed failure comparsion test on Sensor::SetRightAscensionDeclination calls. A failure indicated we didn't hit the target but we don't care here since the target is the sky.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2007-07-17 Debbie A. Cook - Original Version
2007-11-01 Debbie A. Cook - Revised to handle medium resolution camera
2008-06-18 Steven Lambright - Fixed documentation
2010-09-23 Debbie A. Cook - Added std before vector declarations to avoid confusion with boost vector
2011-05-03 Jeannie Walldren - Updated documentation. Removed Lo namespace wrap inside Isis namespace wrap.
2007-07-17 Debbie A. Cook - Original Version
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Removed Lo namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-01-17 Kris Becker Corrected CkFrameId reference to properly define LO 3,4,5 at runtime for generation of CKs using ckwriter. References #1737.
2007-06-29 Debbie A. Cook - Original version
2008-02-04 Jeff Anderson - Made change to allow for variable focal length in THEMIS IR
2008-07-25 Steven Lambright - Fixed constructor; CameraDistortionMap is responsible both for setting the p_camera protected member and calling Camera::SetDistortionMap. When the parent called Camera::SetDistortionMap the Camera took ownership of the instance of this object. By calling this twice, and with Camera only supporting having one distortion map, this object was deleted before the constructor was finished.
2011-05-03 Jeannie Walldren - Updated documentation. Removed Lo namespace wrap.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2013-02-22 Debbie A. Cook - Updated SetUndistortedFocalPlane method to reflect correction made to LookCtoFocalPlaneXY in CameraGroundMap. The adjustment for the z direction occurs in CameraGroundMap and is no needed here. Fixes Mantis ticket #1524
2007-07-17 Debbie A. Cook - Original Version
2008-04-07 Debbie A. Cook - Set x/y axis directions for jigsaw
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Removed Lo namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-01-17 Kris Becker Corrected CkFrameId reference to properly define LO 3,4,5 at runtime for generation of CKs using ckwriter. References #1737.
2007-07-31 Debbie A. Cook - Original version
2008-02-04 Jeff Anderson - Made change to support variable focal length in THEMIS IR camera
2008-07-25 Steven Lambright - Fixed constructor; CameraDistortionMap is responsible both for setting the p_camera protected member and calling Camera::SetDistortionMap. When the parent called Camera::SetDistortionMap the Camera took ownership of the instance of this object. By calling this twice, and with Camera only supporting having one distortion map, this object was deleted before the constructor was finished.
2009-05-22 Debbie A. Cook - Cleaned up code and added iteration loop. Previous version only iterated twice, but results indicated more iterations were needed for better accuracy.
2009-08-21 Debbie A. Cook - Added test for data outside focal plane limits plus 10% to avoid getting erroneous data projected on oblique images
2010-01-25 Debbie A. Cook - Increased out-of-bounds test to 17.5% of fiducial max to make sure lat/lons were defined to the image edges
2011-05-03 Jeannie Walldren - Updated documentation. Removed Lo namespace wrap.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2013-02-22 Debbie A. Cook - Updated SetUndistortedFocalPlane method to reflect correction made to LookCtoFocalPlaneXY in CameraGroundMap. The adjustment for the z direction occurs in CameraGroundMap and is no needed here. Fixes Mantis ticket #1524
2011-01-25 Steven Lambright - Added a constructor which takes a mapping group.
2012-06-29 Kimberly Oyama and Steven Lambright - added to360Range() to calculate where the longitude range is in 0-360. Also updated the unit tests to test inRange() and to360Range(). References #958.
2012-08-10 Kimberly Oyama - Modified force360Domain() so that if the angle is 360, it is left at 360 instead of being changed to 0. Added a test case to the unit test to exercise this change. Fixes #999.
2009-02-20 Jacob Danton, Original Object
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Lro namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2010-05-10 Ken Edmundson - Corrected computation of distorted and undistorted locations
2010-08-21 Kris Becker - Changed the sign of the distortion parameter to match the calibration report. The LRO/LROC IK lro_lroc_v14.ti and above contain the appropriate parameters to coincide with the code change made here. IMPORTANT: This results in Version = 2 of the LroNarrowAngleCamera as depicted in the Camera.plugin for both NAC-L and NAC-R.
2011-05-03 Jeannie Walldren - Removed Lro namespace wrap.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-07-15 Steven Lambright - Added support for COLOROFFSET
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2009-09-09 Steven Lambright - Updated wavelengths
2009-11-06 Steven Lambright - FilterName keyword is now Center
2010-03-15 Steven Lambright - Tiling hint now set to a safe value regardless of output projection resolution. Also incorporated ASU's changes for new modes.
2010-05-12 Kris Becker - Added checks for number of bands to match number of values in BandBin/Center keyword and insure a valid band is selected in SetBand() method; Rewrote the camera distortion model that also requires negative coefficients in IK kernel.
2010-08-21 Kris Becker - Reworked the camera model to utilize the contents of the IK, which is new. The LRO/LROC IK lro_lroc_v14.ti and higher contain the appropriate parameters to coincide with the code changes made here. IMPORTANT: This results in Version = 2 of the LroWideAngleCamera as depicted in the Camera.plugin for both WAC-UV and WAC-VIS.
2010-10-04 Kris Becker - Modified the frame kernel code to use the instrument code instead of the WAC ID. This change was brought about with the release of frames kernel lro_frames_2010214_v01.tf (actually used version 2010277 that contains updated angles for VIS and UV).
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Lro namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-04-17 Jeannie Backer - Updated due to method name change in PushFrameCameraDetectorMap. Moved method implementations to cpp file. References #1659
2013-03-05 Kris Becker - added band dependent parameters as determined by the ASU LROC team.
2009-11-19 Kris Becker - Changed the convergence tolerance from 1/10,000 of a pixel to 1/100 of a pixel
2010-05-05 Ken Edmundson - Corrected distorted and undistorted computations; Fix requires coefficients in the lro_instruments_v??.ti to be negative (essentially matches what is reported in the calibration document); removed the GuessDx method as it was not used; updated the UV boresight in the IK based upon analysis of the VIS and UV.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-08-30 Kris Becker - Implemented new decentering distortion model. This becomes version 3 of the camera model
2012-03-06 Kris Becker - Added distortion model tolerance parameter
2013-03-07 Kris Becker - Modified to implement new distortion model with three terms and allow for band independant distortions.
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Ordered includes in implementation file. Moved Name and Version methods to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2009-01-22 Jeannie Walldren - Original Version
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera. Camera is now pure virtual, parent class is FramingCamera.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Clementine namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor. Changed centertime in constructor to add half exposure duration to start time to maintain consistency with other Clementine models.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-01-16 Jeannie Walldren - Original Version
2011-05-03 Jeannie Walldren - Added NAIF error check. Added call to ShutterOpenCloseTimes() method. Changed centertime to add half exposure duration to start time to maintain consistency with other Clementine models.
2012-04-05 Steven Lambright - Improved saving and restoring state by making the closeEvent() and hideEvent() actually override the parent's methods and removing the eventFilter. References #593.
2012-05-29 Steven Lambright - Fixed a bug where closeEvent method was not calling the paren't version.
2008-11-19 Steven Lambright - Added distortion model, made VIS bands other than orange work
2008-11-25 Steven Lambright - The coloroffset now works properly; if an offset is supplied in marci2isis the cube will still project properly.
2009-03-17 Steven Lambright - Fixed UV to work with the distortion model correctly
2009-05-21 Steven Lambright - Fixed GeometricTilingHint for summed images
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Mro namespace wrap inside Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-04-17 Jeannie Backer - Updated due to method name change in PushFrameCameraDetectorMap. Moved method implementations to cpp file. References #1659
2011-05-03 Jeannie Walldren - Updated documentation.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-12-18 Tracie Sucharski - Changed inheritance from Camera to FramingCamera.
2010-02-22 Tracie Sucharski - Preface naif includes with /naif.
2010-03-04 Tracie Sucharski - Removed couts.
2010-03-04 Tracie Sucharski - Added throw when creation of ReseauDistortion fails.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2008-11-24 Jeannie Walldren - Changed name from TieTool. Replace references to PointEdit class with ControlPointEdit. Added "Goodness of Fit" to right and left measure info.
2008-11-26 Jeannie Walldren - Added "Number of Measures" to MatchTool point information. Defined updateNet() so that the MatchTool window's title bar contains the name of the control net file. Created ignoreChanged() signal, modified pointSaved() and createMatchTool() so message box appears if users are saving an "Ignore" point and asks whether they would like to set Ignore=false.
2008-12-09 Tracie Sucharski - Cleaned up some signal/slot connections between MatchTool and MatchNavTool for deleting or adding ControlPoints.
2008-12-09 Tracie Sucharski - Add new public slot refresh to handle the ignorePoints and deletePoints from the MatchNavTool.
2008-12-10 Jeannie Walldren - Added slot methods viewTemplateFile() and setTemplateFile() to allow user to view, edit or choose a new template file. Added "What's this?" descriptions to actions.
2008-12-15 Jeannie Walldren - Some QMessageBox warnings had strings tacked on to the list of errors. These strings were changed to iExceptions and added to the error stack to conform with Isis standards.
2008-12-15 Jeannie Walldren - Created newHoldPoint() method. Replaced references to MatchGroundPointDialog with MatchHoldPointDialog. Disabled ground point check box so user may see whether the point is ground but may not change this. Thus setGroundPoint() and newGroundPoint() methods still exist but are not currently called.
2008-12-30 Jeannie Walldren - Modified to set measures in viewports to Ignore=False if when saving, the user chooses to set a point's Ignore=False. Replaced references to ignoreChanged() with ignorePointChanged(). Added signals ignoreLeftChanged() and ignoreRightChanged().
2008-12-31 Jeannie Walldren - Added question box to pointSaved() method to ask user whether the reference measure should be replaced with the measure in the left viewport. Added documentation.
2009-03-09 Jeannie Walldren - Modified createPoint() method to clear the error stack after displaying a QMessageBox to the user
2009-03-17 Tracie Sucharski - Added the ability to save the registration chips to the Options menu.
2010-01-27 Jeannie Walldren - Fixed bug in setIgnoreLeftMeasure() and setIgnoreRightMeasure() that caused segmentation faults. Added question box to warn user that they are saving changes to an ignored measure.
2010-06-02 Jeannie Walldren - Added cancelHoldPoint() method and connected this slot to MatchHoldPointDialog's holdCancelled() signal.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-08 Jeannie Walldren - Fixed bug in drawAllMeasurments() so that points with ignored measures matching the image shown are drawn as yellow unless the MatchTool is open to this point. Changed QMessageBox types for consistency with other match warnings and errors
2010-07-01 Jeannie Walldren - Added createToolBarWidget(), showNavWindow() methods to reopen NavTool (if closed) whenever the Tie tool button on the tool pad is clicked. Modified drawAllMeasurments() to draw points selected in MatchTool last so they lay on top of all other points in the image. Replaced #includes with forward class declarations and moved #include to .cpp file.
2010-07-12 Jeannie Walldren - Fixed bug in deletePoint() method. To prevent a seg fault, set m_controlPoint to NULL and emit editPointChanged with an empty string if the entire point is deleted.
2010-07-12 Jeannie Walldren - Fixed bug in newHoldPoint() method that was causing the Hold Point Dialog to call the reject() command. Updated documentation.
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files. Remove findPointFiles method, the code is now in the createPoint method.
2010-11-19 Tracie Sucharski - Renamed pointSaved slot to measureSaved.
2010-11-22 Eric Hyer - Added stretchChipViewport SIGNAL for forwarding of SIGNAL from StretchTool to ChipViewport
2010-12-08 Eric Hyer - Template filename now shown. Widgets in main window now organized into groupBoxes. Removed Options menu and moved registration menu to main menu bar. Added toolbar for actions also in menu. All actions now have icons.
2010-12-14 Eric Hyer - Template editor is now a widget within the main window. Newly saved template files take effect after saving.
2010-12-17 Eric Hyer - Fixed bug where current template file was not being updated with saveAs. Moved template file display to outside of control point groupbox.
2011-06-08 Tracie Sucharski - Point types renamed: Ground -—> Fixed Tie -—> Free
2011-06-28 Tracie Sucharski - Added methods, "loadMeasureTable" and "measureColumnToString". TODO: If these stay in match, they really need cleaning up. This was a quick & dirty band-aid until cneteditor is ready to be folded into match.
2011-07-27 Tracie Sucharski - Added method to return the radius from a Dem if one is open.
2011-09-16 Tracie Sucharski - Added method to draw Fixed and Constrained points on the ground source viewport.
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked().
2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2012-04-26 Tracie Sucharski - Cleaned up private slot,measureSaved. Abstracted out checking for a new reference measure and updating the surface point for a ground point.
2012-05-07 Tracie Sucharski - Removed code in measureSaved to re-load left measure if left and right are the same, this is already handled in ControlPointEdit::saveMeasure.
2012-05-08 Tracie Sucharski - Fixed bug where m_leftFile was not being reset in mouseButtonRelease. Change m_leftFile from a QString to a QString.
2012-06-12 Tracie Sucharski - Change made to measureSaved on 2012-04-26 caused a bug where if no ground is loaded the checkReference was not being called and reference measure could not be changed and there was no warning printed. Fix: Only call checkReference if there is no explicit reference for the point, otherwise simply set reference to left measure. If ground source is on the left do not print warning about new reference measure.
2012-08-11 Tracie Sucharski - In ::openNet, do not prompt for saving current net if net hasn't changed since last save.
2012-10-02 Tracie Sucharski - Qview was printing error messages and somtimes crashing when viewports were closed either individually or using "Close All" from the file menu. The serial number list was not being updated correctly. The fix no longer keeps a maintainable serial number list, but calculates one in real-time base on available viewports. Fixes #1130. Also, added a few more error checks to insure cubes for displayed measures are available.
2013-05-09 Tracie Sucharski - Check for user selecting all measures for deletion and print warning that point will be deleted. References #1491.
2013-05-09 Tracie Sucharski - For editing (left button) and deleting (right button), Swapped checking for empty network and not allowing mouse clicks on the ground source. First check if there are any points in the network. If not print message and return. References #1493.
2010-11-17 Eric Hyer - Added newControlNetwork SIGNAL
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right and left measure info.
2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information. Moved setWindowTitle() command to updateNet() method. Added connection between Ignore checkbox toggle() slot and ignoreChanged() signal
2008-12-29 Jeannie Walldren - Disabled ground point check box and commented out connection between check box and setGroundPoint() method.
2008-12-30 Jeannie Walldren - Added connections to toggle measures' Ignore check boxes if ignoreLeftChanged() and ignoreRightChanged() are emitted. Replaced reference to ignoreChanged() with ignorePointChanged().
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2008-11-18 Jeannie Walldren - Added "Close" action to the file menu on the match tool window.
2008-12-10 Jeannie Walldren - Added "What's this?" function to match tool actions.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-07-12 Jeannie Walldren - Fixed bug by setting control point to NULL if removed from the control net and check for NULL points before emitting editPointChanged
2011-04-04 Tracie Sucharski - Move code that was after the exec block within, so that if the Cancel button is selected, nothing else happens.
2011-07-15 Tracie Sucharski - Print info about deleting editLock points and reference measures.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-06-08 Jeannie Walldren - Fixed bug that was causing ignored measures not be drawn as yellow unless MatchTool was open
2010-07-01 Jeannie Walldren - Modified to draw points selected in MatchTool last so they lay on top of all other points in the image.
2011-04-15 Tracie Sucharski - Fixed bug which was causing all measures to be drawn on all cubes. Also removed loop through measures, instead just get measure for given serial number.
2011-10-20 Tracie Sucharski - Add check for a control network that does not yet have any control points.
2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.
2008-11-26 Jeannie Walldren - Added "Number of Measures" to MatchTool point information.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-10-29 Tracie Sucharski - Changed pointfiles to QStringList
2011-04-20 Tracie Sucharski - Was not setting EditLock check box
2011-07-18 Tracie Sucharski - Fixed bug with loading ground measure-use AprioriSurface point, not lat,lon of reference measure unless there is no apriori surface point.
2012-05-08 Tracie Sucharski - m_leftFile changed from QString to QString.
2012-10-02 Tracie Sucharski - When creating a new point, load the cube the user clicked on first on the left side, use m_leftFile.
2008-11-26 Jeannie Walldren - Added message box to warn the user that they are saving an "Ignore" point and ask whether they would like to set Ignore=false. This emits an ignoreChanged() signal so the "Ignore" box in the window is unchecked.
2008-12-30 Jeannie Walldren - Modified to set measures in viewports to Ignore=False if when saving, the user chooses to set a point's Ignore=False. Replaced reference to ignoreChanged() with ignorePointChanged().
2008-12-31 Jeannie Walldren - Added question box to ask user whether the current reference measure should be replaced with the measure in the left viewport.
2010-01-27 Jeannie Walldren - Added question box to warn the user that they are saving an "Ignore" measure and ask whether they would like to set Ignore=False. This emits an ignoreRightChanged() signal so the "Ignore" box in the window is unchecked. Modified Ignore Point message for clarity.
2010-11-19 Tracie Sucharski - Renamed from pointSaved.
2011-03-03 Tracie Sucharski - Do not save left measure unless the ignore flag was changed, that is the only change allowed on the left measure.
2011-04-20 Tracie Sucharski - If left measure equals right measure, copy right into left. Also if EditLock true and user does not want to change, then do not save measure. Remove signals EditPointChanged and netChanged, since these should only happen when the point is saved.
2011-07-01 Tracie Sucharski - Fixed bug where the edit measure EditLocked=True, but the original measure was False, and we woouldn't allow the measure to be saved.
2011-07-25 Tracie Sucharski - Removed editPointChanged signal since the editPoint is not changed. This helped with match windows blinking due to refresh.
2011-09-22 Tracie Sucharski - When checking ignore status on right measure, check both original and edit measure.
2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked() because it checks the m_editPoint measure instead of the measure loaded into the point editor.
2012-04-26 Tracie Sucharski - cleaned up, moved reference checking and updating ground surface point to new methods.
2012-05-07 Tracie Sucharski - Removed code to re-load left measure if left and right are the same, this is already handled in ControlPointEdit::saveMeasure.
2012-06-12 Tracie Sucharski - Change made on 2012-04-26 caused a bug where if no ground is loaded the checkReference was not being called and reference measure could not be changed and there was no warning printed.
2007-06-12 Tracie Sucharski - Swapped left and right mouse button actions.
2009-06-08 Tracie Sucharski - Add error checking for editing or deleting points when no point exists.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-11-19 Tracie Sucharski - Make a copy of the point to be edited or added. Do not add to control network until user selects "Save Point To Control Network".
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
2012-05-08 Tracie Sucharski - Clear m_leftFile, only set if creating new point. Change m_leftFile from a QString to a QString.
2012-10-02 Tracie Sucharski - The member variable leftFile was never set. It is now set when a new point is created and cleared after all measures have been selected.
2010-12-15 Tracie Sucharski - Before setting m_editPoint to NULL, release memory. TODO: Why is the first if statement being done???
2011-10-20 Tracie Sucharski - If no control points exist in the network, emit proper signal and make sure editor and measure table are hidden.
2011-04-20 Tracie Sucharski - If EditLock set, prompt for changing and do not save point if editLock not changed.
2011-07-05 Tracie Sucharski - Move point EditLock error checking to individual point parameter setting methods, ie. SetPointType, SetIgnorePoint.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2011-07-06 Tracie Sucharski - If point is Locked, and measure is reference, lock the measure.
2012-10-02 Tracie Sucharski - If measure's cube is not viewed, print error and make sure old measure is retained.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2012-10-02 Tracie Sucharski - If measure's cube is not viewed, print error and make sure old measure is retained.
2010-01-27 Jeannie Walldren - Fixed bug that resulted in segfault. Moved the check whether m_rightMeasure is null before the check whether m_rightMeasure equals m_leftMeasure.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-01-27 Jeannie Walldren - Fixed bug that resulted in segfault. Moved the check whether m_leftMeasure is null before the check whether m_rightMeasure equals m_leftMeasure.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to left measure info.
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2011-05-20 Tracie Sucharski - Added Reference output
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right measure info.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2011-05-20 Tracie Sucharski - Added Reference output
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2008-12-10 Jeannie Walldren - Original Version
2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object
2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.
2008-11-26 Jeannie Walldren - Set lastPointIdValue
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2011-03-08 Tracie Sucharski - If there is a saved ID and there is no point in the network with that id, do not disable "ok" button. This allows user to use the same id from a previous point creation if the point was never saved.
2012-10-03 Tracie Sucharski - Corrected help which said to left instead of right click to create measures.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-10-29 Tracie Sucharski - Changed std::vector<std::string> to QSringList
2006-05-19 Jacob Danton Original Version
2007-07-11 Brendan George Fixed unitTest to print values in "fixed" (non-scientific) format, added system specific unitTest for Linux i686 systems
2006-01-11 Jacob Danton Added idealFit value, unitTest
2006-03-08 Jacob Danton Added sampling options
2006-10-31 Jeff Anderson - Updated to accomodate Spice class refactory.
2007-04-24 Kris Becker - Corrected problems with setting Ephemeris time after the cache is created; fixed problem with FPU binning geometry is mapped to detector map as described in the SIS. This problem is due to an FPGA coding bug on the camera.
2007-09-05 Kris Becker - Removed test for jailbar imaging mode as the MDIS team reports it should be treated as a normal image.
2007-09-06 Kris Becker - Removed test for subframe imaging mode as the team provided calification on its implications.
2007-12-06 Kris Becker - Added camera distortion model provided by Scott Turner, JHU/APL.
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2009-01-21 Kris Becker Added a new implementation of the MDIS NAC distortion model contributed by Scott Turner and Lillian Nguyen at JHU/APL.
2009-06-11 Steven Lambright - Documentation fixes
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2010-10-06 Kris Becker - Updated WAC distortion model to the same as the NAC - A Taylor Series implementation. Update to the MDIS IK (msgr_mdis_v120.ti) udpates these parameters as well as the WAC focal lengths. The NAC is unaffected by these changes. Updated unitTest.
2010-12-20 Kris Becker - Added implementation of CK and SPK NAIF codes for the Camera class.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-03-31 Kris Becker - Fixed bug in handling of pixel binning. Valid values for PixelBinningMode are 0, 2 or 4. This was not handled properly until it was used in conjuction with FPU binning in orbit.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Removed Messenger namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-07-25 Kris Becker - Added temperature dependant focal length computation from new IK content. Fixes #922.
2012-10-25 Kris Becker - Create instrument neutral temperature dependent focal length keyword (TempDependentFocalLength) in the NaifKeywords group to store this value for easy access. Incremented camera version number to 2. Removed backword compatibility code supporting older IKs. The first valid one with this version is msgr_mdis_v131.ti. Updated FK (msgr_v220.tf) and PCK (pck00010_MSGR_v10.tpc). Reran spiceinit on all MESSENGER data in the test suite and updated all appTests (18 total were affected by this change). Fixes #1214.
2007-11-19 Stacy Alley added the capability of the qisis windows to remember size and location
2007-11-29 Stacy Alley replaced all the table stuff with the new TableMainWindow class.
2008-08-18 Christopher Austin Upgraded to geos3.0.0
2008-09-26 Steven Lambright Added Segmented line
2009-02-12 Steven Lambright Fixed bug where measure tool would not measure pixels for non-camera, non-projection cubes.
2010-02-17 Sharmila Prasad Fixed bug where the distance was calculated twice for a cube with both camera and projection. Also made changes to save the most recent selection (km,m,pixels) when different tool is selected
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues (some still remain!)
2011-09-20 Steven Lambright - Added some abstraction, fixed problems with segmented line and rectangle. Fixes #218.
2011-11-01 Steven Lambright - Fixed possible seg fault. References #205.
2012-11-30 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2014-02-07 Tracie Sucharski - Latitude and Longitude were swapped in the endpoints. Fixes #2032.
2005-03-18 Elizabeth Ribelin - added TrueScaleLatitude method to class and tested in unitTest
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version, IsEquatorialCylindrical methods
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Ordered includes in implementation file. Moved Name, Version, IsEquatorialCylindrical, and TrueScaleLatitude to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2006-01-11 Jacob Danton Added idealFit value, unitTest
2006-03-08 Jacob DAnton Added sampling options
2006-03-20 Jacob Danton Changed to average minimum difference algorithm.
2009-07-01 Janet Barrett - Updated with code to handle weighting of slant range and Doppler shift; fixed so that the frequency and wavelength of the instrument are made available to Radar classes.
2009-07-31 Debbie A. Cook and Jeannie Walldren - Added new tolerance argument to LoadCache call to be compatible with update to Spice class
2009-08-05 Debbie A. Cook - corrected altitude in tolerance calculation
2009-10-16 Debbie A. Cook - fixed the rotation of the velocity vector
2009-11-03 Debbie A. Cook - added RadarGroundMap method calls to set radar parameters
2010-03-19 Debbie A. Cook - removed unit change of rangeResolution so range_sigma works on meters instead of km
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Lro namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-07-31 Jeannie Walldren - Added tolerance parameter value of -1 to call to Spice::CreateCache() method.
2009-07-31 Debbie Cook - Calculated actual tolerance value to pass into Spice::CreateCache() method.
2007-07-31 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Changed name of Incmatch variable to Incmat
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization - also added match parameters for phase and emission for the same reason
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
2008-04-30 Steven Lambright corrected infinite loop
2008-05-29 Steven Lambright Fixed binary search indexing, bad calls to QString::_cstr() references
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-08-11 Steven Lambright - Fixed definition of WAGO, problem pointed out by "novas0x2a" (Support Board Member)
2008-11-05 Jeannie Walldren - Changed IsNarrowAngle(), IsWideAngle(), IsWideAngleBlue(), and IsWideAngleRed() to NarrowAngle(), WideAngle(), WideAngleBlue(), and WideAngleRed(), respectively. Added documentation.
2008-11-07 Jeannie Walldren - Fixed documentation
2010-01-05 Jeannie Walldren - Fixed bug in InitWago() method.
2011-05-03 Jeannie Walldren - Removed Mgs namespace wrap.
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Mgs namespace wrap inside Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2008-11-05 Jeannie Walldren - Replaced reference to MocLabels IsWideAngleRed() with MocLabels WideAngleRed().
2008-11-07 Jeannie Walldren - Fixed documentation
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Mgs namespace wrap inside Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2008-11-05 Jeannie Walldren - Replaced reference to MocLabels IsWideAngleRed() with MocLabels WideAngleRed().
2011-05-03 Jeannie Walldren - Added NAIF error check.
2005-02-01 Jeff Anderson - Original version
2011-05-03 Jeannie Walldren - Removed Mgs namespace wrap.
2005-02-01 Jeff Anderson - Original version
2011-05-03 Jeannie Walldren - Removed Mgs namespace wrap.
2005-02-01 Jeff Anderson Original version
2007-02-24 Debbie A. Cook Changed to p_scale value for -1 to 1 to reflect the change to the affine coefficients in the new MocAddendum003.ti file
2007-08-02 Steven Koechle - Original Version
2008-08-16 Steven Koechle - Fixed Documentation
2010-11-10 Sharmila Prasad - Updated unittest for changes in the deffile
2011-09-27 Steven Lambright - Improved user documentation
2012-04-16 Jeannie Backer - Added forward declaration for PvlObject. Added #include for PvlKeyword and PvlObject classes in implementation file.
2010-05-10 Christopher Austin - added cnet connectivity functionality and fixed a few design issues
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2011-08-08 Steven Lambright - Refactored. Now uses scene widget's preloadFromPvl.
2011-08-12 Steven Lambright - Export options now come from the scene and the file list, not directly from this controller. Fixes #342
2011-09-26 Steven Lambright - Calling openCubes many times in a row now works.
2011-12-05 Steven Lambright - Added fixes for maximum number of simultaneously open files. It now stays lower and has an option to become drastically lower.
2011-12-16 Steven Lambright - Applies fixes for maximum number of open files to opening project files and fixed progress to be more accurate. Fixes #635.
2012-09-17 Steven Lambright - Added compatibility with old versions of project files, updated to use changed mosaic scene widget constructor.
2013-03-19 Steven Lambright - Added option for changing default file list columns in the settings menu.
2010-06-24 Christopher Austin - Added |x| functionality and fixed control net loading
2011-05-07 Steven Lambright - Refactored.
2011-05-10 Steven Lambright - Reduced useless code, open cnet button is now always enabled.
2011-05-10 Steven Lambright - Added label for currently open network.
2011-09-27 Steven Lambright - Improved user documentation. Made the open control network button more obvious.
2013-01-02 Steven Lambright - Implemented movement arrow colorization. This is a quick and dirty implementation designed to get the most basic functionality working with minimal options. Added the enum MovementColorSource and the methods setMovementArrowColorSource(), movementArrowColorSource(), maxMovementColorMeasureCount(), maxMovementColorResidualMagnitude(), toString(), and fromMovementColorSourceString(). Fixes #479.
2013-01-31 Steven Lambright - Removed some debugging statements that were left around from the last change. Fixes #1459.
2011-05-07 Steven Lambright - Refactored along with all of 'qmos'
2011-05-11 Steven Lambright - Added project settings
2011-09-27 Steven Lambright - Improved user documentation
2012-04-16 Jeannie Backer - Added forward declaration for PvlObject.
2011-05-07 Steven Lambright - Refactored along with all of 'qmos'
2011-05-11 Steven Lambright - Added project settings
2012-04-16 Jeannie Backer - Added #include for PvlObject class in implementation file.
2012-07-10 Kimberly Oyama and Steven Lambright - Added an auto grid option that draws a grid with lat/lon increments and extents based on either the map projection, the bounding rectangle of the open cubes, or the user entered extents. Also, added accessors, mutators, and other support for a new options dialog that lets the user configure the grid. Changed the draw/clear grid buttons to a show grid checkbox. Fixes #604.
2013-02-01 Steven Lambright - Fixed a problem with setLonInc() bounding the maximum longitude increment incorrectly, which caused a bad increment. This resulted in freezing or an invalid grid. Fixes #1060.
2013-03-06 Steven Lambright - Added support for getting target radii from TargetName if the mapping radii keywords are missing.
2013-03-19 Steven Lambright - Auto grid now remembers its last setting and defaults to it.
2013-09-11 Tracie Sucharski - Check for existence of scene widget before calling methods on it in domainMinLon() and domainMaxLon(). Fixes #1748.
2010-05-10 Christopher Austin - added cnet connectivity functionality
2011-08-08 Steven Lambright - Refectored for new qmos. Mosaic controller is now always visible.
2011-09-26 Steven Lambright - Command line arguments are now parsed here.
2011-09-27 Steven Lambright - Improved user documentation
2011-11-21 Steven Lambright - View menu actions come from more places now. Fixes #568
2012-03-13 Steven Lambright - m_lastOpenedFile wasn't being initialized or set properly causing the file open dialogs to always open to '/' which was undesired behavior. This has been fixed by initializing it to '.' and updating its value when a cube is opened. Fixes #752.
2012-06-18 Steven Lambright - m_lastOpenedFile was being overly aggresively when remembering paths from previously opened files - it followed the cube paths inside of file lists. This is now corrected so that it'll remember the path to the file list instead of the path to the files in the file list. Fixes #848.
2012-08-28 Tracie Sucharski - Moved the toolpad and active toolbar creation to MosaicSceneWidget.
2012-09-17 Steven Lambright - Restored the toolpad and active toolbar creation... creation is now in both places, internalization into the scne is for cnetsuite only. This allows movement of toolbars/appropriate placements of other widgets (progress bar, tracking in status, etc) for qmos (aka this class).
2013-03-19 Steven Lambright - Fixed a problem where Open Project would close the current project, even if cancelled. Also removed the closed project state. Fixes #998.
2011-05-07 Steven Lambright - Refactored along with all of 'qmos.' A lot of work still needs to be done for these tools.
2011-09-27 Steven Lambright - Improved user documentation
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2011-05-07 Steven Lambright Refactored from MosaicItem to have far fewer responsibilities.
2011-05-10 Steven Lambright Reduced the amount of useless code
2011-05-11 Steven Lambright Reduced the amount of useless code, footprint is now gathered from the CubeDisplayProperties so duplicate work is not done.
2011-05-17 Steven Lambright Labels auto-rotate by 90 degrees once again
2010-05-10 Christopher Austin - Added cnet connectivity functionality and fixed a few design issues
2011-04-01 Steven Lambright - Separated this class from the MosaicWidget class.
2011-05-10 Steven Lambright - Reduced unnecessary code, fixed toolTips to work on everything (not just cubes).
2011-05-17 Steven Lambright - More robust createInitialProj
2011-05-17 Steven Lambright - Target radii recalculated when the user specifies a map file, if they are missing.
2011-05-20 Steven Lambright - Improved error handling when reprojecting.
2011-07-29 Steven Lambright - Z-ordering is now saved and restored in the project files. references #275
2011-08-12 Steven Lambright - Added export options, references #342
2011-08-29 Steven Lambright - Re-worded export file list option, references #342
2011-09-27 Steven Lambright - Improved user documentation
2011-11-04 Steven Lambright - Added the zoom factor and scroll bar position to the project file. References #542.
2011-11-04 Steven Lambright - The mouse wheel events no longer cause panning. The qt code for QAbstractGraphicsView was looking at the event's accepted state. This being fixed means the mouse wheel can be used for zooming! Also added getViewActions in order to allow the zooming key shortcuts from the zoom tool to take effect when the zoom tool wasn't active.
2012-06-20 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-07-26 Kimberly Oyama - Updated the help documentation for the grid tool to include tips for the options dialog and the new 'Auto Grid' functionality. References #604.
2012-08-27 Tracie Sucharski - This widget now handles the creation of its own tools to the toolbars. Because this widget is used by qmos to create both the world scene and mosaic scene, the bool showTools was added to the constructor so that toolbars are not shown in the world scene.
2012-09-12 Steven Lambright - Added xml save/load capabilities.
2012-09-17 Steven Lambright - Added very basic right-click on multiple images capabilities. Increased performance.
2012-10-02 Stuart Sides and Steven Lambright - Added supportedActions() and updated fitInView() to work when called by an action with an ImageList for data.
2012-10-03 Steven Lambright - Removed createReferenceFootprint() - this was dead code that the grid tool handles now.
2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.
2012-10-19 Steven Lambright and Stuart Sides - Added moveUpOne(), moveDownOne(), moveToTop(), and moveToBottom() methods with new, more abstracted arguments. Added moveZ(). Improved fitInView() capabilities. Added supportedActions().
2013-01-31 Steven Lambright - Fixed a problem caused by #1312 - when the minimum longitude wasn't defined in the map file, the one generated by qmos was invalid. Fixes #1406.
2012-12-21 Steven Lambright - Renamed askNewProjection() to configProjectionParameters() and upgraded it's functionality to view and edit the current projection. Fixes #1034.
2013-12-24 Tracie Sucharski - Initialized bool member variables, m_queuedSelectionChanged and m_shouldRequestSelectionChanged. Removed unused private member, m_projectionFootprint. The uninitialized values were causing the qmos selection tool to not work properly. Fixes #1742.
2011-04-14 Steven Lambright Refactored to use the new MosaicSceneWidget
2011-09-27 Steven Lambright - No longer produces errors when given a NULL MosaicSceneWidget.
2011-11-04 Steven Lambright - Added getViewActions().
2011-09-27 Steven Lambright - Improved user documentation
2011-11-04 Steven Lambright - Mouse wheel improved
2005-03-28 Leah Dahmer modified file to support Doxygen documentation.
2005-05-23 Jeff Anderson - Added 2GB+ file support
2012-01-03 Steven Lambright - Added AddData(double, double, unsigned int) for a significant performance improvement and to increase the consistency in the API relative to the Statistics class.
2013-12-05 Kris Becker Original Version
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
20104-02-07 - Kris Becker - Original Version
2015-03-08 Jeannie Backer - Changed name from NaifDskShapeModel to match other classes derived from ShapeModel. Added documentation and test. Added class to ISIS trunk. References #2035
2015-03-14 Jeannie Backer - Modified calculateLocalNormal() to simply call setLocalNormalFromIntercept() rather than trying to interpolate based on the neighbor values. References #2035
2013-12-05 Kris Becker Original Version
2015-03-08 Jeannie Backer - Moved implementation of validate() methods to cpp file. Added qdebug formatters for typedefs so that they can be easily printed in unitTests. Added class to ISIS trunk. References #2035
2007-07-10 Steven Lambright - Original Version
2007-07-11 Steven Koechle - casted NaifIkCode to int before istring to fix Linux 32bit build error
2008-02-06 Steven Koechle - Fixed Name keyword.
2008-02-20 Christopher Austin - BandBin Name to FilterName.
2008-08-08 Steven Lambright - Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera. Camera is now pure virtual, parent class is FramingCamera.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Clementine namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor. Changed centertime in constructor to add half exposure duration to start time to maintain consistency with other Clementine models.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2008-03-17 Janet Barrett - Original version
2008-06-18 Steven Koechle - Fixed Documentation Errors
2010-05-18 Janet Barrett - Modified class so that it does nothing to the incoming dn value. The outgoing albedo value will be the same as the incoming dn value.
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
2011-01-28 Janet Barrett - Fixed NormModelAlgorithm so that it applies the photometric correction to the incoming dn value
2008-12-12 Jacob Danton - Original Version
2010-11-10 Sharmila Prasad - Updated unittest for changes in the deffile
2007-08-15 Steven Lambright - Refactored
2008-03-07 Janet Barrett - Added p_normWavelength variable and SetNormWavelength method to allow an application to set this value to the BandBin Center keyword value for use with MoonAlbedo normalization. The application needs to call the SetPhotomWl method in the Photometry class and the SetNormWavelength method is called from the Photometry class.
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-07-09 Steven Lambright - Fixed unit test
2006-01-23 Janet Barrett - Original version
2008-06-18 Steven Koechle - Fixed Documentation Errors
1999-08-11 K Teal Thompson - Original version of NumericalMethods subroutines in Isis2.
2006-06-14 Kris Becker - Created DataInterp class
2007-02-20 Janet Barrett - Created NumericalMethods class from Isis2 subroutines
2007-02-20 Janet Barrett - Created AtmosModel class from Isis2 subroutines
2008-06-18 Christopher Austin - Fixed documentation for DataInterp
2008-06-18 Steven Koechle - Updated NumericalMethods unitTest.
2008-11-05 Jeannie Walldren - Merged DataInterp class, NumericalMethods class, and methods from AtmosModel. Modified methods from various classes to be able to function similarly. Added InterpType CubicNeighborhood, difference formula methods, and integration methods. Created new unitTest.
2008-11-12 Jeannie Walldren - Fixed documentation.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type vector, NumericalApproximation::InterpType, and NumericalApproximation::ExtrapType in Constructors, AddData(), Evaluate(), ValueToExtrapolate(), EvaluateCubicNeighborhood(),
2009-01-26 Jeannie Walldren - Fixed error documentation.
2009-02-12 Jeannie Walldren - Fixed documentation to include weblinks.
2009-07-17 Steven Lambright - Added algorithm include, removed macro MAX
2009-06-10 Jeannie Walldren - Added interpolation type CubicHermite. This involved modifying some methods, as well as adding variable p_fprimeOfx and methods AddCubicHermiteDeriv() and EvaluateCubicHermite(). Added Contains() method.
2009-07-02 Jeannie Walldren - Replaced Hermite interpolation algorithm with simpler version and added methods EvaluateCubicHermiteFirstDeriv and EvaluateCubicHermiteSecDeriv
2009-07-09 Debbie Cook - Finished Jeannie's modifications.
2009-08-03 Jeannie Walldren - Clean up code, documentation and check in changes from 2009-06-10, 2009-07-02, 2009-07-09
2010-07-21 Sharmila Prasad - Remove doxygen documentation warnings
2010-12-06 Steven Lambright - Optimized AddData(vector, vector), AddCubicHermiteDeriv(vector), and Init() which causes a very significant increase in performance when constructing a lot or adding a lot of data.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to reset class variables for interpolation types other than those supported by GSL.
2008-11-05 Jeannie Walldren - Original version.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type vector.
1999-08-11 K Teal Thompson - Original version in Isis2.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class. Original name r8spline().
2008-11-05 Jeannie Walldren - Renamed and modified input parameters.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for computation of interpolation types other than those supported by GSL.
2008-11-05 Jeannie Walldren - Original version written to save off the error estimate found by EvaluatePolynomialNeville()
2009-06-10 Jeannie Walldren - Moved itype verification to beginning of method.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for interpolation types other than those supported by GSL.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for interpolation types other than those supported by GSL.
2008-11-05 Jeannie Walldren - Original version.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type vector and NumericalApproximation::ExtrapType.
2009-06-10 Jeannie Walldren - Added functionality for CubicHermite evaluation.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for interpolation types other than those supported by GSL.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type NumericalApproximation::ExtrapType.
2009-06-10 Jeannie Walldren - Added functionality for CubicHermite evaluation.
1999-08-11 K Teal Thompson - Original version in Isis2.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class. Original name r8splint().
2008-11-05 Jeannie Walldren - Renamed and modified input parameters, removed IException and replaced it with ValidateDataSet() method.
2008-11-05 Jeannie Walldren - Original version.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type vector and NumericalApproximation::ExtrapType.
1999-08-11 K Teal Thompson - Original version in Isis2.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class. Original name r8polint()
2008-11-05 Jeannie Walldren - Renamed and modified input/output parameters, removed IException and replaced it with ValidateDataSet() method.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name allocate().
2008-11-05 Jeannie Walldren - Renamed.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Renamed, added IException.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name deallocate().
2008-11-05 Jeannie Walldren - Renamed.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name firstDerivative().
2008-11-05 Jeannie Walldren - Modified to throw errors if passed value is out of domain or if interpolation type is not supported by GSL.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name integrityCheck().
2008-11-05 Jeannie Walldren - Renamed.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name secondDerivative().
2008-11-05 Jeannie Walldren - Modified to throw errors if passed value is out of domain or if interpolation type is not supported by GSL.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name initInterp().
2008-11-05 Jeannie Walldren - Modified to allow for interpolation types not supported by GSL.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for interpolation types other than those supported by GSL.
2009-06-10 Jeannie Walldren - Added min points for CubicHermite.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for interpolation types other than those supported by GSL.
2009-06-10 Jeannie Walldren - Added min points for CubicHermite.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for interpolation types other than those supported by GSL.
2009-06-10 Jeannie Walldren - Added CubicHermite name.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name DataInterp().
2008-11-05 Jeannie Walldren - Changed name and modified to allow for interpolation types other than those supported by GSL.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type NumericalApproximation::InterpType.
2008-11-05 Jeannie Walldren - Original version.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type vector and NumericalApproximation::InterpType.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name DataInterp().
2008-11-05 Jeannie Walldren - Changed name and modified to allow for interpolation types other than those supported by GSL.
2009-06-10 Jeannie Walldren - Set new variable, p_fprimeOfx.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name DataInterp().
2008-11-05 Jeannie Walldren - Changed name and modified to allow for interpolation types other than those supported by GSL.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Changed name and modified to allow for interpolation types other than those supported by GSL.
2009-06-10 Jeannie Walldren - Set new variable, p_fprimeOfx.
2010-06-25 Eric Hyer - Returns a NumericalApproximation now instead of a NumericalApproximation constructor
1999-08-11 K Teal Thompson - Original version in Isis2.
2007-02-20 Janet Barrett - Imported to Isis3 in AtmosModel class. Original name r8trapzd().
2008-11-05 Jeannie Walldren - Renamed, modified input parameters, adapted to be used with data set.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to take IException::errType as input parameter.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to reset class variables related to interpolation types not supported by GSL.
2009-06-10 Jeannie Walldren - Reset new variable, p_fprimeOfx.
1999-08-11 K Teal Thompson - Original version in Isis2.
2000-12-29 Randy Kirk - Add absolute error tolerance.
2007-02-20 Janet Barrett - Imported to Isis3 in AtmosModel class. Original name r8qromb().
2008-11-05 Jeannie Walldren - Renamed, modified input parameters, adapted to be used with data set.
2008-11-05 Jeannie Walldren - Original version.
2009-06-10 Jeannie Walldren - Reset new variable, p_fprimeOfx.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Modified to allow for computation of interpolation types other than those supported by GSL.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type NumericalApproximation::ExtrapType.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name ~DataInterp().
2008-11-05 Jeannie Walldren - Changed name.
2008-11-05 Jeannie Walldren - Original Version.
2008-11-07 Jeannie Walldren - Fixed documentation
1999-03-15 Randy Kirk - Original version in Isis2.
2000-07-07 Randy Kirk - Add other integrals besides Ah.
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. Moved factors to outside integration.
2007-07-20 Janet Barrett - Imported to Isis3 in AtmosModel class.
2008-11-05 Jeannie Walldren - Moved to new class and replaced Isis::PI with PI since this is in Isis namespace.
1999-03-15 Randy Kirk - Original version in Isis2.
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc.
2007-07-20 Janet Barrett - Imported to Isis3 in AtmosModel class.
2008-11-05 Jeannie Walldren - Moved to new class and replaced Isis::PI with PI since this is in Isis namespace.
1999-08-11 K Teal Thompson - Original version.
2007-02-20 Janet Barrett - Imported to Isis3 in AtmosModel class. Original name r8trapzd().
2008-11-05 Jeannie Walldren - Renamed, moved to new class, and changed i/o parameters.
1999-08-11 K Teal Thompson - Original version in Isis2.
2000-12-29 Randy Kirk - Add absolute error tolerance.
2007-02-20 Janet Barrett - Imported to Isis3 in AtmosModel class. Original name r8qromb().
2008-11-05 Jeannie Walldren - Renamed, moved to new class, and changed i/o parameters.
2007-06-19 Steven Lambright, Converted to ISIS3 and created XY Range search implementation
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version methods
2010-02-08 Sharmila Prasad - Removed testing m_latitude and m_longitude in operator "=="
2012-06-06 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Ordered includes in implementation file. Moved Name() and Version() to the implementation file. Minor modifications to comply with some coding standards.
2012-06-15 Jeannie Backer - Moved the following methods to Projection class for generalized xyRangeOblique() method - doSearch(), findExtreme(), setSearchGround(). Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2008-01-08 Christpher Austin - Original Version, a derivative of the previous SerialNumber class
2008-05-09 Steven Lambright - Optimized the FindObservationTranslation method
2007-09-17 Debbie A. Cook - Original version
2008-01-11 Christopher Austin - Made class more general, inheriting SerialNumberList among others
2008-05-01 Debbie A. Cook - Removed upper bound check in ObservationNumberMapIndex because when entries are removed from the observation list, the serialNumberIndex may exceed the size of the map
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-10-30 Steven Lambright - Fixed problem with definition of struct quad, pointed out by "novus0x2a" (Support Board Member)
2006-06-13 Brendan George - Modified to throw error when called file does not contain an Original Label
2006-12-11 Kris Becker - Fixed bug in WriteInit method using a temporary string to reference a char pointer to its contents. The string remain after the reference or its toast.
2008-06-18 Steven Koechle - Fixed Documentation Errors
2005-08-22 Kris Becker - Fixed bug in XYRange method that computes the line/samp ranges as it was not correctly computing limb limits
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version methods
2011-01-31 Steven Lambright - Improved ability to work with lat/lon ranges outside of what is possible to project. Now a lat,lon range of -90 to 90, 0 to 360 works. Improved XYRange method to have a better chance at success.
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Ordered includes in implementation file. Moved Name, Version, and TrueScaleLatitude to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-02-22 Kimberly Oyama and Debbie Cook - XYRange() and SetCoordinate() were modified because XYRange() was returning the wrong x/y ranges caused by a false failure in SetCoordinate(). Added a case to the unit test to check the x/y values when the lat/lon ranges are smaller than the possible range of the projection (half the planet). Fixes #798.
2013-07-25 Kimberly Oyama - Fixed the longitude equation for the south pole by making x positive instead of negative. Fixes #1719.
2013-08-20 Kimberly Oyama - Removed code for the special case, clat = 0, in the constructor to give the correct longitude range when clat = 0. Added a range check in SetCoordinate() to make sure m_longitude is in the correct domain. Fixes #1471.
2009-06-05 Mackenzie Boyd - fixed unittest to work on all systems
2009-06-12 Travis Addair - changed public interface to use indices instead of file names and renamed from IntersectionStatistics
2009-06-15 Travis Addair - documented all variables/enums
2009-06-24 Travis Addair - changed gain and offset vectors to itialize to 1.0 and 0.0, respectively
2009-11-25 Travis Addair - held images are now weighted to ensure gain and offset of 1.0 and 0.0, respectively
2013-12-29 Jeannie Backer - Added LeastSquares::SolveMethod input parameter to Solve() method. Improved error message. Fixes #962,
2013-02-14 Steven Lambright - Added SolutionType GainsWithoutNormalization. Fixes #911.
2005-11-18 Elizabeth Miller - added 1e-9 to the min and max values when computing the ranges to fix rounding issue
2006-01-12 Elizabeth Miller - removed unwanted print statements
2006-03-31 Elizabeth Miller - added unitTest
2006-04-03 Elizabeth Miller - added .001 to the min and max values when computing the ranges to re-fix rounding issue
2007-08-27 Steven Koechle - removed space from standard deviation keyword
2008-06-18 Steven Koechle - fixed Documentation Errors
2009-03-12 Travis Addair - added tracking for percent processed
2009-06-24 Travis Addair - optimized statistic gathering, changed PVL print-out for readability, and added functionality to allow the user to specify a "sampling percent" when gathering statistics to save processing time
2012-04-16 Jeannie Backer - Added forward declaration for PvlObject and ordered #includes in the implementation file. Added documentation.
2007-08-02 Steven Lambright - Fixed memory leak
2008-03-07 Janet Barrett - Added SetPhotomWl method to allow the application to set the p_normWavelength variable for use by MoonAlbedo normalization.
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-07-09 Steven Lambright - Fixed unit test
2011-08-19 Sharmila Prasad - Implemented brentminimizer using GSL
2011-09-15 Sharmila Prasad - Implemented brent's root solver using GSL
1998-12-21 Randy Kirk - USGS, Flagstaff - Original code
2007-02-20 Janet Barrett - Imported from Isis2.
2007-07-31 Steven Lambright - Moved children methods out of this class and into the children classes
2008-03-07 Janet Barrett - Moved variables and related methods that pertain to Hapke specific parameters to this class from the HapkeHen class. Also added the code to set standard conditions.
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-07-09 Steven Lambright - Fixed unit test
2008-10-17 Steven Lambright - Moved Hapke-specific methods out of this class and into children classes.
2008-11-05 Jeannie Walldren - Moved PhtAcos() from NumericalMethods class.
2006-01-23 Janet Barrett - Original version
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-09-25 Unknown - Added features: Application identifiers other than the application names, branched original input, branching from branches, partial branch merging (discontinuing branches*)
2008-10-28 Unknown - The input no longer has to have virtual bands if the SetInputFile(QString,QString) has an empty parameter name for the virtual bands parameter. SetInputListFile(...) method added.
2008-12-19 Unknown - List files are now fully supported, along with output list files.
2010-12-20 Sharmila Prasad - Added ability to add branches right off of the Pipeline
2010-12-21 Sharmila Prasad - Added documentation and ignore temp files from disabled branches
2011-02-09 Sharmila Prasad - Added option continue to proceed with execution even if an application in the pipeline encounters an exception.
2011-08-15 Debbie A. Cook - Added member p_pausePosition and method AddPause and modified method Run to allow the pipeline to be stopped temporarily and resumed. When AddPause is used, Run will need to be called an additional time for each AddPause included in the pipeline to resume the execution of the pipeline.
2012-11-21 Jeannie Backer - Added Progress output to indicate which application is running. Added padding to control statements. References # 795.
2008-09-25 Added features: Application identifiers other than the application names, branched original input, branching from branches, partial branch merging (discontinuing branches*)
2008-09-26 Steven Lambright Fixed introduced bug where input data was not being found when no previous programs in the pipeline generated output (needed to go back to original input).
2008-09-26 Steven Lambright Changed CalculateOutputFile(...) to work in more cases. Pipeline::FinalOutput is relied upon more heavily now to do the right thing.
2010-12-20 Sharmila Prasad - Added the ability to enable/disable a branch.
2011-02-09 Sharmila Prasad - Added option continue to proceed with execution of the next application in the pipeline if the current encounters an exception.
2003-02-11 Jeff Anderson - Wrote unitTest and documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-05-18 Jeff Anderson - Changed long to int for 64-bit port
2006-06-21 Elizabeth Miller - Copied SpecialPixel methods into into the Pixel class for easy refactoring later and added several conversion methods
2009-02-03 Travis Addair - Modified documentation for clarity
2012-08-09 Ken Edmundson - initial version
2012-01-20 Debbie A. Cook - Changed to use RingPlaneProjection instead of Projection. References #775.
2012-01-20 Steven Lambright - Completed documentation.
2012-07-03 Steven Lambright - Added Meters, Kilometers to the Units enum. References #853.
2014-04-15 Tracie Sucharski - Reset defaults for plots to the following: SolidLine, Width=1, NoSymbols. This is a temporary fix until the defaults can be saved on a user basis. Fixes #2062.
2010-11-08 Eric Hyer - Added replot method
2011-03-18 Sharmila Prasad - Connect the viewport's close signal
2011-03-23 Sharmila Prasad - PlotWindow to be ontop even when it loses focus. This works for both histogram and plot tools.
2011-09-21 Steven Lambright - Removed the fixed size from the configure curve dialog. Fixes #203.
2012-07-03 Steven Lambright - Added labels for Meters/Kilometers units.
2013-02-21 Steven Lambright - Added methods requestFillTable(), scheduleFillTable() in order to increase performance. References #710.
2014-06-23 Ian Humphrey - Modified hard coded /usgs/cpkgs/ paths to relative pathnames. Fixes #2054.
2014-07-02 Ian Humphrey - Added method configurePlotCurves() to create a configure tool that allows user to select which curve to configure from a combo box. Added MenuOption ConfigurePlotMenuOption. Fixes #2089.
2014-07-24 Ian Humphrey - Modified plotCurves() and plotSpectrograms() methods to return a list of curves/spectrograms in the order they appear in the plot (instead of reversed). Used for refactoring. References #2089.
2005-02-15 Jeff Anderson refactored to use Qt Qlibrary class.
2007-07-19 Steven Lambright Fixed memory leak
2012-04-26 Jeannie Backer - Added forward declarations for Pvl and PvlGroup. Added includes to these classes in the implementation file.
2012-06-15 Jeannie Backer - Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2004-02-24 Jeff Anderson - Fixed a bug in TrueScaleLatitude and changed default computation for CenterLatitude
2005-03-01 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-03-11 Elizabeth Ribelin - added TrueScaleLatitude method test to unitTest
2006-06-14 Elizabeth Miller - Added error check to make sure the center latitude is not zero
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version methods
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Ordered includes in implementation file. Moved Name, Version, and TrueScaleLatitude to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-08-01 Kimberly Oyama and Steven Lambright - Modified SetGround() so that it returns false when the lat parameter is the pole opposite of the center latitude. Also updated the unit tests to exercise this change. References #604.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2008-08-18 Christopher Austin - Upgraded to geos3.0.0, removed Chip.h include, fixed ifndef
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
2009-04-15 Eric Hyer - Now stores invalid input. Added Copy constructor, destructor, and assignment operator
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2012-04-17 Jeannie Backer - Added forward declaration for PvlObject and ordered includes in the implementation file. Added documentation. Moved Algorithm method from header file to implementation file.
2006-08-07 Stuart Sides - Original version
2007-05-04 Robert Sucharski - Moved the method to output WKT from ImagePlygon class to this class. Also added method to output GML format.
2007-11-09 Tracie Sucharski - Remove ToWKT method, geos now has a method (toString) to return a WKT string. Added To180 method which converts polygon coordinates from 0/360 system to -180/180 system. If polygon was split because it crossed the 0/360 seam, the two polys coordinates are converted then merged.
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2008-11-10 Christopher Austin - Added Thickness()
2008-11-25 Steven Koechle - Moved Despike Methods from ImageOverlapSet to PolygonTools
2008-12-01 Steven Lambright - Changed the Despike algorithm to be in more methods to clean it up, added the middle point to beginning/end of line tests to keep more data. Added "IsSpiked" and "TestSpiked."
2008-12-10 Steven Koechle - Moved MakeMultiPolygon Method from ImageOverlapSet to PolygonTools
2008-12-12 Steven Lambright - Bug fixes, cleaned up Despike/MakeMultiPolygon
2008-12-12 Steven Lambright - Renamed methods, polygon conversion methods now throw an iException if they fail, updated Despike(...)'s algorithm
2008-12-19 Steven Lambright - updated Despike(...)'s algorithm
2008-12-19 Steven Lambright - Added error to Despike (empty or invalid result).
2009-01-16 Steven Koechle - Fixed Memory Leak in LatLonToSampleLine method
2009-01-23 Steven Lambright - Added precision reduction algorithms and made the Difference and Intersect operators work in a more generic way by calling the new method Operate(...).
2009-01-28 Steven Lambright - Fixed memory leaks
2009-02-02 Stacy Alley - updated the To180 method to handle 360 multi polys that cross the -180/180 boundry. We need to return >1 polygon for these type of cases.
2009-01-28 Steven Lambright - Fixed bug in Operate(...) method when reducing precision
2009-06-09 Steven Lambright - Added a check to Equal(double,double). This never caused a problem but could have.
2011-05-31 Steven Lambright - Improved To180 (not finished). The remaining work is to remove the 0 seam from the polygons.
2013-02-26 Stuart Sides - Modified the output of GML and GML schema
2013-08-12 Stuart Sides - Added SplitPolygonOn360 and FixPolePolygon methods. Code was extracted from the ImagePolygon class. References #1604.
2005-03-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2008-02-05 Jeannie Walldren, Renamed from Poly2D.
2008-01-11 Tracie Sucharski, Renamed from Poly1D, add derivative methods.
2008-02-05 Jeannie Walldren,Renamed from Polynomial1Variable.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-28 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-04-23 Jeff Anderson - reworked the class to use the Label object.
2003-05-16 Stuart Sides - Modified schema from astrogeoloy... isis.astrogeology
2003-12-03 Stuart Sides - added HasGroup member.
2005-10-03 Elizabeth Miller - changed
2008-01-09 Steven Lambright - Made Application a friend for destruction purposes
2008-07-08 Steven Lambright - Now uses atexit for destruction
2010-05-28 Steven Lambright - More resilient to $HOME/.Isis problems
2010-07-19 Jeannie Walldren - Added FileCustomization group to TestPreferences file
2012-02-24 Steven Lambright - This class now sets the thread limit in the Qt global thread pool.
2013-03-27 Jeannie Backer - Added Near mission to DataDirectory group to TestPreferences file. References #1248.
2002-06-24 Jeff Anderson - Added ic_base::OneBand requirement option for SetInputCube methods
2002-07-15 Stuart Sides - Added capabilities for applications to log information to standard out or the GUI log window (ShowLog and Log).
2003-02-03 Jeff Anderson - Added propagation of labels from the first input cube to each output cube
2003-02-04 Jeff Anderson - Added PropagateLabels method
2003-02-04 Jeff Anderson - Fixed bug in propagation of input labels to output cube
2003-02-07 Jeff Anderson - Integrated QString class into the Log methods
2003-04-23 Jeff Anderson - Made accomodations for the updated Preference class
2003-04-28 Jeff Anderson - Added method to Log Label objects
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-06-04 Jeff Anderson - Added Progress method
2003-06-30 Jeff Anderson - Added MissionData method
2003-09-02 Jeff Anderson - Added SetOutputWorkCube method
2003-10-06 Jeff Anderson - Added IsisPvl pointer to the SetOutput methods so that the programmer can control characteristics of the output cube format.
2003-11-07 Stuart Sides - Added "ReadWrite" capability to the requirements parameter on SetInputCube and SetInputWorkCube.
2003-11-07 Jeff Anderson - Modified preference loading order so that the Init method will load $ISISROOT/testData/base/TestPreferences when the application name contains the word "unitTest". This forces unit tests to use a standard set of system preferences.
2003-12-01 Jeff Anderson - Added ProgagateLabel method to allow for propagation from secondary cubes.
2003-12-18 Jeff Anderson - Modifed preference loading to look for the users preference file in the directory $HOME/.Isis
2003-12-18 Jeff Anderson - Modified MissionData method to allow searching for the highest version of a file
2004-02-02 Jeff Anderson - Modified SetInputCube and SetOutputCube methods to accept CubeAttribute classes. Added the ClearInputCubes method.
2004-02-29 Jeff Anderson - Added ability to send LogResults to the parent process
2004-03-01 Jeff Anderson - Made the Init method check to see if .Isis and .Isis/history directories exist and if not then create them
2004-04-17 Stuart Sides - Fixed problem when creating .Isis/history directories on Solaris.
2004-06-30 Jeff Anderson - Added propagation of blobs
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-09-19 Brendan George - Added WriteHistory function to independently write the history to the cube
2007-06-27 Steven Lambright - Added propagation of polygon blobs
2007-07-19 Steven Lambright - Fixed memory leak
2007-07-27 Steven Lambright - Updated AllMatchOrOne and BandMatchOrOne error messages
2008-05-12 Steven Lambright - Removed references to CubeInfo
2009-10-29 Travis Addair - Added method calculating statistics on all bands of all cubes
2009-10-30 Travis Addair - Changed method calculating statistics to store off its results in both p_bandStats and p_cubeStats, and added methods to access those results
2011-05-07 Sharmila Prasad - 1. Added API SetInputCube(Cube*) to take opened cube
2011-08-26 Steven Lambright - The NaifKeywords object is now being propagated.
2012-02-24 Steven Lambright - Added Finalize() method and deprecated EndProcess()
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Fixes #2215.
2003-04-02 Tracie Sucharski - Added unitTest
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2012-02-24 Steven Lambright - Added Finalize() and ProcessCube()
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Also made destructor virtual. References #2215.
2005-02-08 Jacob Danton - Original Version
2006-08-08 Debbie A. Cook - Added overloaded method SetInputCube
2007-12-14 Steven Lambright - Same band is now forced on input cubes when there are multiple input cubes
2008-01-09 Steven Lambright - Fixed a memory leak
2008-06-18 Steven Koechle - Fixed Documentation
2011-04-22 Sharmila Prasad - Extended StartProcess functionality to be able to be called from any Object class by using Functors
2011-05-07 Sharmila Prasad - 1. Added API SetInputCube(Cube*) to take opened cube 2. Edited StartProcess using Functors take reference to Functors
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2011-11-23 Jai Rideout - Modified the two StartProcess() methods that either accept one input and one output cube, or multiple input and output cubes so that the area that the brick traverses is the largest of all of the cubes (including both input and output cubes). This resolves the issue of premature wrapping that would occur when the sizes of the cubes differed. Now, the bricks are filled with nulls if they read past the end of a smaller cube before they have reached the end of the larger one. These changes only take effect when the wrap option is off, otherwise the previous behavior is used.
2012-02-22 Steven Lambright - Refactored functor-based StartProcess() calls. This class now supports multi-threaded functor and function based programs. StartProcess() is now deprecated in favor of ProcessCube(), ProcessCubes(), and ProcessCubeInPlace(). Added Finalize().
2013-03-27 Jeannie Backer - Modified SetBrickSize() code to call existing methods rather than duplicating code. Added SetOutputCube() method.References #1248.
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Also made destructor virtual. Fixes #2215.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-08-29 Jeff Anderson - Fixed bug in StartProcess method for multiple inputs/outputs which require cubes to have the same number of lines and samples.
2004-07-15 Jeff Anderson - Modified to allow for a different number of samples in the output cube(s) than are in the input cube(s). This facilitates the ability to scale or concatenate in the sample direction.
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2011-04-22 Sharmila Prasad - Extended StartProcess functionality to be able to be called from any Object class by using Functors
2011-05-07 Sharmila Prasad - 1. Added API SetInputCube(Cube*) to take opened cube 2. Edited StartProcess using Functors take reference to Functors
2006-03-29 Jacob Danton Rewrote code to extend ProcessByBrick class.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-06-02 Jeff Anderson - Fixed a bug where line unfolding at the bottom of the cube was always using band 1
2003-08-28 Jeff Anderson - Added SetFilterParameters method
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-12-15 Jeff Anderson - Fixed bug for images with 1 line
2011-06-27 Jai Rideout and Steven Lambright - Now uses FilterCachingAlgorithm
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2012-02-24 Steven Lambright - Added ProcessCube()
2015-01-15 Sasha Brownsberger - Added virtual keyword to StartProcess function to ensure successful inheritance between Process and its child classes. References #2215.
2006-03-27 Jacob Danton - Original Version
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2012-02-22 Steven Lambright - Updated to have functorized and threaded StartProcess equivalents.
2006-03-27 Jacob Danton - Original Version
2006-08-07 Tracie Sucharski, Fixed bug in StartProcess with a single input buffer. Error checks and set-up of brick was not being done correctly.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-11-28 Jacob Danton - Modified file to allow processing with multiple input and output cubes.
2006-04-03 Jacob Danton - Rewrote the code to extend ProcessByBrick class
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2003-04-03 Jeff Anderson - Added unit test
2003-04-04 Jeff Anderson - Updated documentation for SetInputRange methods
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-01-07 Stuart Sides - Added CreateWorldFile method
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-06-14 Drew Davidson - Overloaded StartProcess method to output directly to a stream.
2005-06-15 Drew Davidson - Updated to support multi-band output.
2006-02-27 Jacob Danton - Added Multiple input cube support
2006-05-08 Elizabeth Miller - Modified SetInputRange() to get the min and max percent values from the userinterface (0.5 and 99.5 are still the default values)
2006-05-15 Jeff Anderson - Fixed bug with multiple input cube support when the programmer didn't set a input minimum/maximum
2006-05-23 Jacob Danton - Added seperate MIN/MAX values for each input channel
2006-08-30 Jeff Anderson - Fixed memory leak
2007-12-17 Christopher Austin - Added processes for BIL and BIP, leaving BSQ as the default, as well as fixed rounding accuracy.
2008-05-12 Steven Lambright - Removed references to CubeInfo
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-08-14 Christopher Austin - Added the Destructor to fix memory leaks, as well as changed the EndianSwapper::Float() call to EndianSwapper::ExportFloat() in isisOut32() to fix bad float casting.
2008-12-17 Steven Lambright - Changed SetOutputRange calls to use constants (i.e. instead of 65535 VALID_MAX2 is used).
2009-07-27 Steven Lambright - Piecewise stretch backs off to linear if Median() == MINPCT or Median() == MAXPCT
2010-02-24 Janet Barrett - Added code to support JPEG2000
2012-10-04 Jeannie Backer - Added documentation and fixed indentation of history entries. No mantis ticket.
2013-06-05 Jeannie Backer - Replaced redundant code in InitProcess() with accessor methods for OutputNull(), et al. Changed local variable names in ProcessCubes for clarity. References #1380.
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Added virtual keyword to destructor. References #2215.
2006-09-05 Stuart Sides - Original version
2006-12-14 Stuart Sides - Modified keword units to be PDS compliant
2008-05-20 Steven Lambright - Fixed documentation
2008-08-07 Christopher Austin - Added fixed label export capability
2008-10-02 Christopher Austin - Fixed LabelSize() and OutputLabel() in accordace to the pds end of line sequence requirement
2008-12-17 Steven Lambright - Added calculations for OFFSET and SCALEFACTOR keywords
2009-05-31 Kris Becker - Included the number of bands in the computation of the number of FILE_RECORDS for fixed PDS type products. It assumed only 1 band.
2010-02-24 Janet Barrett - Added code to support JPEG2000.
2010-07-21 Sharmila Prasad - Fixed error while converting resolution from Meters to Kilometers
2012-04-06 Kris Becker - Correct label padding whereby spaces are used as the fill character instead of '\0'. This makes it compliant with PDS specifications.
2012-11-21 Jeannie Backer - Added functionality to allow export of Isis3 Table objects to binary PDS tables. The PDS tables may be attached or detached. If attached, the labels of the table should not be altered in the export program unless functionality is added to deal with the new start byte values. References #678.
2014-06-06 Kristin Berry - Added default units to assume if there are no units on certain values in the input Isis cube. Unlabeled radii are assumed to be in meters; map scales to be in meters/pixel, and map resolutions to be in pixels/degree.
2008-05-12 Steven Lambright - Removed references to CubeInfo
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2012-02-24 Steven Lambright - Added Finalize()
2013-03-27 Jeannie Backer - Added programmer comments. References #1248.
2013-09-10 Stuart Sides, Tracie Sucharski - Cleaned up and removed extraneous code. References #1604.
2015-01-19 Sasha Brownsberger - Changed name of SetOutputCube function to SetStatCubes function to better reflect the command functionality and to avoid conflicts with Process::SetOutputCube virtual function. References #2215.
2003-01-24 Tracie Sucharski - Fixed bug in processing 8bit data. In the Swap method needed to return unsigned char, not char.
2003-02-13 Stuart Sides - Added a unit test.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-30 Stuart Sides - Fixed compiler error after -O1 flag was added to g++
2003-09-10 Tracie Sucharski - Complete redesign to handle different raw file formats.
2003-10-09 Stuart Sides - Added capabilities for reading PDS files.
2003-10-10 Stuart Sides - Added capabilities to get the translation files from the user preferences BASE directory.
2003-10-10 Stuart Sides - Fixed bug for PDS files. When the image name was explicitly given the open statement was attempting to open the label file.
2003-10-16 Stuart Sides - Added a section for debuging all the parameters which can be set before processing starts.
2003-10-16 Stuart Sides - Added a second parameter to the Pvl constructor in SetVicarFile. This allows the vicar label to be read into a Pvl without modifying the repeated "PROPERTY" keyword.
2003-10-23 Stuart Sides - Added new member functions AddImportLabel()"and"AddImportLabel(Pvl). AddImportLabel() uses the original label file to create a Pvl and write it to the output cube label. AddImportLabel(Pvl) uses the Pvl argument to write the import label to the output cube.
2004-01-21 Jeff Anderson - Modified SetOutputCube method to propagate the input pixel type, base, and multipliers to the output cube. The old method always generated real pixel values in the output.
2004-01-22 Jeff Anderson - Modified the SetVicarFile method to return the vicar labels internalized in a Pvl object.
2004-02-04 Jeff Anderson - Modified SetPdsFile method to allow for SPECTRAL_QUBE objects to handle Themis data.
2004-02-05 Jeff Anderson - Refactored the class
2004-02-10 Stuart Sides - Added new member AddLabel
2004-02-10 Stuart Sides - Modified the SetOutputCube member to create a real output file by default if the number of core base and multipliers is more than one.
2005-02-09 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-04-08 Leah Dahmer - added missing documentation.
2006-04-21 Brendan George - Implemented ProcessBil()
2006-10-26 Stuart Sides - Added unsigned 16 bit ability
2007-10-05 Steven Lambright - Added StartProcess method that passes data back to a function instead of writing it out to a file.
2007-11-13 Janet Barrett - Added the ProcessBip capability
2008-02-22 Steven Lambright - Fixed a memory leak and improved the way the destructor detects allocated pointers.
2008-08-18 Jeannie Walldren - Modified documentation and added method SetFileTrailerBytes().
2008-09-16 Christopher Austin - Added error throwing for the setting of special pixel ranges that overlap by adding CheckPixelRange().
2009-12-14 Janet Barrett - Added capability to import JPEG2000 files.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2012-11-21 Kimberly Oyama and Steven Lambright - Modified the ProcessBil() and ProcessBip() methods to use the BoxcarCachingAlgorithm instead of the RegionalCachingAlgorithm. Also added unit tests to exercise the modified methods. Fixes #819.
2013-03-12 Steven Lambright and Tracie Sucharski - Added support for 64 bit input data. Note: Possibility of lost precision since ouput is in 32 bit.
2013-03-27 Jeannie Backer - Added programmer comments and documentation. Changed parameter name from "parameter" to "fname" in SetOutputCube() method. References #1248.
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Added virtual keyword to destructor. References #2215.
2014-06-06 Stuart Sides - Added ability to read and process the FITS extension
2015-01-15 Sasha Brownsberger - Made destructor virtual. References #2215.
2003-01-24 Tracie Sucharski - Fixed bug in processing 8bit data. In the Swap method needed to return unsigned char, not char.
2003-02-13 Stuart Sides - Added a unit test.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-30 Stuart Sides - Fixed compiler error after -O1 flag was added to g++
2003-09-10 Tracie Sucharski - Complete redesign to handle different raw file formats.
2003-10-09 Stuart Sides - Added capabilities for reading PDS files
2003-10-10 Stuart Sides - Added capabilities to get the translation files from the user preferences BASE directory.
2003-10-10 Stuart Sides - Fixed bug for PDS files. When the image name was explicitly given the open statement was attempting to open the label file.
2003-10-16 Stuart Sides - Added a section for debuging all the parameters which can be set before processing starts.
2003-10-16 Stuart Sides - Added a second parameter to the Pvl constructor in SetVicarFile. This allows the vicar label to be read into a Pvl without modifying the repeated "PROPERTY" keyword.
2003-10-23 Stuart Sides - Added new member functions "AddImportLabel()" and "AddImportLabel(Pvl). AddImportLabel() uses the original label file to create a Pvl and write it to the output cube label. AddImportLabel(Pvl) uses the Pvl argument to write the import label to the output cube.
2004-01-21 Jeff Anderson - Modified SetOutputCube method to propagate the input pixel type, base, and multipliers to the output cube. The old method always generated real pixel values in the output.
2004-01-22 Jeff Anderson - Modified the SetVicarFile method to return the vicar labels internalized in a PVL object.
2004-02-04 Jeff Anderson - Modified SetPdsFile method to allow for SPECTRAL_QUBE objects to handle Themis data.
2004-02-10 Stuart Sides - Separated PDS capabilities from Import.
2005-02-09 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-06-13 Brendan George - Modified to add OriginalLabel blob automatically, and added a function to allow the user to prevent this.
2006-07-12 Stuart Sides - Modified the translation of projection keywords such as CenterLongitude, so the would not throw and error if the keywods was not a number. This was necessary because map a planet creates PDS labels with "N/A" in several keywords.
2006-10-26 Stuart Sides - Added unsigned 16 bit ability
2006-11-16 Brendan George - Changed instances of "Foreign" to "Input" and "Native" to "Output"
2007-01-24 Stuart Sides - Added ability to identify the difference between PDS and ISIS2 files, and process them differently.
2007-02-08 Brendan George - Fixed TranslateIsis2Instrument to remove the appended z in the StartTime keyword, if present.
2007-04-09 Tracie Sucharski - Added GetProjectionOffsetMults method which will find the correct multiplication factors for the projection offsets depending on the keyword and pattern in pdsProjectionLineSampToXY.def. Added IsIsis2 method. Made changes to projection translation tables for additional values for Longitude direction, latitude type and if the min or max longitude values is greater than 180, change longitude domain to 360.
2007-05-31 Steven Koechle -Moddified to assume all signed bytes input pixels are actually unsigned.
2007-06-04 Jeff Anderson - Modified to deal with projection conversion generically
2007-08-07 Steven Lambright - Modified to support translating some PDS labels for pds2isis and default longitude domain is now 360.
2007-08-29 Steven Koechle - Modified to use new SetSpecialValues method from ProcessImport
2007-10-16 Steven Koechle - Modified TranslatePdsProjection() to not add the min & max lat long keywords if they have null values.
2008-05-12 Steven Lambright - Removed references to CubeInfo
2008-06-13 Steven Lambright - Updated algorithm to decide domain and calculate correct longitudes in ExtractPdsProjection
2008-06-13 Noah Hild - Added support for the FILE object
2008-06-13 Steven Lambright - Updated ExtractPdsProjection to change the latitude type to planetocentric if both the planet radii are the same
2008-08-08 Steven Lambright - Fixed bug where the longitude keywords could be incorrecty interpretted (minumum longitude and maximum longitude are swapped).
2009-07-16 Steven Lambright - Fixed bug where the longitude is misordered
2009-12-15 Steven Lambright - Hard-coded translation table is now a valid Pvl
2009-12-18 Janet Barrett - Added capability to process JPEG2000 files with a detached PDS label
2010-08-23 Steven Lambright - Non-numeric string values for PDS projection rotations are now supported.
2010-08-27 Steven Lambright - Longitude domain correction added for center and pole longitude keywords in PDS projections
2010-11-17 Eric Hyer - Inside ProcessPdsImageLabel method Absolute paths are now supported for the ^IMAGE Keyword
2010-12-09 Sharmila Prasad - Set default offset to be 1 for detatched label and offset not set
2011-02-11 Mackenzie Boyd - Added methods ProcessDataFilePointer, ProcessPixelBitandType, and ProcessSpecialPixels, removed duplicate code in ProcessImage and ProcessQube labels. Fixed functionality regarding ^QUBE pointer having no offest.
2011-04-27 Mackenzie Boyd - Changed ProcessQubeLabels to set BIP for BANDSAMPLELINE axes instead of LINEBANDSAMPLE and added exception for unknown storage order.
2012-05-03 Tracie Sucharski - Added a try/catch in SetPdsFile when attempting to read PDS label
2012-11-21 Jeannie Backer - Added methods and member variables to import binary PDS tables found in the PDS file. Added a default destructor. References #700.
2013-03-12 Steven Lambright and Tracie Sucharski - Added ProcessPdsRdnLabel() to handle Chandrayaan M3 RDN files. Added a file type to handle Chandrayaan Loc and Obs files on the same import as the Rdn files. Also added support for 64 bit input data. Note: There may be loss of precision since the output type is 32-bit. Return reference to imported table. Needed so that M3 table data can be flipped to match image data depending on yaw and orbit limb direction.
2014-02-11 Janet Barrett - Created new version of SetPdsFile method so that calling applications can intercept the PDS label before it gets loaded by this class. This is needed so that missing keywords can be added to the PDS label by the application before it gets loaded. This also required moving some of the code from the SetPdsFile method to a new method, ProcessLabel. Fixes #2036.
2014-03-19 Kristin Berry - Added a Finalize method identical to the old EndProcess method so that ProcessImportPds::Finalize is called, rather than Process::Finalize on ProcessImportPds objects. Marked EndProcess as deprecated.
2015-01-19 Sasha Brownsberger - Made destructor virtual. References #2215.
2007-04-12 Tracie Sucharski - Modified the projection translation tables to include additional versions of Longitude direction, latitude type and if the min or max longitude values is greater than 180, change longitude domain to 360. Read projection mults/offsets from def file so lat/lon values are correct.
2007-07-12 Stuart Sides- Modified to handle units of meters on the pixel resolution
2008-06-09 Tracie Sucharski, Added MinimumLongitude2 and MaximumLongitude2 for Magellan images.
2008-06-06 Tracie Sucharski, Added LineProjectionOffset2 for Magellan images.
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2008-06-26 Christopher Austin - Added the termination char to SetVicarFile's buf
2011-01-27 Jai Rideout - Fixed to handle VICAR files that have end labels
2003-04-28 Stuart Sides - Modified unitTest.cpp to do a better test
2003-09-04 Jeff Anderson - Added SetInputWorkCube method
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-09-01 Elizabeth Miller - Added BandBinMatch option to propagate the bandbin group to the mosaic and make sure the input cube bandbin groups match the mosaics bandbin group
2006-10-20 Stuart Sides - Fixed bug BandBin group did not get copied to the output mosaic.
2008-10-03 Steven Lambright - Fixed problem where return values from SetUniversalGround were not checked
2008-11-18 Christopher Austin - Added the first cube's history to the mosaic's history along with the history object of the application which did the mosaic.
2008-12-08 Steven Lambright - Fixed one of the SetOutputCube(...) methods, a lat/lon range was specified but CreateFromCube was still being used (needed CreateFromCube because no cubes existed with the correct range).
2008-12-08 Steven Lambright - MinimumLatitude,MaximumLatitude, MinimumLongitude,MaximumLongitude keywords no longer required to exist if passed into SetOutputCube
2010-10-27 Sharmila Prasad - Read input file attributes
2011-01-18 Sharmila Prasad - Added "Average" priority feature, to double the number of mosaic bands to get Count info
2011-06-28 Jai Rideout and Steven Lambright - Now uses a different caching algorithm.
2011-09-08 Sharmila Prasad - Fixed Bug #406, Additional boundary checks similar to ProcessMosaic so that there will be no interruption for applications like automos
2012-10-05 Jeannie Backer - Fixed indentation of history entries. Added caught exception to new thrown exception. Moved method implementation to cpp. References #1169.
2013-03-27 Jeannie Backer - Added programmer comments. References #1248.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-11-14 Kimberly Oyama - Modified StartProcess() to account for a negative x or y from the projection. These x and y values are used to calculate the outline and outsample. Fixes #1736.
2013-12-27 Janet Barrett - Added additional latlonflag parameter to the SetOutputCube method so that valid lat/lon values are checked for in the input files that make up a mosaic. This change was needed to handle input files that are missing the min/max lat/lon keywords (such as those that were cropped). Fixes #1500.
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Made destructor virtual. References #2215.
2003-04-28 Stuart Sides - Modified unitTest.cpp to do a better test
2003-09-04 Jeff Anderson - Added SetInputWorkCube method
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-09-01 Elizabeth Miller - Added BandBinMatch option to propagate the bandbin group to the mosaic and make sure the input cube bandbin groups match the mosaics bandbin group
2006-10-20 Stuart Sides - Fixed bug BandBin group did not get copied to the output mosaic.
2008-10-03 Steven Lambright - Fixed problem where member variables could be corrupted
2009-09-30 Sharmila Prasad - Added capability to track the pixel origin. Priorities Top and Beneath can track origin for a single band input image only. Band priority can track origin of a multi-band input image based on a particular band. Also Band placement is flexible and any bands from the input cube can fit within the output mosaic. Also ability to allow HS, LS or NULL pixels from input to the mosaic(output). Added table for Origin Default values based on pixel type
2010-02-25 Sharmila Prasad - Changed stricmp to use IString function "Equal"
2010-10-21 Sharmila Prasad - The BandBin group must be carried thru to the mosaic at creation time regardless of matchbandbin flag
2011-01-18 Sharmila Prasad - Added "Average" priority feature, to double the number of mosaic bands to get Count info
2011-01-24 Sharmila Prasad - API to match DEM and also to add new group "mosaic" to hold ShapeModel attributes for the mosaic if Flag is Enabled
2011-09-23 Steven Lambright - Fixed table resizing code to not do nothing and eventually cause very, very bad things to happen (writing out of array bounds). Fixes #410.
2011-10-20 Sharmila Prasad - Fixes #0000462, allow Band Priority even if Tracking is not enabled
2011-12-30 Sharmila Prasad - Fixed #00587, Disable Tracking for multiband mosaic for ontop or beneath priority
2012-01-05 Sharmila Prasad - Fixed #00586 Allow Band Priority with no Tracking
2012-07-03 Steven Lambright and Stuart Sides - Updated to better follow good coding practices and the new Isis coding standards. Removed #define's, moved enums into the class, and stopped modifying member variables (makes local copies instead) in StartProcess where possible. There were flaws in the design that made it difficult to not carry over erroneous state from past method calls and cause difficult to reproduce problems. Fixes #967.
2012-08-16 Kimberly Oyama - Added a PvlObject, m_imagePositions, to store the image information (file name, start sample, and start line). An accessor, imagePositions(), for the PvlObject was also added. The image information is used as log output by automos, handmos, and mapmos. Fixes #976.
2013-03-27 Jeannie Backer - Added documentation and programmer comments. References #1248.
2014-03-28 Kimberly Oyama - Added check for count band when priority=average. The mosaic apps should fail when priority=average and there is no count band. Fixes #746.
2014-04-07 Kimberly Oyama - Updated the GetBandIndex() method to return the same number when you use the band number or band name. For example, if band 3 is the emission angle, GetBandIndex() should return 3 whether you enter 3 or emission angle. Modified BandPriorityWithNoTracking() so valid data is always placed on top of the mosaic regardless of the placement criteria (priority=band). The only way to place special or null pixels is to check those options in mapmos or automos. Fixes #1620. Fixes #1623.
2014-07-23 Janet Barrett - Fixed the StartProcess method to allow the overlay of an input file on a pre-existing output file. Fixed #751.
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Made destructor virtual. References #2215.
2010-02-26 Steven Lambright - Now using a geometry snapper on points before testing if they are inside a polygon inside DoWork(...).
2012-02-24 Steven Lambright - Added Finalize()
2013-03-27 Jeannie Backer - Added programmer comments. References #1248.
2013-02-06 Tracie Sucharski - Improved speed by adding BoxcarCaching Algorithm for I/O, using prepared polygons for the intersections and read/write the entire spectra for the input pixel rather than one band at a time. References #1289.
2013-09-10 Stuart Sides, Tracie Sucharski - Cleaned up code, added additional error checks for valid polygons, added option to check for either input pixel intersecting the center of the output pixel or any part of the output pixel. References #1604.
2015-01-19 Sasha Brownsberger - Changed name of SetOutputCube function to SetStatCubes function to better reflect the command functionality and to avoid conflicts with Process::SetOutputCube virtual function. References #2215.
2003-02-13 Stuart Sides - Created a unit test for the object.
2003-03-31 Stuart Sides - Added false argument to IsisError.report call in the unit test.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-28 Stuart Sides - Added a new member function to allow an application to be notified when the current band number of the output cube changes (BandChange).
2003-10-23 Jeff Anderson - Modified StartProcess method to use a quadtree mechanism to speed processing of cubes. Essentially it generates an internalized file
2004-03-09 Stuart Sides - Modified quadtree mechanism to not give up on a quad unless none of the edge pixels transform. This needs to be refined even more.
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-03-28 Tracie Sucharski - Modified the StartProcess to process multi-band cubes using the same tile map if there is no Band dependent function.
2006-04-04 Tracie Sucharski - Added ForceTile method and two private variables to hold the sample/line of the input cube position which will force tile containing that position to be processed in ProcessQuad even if all 4 corners of tile are bad.
2008-09-10 Steven Lambright - Made tiling start and end sizes variable
2009-05-21 Steven Lambright - A tiling hint starting at 2 will now automatically jump to doing a SlowGeom instead of not working/being a valid option. This fixes 2-line push frame cameras.
2008-10-30 Steven Lambright - Fixed problem with definition of class Quad, pointed out by "novus0x2a" (Support Board Member)
2009-06-05 Steven Lambright - Added TestLine(...) method and made the checking for inserting a null tile more strict (checks the outline of a 2x2 box instead of just the outline of the quad).
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2012-05-07 Jeff Anderson - Added the forward patch algorithm.
2012-05-15 Jeff Anderson - Added UniqueCachingAlgorithm to reverse patch algorithm (startProcess)
2012-07-11 Jeff Anderson - Fixed a bug in the reverse patch algorithm. When an input patch contains the 0/360 seam (or -180/180) it caused stripes in certain output projections (cylindrical). This has been fixed by making sure the output patch size is not too large.
2012-08-03 Kimberly Oyama and Steven Lambright - Changed the percentage (from 99% to 50%) of the output cube that a patch can cover before it is split into a smaller patch. The 99% produced unpredictable results on different machines due to double rounding error. References #604.
2015-01-15 Sasha Brownsberger - Added virtual keyword to StartProcess function to ensure successful inheritance between Process and its child classes. Made destructor virtual. References #2215.
2010-12-03 Steven Lambright - Original version
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2004-02-29 Jeff Anderson - Added ability to send progress status to the parent process
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-10-03 Elizabeth Miller - Changed
2012-03-13 Steven Lambright - Added DisableAutomaticGuiRedraws().
2012-09-11 Steven Lambright - Added accessors to the current progress value and range. Renamed DisableAutomaticGuiRedraws() to DisableAutomaticDisplay() in order to include command-line progress printouts.
2012-10-04 Jeannie Backer - Removed documentation reference to the now non-existant CubeInfo class. No mantis ticket related to this change.
2012-07-27 Kimberly Oyama - Added comments to some of the methods.
2012-09-04 Tracie Sucharski - Renamed addCNets to addCnets, controlNetRoot to cnetRoot, networkLoaded to cnetLoaded. Added new method, addCnetFolder.
2012-09-11 Tracie Sucharski - Added mutex accessor method.
2012-09-12 Tracie Sucharski - Implemented ControlList instead of QList<Control *>, re-ordered some methods to match header order.
2012-09-12 Steven Lambright - Renamed imageList() to createOrRetrieveImageList(), added imageList() and image().
2012-09-17 Steven Lambright - Reduced the time complexity of image() to log(n) from n/2. This method is often called n times.
2012-09-17 Steven Lambright - Added crash detection/cleanup. Prompt is coded but disabled (we'll find a good wording or handle recovery better when we don't expect so many crashes during development).
2012-10-29 Steven Lambright and Stuart Sides - Added isTemporaryProject(). This is useful for the import images to know if it should prompt the user to save their project.
2013-05-14 Jeannie Backer - Used return status of c++ system() in the constructor to verify that the call was successful.
2003-01-30 Jeff Anderson - Add the SetWorldMapper() method and removed setting the mapper from the constructor
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-30 Jeff Anderson - Updated unit test to fix error for optimization
2003-08-25 Jeff Anderson - Added LatitudeTypeString(), LongitudeDirectionString(), and LongitudeDomainString() methods
2003-09-26 Jeff Anderson - Added ToWorldX(), ToWorldY(), ToProjectionX(), ToProjectionY(), and Resolution() methods
2003-09-26 Jeff Anderson - Added virtual Name, operator==, and operator!= methods
2003-09-26 Jeff Anderson - Remove virtual from operator!=
2003-10-14 Jeff Anderson - Added Scale() and TrueScaleLatitude() methods
2003-11-04 Jeff Anderson - Replace the pure virtual methods for SetGround() and SetCoordinate() with virtual method which simply copy lat/lon to x/y and vice versa. This is essentially no projection.
2003-11-04 Jeff Anderson - Added LocalRadius() methods
2004-02-23 Jeff Anderson - Added Eccentricity(), tCompute(), mCompute(), e4Compute(), and phi2Compute() methods
2004-02-24 Jeff Anderson - Fixed bug in eccentricity computation
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-02-25 Elizabeth Ribelin - Added 3 static conversion methods: ToHours(), ToDMS(), and ToHMS()
2005-03-08 Elizabeth Ribelin - Fixed unitTest
2005-06-24 Jeff Anderson - Tweaked format for DMS and HMS methods
2005-07-22 Jeff Anderson - Added static ToPlanetographic() method
2006-04-20 Tracie Sucharski - Fixed bug looking at Target instead of TargetName for sky.
2006-06-20 Stuart Sides - Added ability to lookup the radii if given a "TargetName" in the mapping group.
2006-07-10 Elizabeth Miller - Fixed bugs in new static method
2007-06-27 Steven Lambright - Added static ToPlanetocentric(), ToPositiveWest() and ToPositiveEast() methods. Changed To180Domain() and To360Domain() to be static instead of const. Added Mapping(), MappingLatitudes() and MappingLongitudes() methods for map2map.
2007-08-14 Steven Lambright - Mapping() fixed: should not return cube specific parameters, because they did not go into making the projection.
2008-05-09 Steven Lambright - Added Name(), Version(), IsEquatorialCylindrical() methods
2008-06-12 Christopher Austin - Elaborated error messages.
2008-06-19 Steven Lambright - Fixed memory leak
2009-01-29 Stacy Alley - added a overloaded STATIC method for convenience. TargetRadii, which takes a Pvl, the cube label, and a PvlGroup, a mapping group.
2011-02-10 Jai Rideout - added SetUpperLeftCorner() because ProjectionFactory needed a way to set UpperLeftCornerX and UpperLeftCornerY keywords after creating the projection. Mapping() now adds optional keywords UpperLeftCornerX, UpperLeftCornerY, PixelResolution, and Scale to original mapping group so that cam2map can properly display a clean mapping group.
2011-07-05 Jeannie Backer - Added qCompute() method. Updated documentation.
2011-08-11 Steven Lambright - phi2Compute was running out of iterations for vesta (an asteroid). Fixes #279
2012-03-01 Jeff Anderson - Fixed bug in SetUpperLeftCorner by adding Pvl::Replace when updating the mapping labels
2012-03-30 Steven Lambright and Stuart Sides - To360Domain() and To180Domain() are now constant time operations. Fixes #656.
2012-06-15 Jeannie Backer - Added documentation. Added forward declarations to header file. Ordered includes in implementation file. Moved destructor and accessor methods to the implementation file. Moved the following methods from the ObliqueCylindrical class for generalized xyRangeOblique() method - doSearch(), findExtreme(), setSearchGround(). Changed member variable prefix to m_. Improved unitTest. Resolves #928.
2012-07-25 Jeannie Backer - Modified the new methods related to xyRangeOblique() to verify the validity of the values when setSearchGround() is called. References #954.
2012-08-01 Kimberly Oyama - Added a qFuzzyCompare() to ToPlanetographic() to account for rounding error at the latitude boundaries (-90 and 90 degrees). Updated the unit test to exercise this change. References #604.
2012-08-09 Steven Lambright - Added NaifStatus calls to protect the TargetRadii() method from naif throwing an error/crashing with inputs that have non-target naif codes.
2012-01-19 Debbie A. Cook - Moved nongeneral functionality into another virtual base class layer of TProjection and PlaneProjection. Added m_projectionType and ProjectionType enum and protected method PixelResolution().
2013-03-06 Steven Lambright - Cleaned up and fixed an issue with the Mapping() method which sometimes erroneously threw an exception. Added caching to the TargetRadii(QString) method for performance reasons. Fixes #1534.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2005-06-22 Elizabeth Ribelin - Merged ProjectionManager and CubeProjection into a single class
2006-01-27 Jacob Danton - Renamed PixelMapper to PFPixelMapper
2006-05-19 Elizabeth Miller - Depricated ProjectionManager and CubeProjection. Renamed ProjectionManager.plugin to Projection.plugin
2006-09-07 Elizabeth Miller - Added the bool sizeMatch parameter to CreateForCube()
2007-03-13 Jeff Anderson - Added new method CreateForCube using a camera
2007-06-29 Steven Lambright - Removed TrueScaleLatitude keyword from CreateForCube methods, added units to Scale and PixelResolution keywords
2008-06-18 Steven Koechle - Fixed Documentation Error
2009-06-18 Jeff Anderson - Modified the CreateForCube method to make sure extra pixels were not included in the image size due to machine precision roundoff problems.
2011-02-10 Jai Rideout - UpperLeftCornerX and UpperLeftCornerY are now set in projection mapping group via the new SetUpperLeftCorner method in Projection.
2011-05-23 Jannet Barrett and Steven Lambright - Added m_projPlugin to reduce cost of instantiating Projections.
2013-03-13 Debbie A. Cook - Modified to differentiate between Project subclasses: TProjection and RingPlaneProjection.
2013-05-09 Jeannie Backer - Modified CreateForCube and RingsCreateForCube() methods to ensure that the distances from the MinimumX to the MaximumX and from the MinimumY to the MaximumY are at least one pixel resolution. This ensures that the created cube will have at least one sample and at least one line. References #775.
2014-01-16 Kimberly Oyama - Updated the error messages for unsupported projections to include the source of the error. Fixes #988.
2012-07-30 Kimberly Oyama and Steven Lambright - Improved context menu support and selection of image list.
2012-12-19 Steven Lambright and Stuart Sides - Finished initial implementation of rename project use case. Text will now remain in editing mode if the project name is invalid.
2010-08-04 Jeannie Walldren - Fixed the #ifndef identifier to define PushFrameCamera_h. Updated documentation.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2008-06-18 Steven Lambright Added documentation
2008-10-23 Steven Lambright Added optimizations, fixed misc. bugs
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2009-06-02 Steven Lambright Fixed framelet detection in the forward direction and inside framelet check in the reverse direction
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-04-17 Jeannie Backer - Renamed SetFlippedFramelets and SetGeometricallyFlippedFramelets to SetFrameletOrderReversed and SetFrameletsGeometricallyFlipped, respectively. Moved method implementations to cpp file. References #1659.
2008-06-18 Steven Lambright Fixed documentation
2008-10-23 Steven Lambright Added optimizations, fixed misc bugs
2009-11-19 Steven Lambright Removed linear search offset
2009-12-07 Steven Lambright Increased liklihood that our spacecraft distance correctly minimizes for LRO
2014-04-17 Jeannie Backer - Added padding to bring closer to ISIS coding standards. References #1659.
2003-01-31 Jeff Anderson - Added Keywords, Keyword, Groups, Group, and CopyGroup methods
2003-03-27 Jeff Anderson - Fixed problem caused by new compiler when attempting to left justify streams. Depricated the ReadInternal and WriteInternali methods. They were replaced by Read and Write methods.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-08-18 Stuart Sides - Modified so labels with repeated objects, groups and keywords could be read in.
2003-09-25 Stuart Sides - Modified "keyword does not exist message" so it has two forms. One which says the keyword was not found at all and the other says the requested occurance was not found.
2003-09-26 Stuart Sides - Modified constructors to take a bool parameter which tells many member functions if they should allow duplacates or not. Also took the allowDuplicates parameter off all of the members who used it.
2003-10-15 Jeff Anderson - Modified write method to place quotes around null parameters (e.g. "")
2003-10-22 Stuart Sides - Added new method Insert.
2003-11-06 Jeff Anderson - Modify UpdateKeyword methods so that they do not throw errors if the keyword does not exist. That is, they simply add a new keyword.
2003-11-06 Jeff Anderson - Modify WriteContainer method to put a space between the value and unit of keywords.
2003-11-06 Jeff Anderson - Added Merge method
2003-12-01 Stuart Sides - Added new occurrence parameter to UseGroup. And added new member GroupOccurrences.
2004-01-22 Jeff Anderson - Fixed iterator out of bounds when parsing for units if the PVL terminated with and EOF instead of the usual END statement
2004-02-10 Jeff Anderson - Added new suite of AddKeyword methods for vectors which take a single unit instead of a vector of units
2004-02-10 Jeff Anderson - Modified parse and write methods to properly handle a single unit on vectors
2004-02-11 Jeff Anderson - Implemented GetUnits method and added AddKeyword method with a NULL value
2004-02-20 Jeff Anderson - Fixed a bug in the Merge method that was unwinding the container pointer too far.
2005-02-14 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-02-23 Elizabeth Ribelin - Fixed unitTest
2005-03-07 Leah Dahmer - Added missing documentation to class.
2006-04-21 Jacob Danton Added format templates abilities.
2006-08-30 Stuart Sides & Brendan George - Added ability to output in PDS format.
2007-04-13 Stuart Sides - Added new test for long strings
2008-02-27 Stuart Sides - Fixed memory leak in output operator
2008-07-10 Steven Lambright - Changed StringEqual to use PvlKeyword::StringEqual
2008-10-02 Christopher Austin - Replaced all std::endl in the << operator, Write() and Append() with PvlFormat.FormatEOL()
2009-12-17 Steven Lambright - Rewrote read (istream operator)
2010-04-13 Eric Hyer - Added copy constructor
2010-06-25 Steven Lambright - Quicker to give up counting line numbers on error
2010-07-12 Steven Lambright - It's a bad idea to copy m_internalTemplate in the copy constructor since it describes whether or not to delete an internal pointer.
2010-09-27 Sharmila Prasad - Validate a Pvl with the Template Pvl
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.
2005-04-04 Leah Dahmer wrote class documentation.
2006-04-21 Jacob Danton Added format templates abilities.
2006-05-17 Jacob Danton Added DeleteKeyword by index method
2006-09-11 Stuart Sides Added formatting ability
2008-07-02 Steven Lambright Added const functionality
2008-07-10 Steven Lambright PvlContainer is no longer a PvlKeyword, but rather has a set of pvl keywords
2008-09-30 Christopher Austin Replaced all std::endl in the << operator with PvlFormat.FormatEOL()
2008-10-30 Steven Lambright Moved Find methods' implementations to the cpp file from the header file, added <algorithm> include, problem pointed out by "novas0x2a" (Support Forum Member)
2009-06-01 Kris Becker - Added a new AddKeyword method that provides insert capabilities at iterator positions.
2010-01-06 Christopher Austin - Added CleanDuplicateKeywords()
2010-04-13 Eric Hyer - Added Copy constructor
2010-09-27 Sharmila Prasad - Validate all the Keywords in a Container and verify the 'Repeat' Option also
2010-10-18 Sharmila Prasad - Added more options for the keyword validation
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.
2008-12-10 Jeannie Walldren - Original version written to view and edit the template file in the qnet application.
2008-12-10 Jeannie Walldren - Changed namespace from Qisis to Isis
2008-12-10 Jeannie Walldren - Cleaned up code and fixed bugs arising from moving this class from Qisis and to Isis. Added moc commands to Makefile.
2008-12-15 Jeannie Walldren - Added a verification that the edited file is in Pvl format. Replaced error throws with QMessage warning boxes.
2008-12-10 Jeannie Walldren - Original Version
2008-12-15 Jeannie Walldren - Removed unneccesary error catch.
2008-12-10 Jeannie Walldren - Original Version.
2008-12-15 Jeannie Walldren - Added a verification that the edited file is in Pvl format before allowing save. Replaced error throw with QMessageBox warning.
2006-09-05 Stuart Sides - Original version
2008-09-30 Christopher Austin - added FormatEOL()
2009-12-17 Steven Lambright - {} are now treated the same as ()
2010-02-04 Travis Addair - Added SetCharLimit method allowing users to set the point at which a keyword value is output to the next line down.
2010-12-09 Steven Lambright - Values ending in '-' no longer fail to be quoted properly
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.
2013-06-03 Tracie Sucharski and Jeannie Backer - Fixed the addQuotes method to better handle multi-dimensional arrays vs equations with multiple sets of parens. Fixes #569.
2006-09-05 Stuart Sides - Original version
2006-12-14 Stuart Sides - Took out the upcaseing of units
2008-09-19 Kris Becker - Put quotes around "N/A", "NULL", "UNK"; ensure units are placed after each element in array instead of one at the end and outside the closing right parenthesis. These changes bring us more in line with PDS compliancy.
2008-09-30 Christopher Austin - added FormatEOL()
2009-09-15 Jeannie Walldren - Fixed bug where code was adding 2 sets of quotes to N/A when formatting value. These changes were made in AddQuotes(), FormatString() and FormatUnknown() methods.
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.
2005-04-04 Leah Dahmer wrote class documentation.
2006-04-21 Jacob Danton Added format templates abilities.
2006-09-11 Stuart Sides Added formatting ability
2008-07-02 Steven Lambright Added const functionality and fixed +=
2008-07-02 Steven Lambright Updated to compensate for PvlKeyword no longer being a parent
2008-09-30 Christopher Austin Replaced all std::endl in the << operator with PvlFormat.FormatEOL()
2010-04-13 Eric Hyer - Added copy constructor Added assignment operator
2010-09-27 Sharmila Prasad - Added API to Validate a PVLGroup
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.
2005-04-08 Leah Dahmer - Wrote class documentation.
2005-04-08 Leah Dahmer - Added the writeWithWrap() method so keyword values will now be wrapped when the length exceeds 80 characters.
2005-05-18 Jeff Anderson - Fixed minor problems with wrapping code.
2006-04-05 Elizabeth Miller - Added AddCommentWrapped() method.
2006-09-05 Stuart Sides - Added ability to format keywords in different ways using the PvlFormat class.
2007-08-20 Brendan George - Added checking to ensure Keyword Name contains no whitespace.
2008-02-08 Christopher Austin - Altered WriteWithWrap to not bomb when 2 or more single statement lines in a row are over 78 characters long.
2008-07-03 Steven Lambright - Added const functionality.
2008-07-10 Steven Lambright - stringEqual is now static, all AddComments methods are public.
2008-09-30 Christopher Austin - replaced all std::endl in the << operator as well as writeWithWrap() with PvlFormat.FormatEOL(), and formatted wraps accordingly.
2009-08-18 Eric Hyer - Added both SetUnits methods and ASSERT macro.
2009-09-09 Steven Lambright - Removed ASSERT macro, fixed formatting of error in SetUnits, and fixed text wrapping when a single array element needed split up into multiple lines.
2009-12-07 Steven Lambright - Added stream input operator for reading.
2010-01-19 Travis Addair - Added SetCharLimit method allowing users to set the point at which a keyword value is output to the next line down.
2010-02-04 Travis Addair - Moved the SetCharLimit method to PvlFormat class.
2010-04-13 Eric Hyer - Added copy constructor. Added assignment operator.
2010-06-25 Steven Lambright - NULLs ('\0') now count as binary.
2010-09-27 Sharmila Prasad - API to Validate a Keyword for type and values.
2010-10-18 Sharmila Prasad - Added more options for the keyword validation.
2011-04-12 Steven Lambright - Lessened the memory footprint by changing m_comments and m_units to pointers, m_values to a QVarLengthArray and m_name to a char *.
2011-07-07 Sharmila Prasad - While validating keyword, display appropriate error msg when converting string to integer which has a double value.
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.
2013-06-05 Tracie Sucharski - When splitting keywords make sure the continuation lines does not start with "//" since Isis Pvl considers that a comment. Fixes #1230.
2014-05-13 Jeannie Backer - Changed operator[] error message to construct a QString from the m_name char* instead of using the toString() method. The call to this method was using toString(bool) and always printing the QString "Yes" instead of the keyword name. Added padding on control statements to bring the code closer to ISIS Coding Standards. References #1659.
2005-04-04 Leah Dahmer wrote class documentation.
2006-04-21 Jacob Danton Added format templates abilities.
2006-05-18 Jacob Danton Added DeleteGroup by index
2006-09-11 Stuart Sides Added formatting ability
2007-08-11 Stuart Sides Added recursive FindKeyword and HasKeyword
2007-08-14 Steven Koechle Fixed missing pointers in FindKeyword and HasKeyword
2008-06-18 Steven Lambright Fixed documentation
2008-07-03 Steven Lambright Added const functionality and fixed +=
2008-07-10 Steven Lambright Compensated for PvlKeyword no longer being a parent
2008-09-30 Christopher Austin Replaced all std::endl in the << operator with PvlFormat.FormatEOL()
2009-10-28 Travis Addair Fixed bug causing a format template's object comments to not appear in the output
2009-12-17 Steven Lambright Added reading methods
2009-12-28 Steven Lambright Implemented const FindObject
2010-04-13 Eric Hyer - Added copy constructor Added assignment operator
2010-09-27 Sharmila Prasad - Validate an Object comparing with the corresponding Template Object
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-14 Elizabeth Ribelin - Modified file to support Doxygen
2013-03-11 Steven Lambright and Mathew Eis - Brought method names and member variable names up to the current Isis 3 coding standards. Fixes #1533. documentation
2003-02-25 Stuart Sides - Modified the way END is checked for. It was not working for embedded labels.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-28 Stuart Sides - Modified so single quotes work the same as double quotes
2003-10-28 Jeff Anderson - Fixed bug in order to allow for whitespace inside of arrays of strings
2004-01-22 Jeff Anderson - Removed single quotes when the occur as delimeters inside of array keywords.
2005-02-16 Jeff Anderson - Modified parsing of comma separated lists to not remove parens or squiggly brackets.
2005-02-18 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-05-31 Elizabeth Miller - Fixed bug in Load method when a keyword is loaded without a value
2007-04-13 Stuart Sides - Fixed bug where quoted strings broken over more than two lines were not being read correctly.
2009-03-13 Steven Lambright - Inline comments now correctly correlate to the keywords before them on the same line.
2010-01-08 Eric Hyer - PvlTokenizer.cpp used EOF without including fstream, breaking this class on recent compilers (I added #include <fstream>).
2003-09-03 Stuart Sides - Modified to work with new isis label format
2003-09-25 Stuart Sides - Added the Translate member
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2006-08-09 Brendan George - Modified to support Optional keyword translation
2006-10-01 Stuart Sides - Fixed bug with Optional keyword. Non-optional keywords were being reported instantly.
2006-11-16 Brendan George - Changed instances of "Foreign" to "Input" and "Native" to "Output"
2007-06-22 Stuart Sides - Added ability to have more than one input location keyword for a translation. The first one found which contains the input keyword is used.
2008-05-09 Steven Lambright - Added ability to change input label without re-reading the translation file.
2008-07-10 Noah Hilt - Changed while loops to continue searching other groups if a group has been found, but the keyword does not exist in that group.
2008-07-10 Steven Lambright - Changed to use new accessors
2010-01-04 Steven Lambright - Added InputKeyword method and removed InputSize, InputUnits, InputValue. Renamed private Translate method to DoTranslation to remove ambiguity with a parent method, instead of using a dummy parameter.
2003-09-03 Stuart Sides - Modified to work with new isis label format
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-09-08 Stuart Sides - Modified Translate member to handle translating any input value i.e., "*" to a specific output value (Thanks Kris Beckeer)
2006-11-16 Brendan George - Changed instances of "Foreign" to "Input" and "Native" to "Output"
2007-06-22 Stuart Sides - Added instance parameter to InputGroup member
2006-12-05 Brendan George - Changed OutputPosition keyword to be case insensitive, and added verification to the AddTable method so that Translation Tables are verified when read in
2008-07-10 Steven Lambright - Made trnsTbl member into a non-pointer
2010-01-04 Steven Lambright - Now using files instead of streams where possible to improve errors and added code that checks the integrity of translation files. Also now looking for "InputPosition" keyword instead of "InputGroup." The InputGroup method (which needs renamed later) now returns a PvlKeyword.
2006-08-09 Brendan George - Added IsOptional function as part of support for Optional keyword translations
2010-06-29 Steven Lambright - Added a setlocale to english for numeric values
2012-03-22 Steven Lambright - Added the Url handler for http:// links. Currently using QWebView - we may want options later.
2008-12-03 Jeannie Walldren - Changed variable names and labels for clarity. Added radio buttons so the user may choose a distance in meters or pixels. Rewrote filter() method since it did not seem to be working properly, to increase efficiency and to allow filtering for a distance in meters or pixels.
2009-01-08 Jeannie Walldren - Modified filter() method to replace existing filtered list with a subset of that list.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files.
2008-12-03 Jeannie Walldren - Reorganized method so it is working properly, to increase efficiency (by breaking out of loops when possible) and to allow filtering for a distance in meters or pixels. Renamed variables for clarity.
2009-01-08 Jeannie Walldren - Modified to replace existing filtered list with a subset of that list. Previously, a new filtered list was created from the entire serial number list each time.
2008-12-03 Jeannie Walldren - Added radio button so user may choose to filter distance in pixels or meters.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2009-01-08 Jeannie Walldren - Modified filter() method to create new filtered list from images in the existing filtered list.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor
2009-01-08 Jeannie Walldren - Modified filter() method to create a new filtered list from images in the existing filtered list.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files.
2006-08-02 Tracie Sucharski - Initialize cameras for every image in cube list.
2008-11-24 Jeannie Walldren - Replace references to PointEdit class with ControlPointEdit
2008-11-26 Jeannie Walldren - Added cNetName parameter to controlNetworkUpdated() so that QnetTool can read the name of the control net file.
2008-11-26 Tracie Sucharski - Remove all polygon/overlap polygon/overlap references, this functionality will be in qmos.
2008-12-10 Jeannie Walldren - Reworded "What's this?" description for saveAs action. Changed "Save As" action text to match QnetTool's "Save As" action 2010-06-03 Jeannie Walldren - Removed "std::" in .cpp file since "using namespace std"
2010-07-01 Jeannie Walldren - Added file extension filters for input control network. Replaced #includes with forward class declarations and moved #include to .cpp file.
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files.
2010-11-17 Eric Hyer - Added newControlNetwork SIGNAL
2010-12-10 Tracie Sucharski - Renamed slot loadPoint to loadPointImages.
2011-06-03 Tracie Sucharski - Add Open Ground & Open Dem signals.
2011-07-07 Tracie Sucharski - Disable Open Ground and Open Dem until list & net open.
2011-11-01 Tracie Sucharski - Added save slot.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.
2008-10-08 Tracie Sucharski - Do not display cube if it is already displayed, set as active window.
2008-12-10 Jeannie Walldren - Fixed documentation
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-07-12 Jeannie Walldren - Updated setActiveSubWindow call due to change in Workspace class
2011-04-08 Tracie Sucharski - Remove test for sn existing in serial number list since the list is where the serial number came from.
2007-06-07 Tracie Sucharski - Allow new network to be opened, prompt to save old network.
2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
2008-11-26 Jeannie Walldren - Uncommented "emit controlNetworkUpdated()" line and added parameter name defined in this method.
2008-12-10 Jeannie Walldren - Fixed documentation
2010-07-01 Jeannie Walldren - Added file extension filters for input control network
2010-11-09 Tracie Sucharski - "emit" was missing from the signal serialNumberListUpdated.
2011-08-08 Tracie Sucharski - If new network, set the Target
2011-11-01 Tracie Sucharski - save filename for the "Save" slot.
2010-07-01 Jeannie Walldren - Added file extension filters for input control network
2011-11-01 Tracie Sucharski - emit signal to update network information.
2010-07-01 Jeannie Walldren - Added file extension filters for input control network
2011-11-01 Tracie Sucharski - emit signal to update network information and save filename for the "Save" slot.
2008-11-26 Jeannie Walldren - Added functionality to show the last Point ID entered into a new point dialog box.
2010-06-03 Jeannie Walldren - Initialized pointers in constructor. Removed "std::" in header and .cpp files.
2011-06-08 Tracie Sucharski - Point type Ground renamed to Fixed, so class renamed from QnetGroundPointDialog to QnetFixedPointDialog.
2008-11-26 Jeannie Walldren - Set lastPointIdValue
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2007-06-05 Tracie Sucharski - Added enumerators for filter indices
2008-11-24 Jeannie Walldren - Replace references to PointEdit class with ControlPointEdit
2008-11-26 Jeannie Walldren - Added GoodnessOfFit to PointFilterIndex enumeration
2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos
2008-12-09 Tracie Sucharski - Cleaned up some signal/slot connections between QnetTool and QnetNavTool for deleting or adding ControlPoints. Also added m_filtered indicating whether the listBox contains filtered or unfiltered lists.
2008-12-29 Jeannie Walldren - Added question boxes to the "Delete Points" and "Ignore Points" buttons to verify that the user wants to delete or ignore the selected points
2008-12-30 Jeannie Walldren - Modified updateEditPoint() method to set current item rather than simply highlight the new point. Now the point does not have to be clicked before "Delete Point(s)" is chosen. Removed "std::" in cpp file since we are using std namespace.
2008-12-31 Jeannie Walldren - Added keyboard shortcuts to createNavigationDialog() and createFilters() methods.
2009-01-08 Jeannie Walldren - In resetList(), fill filtered lists with all points in control net and all images in serial number list so that filters can remove unwanted members from this list. In filter() remove command to clear these lists so that we may filter filtered lists rather than start with the entire points/image list each time it is called.
2009-01-26 Jeannie Walldren - The following changes were made in order to create a Cube Names filter on the Points list: Added CubeNames to PointFilterIndex enumerated values. Added resetCubeList() slot and serialListModified() signal. Modified filter() and createFilters().
2010-06-02 Jeannie Walldren - Changed tab labels from "Point Type" to "Point Properties" and "Measure Type(s)" to "Measure Properties" for better accuracy. Also updated "What's This?" description for "Measure Properties".
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor. Modified tie() and load() methods.
2010-07-01 Jeannie Walldren - Added showNavTool() slot method. This method is connected to the QnetTool in order to reopen the navigator dialog whenever the Tie tool button or "Show Nav Tool" button are activated. Replaced #includes with forward class declarations and moved #include to .cpp file.
2010-07-12 Jeannie Walldren - Fixed documentation.
2010-11-01 Tracie Sucharski - Changed updateEditPoint parameter from std::string to QString.
2010-11-04 Tracie Sucharski - Added overloaded load slot for double-clicking on the cube list.
2010-12-10 Tracie Sucharski - Renamed signal loadPoint to loadPointImages and the ControlPoint is passed by value so that the original point is preserved until the user selects "Save Point".
2011-03-24 Tracie Sucharski - Added ability to enter Apriori Point values and sigmas.
2013-05-14 Tracie Sucharski - Add Qt::UniqueConnection to the connect statements in ::resetList to prevent multiple connections between the ListWidget and edit point slot and load cube slot. Fixes #1655.
2007-06-05 Tracie Sucharski - Added enumerators for the filter indices to make it easier to re-order filters. Also, re-ordered the filters to put commonly used first. Comment out overlap/polygon code temporarily.
2008-11-26 Jeannie Walldren - Added Goodness of Fit to the filter tabs.
2008-12-31 Jeannie Walldren - Added keyboard shortcuts to tabs.
2009-01-26 Jeannie Walldren - Clarified tab names. Added points cube name filter tab.
2010-06-02 Jeannie Walldren - Changed tab labels from "Type" to "Properties". Updated "What's This?" documentation for Measure Properties to explain use of ignore status and measure type filters.
2008-10-29 Tracie Sucharski - Added filter count
2008-12-31 Jeannie Walldren - Added keyboard shortcuts
2010-11-04 Tracie Sucharski - Move listBox double-click connection to the slot for changing the listBox.
2008-12-29 Jeannie Walldren - Added question box to verify that the user wants to delete the selected points.
2011-07-25 Tracie Sucharski - Fixed bug in refreshing list changed to delete starting at end of list so indices stay accurate.
2011-10-20 Tracie Sucharski - Fixed bug with filter list not being updated correctly after deleting points. The simple fix was to reset the list, then re-filter. For most filters this is probably adequate. However, for computationally intensive filters, we might need a smarter algorithm which would involve actually adjusting the indices of the filtered list.
2007-06-05 Tracie Sucharski - Use enumerators for the filter indices. Comment out overlap/polygon code temporarily.
2008-11-19 Jeannie Walldren - Added WaitCursor (i.e. clock or hourglass) to indicate that there is background activity while this method is running
2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
2008-12-09 Tracie Sucharski - Added m_filtered indicating whether the listBox contains filtered or unfiltered list.
2009-01-08 Jeannie Walldren - Removed command to clear filtered points and images lists
2009-01-26 Jeannie Walldren - Added filter call for points cube name filter.
2007-06-05 Tracie Sucharski - Use enumerators for the filter indices. Comment out overlap/polygon code temporarily.
2008-10-29 Tracie Sucharski - Added filter count
2007-06-05 Tracie Sucharski - Use enumerators for the filter indices. Comment out overlap/polygon code temporarily.
2008-11-19 Jeannie Walldren - Added Qt::WaitCursor (i.e. clock or hourglass) to indicate that there is background activity while this method is running
2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
2010-06-03 Jeannie Walldren - Modified "No file selected" warning to check whether selected list is empty rather than the index of current row.
2008-12-09 Tracie Sucharski - Added m_filtered indicating whether the listBox contains filtered or unfiltered list.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2007-06-05 Tracie Sucharski - Use enumerators to test which filter is chosen. Comment overlap/polygon code temporarily.
2008-10-29 Tracie Sucharski - Added filter count 2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
2008-12-09 Tracie Sucharski - Renamed method from updateList to resetList since it it reseting all of the filtered lists and the listBox to the entire network of points and serial numbers.
2008-12-09 Tracie Sucharski - Added m_filtered indicating whether the listBox contains filtered or unfiltered list.
2009-01-08 Jeannie Walldren - Reset filtered list with all points in control net and all images in serial number list.
2010-11-04 Tracie Sucharski - Added double-click connections.
2008-12-30 Jeannie Walldren - Modified to setCurrentItem() rather than simply highlight the new point using setItemSelected() and scrollToItem().
2010-11-01 Tracie Sucharski - Changed pointId from std::string to QString.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor. Removed "std::" since "using namespace std" in header and .cpp files.
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet, ControlPoint, ControlMeasure header files. Changed vector of std::strings to a QStringList.
2010-12-02 Eric Hyer - Removed "using namespace std" from header file!!! Also removed non-parent includes. Eliminated the m_pointFiles variable. SetFiles now puts Selected items on top.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-10-29 Tracie Sucharski - Changed std::vector<std::string> to QSringList
2008-11-26 Jeannie Walldren - Added functionality to show the last Point ID entered into a new point dialog box.
2010-06-03 Jeannie Walldren - Initialized pointers in constructor. Removed "std::" in header and .cpp files.
2010-12-03 Eric Hyer - Selected points now go to the top!
2008-11-26 Jeannie Walldren - Set lastPointIdValue
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2011-03-08 Tracie Sucharski - If there is a saved ID and there is no point in the network with that id, do not disable "ok" button. This allows user to use the same id from a previous point creation if the point was never saved.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-10-29 Tracie Sucharski - Changed std::vector<std::string> to QSringList
2009-01-26 Jeannie Walldren - Original Version
2010-06-03 Jeannie Walldren - Initialized pointer to null in constructor
2008-11-26 Jeannie Walldren - Changed variable names and labels for clarity. Modified filter() to handle case in which the lat/lon of the point is Null. And to increase efficiency.
2009-01-08 Jeannie Walldren - Modified filter() method to create new filtered list from points in the existing filtered list.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2008-11-26 Jeannie Walldren - Modified code to handle case in which the lat/lon of the point is Null. In this event, the Camera class will be used to determine lat/lon/rad for the reference measure or for the first measure. Changed variable names for clarity. Adjusted inner "for" loop to reduce number of iterations.
2009-01-08 Jeannie Walldren - Modified to replace existing filtered list with a subset of that list. Previously, a new filtered list was created from the entire control net each time.
2011-03-17 Tracie Sucharski - Use surface point from camera and updated for changes to SurfacePoint.
2008-11-26 Jeannie Walldren - Clarified label for distance filter value.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2011-03-17 Tracie Sucharski - Changed text on filter gui.
2008-11-26 Jeannie Walldren - Original Version
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-02 Jeannie Walldren - Modified clearEdit() method to disable the line edit if the corresponding check box is not checked.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2011-03-04 Tracie Sucharski - Updated for new version of binary control networks. The GoodnessOfFit is now stored in the Log section of the control net, not as a keyword within the ControlMeasure.
2008-11-26 Jeannie Walldren - Original Version
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list. Previously, a new filtered list was created from the entire control net each time.
2010-06-02 Jeannie Walldren - Modify default settings of checkboxes and line edits
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-03 Jeannie Walldren - Initialized pointer to null in constructor
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list.
2011-10-20 Tracie Sucharski - trim whitespace from input
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-02 Jeannie Walldren - Modified clearEdit() method to disable the line edit if the corresponding check box is not checked.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResiudal.
2011-07-11 Tracie Sucharski - Renamed from QnetPointErrorFilter.
2008-08-06 Tracie Sucharski - New method for added functionality filtering range of errors.
2010-06-02 Jeannie Walldren - Disable the line edit so the user can not enter a value unless the corresponding box is checked.
2007-06-05 Tracie Sucharski - Look at ControlPoint::MaximumError instead of ControlPoint::AverageError
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list. Previously, a new filtered list was created from the entire control net each time.
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResidual.
2011-04-28 Tracie Sucharski - Sort points in decsending order of max residual.
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
2010-06-02 Jeannie Walldren - Modify default settings of checkboxes and line edits
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-02 Jeannie Walldren - Created MeasureTypeMatched() method. Modified filter() to add the Ignore Status filter
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2011-05-20 Tracie Sucharski - Remove reference as a measure type. Need to add ability to search for points without a reference?
2011-07-12 Tracie Sucharski - Use Group boxes instead of check boxes and reimplement filter to add the edit Lock status.
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list. Previously, a new filtered list was created from the entire control net each time.
2010-06-02 Jeannie Walldren - Added functionality to filter by ignore status in addition to measure type
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor. Removed "std::" in .cpp file.
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list. Previously, a new filtered list was created from the entire control net each time.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-02 Jeannie Walldren - Modified clearEdit() method to disable the line edit if the corresponding check box is not checked.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResiudal.
2011-07-11 Tracie Sucharski - Created from QnetPointJigsawErrorFilter
2008-08-06 Tracie Sucharski - New method for added functionality filtering range of errors.
2010-06-02 Jeannie Walldren - Disable the line edit so the user can not enter a value unless the corresponding box is checked.
2007-06-05 Tracie Sucharski - Look at ControlPoint::MaximumError instead of ControlPoint::AverageError
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list. Previously, a new filtered list was created from the entire control net each time.
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResidual.
2011-04-28 Tracie Sucharski - Sort points in decsending order of max residual.
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
2010-06-02 Jeannie Walldren - Modify default settings of checkboxes and line edits
2010-06-03 Jeannie Walldren - Initialized pointers to null
2008-11-26 Jeannie Walldren - Fixed comment in filter() method.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-02 Jeannie Walldren - Modified filter() method to treat a point as ignored if all of its measures have Ignore=True.
2010-06-03 Jeannie Walldren - Replaced "0" with "ControlPoint::Ground" in filter(). Initialized pointers to null in constructor
2011-06-08 Tracie Sucharski - Change for new point types and held points no longer exist, but editLocked points do.
2008-11-26 Jeannie Walldren - Fixed comment.
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list. Previously, a new filtered list was created from the entire control net each time.
2010-06-02 Jeannie Walldren - Modified to treat a point as ignored if all of its measures have Ignore=True
2010-06-03 Jeannie Walldren - Replaced "0" with ControlPoint::Ground in case enumeration changes.
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2010-10-05 Tracie Sucharski - Remove multiple ground types, back to simply tie or ground. Also help points no longer an option.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2010-10-05 Tracie Sucharski - Remove multiple ground types, back to simply tie or ground.
2011-04-04 Tracie Sucharski - Grey out userEntered if more than a single point is selected. Grey out lat,lon,radius edits if UserEntered is not selected.
2011-04-13 Tracie Sucharski - If single point selected, fill in LineEdit's with current controlPoint values.
2011-04-19 Tracie Sucharski - Redesign using modeless dialog.
2011-04-26 Tracie Sucharski - Move from QnetNavTool to QnetSetAprioriDialog.
2008-11-24 Jeannie Walldren - Changed name from TieTool. Replace references to PointEdit class with ControlPointEdit. Added "Goodness of Fit" to right and left measure info.
2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information. Defined updateNet() so that the QnetTool window's title bar contains the name of the control net file. Created ignoreChanged() signal, modified pointSaved() and createQnetTool() so message box appears if users are saving an "Ignore" point and asks whether they would like to set Ignore=false.
2008-12-09 Tracie Sucharski - Cleaned up some signal/slot connections between QnetTool and QnetNavTool for deleting or adding ControlPoints.
2008-12-09 Tracie Sucharski - Add new public slot refresh to handle the ignorePoints and deletePoints from the QnetNavTool.
2008-12-10 Jeannie Walldren - Added slot methods viewTemplateFile() and setTemplateFile() to allow user to view, edit or choose a new template file. Added "What's this?" descriptions to actions.
2008-12-15 Jeannie Walldren - Some QMessageBox warnings had strings tacked on to the list of errors. These strings were changed to iExceptions and added to the error stack to conform with Isis standards.
2008-12-15 Jeannie Walldren - Created newHoldPoint() method. Replaced references to QnetGroundPointDialog with QnetHoldPointDialog. Disabled ground point check box so user may see whether the point is ground but may not change this. Thus setGroundPoint() and newGroundPoint() methods still exist but are not currently called.
2008-12-30 Jeannie Walldren - Modified to set measures in viewports to Ignore=False if when saving, the user chooses to set a point's Ignore=False. Replaced references to ignoreChanged() with ignorePointChanged(). Added signals ignoreLeftChanged() and ignoreRightChanged().
2008-12-31 Jeannie Walldren - Added question box to pointSaved() method to ask user whether the reference measure should be replaced with the measure in the left viewport. Added documentation.
2009-03-09 Jeannie Walldren - Modified createPoint() method to clear the error stack after displaying a QMessageBox to the user
2009-03-17 Tracie Sucharski - Added the ability to save the registration chips to the Options menu.
2010-01-27 Jeannie Walldren - Fixed bug in setIgnoreLeftMeasure() and setIgnoreRightMeasure() that caused segmentation faults. Added question box to warn user that they are saving changes to an ignored measure.
2010-06-02 Jeannie Walldren - Added cancelHoldPoint() method and connected this slot to QnetHoldPointDialog's holdCancelled() signal.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-08 Jeannie Walldren - Fixed bug in drawAllMeasurments() so that points with ignored measures matching the image shown are drawn as yellow unless the QnetTool is open to this point. Changed QMessageBox types for consistency with other qnet warnings and errors
2010-07-01 Jeannie Walldren - Added createToolBarWidget(), showNavWindow() methods to reopen NavTool (if closed) whenever the Tie tool button on the tool pad is clicked. Modified drawAllMeasurments() to draw points selected in QnetTool last so they lay on top of all other points in the image. Replaced #includes with forward class declarations and moved #include to .cpp file.
2010-07-12 Jeannie Walldren - Fixed bug in deletePoint() method. To prevent a seg fault, set m_controlPoint to NULL and emit editPointChanged with an empty string if the entire point is deleted.
2010-07-12 Jeannie Walldren - Fixed bug in newHoldPoint() method that was causing the Hold Point Dialog to call the reject() command. Updated documentation.
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files. Remove findPointFiles method, the code is now in the createPoint method.
2010-11-19 Tracie Sucharski - Renamed pointSaved slot to measureSaved.
2010-11-22 Eric Hyer - Added stretchChipViewport SIGNAL for forwarding of SIGNAL from StretchTool to ChipViewport
2010-12-08 Eric Hyer - Template filename now shown. Widgets in main window now organized into groupBoxes. Removed Options menu and moved registration menu to main menu bar. Added toolbar for actions also in menu. All actions now have icons.
2010-12-14 Eric Hyer - Template editor is now a widget within the main window. Newly saved template files take effect after saving.
2010-12-17 Eric Hyer - Fixed bug where current template file was not being updated with saveAs. Moved template file display to outside of control point groupbox.
2011-06-08 Tracie Sucharski - Point types renamed: Ground -—> Fixed Tie -—> Free
2011-06-28 Tracie Sucharski - Added methods, "loadMeasureTable" and "measureColumnToString". TODO: If these stay in qnet, they really need cleaning up. This was a quick & dirty band-aid until cneteditor is ready to be folded into qnet.
2011-07-27 Tracie Sucharski - Added method to return the radius from a Dem if one is open.
2011-09-16 Tracie Sucharski - Added method to draw Fixed and Constrained points on the ground source viewport.
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked().
2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2012-04-26 Tracie Sucharski - Cleaned up private slot,measureSaved. Abstracted out checking for a new reference measure and updating the surface point for a ground point.
2012-05-07 Tracie Sucharski - Removed code in measureSaved to re-load left measure if left and right are the same, this is already handled in ControlPointEdit::saveMeasure.
2012-05-08 Tracie Sucharski - Fixed bug where m_leftFile was not being reset in mouseButtonRelease. Change m_leftFile from a std::string to a QString.
2012-06-12 Tracie Sucharski - Change made to measureSaved on 2012-04-26 caused a bug where if no ground is loaded the checkReference was not being called and reference measure could not be changed and there was no warning printed. Fix: Only call checkReference if there is no explicit reference for the point, otherwise simply set reference to left measure. If ground source is on the left do not print warning about new reference measure.
2012-07-30 Tracie Sucharski - Fixed bug, program would seg fault when left-clicking on a cube when there were no control points. Before calling FindClosest, make sure the control net has points.
2012-09-28 Tracie Sucharski - In ::loadPoint when looking for ground source in the right combo box, use the fileName, not the serial number. The ground source serial number will not be the fileName if the Instrument group is retained in the labels. Fixes #1018
2012-10-04 Tracie Sucharski - If the ground source serial number already exists in the serial number list, print error and clear out ground information. Fixes #1018
2013-05-09 Tracie Sucharski - Check for user selecting all measures for deletion and print warning that point will be deleted. Fixes #1491.
2013-05-09 Tracie Sucharski - For editing (left button) and deleting (right button), Swapped checking for empty network and not allowing mouse clicks on the ground source. First check if there are any points in the network. If not print message and return. Fixes #1493.
2013-05-16 Tracie Sucharski - Fixed some bugs when closing a ground source, opening a new ground source, and printing errors when point does not exist on current ground source. Fixes #1655.
2013-11-07 Tracie Sucharski - Moved error checking on edit locked measures from ::measureSaved to ControlPointEdit::saveMeasure. The error checking now forces the edit lock check box to be unchecked before the measure can be saved. Fixes #1624.
2013-12-05 Tracie Sucharski - Added error check for an ignored reference measure when changing point type to constrained or fixed or when saving constrained or fixed point with an ignored reference measure. Added new method, loadGroundMeasure, so that loadPoint does not need to be called from setPointType. This avoids reloading the point in case the ignored flag has been changed, but measure has not been saved. References #1603.
2010-11-17 Eric Hyer - Added newControlNetwork SIGNAL
2010-07-22 Tracie Sucharski - MeasureType of Estimated is now Reference. This change associated with implementation of binary control networks.
2011-04-06 Tracie Sucharski - If not a fixed point, use the Reference measure to get lat,lon.
2008-11-18 Jeannie Walldren - Added "Close" action to the file menu on the qnet tool window.
2008-12-10 Jeannie Walldren - Added "What's this?" function to qnet tool actions.
2008-11-20 Jeannie Walldren - Added message box if pointID value entered already exists for another ControlPoint. Previously this resulted in a PROGRAMMER ERROR from ControlPoint. Now, the user will be alerted in a message box and prompted to enter a new value for pointID.
2008-12-03 Tracie Sucharski - Add error message and cancel create new point if the point falls on a single image.
2008-12-15 Jeannie Walldren - Throw and catch error before creating QMessageBox
2009-03-09 Jeannie Walldren - Clear error message stack after it is displayed to user in message box.
2009-04-20 Tracie Sucharski - Set camera for each measure.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-07-21 Tracie Sucharski - Modified for new keywords associated with implementation of binary control networks.
2010-11-19 Tracie Sucharski - Changed m_controlPoint to m_editPoint which is a copy rather than a pointer directly to the network.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
2011-03-31 Tracie Sucharski - Remove check for point only existing on a single image. This will be shown on new point dialog and user can always hit "Cancel".
2011-04-08 Tracie Sucharski - Added check for NULL pointer before deleting m_editPOint if parent is NULL.
2011-07-19 Tracie Sucharski - Remove call to SetAprioriSurfacePoint, this should only be done for constrained or fixed points.
2012-05-08 Tracie Sucharski - m_leftFile changed from std::string to QString.
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right and left measure info.
2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information. Moved setWindowTitle() command to updateNet() method. Added connection between Ignore checkbox toggle() slot and ignoreChanged() signal
2008-12-29 Jeannie Walldren - Disabled ground point check box and commented out connection between check box and setGroundPoint() method.
2008-12-30 Jeannie Walldren - Added connections to toggle measures' Ignore check boxes if ignoreLeftChanged() and ignoreRightChanged() are emitted. Replaced reference to ignoreChanged() with ignorePointChanged().
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-07-12 Jeannie Walldren - Fixed bug by setting control point to NULL if removed from the control net and check for NULL points before emitting editPointChanged
2011-04-04 Tracie Sucharski - Move code that was after the exec block within, so that if the Cancel button is selected, nothing else happens.
2011-07-15 Tracie Sucharski - Print info about deleting editLock points and reference measures.
2013-05-09 Tracie Sucharski - Check for user selecting all measures for deletion and print warning that point will be deleted.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-06-08 Jeannie Walldren - Fixed bug that was causing ignored measures not be drawn as yellow unless QnetTool was open
2010-07-01 Jeannie Walldren - Modified to draw points selected in QnetTool last so they lay on top of all other points in the image.
2011-04-15 Tracie Sucharski - Fixed bug which was causing all measures to be drawn on all cubes. Also removed loop through measures, instead just get measure for given serial number.
2011-10-20 Tracie Sucharski - Add check for a control network that does not yet have any control points.
2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.
2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-10-29 Tracie Sucharski - Changed pointfiles to QStringList
2011-04-20 Tracie Sucharski - Was not setting EditLock check box
2011-07-18 Tracie Sucharski - Fixed bug with loading ground measure-use AprioriSurface point, not lat,lon of reference measure unless there is no apriori surface point.
2012-05-08 Tracie Sucharski - m_leftFile changed from std::string to QString.
2012-09-28 Tracie Sucharski - When looking for ground source in right combo, use fileName, not the serial number. The ground source serial number will not be the fileName if the Instrument group is retained in the labels. Fixes #1018
2008-11-26 Jeannie Walldren - Added message box to warn the user that they are saving an "Ignore" point and ask whether they would like to set Ignore=false. This emits an ignoreChanged() signal so the "Ignore" box in the window is unchecked.
2008-12-30 Jeannie Walldren - Modified to set measures in viewports to Ignore=False if when saving, the user chooses to set a point's Ignore=False. Replaced reference to ignoreChanged() with ignorePointChanged().
2008-12-31 Jeannie Walldren - Added question box to ask user whether the current reference measure should be replaced with the measure in the left viewport.
2010-01-27 Jeannie Walldren - Added question box to warn the user that they are saving an "Ignore" measure and ask whether they would like to set Ignore=False. This emits an ignoreRightChanged() signal so the "Ignore" box in the window is unchecked. Modified Ignore Point message for clarity.
2010-11-19 Tracie Sucharski - Renamed from pointSaved.
2011-03-03 Tracie Sucharski - Do not save left measure unless the ignore flag was changed, that is the only change allowed on the left measure.
2011-04-20 Tracie Sucharski - If left measure equals right measure, copy right into left. Also if EditLock true and user does not want to change, then do not save measure. Remove signals EditPointChanged and netChanged, since these should only happen when the point is saved.
2011-07-01 Tracie Sucharski - Fixed bug where the edit measure EditLocked=True, but the original measure was False, and we woouldn't allow the measure to be saved.
2011-07-25 Tracie Sucharski - Removed editPointChanged signal since the editPoint is not changed. This helped with qnet windows blinking due to refresh.
2011-09-22 Tracie Sucharski - When checking ignore status on right measure, check both original and edit measure.
2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked() because it checks the m_editPoint measure instead of the measure loaded into the point editor.
2012-04-26 Tracie Sucharski - cleaned up, moved reference checking and updating ground surface point to new methods.
2012-05-07 Tracie Sucharski - Removed code to re-load left measure if left and right are the same, this is already handled in ControlPointEdit::saveMeasure.
2012-06-12 Tracie Sucharski - Change made on 2012-04-26 caused a bug where if no ground is loaded the checkReference was not being called and reference measure could not be changed and there was no warning printed.
2013-12-05 Tracie Sucharski - If saving measure on fixed or constrained point and reference measure is ignored, print warning and return.
2007-06-12 Tracie Sucharski - Swapped left and right mouse button actions.
2009-06-08 Tracie Sucharski - Add error checking for editing or deleting points when no point exists.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-11-19 Tracie Sucharski - Make a copy of the point to be edited or added. Do not add to control network until user selects "Save Point To Control Network".
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
2012-05-08 Tracie Sucharski - Clear m_leftFile, only set if creating new point. Change m_leftFile from a std::string to a QString.
2013-05-09 Tracie Sucharski - For editing (left button) and deleting (right button), Swapped checking for empty network and not allowing mouse clicks on the ground source. First check if there are any points in the network. If not print message and return.
2013-12-17 Tracie Sucharski - Check for valid serial number at beginning. This prevents seg fault if user opens a new cube list but clicks on a cube that was open from a previous list.
2011-06-03 Tracie Sucharski - Make sure edit point valid before loading.
2012-10-04 Tracie Sucharski - If the ground source serial number already exists in the serial number list, print error and clear out ground information.
2012-10-05 Tracie Sucharski - Re-factored most of this method, attempting to clean up logic, error checking and recovery.
2010-12-15 Tracie Sucharski - Before setting m_editPoint to NULL, release memory. TODO: Why is the first if statement being done???
2011-10-20 Tracie Sucharski - If no control points exist in the network, emit proper signal and make sure editor and measure table are hidden.
2011-04-20 Tracie Sucharski - If EditLock set, prompt for changing and do not save point if editLock not changed.
2011-07-05 Tracie Sucharski - Move point EditLock error checking to individual point parameter setting methods, ie. SetPointType, SetIgnorePoint.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2011-07-06 Tracie Sucharski - If point is Locked, and measure is reference, lock the measure.
2010-01-27 Jeannie Walldren - Fixed bug that resulted in segfault. Moved the check whether m_rightMeasure is null before the check whether m_rightMeasure equals m_leftMeasure.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-01-27 Jeannie Walldren - Fixed bug that resulted in segfault. Moved the check whether m_leftMeasure is null before the check whether m_rightMeasure equals m_leftMeasure.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to left measure info.
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2011-05-20 Tracie Sucharski - Added Reference output
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
Tracie Sucharski - Original version
2008-11-26 Jeannie Walldren - Added cNetFileName input parameter in order to show the file path in the window's title bar.
2011-10-31 Tracie Sucharski - Save filename for implementation of Save option.
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right measure info.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2011-05-20 Tracie Sucharski - Added Reference output
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2011-05-12 Tracie Sucharski - Type printing Apriori Values
2011-05-24 Tracie Sucharski - Set target radii on apriori surface point, so that sigmas can be converted to meters.
2008-12-10 Jeannie Walldren - Original Version
2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object
2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.
2012-04-04 Travis Addair - Added documentation.
2013-06-05 Jeannie Backer - Added initialize() method and replaced call to setInput(). Changed ImageExporter calls to new method names, where needed. References #1380.
2002-07-10 Jeff Anderson - Added the Compute private method and made it unfold data at the edges as opposed to using NULL values.
2002-07-15 Jeff Anderson - Added Low and High methods
2002-08-01 Jeff Anderson - Added MinimumPixels method
2003-02-14 Jeff Anderson - Changed unfolding technique to use symmetry as opposed to mirroring (i.e., 32123 not 21123)
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-08-27 Jeff Anderson - Modified variance method to divide by (n-1)*n instead of n*n
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2009-07-01 Janet Barrett - Fixed intrack, crosstrack, and radial coordinate calculations; changed boundary check to use radius instead of lat,lon; updated calculation of Doppler shift
2009-10-30 Debbie A. Cook - Fixed rotation of velocity vector in SetFocalPlane, SetGround, and ComputeXv
2009-11-10 Janet Barrett - Added iteration check to SetFocalPlane to take care of situation where DEM radius does not converge
2009-11-20 Janet Barrett - Added a check to the SetGround method to determine what side of the spacecraft the focal plane coordinate falls. This fixed the mirror image problem that occurred when projecting the image.
2009-12-14 Debbie A. Cook - Added ComputeXY method
2010-03-19 Debbe A. Cook - added class members p_wavelength, p_lookB, p_sB, p_slantRange, and p_dopplerFreq; and methods SlantRangeSigma, WaveLength, DopplerSigma, SetSlantRangeSigma, GetXY, GetXYdPosition, and GetXYdPoint. Removed method SetWeightFactors.
2010-08-05 Debbie A. Cook - changed to use Surface point class
2010-11-22 Debbie A. Cook - moved PointPartial call out of GetdXYdPoint to allow BundleAdjust to avoid multiple calls for every measure. The application must call PointPartial to get the body-fixed look vector derivative prior to calling this method.
2010-12-17 Debbie A. Cook - Corrected units to kilometers in GetXY
2012-01-03 Janet Barrett - Got rid of call to SetLookDirection in the SetFocalPlane method. The call to SetLookDirection was duplicating the functionality of the SetFocalPlane method.
2012-01-04 Janet Barrett - Added check for valid radius in the SetGround method.
2012-01-27 Janet Barrett - The iterative algorithm in the SetFocalPlane method was failing on some points when using the DEM shape model. To fix this problem, I decreased the tolerance from 1E-8 to 1E-6 and increased the number of iterations from 30 to 100.
2012-04-03 Janet Barrett - The iteration code was moved to its own method so that it can be run multiple times if necessary. The first iteration should suffice for those pixels that have shallow slopes. For those pixels that lie on steep slopes (up to 2x the incidence angle), then an additional iteration call is needed. In the future, we may need to add more calls to the iteration method if the slope is greater than 2x the incidence angle. The slope variable will need to be halved each time the iteration method is called until a solution is found. So, for example, if we needed to call the iteration method a third time, the slope variable would be set to .25.
2012-04-11 Janet Barrett - Removed call to SetLookDirection from the SetGround method.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2013-02-11 Debbie A. Cook, Fixed SetGround method by adding call to set the surface point in the ShapeModel so that photometric angles can be calculated. References #775
2009-07-01 Janet Barrett - Corrected the calculations used to convert from line to time and back
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-07-01 Janet Barrett - Changed the bracketing method used to solve for the root of the function that determines ground range given slant range; fixed code that determines the range coefficients to used based on current ephemeris time
2010-03-19 Debbie A. Cook - Added comments about the units and corrected slant in SetUndistortedFocalPlane to be in meters instead of km
2011-09-14 Randy Kirk - Fixed the ComputeA method so that it is handling the range coefficients properly. A linear fit is used to obtain the range coefficients if the current time falls between 2 points with known range coefficients.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-04-15 Sharmila Prasad - Ported the class from "reduce" app to base object class.
2011-05-10 Sharmila Prasad - Fixed error while setting input bands and moved static members to data members in Average class.
2011-05-11 Sharmila Prasad - Use Portal instead of LineMgr to read Line & added API setInputBoundary to reduce subarea of an image
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2012-02-01 Sharmila Prasad - Remove unused band data member Fixes #00681
2013-01-16 Tracie Sucharski - Fixed bug caused by a round off error when calculating scales when output line and sample are entered. This resulted in output bands beyond band 1 being NULL in the output cube. This only happened with certain values of output lines and scales. Also, fixed the the swapping of output samples and lines in the Results group in the print.prt file. Fixes #1385.
2003-01-30 Jeff Anderson - Add the SetWorldMapper() method and removed setting the mapper from the constructor
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-30 Jeff Anderson - Updated unit test to fix error for optimization
2003-08-25 Jeff Anderson - Added LatitudeTypeString(), LongitudeDirectionString(), and LongitudeDomainString() methods
2003-09-26 Jeff Anderson - Added ToWorldX(), ToWorldY(), ToProjectionX(), ToProjectionY(), and Resolution() methods
2003-09-26 Jeff Anderson - Added virtual Name, operator==, and operator!= methods
2003-09-26 Jeff Anderson - Remove virtual from operator!=
2003-10-14 Jeff Anderson - Added Scale() and TrueScaleLatitude() methods
2003-11-04 Jeff Anderson - Replace the pure virtual methods for SetGround() and SetCoordinate() with virtual method which simply copy ring rad/lon to x/y and vice versa. This is essentially no projection.
2003-11-04 Jeff Anderson - Added LocalRadius() methods
2004-02-23 Jeff Anderson - Added Eccentricity(), tCompute(), mCompute(), e4Compute(), and phi2Compute() methods
2004-02-24 Jeff Anderson - Fixed bug in eccentricity computation
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-02-25 Elizabeth Ribelin - Added 3 static conversion methods: ToHours(), ToDMS(), and ToHMS()
2005-03-08 Elizabeth Ribelin - Fixed unitTest
2005-06-24 Jeff Anderson - Tweaked format for DMS and HMS methods
2005-07-22 Jeff Anderson - Added static ToPlanetographic() method
2006-04-20 Tracie Sucharski - Fixed bug looking at Target instead of TargetName for sky.
2006-06-20 Stuart Sides - Added ability to lookup the radii if given a "TargetName" in the mapping group.
2006-07-10 Elizabeth Miller - Fixed bugs in new static method
2007-06-27 Steven Lambright - Added static ToPlanetocentric(), ToPositiveWest() and ToPositiveEast() methods. Changed To180Domain() and To360Domain() to be static instead of const. Added Mapping(), MappingLatitudes() and MappingLongitudes() methods for map2map.
2007-08-14 Steven Lambright - Mapping() fixed: should not return cube specific parameters, because they did not go into making the projection.
2008-05-09 Steven Lambright - Added Name(), Version(), IsEquatorialCylindrical() methods
2008-06-12 Christopher Austin - Elaborated error messages.
2008-06-19 Steven Lambright - Fixed memory leak
2009-01-29 Stacy Alley - added a overloaded STATIC method for convenience. TargetRadii, which takes a Pvl, the cube label, and a PvlGroup, a mapping group.
2011-02-10 Jai Rideout - added SetUpperLeftCorner() because ProjectionFactory needed a way to set UpperLeftCornerX and UpperLeftCornerY keywords after creating the projection. Mapping() now adds optional keywords UpperLeftCornerX, UpperLeftCornerY, PixelResolution, and Scale to original mapping group so that cam2map can properly display a clean mapping group.
2011-07-05 Jeannie Backer - Added qCompute() method. Updated documentation.
2011-08-11 Steven Lambright - phi2Compute was running out of iterations for vesta (an asteroid). Fixes #279
2012-03-01 Jeff Anderson - Fixed bug in SetUpperLeftCorner by adding Pvl::Replace when updating the mapping labels
2012-03-30 Steven Lambright and Stuart Sides - To360Domain() and To180Domain() are now constant time operations. Fixes #656.
2012-06-15 Jeannie Backer - Added documentation. Added forward declarations to header file. Ordered includes in implementation file. Moved destructor and accessor methods to the implementation file. Moved the following methods from the ObliqueCylindrical class for generalized xyRangeOblique() method - doSearch(), findExtreme(), setSearchGround(). Changed member variable prefix to m_. Improved unitTest. Resolves #928.
2012-07-25 Jeannie Backer - Modified the new methods related to xyRangeOblique() to verify the validity of the values when setSearchGround() is called. References #954.
2012-08-01 Kimberly Oyama - Added a qFuzzyCompare() to ToPlanetographic() to account for rounding error at the latitude boundaries (-90 and 90 degrees). Updated the unit test to exercise this change. References #604.
2012-08-09 Steven Lambright - Added NaifStatus calls to protect the TargetRadii() method from naif throwing an error/crashing with inputs that have non-target naif codes.
2012-11-23 Debbie A. Cook - New RingPlaneProjection child/base class
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added condition to do-while loop for more precision. Replaced hard-coded TOLERANCE with 1/2 pixel resolution. (Defaults to 0.5)
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here. Added error.
2008-09-26 Steven Lambright Added Segmented line, reordered banding options at Stuart's Request
2008-10-01 Steven Lambright Fixed bug with segmented line, if polygon was enabled then segmented line was
2010-06-26 Eric Hyer - Fixed one include issue
2010-11-08 Eric Hyer - Updated documentation for drawing lines
2007-09-11 Steven Lambright Original version
2008-01-03 Steven Lambright bug fix on the polygons
2008-05-23 Noah Hilt added getRectangle method
2008-08-18 Steven Koechle updated to work with Geos 3.0.0
2008-09-26 Steven Lambright Added Segmented line
2010-05-24 Eric Hyer - Added clear() method
2010-06-03 Eric Hyer - Fixed bug in getInstance method
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2010-11-08 Eric Hyer - Added mouse snapping
2011-09-20 Steven Lambright - Segmented lines now have updates while the user is still drawing them instead of just a complete state.
2012-02-08 Tracie Sucharski - Added method to set drawing on the active viewport only.
2012-09-18 Steven Lambright - This is no longer a singleton, which prevented it from working with multiple workspaces. Brought method naming closer to current coding standards.
2007-12-06 Christopher Austin Original Version
2008-06-18 Steven Lambright Fixed documentation
2014-06-23 Ian Humphrey - Modified hard coded /usgs/cpkgs/ paths to relative pathnames. Fixes #2054.
2014-07-31 Ian Humphrey - Removed ConfigurePlotMenuOption for scatter plot window. References #2089.
2011-10-12 Orrin Thomas - Original version
2012-02-14 Orrin Thomas - add centerOfMassWeighted routine to support using Selection/Centroid for subpixel registration
2012-12-26 Steven Lambright - Fixed an error with uninitialized memory inside of the method bestFitEllipse(). The array 'ata' wasn't fully initialized and was then used (only the 0th element was initialized). This caused unpredictable results in apollopanstitcher. Fixes #1053.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-30 Jeff Anderson - Updated unitTest and truth to account for precision due to optimization
2003-10-16 Jeff Anderson - Added LoadEulerMounting and LoadFrameMounting methods
2003-11-26 Jeff Anderson - Modified FrameMounting methods to allow for fixed frames or time dependent frames
2004-01-14 Jeff Anderson - Remove an unused constructor
2004-01-20 Jeff Anderson - Added an option to the SetUniversalGround method to eliminate checks for points on the backside of the target
2004-02-18 Jeff Anderson - Fixed a problem with the FrameMounting methods as the frame kernel is unloaded if a cache is created.
2004-02-23 Jeff Anderson - Fixed two bugs in the handling of DEMs. Used universal lat/lon when appropriate and the radius needed to be converted to km when read from the DEM file.
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-02-24 Jeff Anderson - Added SlantDistance method and made the constructor ignore the ElevationModel keyword if it is null
2005-02-25 Jeff Anderson - Added LocalSolarTime method
2005-06-09 Elizabeth Ribelin - Added LoadEulerMounting method that accepts a matrix as a parameter
2005-08-24 Jeff Anderson - Make sure LocalSolarTime always return positive hours
2005-09-20 Jeff Anderson - Added tests for trying to intersect the sky
2006-03-31 Elizabeth Miller - Added SpacecraftAltitude & SolarDistance methods
2006-09-07 Debbie A. Cook - Changed back-of-planet test to use emission angle instead of length of vector to surface point
2006-10-11 Jeff Anderson - Modified reading radius from dem using bilinear interpolation
2006-10-12 Jeff Anderson - Modified the SetLookDirection method to use the DEM (if available) when computing a ground point
2007-05-18 Jeff Anderson - Modify SpacecraftAltitude method to use DEM
2007-06-11 Debbie A. Cook - Added alternative method that includes radius
2007-08-24 Debbie A. Cook - Replaced references to m_sB since it was removed from Spice
2007-11-27 Debbie A. Cook - Added overloaded method SetUniversalGround(lat, lon, radius)
2008-05-21 Steven Lambright - CubeManager is now used to speed up DEM Cube I/O
2008-06-18 Debbie A. Cook - Made DemRadius radius public instead of private and added method HasElevationModel
2008-08-06 Stuart Sides - Modified SetLookDirection to better handle oblique views. In the past it would oscillate and run out of iterations.
2009-02-06 Debbie A. Cook - Changed the tolerance from 1e-6 to 1e-12 for dist**2 (mm)
2009-02-06 Debbie A. Cook - Changed the tolerance back to 1e-6 (mm)
2009-02-15 Debbie A. Cook - Added virtual Resolution method
2009-06-30 Steven Lambright - Added IgnoreElevationModel and fixed DemRadius
2009-07-09 Debbie A. Cook - Corrected documentation on Resolution method
2009-09-23 Tracie Sucharski - Convert negative longitudes returned by reclat in SetLookDirection.
2010-09-15 Janet Barrett - Modified the SetLookDirection method to use a new algorithm for finding the intersection of a ray with the DEM. This was required to take care of problems that were encountered at the poles of global DEM files. The algorithm that is being used was taken from "Intersection between spacecraft viewing vectors and digital elevation models" by N.A. Teanby.
2010-11-09 Eric Hyer - moved some private members to protected section for Camera
2010-12-07 Steven Lambright - Added LocalRadius(lat,lon) and removed a sqrt from SetLookDirection
2011-01-26 Steven Lambright - The LocalRadius methods now return Distance objects and added a LocalRadius method that uses the Latitude and Longitude classes.
2011-02-08 Jeannie Walldren - Added method parameter documentation.
2011-02-09 Steven Lambright & Debbie Cook - Refactored heavily to use Latitude, Longitude, SurfacePoint, and iTime where applicable. Optimized SetLookDirection. These changes were meant primarily for readability and reducing error-proneness of the code.
2011-03-28 Janet Barrett - Fixed the SetLookDirection routine so that it checks to make sure that the projection of the DEM is in an Equatorial cylindrical projection before using the new ray tracing routine. The check for this was moved when other code was added. This was causing a problem with footprintinit.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2011-05-25 Janet Barrett and Steven Lambright - Moved the ownership of the DEM projection to the DEM cube which is owned by CubeManager.
2011-08-22 Steven Lambright - The DEM cube now uses a UniqueIOCachingAlgorithm(5). This will probably behave better in all cases. Fixes #364
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-12-20 Tracie Sucharski - Added SpacecraftSurfaceVector method which returns the vector between the spacecraft and the surface point in body-fixed.
2012-05-04 Steven Lambright - Re-enabled a safety check in the DemRadius() method which was needed due to Projection not uniformly handling Null inputs. Fixes #807.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-09-06 Steven Lambright and Stuart Sides - Changed the constructors to take Cube instead of Pvl to prevent redundant parsing. This should eventually be refactored into a CubeLabel or similar object so that an actual cube isn't required in the future, but for now this enables the control net GUI to create a camera from a cube with no dimensions in the label.
2012-10-10 Debbie A. Cook - Moved the functionality related to the shape model into new classes: ShapeModel, EllipsoidShape, DemShape, and EquatorialCylindricalShape. Also modified to use new Target class. References #775 and #1114
2012-10-25 Jeannie Backer - Changed resolution() method to lower camel case. References #1181.
2012-03-04 Tracie Sucharski - Added new method, PixelIfovOffsets, which will return the ifov offsets from the center of the pixel in mm. This is a virtual method and if not implemented in the specific instrument camera, this class will throw an error. References #1604.
2009-09-23 Tracie Sucharski - Convert negative longitudes returned my reclat.
2010-09-15 Janet Barrett - Modified this method to use a new algorithm for finding the intersection of a ray with the DEM. This was required to take care of problems that were encountered at the poles of global DEM files. The algorithm that is being used was taken from "Intersection between spacecraft viewing vectors and digital elevation models" by N.A. Teanby. This algorithm only works on Equatorial Cylindrical projections. Other projections still use the previous algorithm.
2010-10-26 Janet Barrett - The tolerance value of 1E-5 was too small and was causing a divide by zero error when the current and last intersections were virtually the same. The tolerance was changed to 3E-8 * a (where a is the equatorial radius of the planet we are dealing with).
2011-01-24 Janet Barrett - Got rid of extra loop that wasn't needed for the new ray tracing algorithm.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
2005-07-28 Stuart Sides Original version
2005-08-02 Jeff Anderson added new static methods for serial number composition from a cube or filename
2006-01-24 Jacob Danton Updated the SerialNumber Compose method to use .trn files specific to the mission
2006-06-15 Kris Becker Added the return of the filename as the fallback default condition. "Unknown" will still be returned if the input source is a label created in memory and does not have a valid serial number signature and it was not read in from a file. Add a test for this to the unitTest.
2006-12-08 Stuart Sides Added parameter the the Compose methods to allow or disallow defaulting to the filename. This parameter has a default of false. Which will cause "Unknown" to be returned for files where a SN could not be correctly produced.
2007-07-09 Steven Lambright Changed missions translation filename from Missions.trn to MissionName2DataDir.trn
2007-09-11 Steven Koechle Added three ComposeObservation methods and made code reusable by seperating existing code into two private methods.
2007-09-13 Steven Koechle Fixed boolean paramaters passed into FindSerialTranslation
2008-05-09 Steven Lambright Optimized the FindSerialTranslation method
2008-05-18 Steven Lambright Fixed documentation
2008-01-10 Christpher Austin Removed the use of the system default file in FindSerialTranslation() and detached ObservationNumber functionality into its own class
2005-08-03 Jeff Anderson Original Version
2006-02-10 Jacob Danton Added SerialNumber function
2006-02-13 Stuart Sides Added checks to make sure all the serial number items have the same target.
2006-06-15 Jeff Anderson Added GetIndex method
2006-06-22 Brendan George Added functions to get index, modified/added functions to get filename and serial number, and modified so that index corresponds to order files are input.
2006-08-16 Brendan George Added/fixed error checking in FileNameIndex() and SerialNumber(string filename).
2006-08-18 Brendan George Modified to use Expanded FileName on input, allowing for filenames that use environment variables
2006-09-13 Steven Koechle Added method to get the ObservationNumber when you give it an index
2008-01-10 Christopher Austin - Adapted for the new ObservationNumber class.
2008-10-30 Steven Lambright - Fixed problem with definition of struct Pair, pointed out by "novus0x2a" (Support Board Member)
2009-10-20 Jeannie Walldren - Added Progress flag to Constructor
2009-11-05 Jeannie Walldren - Modified number of maximum steps for Progress flag in Constructor
2010-09-09 Sharmila Prasad - Added API to delete serial# off of the list given Serial #
2010-11-24 Tracie Sucharski - Added bool def2filename parameter to the Add method. This will allow level 2 images to be added to a serial number list.
2012-07-12 Tracie Sucharski - Added new method Add, which takes a pre-composed serial number and a filename.
2006-05-31 Tracie Sucharski Added filename function that uses index instead of serial number.
2007-06-04 Tracie Sucharski - Expand filename to include full path before adding to list.
2010-11-24 Tracie Sucharski - Added bool def2filename parameter. This will allow level 2 images to be added to a serial number list.
2010-11-29 Tracie Sucharski - Only read the Instrument group if p_checkTarget is True. If def2filename is True, check for Mapping group if Target does not exist.
2007-06-04 Tracie Sucharski - Expand filename to include full path before searching list.
2007-07-11 Stuart Sides - Fixed bug where the correct index was not returned.
2007-07-11 Stuart Sides - Fixed bug where the correct index was not returned.
2009-10-20 Jeannie Walldren - Added Progress flag
2009-11-05 Jeannie Walldren - Modified number of maximum steps for Progress flag
2005-12-28 Elizabeth Miller - Added try/catch block in Write() to catch an error that causes an abort
2008-01-09 Steven Lambright - Made Application a friend for destruction purposes
2008-07-08 Steven Lambright - Now uses atexit for destruction
2007-07-31 Steven Lambright - Refactored code
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2010-11-30 Janet Barrett - Added ability to use the photometric angles from the ellipsoid or the DEM
2007-08-15 Steven Lambright - Refactored code
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class.
2009-05-11 Janet Barrett - Fixed so that the NormModelAlgorithm supporting DEM input is the empty function. DEM input is not yet supported.
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellisoid and the DEM
2010-07-30 - Debbie A. Cook - Original version.
2012-10-25 - Jeannie Backer - Changed resolution() method and call to Spice::resolution() method to lower camel case. Added resolution() method test to improve unitTest code coverage. References #1181.
2012-10-31 - Ken Edmundson - Added another SetNormal method and fixed original to set the m_hasNormal to true.
2012-11-14 - Jeannie Backer - Removed cout lines left in while testing code. References #1181.
2012-12-21 - Debbie A. Cook - Added new members m_hasEllipsoidIntersection and method hasEllipsoidIntersection(). Fixes Mantis ticket #1343
2012-10-31 - Ken Edmundson - Implemented plane shape
2014-01-14 - Jeannie Backer - Improved error message. Fixes #1957.
2015-03-08 - Jeannie Backer - Added implementation for NAIF DSK models. References #2035.
2003-01-30 Jeff Anderson - Removed IsisWorldMapper argument from the constructor
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-06-05 Jeff Anderson - Changed SetCoordinate method so it did not adjust longitude into the longitude domain
2003-09-26 Jeff Anderson - Provided virtual methods for Name and operator==
2003-11-13 Jeff Anderson - Modified constructor to allow for computation for default value for CenterLongitude keyword.
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version, IsEquatorialCylindrical methods
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Ordered includes in implementation file. Moved Name, Version, IsEquatorialCylindrical to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2003-01-30 Jeff Anderson - Removed WorldMapper argument from the constructor
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-06-05 Jeff Anderson - Changed SetCoordinate method so it does not adjust the longitude into the longitude domain
2003-09-26 Jeff Anderson - Provided virtual methods for Name and operator==
2003-11-13 Jeff Anderson - Modified constructor to allow for computation of default center longitude using the longitude range.
2004-02-07 Jeff Anderson - Added plugin routine and file
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version methods
2012-03-30 Steven Lambright and Stuart Sides - SetCoordinate will now fail if the resulting longitude is becoming too large to work with in double precision. Fixes #656.
2012-06-15 Jeannie Backer - Added documentation. Added forward declaration of Pvl, PvlGroup to header file. Added includes in implementation file. Moved Name and Version to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-11-22 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2012-10-31 Kris Becker - New class implements swapping of observer/target and light time correction to surface. Fixes (mostly) #0909, #1136 and #1223.
2012-11-01 Kris Becker - Revised parameter order to computeStateVector to match comments. References #1136.
2012-12-04 Kris Becker - Corrected documentation
2011-07-29 Ken Edmundson Created
2014-02-25 Ken Edmundson - operators to read/write matrices to binary disk file and to write matrices to QDebug stream.
2011-07-29 Ken Edmundson Created
2014-02-25 Ken Edmundson - operators to read/write matrices to binary disk file and to write matrices to QDebug stream.
2011-07-29 Ken Edmundson Created
2014-02-25 Ken Edmundson - operators to read/write matrices to binary disk file and to write matrices to QDebug stream.
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2008-09-05 Stacy Alley allowed spectral plotting of a single point.
2009-01-29 Steven Lambright - Added RotatedRectangle to the spatial plot
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues (many still remain!).
2010-11-08 Eric Hyer - Spacial plot now handles linked images.
2011-03-18 Sharmila Prasad - Connect the viewport's close signal
2011-09-20 Steven Lambright - Now handles NULL statistical values when graphing by not displaying them. Fixes #234.
2011-07-03 Steven Lambright - Added options for plotting meters/kilometers on the x-axis instead of just pixel number. Fixes #853.
2012-11-30 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection instead of Projection. References #775.
2013-01-24 Steven Lambright - Fixed positioning of portal/interpolator used when reading DN data to create a plot. Fixes #997.
2014-04-15 Tracie Sucharski - Reset defaults for plots to the following: SolidLine, Width=1, NoSymbols. This is a temporary fix until the defaults can be saved on a user basis. Fixes #2062.
2014-06-20 Janet Barrett - Fixed SpatialPlotTool::getSpatialStatistics to check for length of line used to draw profile to make sure it is greater than zero to avoid divide by zero error. Fixes #1921 and #1950.
2014-07-31 Ian Humphrey - Added What's This help for SpatialPlotTool. References #2089.
2008-06-09 Noah Hilt - Added settings to read and write default colors for special pixel values.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Also fixed some include issues.
2012-06-28 Steven Lambright - Now applies to new viewports
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2008-09-05 Stacy Alley allowed spectral plotting of a single point.
2009-01-29 Steven Lambright - Added RotatedRectangle to the spatial plot
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues (many still remain!).
2010-11-08 Eric Hyer - Spacial plot now handles linked images.
2011-03-18 Sharmila Prasad - Connect the viewport's close signal
2011-09-20 Steven Lambright - Now handles NULL statistical values when graphing by not displaying them. Fixes #234.
2012-02-16 Steven Lambright and Jai Rideout - Added standard error of the mean curves. Fixes #713.
2014-04-03 Tracie Sucharski - Reset defaults for plots to the following: SolidLine, Width=1, NoSymbols. This is a temporary fix until the defaults can be saved on a user basis. Fixes #2062.
2014-07-30 Ian Humphrey - Modified getSpectralStatistics() to compute statistics more accurately. Right-to-left selections now select pixels correctly. Polygon selection now selects pixels more accurately for statistics. Added What's This help. Fixes #2071.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-10-15 Jeff Anderson - Added requirement for frame kernel in labels
2003-10-28 Jeff Anderson - Changed SpaceCraft to Spacecraft in labels and method names
2003-11-03 Jeff Anderson - Added SubSolarPoint and SubSpacecraftPoint methods
2003-11-12 Jeff Anderson - Added Target method
2004-01-14 Jeff Anderson - Changed how the SPK, CK, and Instrument codes where handled. The instrument code must be in the labels as NaifFrameCode and then the other two can be automatically computed.
2004-02-18 Jeff Anderson - Modified to ignore kernel labels which were blank
2004-03-25 Jeff Anderson - Modified NaifBodyCode method to convert Jupiter target code of 599 to 5
2004-03-25 Jeff Anderson - Fixed bug in destructor and added GetString method.
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-02-24 Jeff Anderson - Modified SubSolarPoint and SubSpacecraftPoint to return positive longitudes only
2005-09-12 Jeff Anderson - Check for case-insensitive values for TargetName of SKY
2005-09-20 Jeff Anderson - Added IsSky method
2006-01-05 Debbie A. Cook - Added units to comments
2006-03-28 Jeff Anderson - Refactored using SpiceRotation and SpicePosition classes. Added Tables and nadir kernel information.
2006-03-31 Elizabeth Miller - Added TargetCenterDistance method
2006-04-19 Elizabeth Miller - Added SolarLongitude method
2007-01-30 Tracie Sucharski - Throw error in the load method before calling furnish if the file does not exist.
2007-07-09 Steven Lambright - Frame kernel is now optional, added Extra kernel support.
2007-07-10 Debbie A. Cook - Modified method ComputeSolarLongitude to use pxform instead of tipbod to get body-fixed to J2000 rotation matrix so that the correct frame will be used. If the frame is different from the default IAU frame, the correct frame should be set in the iak file (see frames.req). Also modified setting of m_bodyRotation frameCode. The old code forced the IAU_ frame. The new code uses the Naif routine cidfrm to get the frame associated with the body id. These change will recognize any frame changes made in the iak file.
2007-08-10 Steven Lambright - Added support for Nadir keyword in InstrumentPointing group to not be the first element in the PvlKeyword.
2007-08-24 Debbie A. Cook - Removed p_sB so it is recalculated every time it is used insuring that any updates to the position or rotation are applied. Also removed p_BP since it is no longer used
2008-02-13 Steven Lambright - Added StartPadding and EndPadding caching capabilties
2008-02-13 Steven Lambright - Added Support Check for StartPadding and EndPadding caching capabilties; An clarified exception is thrown if a framing camera tries to use time padding
2008-02-27 Kris Becker - Modified so that planetary ephemeris SPKs are loaded before spacecraft SPKs so that missions that augment planet ephemerides will take precidence.
2008-06-23 Steven Lambright - Added NaifStatus error checking
2008-06-25 Debbie A. Cook - Added method InstrumentVelocity to support miniRF
2008-11-28 Debbie A. Cook - Added method hasKernels()
2009-03-18 Tracie Sucharski - Cleaned up some unnecessary, obsolete code. Make sure the table is used if the kernel names follow the "Table" keyword value, due to change made to spiceinit to retain kernel names if the spice is written to blob.
2009-06-18 Debbie A. Cook - Modified to downsize instrument rotation table when loading cache
2009-07-01 Debbie A. Cook - Modified to downsize body rotation, and sun position tables when loading cache
2009-08-03 Debbie A. Cook - Added tolerance argument to method CreateCache to allow downsizing of instrument position Spice table.
2009-08-21 Kris Becker - Moved the NAIF code methods to public scope.
2010-01-29 Debbie A. Cook - Redid Tracie's change to make sure the table is loaded instead of the kernels if the kernel keyword value lists "Table" before the kernel files.
2010-03-19 Debbie A. Cook - Added constructor and moved common constructor initialization into new method Init. Also added parameter notab to method Load.
2010-04-09 Debbie A. Cook - Moved the loading of the "extra" kernel(s) from the middle of the loads to the end.
2011-02-08 Jeannie Walldren - Added documentation to methods and private variables. Commented out createCache(double,double) since it appears that this method is not needed. Initialize pointers to NULL in Init() method.
2011-02-09 Steven Lambright - Refactored to use iTime where possible. Changed p_radii to a Distance so the units are no longer ambiguous. These changes were meant for readability and reducing the likelyhood of future code having bugs due to unit mismatches.
2011-02-11 Jeannie Walldren - Changed documentation references to SetEphemerisTime() method (these were replaced with references to setTime()). Added missing documentation to new methods.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2011-05-25 Janet Barrett and Steven Lambright - Added API that stores naif values and arbitrary computations so that the text kernels do not have to be furnished. This makes the Camera instantiation much, much quicker. Text kernels are no longer furnished when their data has been stored in the labels.
2011-05-26 Debbie A. Cook - Put back the code for spkwriter that was checked in May 25 but disappeared in the May 26 build. This code turns aberration corrections off for the instrument position if the spk file was created by spkwriter.
2011-07-08 Jeff Anderson - Fixed Init method to record the integer body frame code in the labels of the cube. Vesta exposed this problem because it was not a instrinsic body in the NAIF toolkit version 63.
2011-07-11 Jeff Anderson - Added private copy constructors and operator= methods
2011-09-19 Debbie Cook - Added cubes with Ideal Cameras to the exclusion list for reading instrument keywords from the label. The Ideal Camera has variable values for the affine coefficients that are set in the camera itself and not read from a kernel. The camera puts these values into the Naif kernel pool.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-09-10 Steven Lambright - Undid Debbie's change from 2011-09-19 because the Ideal camera now supports putting those keywords in the label on the fly. References #1094.
2012-10-11 Debbie A. Cook - Deleted deprecated createCache code already commented out for over a year. Updated to use new Target and ShapeModel classes. Added resolution method needed for Target and its ShapeModel. Changed private member names from p_ to m_ to comply with coding standards. References Mantis tickets #775 and #1114.
2012-10-25 Jeannie Backer - Added accesssor method to return the BODY_FRAME_CODE value found in the init() method. Improved unitTest coverage in all areas. New method has 100% scope, line, function coverage. Improved padding around control statements and indentation of history entries to be more compliant with standards. Moved accessor method implementations to cpp file. Changed Resolution() method to lower camel case. Added documentation. Fixes #1181.
2012-10-31 Kris Becker - Added implementation for swapping of observer/target and light time correction to surface. Fixes (mostly) #0909, #1136 and #1223.
2012-12-10 Kris Becker - A newly designed class, SpacecraftPosition, is now being instantiated instead of SpicePosition specifically to properly order NAIF observer and target codes (to more accurately determine the target body position at the time the observation was initiated) and help determine light time correction to the surface of the target body instead of the center of the body. See the documention in SpacecraftPosition.h for a more detailed description of these changes. References #909, #1136 and #1223.
2013-01-09 Steven Lambright and Mathew Eis - Fixed a possible crash condition that never exhibited any problems, but valgrind caught it. This was discovered when adding support for Mac OSX 10.8. References #1354.
2013-09-26 Tracie Sucharski - If the Target is Saturn and the shape model is the ring plane, load an extra kernel, saturnRings_v001.tpc, which changes the prime meridian to {0, 0, 0}. This insures the longitude values are calculated in the inertial system relative to the ascending node of the ring plane. Fixes #1757.
2013-12-17 Janet Barrett - Added the instrumentBodyFixedPosition and instrumentBodyFixedVelocity methods. Fixes #1684.
2005-11-29 Debbie A. Cook - Added alternate code for processing instruments without a platform
2011-02-09 Steven Lambright - Changed name from SetEphemerisTime()
2005-10-07 Jim Torson - Modified the constructor so it can handle multiple SpacecraftPosition and multiple SpacecraftPointing kernel files
2005-11-29 Debbie A. Cook - Added loop to allow multiple frames kernels and code to initialize Naif codes when no platform is used (landers)
2006-01-03 Debbie A. Cook - Added loop to allow multiple spacecraft clock kernels (for Viking)
2006-02-21 Jeff Anderson/Debbie Cook - Refactor to use SpicePosition and SpiceRotation classes
2009-03-18 Tracie Sucharski - Remove code for old keywords.
2003-12-01 Jeff Anderson Original Version derived from Spice class
2006-03-23 Jeff Anderson Added check to SetEphemeris to return if the time did not change. Should speed up line scan cameras
2007-07-10 Debbie A. Cook Added else to method SetAberrationCorrection to separate error section from the rest of the code
2007-08-24 Debbie A. Cook Added members p_coefficients, enums PartialType and Coefficient, and methods ReloadCache, SetPolynomial, GetPolynomial, ComputeBaseTime, DPolynomial, and CoordinatePartial to support solving for instrument position in BundleAdjust
2008-01-10 Debbie A. Cook The function was changed from Parabola to Poly1D. New methods GetBaseTime and SetOverrideBaseTime were added
2008-02-07 Jeannie Walldren Poly1D was changed to PolynomialUnivariate
2008-02-10 Debbie A. Cook Removed the (-1.) in case A of DPolynomial since it was not actually part of the position derivation but how it was being applied in BundleAdjust.
2008-06-18 Steven Lambright Fixed documentation
2008-06-25 Debbie A. Cook Added members p_velocity, p_cacheVelocity, and p_hasVelocity; also added methods Velocity() and HasVelocity() to support miniRF.
2008-06-26 Debbie A. Cook Replaced Naif error handling calls with Isis NaifStatus
2009-08-03 Jeannie Walldren - Added methods ReloadCache( table ), HermiteIndices(), Memcache2HermiteCache() to allow for downsized instrument position tables in labels of Isis cubes and added methods SetEphemerisTimeSpice(), SetEphemerisTimeHermiteCache(), and SetEphemerisTimeMemcache() to make software more readable.
2009-08-14 Debbie A. Cook - Corrected loop counter in HermiteIndices
2009-08-27 Jeannie Walldren - Added documentation.
2009-10-20 Debbie A. Cook - Corrected calculation of extremum in ReloadCache
2009-11-06 Debbie A. Cook - Added velocity partial derivative method
2009-12-15 Debbie A. Cook - Changed enumerated partial types and argument list for CoordinatePartial and VelocityPartial
2010-03-19 Debbie A. Cook - Added argument coeffIndex to method Velocity Partial
2010-12-07 Steven Lambright - Moved the cubic hermite splines to member scope for efficiency. It was a significant overhead to keep reconstructing these. Created ClearCache() to help increase code reusability.
2011-02-12 Debbie A. Cook - Added PolyFunction to source types and new method SetEphemerisTimePolyFunction to support the new type. Also added method SetPolynomialDegree to allow the degree of the polynomials fit to the position coordinates to be changed. The fit polynomial was changed from a fixed 2nd order polynomial to an nth degree polynomial with one independent variable. Added private class members p_fullCacheStartTime, p_fullCacheEndTime, and p_fullCacheSize. Added p_timeScale, GetBaseTime(), SetOverrideBaseTime, GetTimeScale(), Extrapolate(double timeEt), and ComputeVelocityInTime(PartialType var). The function was changed from a Parabola to Polynomial1Variable, now called PolynomialUnivariate.
2011-02-14 Debbie A. Cook - Corrected previous update for Hermite case. Created a special member, p_overrideScale, for Hermite case. Also removed obsolete enum Coefficient.
2011-02-17 Debbie A. Cook - Corrected missed problem with degree forced to be 2 and corrected calculation of velocity partial
2011-02-22 Debbie A. Cook - Corrected Extrapolation method
2011-02-28 Debbie A. Cook - Fixed typo in LoadCache and potential memory problem in SetPolynomial
2011-04-10 Debbie A. Cook - Added GetSource method to support spkwriter.
2011-05-27 Debbie A. Cook - Renamed old ReloadCache method for converting polynomial functions to Hermite cubic splines to LoadHermiteCache for use with spkwriter.
2012-03-31 Debbie A. Cook - Programmer notes: Added new interpolation algorithm, PolyFunctionOverHermiteConstant, and new supporting method, SetEphemerisTimePolyOverHermiteConstant. Also added argument to SetPolynomial methods for type. LineCache and ReloadCache were modified to allow other function types beyond the PolyFunction. Added new method to return Hermite coordinate.
2012-10-25 Jeannie Backer - Brought class closer to Isis3 standards: Ordered includes in cpp file, replaced quotation marks with angle braces in 3rd party includes, fixed history indentation. References #1181.
2012-10-31 Kris Becker - Added implementation for swapping of observer/target and light time correction to surface. Added a new, special protected constructor; virtualized the SetEphemerisTimeSpice method which allows for specialized determination of light time corrections; generalized the retrieval of body state vectors (computeStateVector); added many new, mostly protected, ssupport routines for this generalization. Fixes (mostly) #0909, #1136 and #1223.
2013-03-28 Debbie A. Cook - Fixed bug causing jigsaw to fail with a singular definite matrix on radar data. The bug was in the method VelocityPartial and occurred when the et = baseTime and the coeffIndex was 0. This caused the derivative equation to be 0 * 0 ** -1. This update fixes issue #1582.
2009-08-03 Jeannie Walldren - Added CacheType keyword to output table. This is based on p_source and will be read by LoadCache(Table).
2011-01-05 Debbie A. Cook - Added PolyFunction
2009-08-03 Jeannie Walldren - Original version.
2009-08-14 Debbie A. Cook - Corrected indexing error in loop.
2009-08-03 Jeannie Walldren - Reads CacheType keyword from table and sets p_source. If no CacheType keyword, we know this is an older image, so set p_source to Memcache.
2011-01-05 Debbie A. Cook - Added PolyFunction type
2011-04-08 Debbie A. Cook - Corrected loop counter in PolyFunction section to only go up to table.Records() - 1
2005-12-01 Debbie A. Cook Original Version modified from SpicePosition class by Jeff Anderson
2006-03-23 Jeff Anderson modified SetEphemerisTime to return if the time did not change to improve speed.
2006-10-18 Debbie A. Cook Added method, WrapAngle, to wrap angles around 2 pi
2007-12-05 Debbie A. Cook added method SetPolynomialDegree to allow the degree of the polynomials fit to the camera angles to be changed. Also changed the polynomial from a fixed 2nd order polynomial to an nth degree polynomial with one independent variable. PartialType was revised and the calls to SetReferencePartial (has an added argument, coefficient index) and DPolynomial (argument type changed to int) were revised. The function was changed from Parabola to Polynomial1Variable, now called PolynomialUnivariate. New methods GetBaseTime and SetOverrideBaseTime were added
2008-02-15 Debbie A. Cook added a new error message to handle the case where the Naif reference frame code is not recognized.
2008-06-18 Unknown - Fixed documentation, added NaifStatus calls
2008-11-26 Debbie A. Cook Added method to set axes of rotation. Default axes are still 3,1,3 so existing software will not be affected by the change. Also added timeScale to the the class and made some parameters protected instead of private so they are available to inheriting classes.
2008-12-12 Debbie A. Cook Added method to return frame code
2009-01-26 Debbie A. Cook Added wrap of 3rd camera angle when crossing +-180
2009-04-21 Debbie A. Cook Added methods MinimizeCache and LoadTimeCache, variable p_minimizeCache, and enum constants DownsizeStatus
2009-06-29 Debbie A. Cook Fixed memory overwrite problem in LoadTimeCache when reading a type 3 ck
2009-07-24 Debbie A. Cook Removed downsizing for Nadir instrument pointing tables (LoadTimeCache) so that radar instruments will work. Current downsizing code requires sclk and radar has no sclk.
2009-10-01 Debbie A. Cook Divided the rotation into a constant (in time) part and a time-based part and added keywords listing the frame chains for both the constant part and the time-based part.
2009-10-09 Debbie A. Cook Added angular velocity when it is available
2009-10-30 Unknown - Modified J2000Vector and ReferenceVector to work on either length 3 vectors (position only) or lenght 6 vectors (position and velocity) and added private method StateTJ()
2009-12-03 Debbie A. Cook Modified tests in LoadTimeCache to allow observation to cross segment boundary for LRO
2010-03-19 Debbie A. Cook Revised ReloadCache including removing obsolete arguments. Added initialization of members p_fullCacheStartTime, p_fullCacheEndTime, and p_fullCacheSize. Added these same values to the table label in method Cache and the reading of these values to the method LoadCache(table). Improved error message in FrameTrace. Also corrected a comment in StateTJ
2010-09-23 Debbie A. Cook Revised to write out line cache for updated pointing when cache size is 1. If the original pointing had an angular velocity in this case, the original angular velocity is written out along with the updated quaternion. Also added method Extrapolate, to extrapolate pointing assuming a constant angular velocity. This method was designed to compute the pointing at the start and end of the exposure for framing cameras to create a ck that would cover a single framing observation.
2010-12-22 Debbie A. Cook Added new method SetFullCacheParameters to upgrade appjit to current instrument Rotation group labels.
2011-02-17 Debbie A. Cook Fixed bug in method LineCache and fixed computation of angular velocity in method DCJdt (derivative was with respect to scaled et instead of et)
2011-02-22 Debbie A. Cook - Corrected Extrapolation method
2011-03-25 Debbie A. Cook - Added method GetCenterAngles()
2011-07-20 Kris J Becker - Modified SpiceRotation::LoadCache(Table &table) to be reentrant. This mod was necessitated by the Dawn VIR instrument.
2012-05-28 Debbie A. Cook - Programmer notes - A new interpolation algorithm, PolyFunctionOverSpice, was added and new supporting methods: SetEphemerisTimePolyOverSpice, SetEphemerisTimeSpice, SetEphemerisTimeNadir, SetEphemerisTimeMemcache, and SetEphemerisTimePolyFunction. PolyFunctionOverSpice is never output, but is converted to a line cache and reduced. Methods LineCache and ReloadCache were modified to do the reduction and a copy constructor was added to support the reduction. Also an argument was added to SetPolynomial methods for function type, since PolyFunction is no longer the only function supported. These changes help the BundleAdjust applications to better fit line scan images where the pointing was not modeled well with a regular polynomial.
2012-10-25 Jeannie Backer - Brought class closer to Isis3 standards: Ordered includes in cpp file, replaced quotation marks with angle braces in 3rd party includes, fixed history indentation and line length. References #1181.
2013-03-27 Jeannie Backer - Added methods for MsiCamera. Brought class closer to Isis3 standards: moved method implementation to cpp file, fixed documentation. References #1248.
2013-11-12 Ken Edmundson Programmers notes - Commented out cout debug statements on lines 637 and 642 that appeared onscreen during jigsaw runs when images are updated. References #1521.
2014-03-11 Tracie Sucharski - In the LoadTimeCache method, do not throw error if if first segment in kernel is not type 3 or 5. As long as the segment needed is type 3 or 5, we're ok. This was changed for New Horizons which had ck's with both type 2 and type 3 segments.
2014-03-11 Stuart Sides - Programmers notes - Fixed a bug in the copy constructor that was going out of array bounds.
2007-04-19 Kris Becker - Reordered return of getQuery() result to first try lastQuery(), then executedQuery().
2007-06-05 Brendan George - Modified to work with QString/StringTools merge
2008-10-30 Steven Lambright - tossQueryError now accepts a const char* for a filename, issue pointed out by "novus0x2a" (Support Board Member)
2007-10-25 Steven Koechle - Fixed so that it works in Isis3
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2009-05-04 Steven Koechle - Fixed to grab appropriate FocalLength based on image time.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Galileo namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2006-02-11 Jacob Danton - Original Version
2007-08-01 Steven Koechle - Fixed error where Interest was compairing the uninitialized value of pixels[n] to see if it was a special pixel.
2007-08-02 Steven Koechle - Removed CompareInterests virtual method.
2010-06-10 Sharmila Prasad - Changes to accomodate CnetValidMeasure base class
2010-11-10 Sharmila Prasad - Updated unittest for changes in the deffile
2002-05-08 Jeff Anderson - Added Chebyshev and Best minimum/maximum methods.
2004-05-11 Jeff Anderson - Moved Reset, AddData and RemoveData methods into public space.
2004-06-28 Jeff Anderson - Added Sum and SumSquare methods.
2005-02-17 Deborah Lee Soltesz - Modified file to support Doxygen documentation.
2005-05-23 Jeff Anderson - Changed to support 2GB+ files
2006-02-15 Jacob Danton - Added Valid Range options/methods
2006-03-10 Jacob Danton - Added Z-score method
2007-01-18 Robert Sucharski - Added AddData method for a single double value
2008-05-06 Steven Lambright - Added AboveRange, BelowRange methods
2010-03-18 Sharmila Prasad - Error message more meaningful for SetValidRange function
2011-06-13 Ken Edmundson - Added Rms method
2012-02-28 Tracie Sucharski - Moved from the app, smtk, directory, to the base/objs directory path. Updated to new coding standards, added unitTest.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-12-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.
2013-05-09 Tracie Sucharski - When deleting (right button) a point, check for empty network immediately print warning and return. References #1493.
2014-05-15 Ian Humphrey - Removed the shortcut from StereoTool to avoid conflict with StretchTool shortcut. Minor corrections for coding standards. Fixes #2086.
2007-06-12 Tracie Sucharski - Added method to allow user to run on new files.
2010-05-11 Tracie Sucharski - Moved the creation of control net to the StereoFileTool::open.
2008-12-06 Tracie Sucharski - Set point type to Ground
2010-05-18 Jeannie Walldren - Modified Point ID QInputDialog to return if "Cancel" is clicked.
2008-12-10 Jeannie Walldren - Original Version
2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object
2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.
2012-04-04 Travis Addair - Added documentation.
2013-06-05 Jeannie Backer - Removed setType() and pixelType() methods and pixel type member variable since these are now handled by ImageExporter. Changed ImageExporter calls to new method names, where needed. References #1380.
2002-09-17 Jeff Anderson - Added Parse method
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-16 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-03-11 Elizabeth Ribelin - Modified unitTest to test all methods in the class
2006-05-25 Jacob Danton - Fixed typo in documentation
2007-03-02 Elizabeth Miller - Added Load and Save methods
2008-11-12 Steven Lambright - Changed search algorithm into a binary search replacing a linear search.
2009-04-30 Eric Hyer - Modified parse method. New private method NextPair() now handles low level details of parsing. Created second Parse method for handling pairs where the input side is a perentage. Fixed Input and Output getters to check both sides of boundry condition for valid data
2008-05-23 Noah Hilt - Added RubberBandTool
2010-03-18 Sharmila Prasad - Exception handling and emit warning signal to the Viewportwindow to display warning status on the status bar(Track Tool)
2010-04-08 Steven Lambright - Made to work with threaded viewportbuffer and also removed map to viewport stretches due to synchronization problems.
2010-04-08 Steven Lambright - Fixed access of viewport data for statistics
2010-05-20 Steven Lambright - Re-enabled the advanced stretch... without a viewport map!
2010-06-26 Eric Hyer
2010-08-30 Eric Hyer
2010-11-22 Eric Hyer - new SIGNAL called stretchChipViewport exists for sending stretches made in CubeViewports to any ChipViewports that want to get stretched.
2010-12-01 Steven Lambright - Improved stretch copy abilities
2010-12-02 Eric Hyer - changed where stretchChipViewport is emitted.
2011-03-22 Sharmila Prasad - Add option to stretch All Bands
2011-11-04 Steven Lambright - Improved advanced stretch to allow all stretches to be changed despite combo box. References #567.
2012-01-18 Steven Lambright - Fixed a bug that caused the stretch pair line edits to not update properly in grey mode when the color mode band selection was set to all. Also, fixed layout of stretch options to correctly squeeze widgets left. Fixes #640.
2012-06-11 Steven Lambright - Fixed a bug that caused the stretch pair line edits to not update properly when switching between viewports, and another that caused the stretch to be copied the new viewport if the advanced stretch dialog is active. Fixes #771.
2007-05-09 Tracie Sucharski, Changed a single spacing value to a separate value for x and y.
2008-02-29 Steven Lambright - Created SubGrid capabilities, cleaned up Seed methods
2008-04-17 Steven Lambright - Fixed naming conventions for seeders
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2008-11-12 Steven Lambright - Fixed documentation
2008-11-25 Steven Lambright - Added error checking
2009-02-01 Steven Lambright - Fixed problem with calculating starting position in the top left corner of the polygon
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
2010-04-15 Eric Hyer - Now updates parent's invalidInput variable (see PolygonSeeder)
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2010-05-05 Christopher Austin - Fixed major bug where the strip was not a strip.
2007-05-09 Tracie Sucharski Changed a single spacing value to a separate value for x and y.
2008-06-18 Steven Lambright Fixed documentation
2010-11-21 Mackenzie Boyd - Modified UpdateLabels method so so that the units for Scale and PixelResolution keywords are perserved.
2011-01-24 Steven Lambright - Cameras are still valid when linc and sinc are not equal, so now this class is more likely to not delete the instrument group.
2013-12-27 Janet Barrett - Modified the UpdateLabel method so that it updates the MinimumLatitude, MaximumLatitude, MinimumLongitude, and MaximumLongitude keywords for equatorial cylindrical projections. All other projections will not have these keywords in their labels because it is not possible to recalculate them for curved projections. Fixes #1500.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-01-16 Kimberly Oyama - Corrected the equation, in the recalculateShadowHeight() method, that finds the height of the object casting the shadow. It now uses the tangent of the angle multiplied by the length of the shadow instead of the sine of the angle. Fixes #1933.
2010-08-25 Debbie A. Cook Added more error checking and testing
2010-09-10 Debbie A. Cook Made ocentric methods specific to units of sigmas (degrees or meters)
2010-10-04 Debbie A. Cook Remove using boost to avoid compile errors throughout Isis3 classes and added boost namespace name to all uses of matrix
2010-10-20 Debbie A. Cook and Steven Lambright Simplified the class by using new Displacement, Distance, Latitude, Longitude, and Angle objects.
2010-12-28 Steven Lambright and Sharmila Prasad Fixed a problem with retreiving longitudes outside of 0-360.
2011-02-11 Steven Lambright Added SphericalDistanceToPoint and optimized for speed inside the cameras and typical use cases where we only have an x,y,z but no other data. Fixed a problem where points were not properly considered valid at some boundary conditions.
2011-03-05 Ken Edmundson Added GetLatWeight, GetLonWeight, GetLocalRadiusWeight, and SetSphericalCoordinates methods for use in BundleAdjust.
2011-04-18 Steven Lambright GetLatSigmaDistance and GetLonSigmaDistance now return appropriate results when the point is invalid but has radii.
2011-08-08 Steven Lambright and Jai Rideout - SetSphericalSigmas() called with invalid parameters will clear the sigmas. Improved some safety checks.
2011-10-06 Steven Lambright - Get*SigmaDistance will no longer throw an exception if there is no stored sigma and there is no stored target radii.
2010-05-06 Eric Hyer - Original Version
2010-09-23 Eric Hyer - Parent class now QAction, not QToolButton
2010-05-07 Eric Hyer - Original Version
2010-06-03 Eric Hyer - Added noneSelected method
2010-09-23 Eric Hyer - Tab's parent is now QAction
2005-03-18 Elizabeth Ribelin - Added documentation to class
2006-09-19 Jeff Anderson - Added clear method
2006-09-19 Jeff Anderson - Fixed bug in ReadInit method which needed to cleanup pointers to records if a re-read occurred.
2009-02-18 Steven Lambright - Added copy constructor and assignment operator.
2011-05-25 Janet Barrett and Steven Lambright Added a Constructor that takes the pvl labels so they do not have to be re-read, which is a very expensive operation.
2012-10-04 Jeannie Backer Changed references to TableField methods to lower camel case. Ordered includes. Added documentation. Added error check to operator+=(TableRecord) if the Table's record size does not match the added TableRecord's size. Fixed header definition statement. Added forward declaration and includes. Fixed indentation of history entries. Moved method implementation to cpp file. Ordered includes in unitTest. Added RecordFields() accessor method. Improved test coverage in all categories. Added padding to control statements. References #1169.
2005-03-18 Elizabeth Ribelin - Added documentation to the class
2007-05-28 Steven Lambright - Added 4 byte floating point capabilities
2012-10-04 Jeannie Backer - Added accessor method for FieldType. Moved method implementations to cpp file. Changed member variable prefix to m_. Changed methods to lower camel case. Added documentation. Moved PvlGroup from header include to forward declaration. Added includes to cpp and header. Ordered includes and changed methods to lower camel case in the unitTest. Improved test coverage in all categories. Added padding to control statements. Fixes #1169.
2012-11-21 Jeannie Backer - Added documentation and error message if a Text type field is set to a string value that is longer than the number of allowed bytes for the field. References #700.
2008-06-12 Noah Hilt - Changed the save/load functions to work with blank entries.
2008-06-25 Noah Hilt - Fixed the delete rows method to search the entire row for values, rather than just the first column.
2008-10-17 Noah Hilt - Added an optional tooltip parameter to the addToTable method. This tooltip will be displayed over the checkbox that is to be added to the dock area.
2008-11-25 Noah Hilt - Added an action to save the table to a file that has been loaded or set with the save as action. This way the user does not have to reselect the file to save the table to.
2012-06-18 Steven Lambright - Gave the mac toolbar an object name for saving and restoring state. Fixes #851."
2013-02-21 Steven Lambright - Fixed a seg fault on destruction. This happened because the item list was being saved off independently; the items would be destroyed in the table widget but our copies of the pointers were not yet cleared. This has been fixed by adding the method itemList() instead of storing p_itemList. References #710.
2005-03-18 Elizabeth Ribelin - Added documentation to class
2007-05-28 Steven Lambright - Added 4 byte float capablilities.
2008-06-19 Christopher Austin - Fixed the Packing of text TableFields
2008-06-25 Christopher Austin - Fixed the swapping of text
2012-10-04 Jeannie Backer Changed references to TableField methods in implementation and unitTest files to lower camel case. Added and ordered includes. Moved method implementation to cpp. Fixed header definition statement. Fixed indentation of history entries. Ordered methods in cpp file. Improved test coverage in all categories. Added padding to control statements. References #1169.
2011-05-03 Jeannie Walldren - Added Isis disclaimer.
2011-05-23 Janet Barrett and Steven Lambright - Spice::GetDouble is no longer a static call.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972
2005-02-16 Elizabeth Ribelin - Modified file to support Doxygen documentation
2010-03-30 Mackenzie Boyd - Modified open method append option to create the file if it doesn't exist, changed file existence check to use FileName class.
2011-08-08 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory
2007-07-13 Jeff Anderson Added support for spatial summing
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2009-05-12 Jeff Anderson Reworked code for changes from Kiefer-Torson model to Duxbury model. The majors changes where the removal of a ~1% error in focal lenght and the improving the spectral band registration to better than 1/20th of a pixel
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Odyssey namespace wrap inside Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2005-02-01 Jeff Anderson - Original version
2009-03-27 Jeff Anderson - Modified to use Duxbury's distortion model from Feb 2009 email with attached PDF document
2011-05-03 Jeannie Walldren - Removed Odyssey namespace wrap.
2006-05-17 Elizabeth Miller - Depricated CameraManager to CameraFactory in unitTest
2006-09-12 Elizabeth Miller - Fixed bug in detector map caused by the deletion of the alphacube group in the labels
2008-06-16 Steven Lambright - Made camera work with new push frame classes
2009-08-28 Steven Lambright - Changed inheritance to inherit directly from PushFrameCamera instead of Camera
2010-07-27 Jeannie Backer - Fixed documentation.
2010-08-04 Jeannie Backer - Removed Isis namespace wrap around Odyssey namespace and replaced with "using namespace Isis". Added NAIF error check to constructor.
2010-09-14 Steven Lambright - Updated unitTest to not use a DEM.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-02-23 Mackenzie Boyd - Modified focal length from 203.9 to 202.059 per request from Christopher Edwards at ASU, (Chris). Updated unitTest. toph er.Ed ward s@asu .edu
2011-05-03 Jeannie Backer - Fixed documentation. Replaced Odyssey namespace wrap with Isis namespace wrap. Added Isis Disclaimer to files. Updated unitTest to test for new methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-08-22 Jeannie Backer - Fixed bug in camera model to used the FilterNumber rather than the OriginalBand to determine the appropriate filter for this band. Moved source code from header to cpp file. Improved documentation and ISIS 3 Standards. Improved test coverage to 80/96/90 %. Plugins are not tested by unitTests. The other lines lacking test coverage are addressed in the todo below. References #1659
2011-05-03 Jeannie Walldren - Fixed documentation. Removed Odyssey namespace wrap inside Isis wrap.
2014-04-17 Jeannie Backer - Updated documentation for forward/reverse directions using ISIS2 lev1u_m01_thm_routines.c. Added empty destructor.
2014-04-17 Jeannie Backer - Rewrote the reverse direction map (setFocalPlane) to solve for the forward direction and iterate until a solution in found. Fixes #1659
2012-04-04 Travis Addair - Added documentation.
2012-08-28 Steven Lambright - Fixed some problems with memory allocations/deallocations and a flag on the tiff files was not being set, but it was necessary to successfully write out tiff files (TIFFTAG_ROWSPERSTRIP), References #579.
2013-06-05 Jeannie Backer - Removed "get" prefix from ImageExporter method calls. References #1380.
2012-03-28 Travis Addair - Added documentation.
2013-12-11 Stuart Sides - Added new member convterProjection. This is for converting GeoTiff projection tags to standard ISIS Mapping lables.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2007-04-30 Tracie Sucharski, Added Qpainter to parameters for the paintViewport method. This will allow the tools to use the CubeViewport painter rather than creating a new one which causes warnings in Qt4.
2007-09-11 Steven Lambright - Added code to handle the rubber band tool
2007-11-19 Stacy Alley - Added code for the new ViewportMainWindow class which is used to keep track of the size and location of the qisis windows.
2009-03-27 Noah Hilt, Steven Lambright - Removed old rubber band and changed cubeViewportList to call the Workspace viewport list.
2010-03-18 Sharmila Prasad - Reset warning status when a different tool is chosen, done on mouse double click, press or release
2010-05-24 Eric Hyer - setCubeViewport is now public
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2010-11-08 Eric Hyer - Added connects and disconnects for cubeViewport's new mouseMove signal
2012-02-27 Tracie Sucharski - Added the signal, toolActivated, to enable a tool to connect and respond when user selects a given tool using the toolPad button.
2007-08-15 Steven Lambright Refactored and fixed unit test
2008-06-18 Steven Lambright Fixed ifndef, removed endlink doxygen command
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2010-11-30 Janet Barrett - Added the ability to use the photometric angles from the ellipsoid or the DEM
2007-08-15 Steven Lambright Refactored code
2008-06-18 Steven Lambright Fixed ifndef command
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class.
2009-05-11 Janet Barrett - Fixed so that the NormModelAlgorithm supporting DEM input is the empty function. DEM input is not yet supported.
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2010-11-30 Janet Barrett - Added the ability to use the photometric angles from the ellipsoid and the DEM
2003-01-30 Jeff Anderson - Add the SetWorldMapper() method and removed setting the mapper from the constructor
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-05-30 Jeff Anderson - Updated unit test to fix error for optimization
2003-08-25 Jeff Anderson - Added LatitudeTypeString(), LongitudeDirectionString(), and LongitudeDomainString() methods
2003-09-26 Jeff Anderson - Added ToWorldX(), ToWorldY(), ToProjectionX(), ToProjectionY(), and Resolution() methods
2003-09-26 Jeff Anderson - Added virtual Name, operator==, and operator!= methods
2003-09-26 Jeff Anderson - Remove virtual from operator!=
2003-10-14 Jeff Anderson - Added Scale() and TrueScaleLatitude() methods
2003-11-04 Jeff Anderson - Replace the pure virtual methods for SetGround() and SetCoordinate() with virtual method which simply copy lat/lon to x/y and vice versa. This is essentially no projection.
2003-11-04 Jeff Anderson - Added LocalRadius() methods
2004-02-23 Jeff Anderson - Added Eccentricity(), tCompute(), mCompute(), e4Compute(), and phi2Compute() methods
2004-02-24 Jeff Anderson - Fixed bug in eccentricity computation
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-02-25 Elizabeth Ribelin - Added 3 static conversion methods: ToHours(), ToDMS(), and ToHMS()
2005-03-08 Elizabeth Ribelin - Fixed unitTest
2005-06-24 Jeff Anderson - Tweaked format for DMS and HMS methods
2005-07-22 Jeff Anderson - Added static ToPlanetographic() method
2006-04-20 Tracie Sucharski - Fixed bug looking at Target instead of TargetName for sky.
2006-06-20 Stuart Sides - Added ability to lookup the radii if given a "TargetName" in the mapping group.
2006-07-10 Elizabeth Miller - Fixed bugs in new static method
2007-06-27 Steven Lambright - Added static ToPlanetocentric(), ToPositiveWest() and ToPositiveEast() methods. Changed To180Domain() and To360Domain() to be static instead of const. Added Mapping(), MappingLatitudes() and MappingLongitudes() methods for map2map.
2007-08-14 Steven Lambright - Mapping() fixed: should not return cube specific parameters, because they did not go into making the projection.
2008-05-09 Steven Lambright - Added Name(), Version(), IsEquatorialCylindrical() methods
2008-06-12 Christopher Austin - Elaborated error messages.
2008-06-19 Steven Lambright - Fixed memory leak
2009-01-29 Stacy Alley - added a overloaded STATIC method for convenience. TargetRadii, which takes a Pvl, the cube label, and a PvlGroup, a mapping group.
2011-02-10 Jai Rideout - added SetUpperLeftCorner() because ProjectionFactory needed a way to set UpperLeftCornerX and UpperLeftCornerY keywords after creating the projection. Mapping() now adds optional keywords UpperLeftCornerX, UpperLeftCornerY, PixelResolution, and Scale to original mapping group so that cam2map can properly display a clean mapping group.
2011-07-05 Jeannie Backer - Added qCompute() method. Updated documentation.
2011-08-11 Steven Lambright - phi2Compute was running out of iterations for vesta (an asteroid). Fixes #279
2012-03-01 Jeff Anderson - Fixed bug in SetUpperLeftCorner by adding Pvl::Replace when updating the mapping labels
2012-03-30 Steven Lambright and Stuart Sides - To360Domain() and To180Domain() are now constant time operations. Fixes #656.
2012-06-15 Jeannie Backer - Added documentation. Added forward declarations to header file. Ordered includes in implementation file. Moved destructor and accessor methods to the implementation file. Moved the following methods from the ObliqueCylindrical class for generalized xyRangeOblique() method - doSearch(), findExtreme(), setSearchGround(). Changed member variable prefix to m_. Improved unitTest. Resolves #928.
2012-07-25 Jeannie Backer - Modified the new methods related to xyRangeOblique() to verify the validity of the values when setSearchGround() is called. References #954.
2012-08-01 Kimberly Oyama - Added a qFuzzyCompare() to ToPlanetographic() to account for rounding error at the latitude boundaries (-90 and 90 degrees). Updated the unit test to exercise this change. References #604.
2012-08-09 Steven Lambright - Added NaifStatus calls to protect the TargetRadii() method from naif throwing an error/crashing with inputs that have non-target naif codes.
2012-11-18 Debbie A. Cook - Branched Projection into another level of parent classes that inherit from Projection.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here.
2012-11-30 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2010-03-18 Sharmila Prasad - Added the Warning widget to the status bar to display the error status both icon and message for any application activity
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed include issues.
2011-04-25 Steven Lambright - Fixed updates at the bottom right
2012-06-18 Steven Lambright - Fixed access of viewport DN data to not access out of range data. Fixes #896.
2013-02-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-04-24 Jeannie Backer - Capitalized text output, "n/a", to be consistent with the AdvancedTrackTool text output. References #775.
2013-05-07 Jeannie Backer - Replaced Lat with Rad for non-projected "Plane" shaped models. References #775.
2002-11-14 Stuart Sides - Modified documentation after review by Jeff Anderson
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2004-06-22 Jeff Anderson - Modified Transform method so that it was not const
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-09-06 Elizabeth Ribelin - Fixed bug in radians/degrees conversions
2005-12-02 Elizabeth Miller - Fixed bug in ellipsiod lat/lon to x/y conversion
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-05-09 Steven Lambright - Added Name, Version methods
2012-05-03 Jeannie Backer - Added documentation. Moved inclusion of Constants.h to implemenatation file.
2012-06-15 Jeannie Backer - Added more documentation. Moved Name and Version methods to the implementation file. Minor modifications to comply with some coding standards. References #928.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-12-05 Kris Becker Original Version
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
2005-11-09 Tracie Sucharski Added HasProjection method.
2006-03-20 Elizabeth Miller Added camera, projection, and Resolution methods and documentation
2006-03-31 Elizabeth Miller Added unitTest
2006-05-17 Elizabeth Miller Depricated CameraManager to CameraFactory
2007-02-06 Tracie Sucharski Added SetBand method.
2007-02-06 Steven Lambright Fixed documentation
2009-04-24 Steven Koechle Added a check to SetUniversalGround that makes sure the result is on the cube before returning true.
2010-04-09 Sharmila Prasad Added an API to check for camera in an image
2010-04-28 Mackenzie Boyd Fixed dereferencing issue in constructor that takes a cube.
2011-01-25 Steven Lambright Added CameraPriority and SetGround. The CameraPriority was for grid to use projections by default so they would work across the image regardless of the camera. The SetGround is so that conversions between lat/lon types are simply handled and allows a clean interface to use the new Latitude and Longitude classes.
2011-01-25 Eric Hyer - Added SetGround method for Surface Points
2012-03-22 Steven Lambright - Added GroundRange() method because I needed a ground range in the qview nomenclature tool and this seemed like the best place to put it. The Cube paramater is optional.
2012-06-29 Steven Lambright and Kimberly Oyama - Made the estimation section of GroundRange() sample more points by walking the perimeter, the two corner to corner diagonals, and a plus that intersects in the center of the image. This ensures that the entire longitude range is returned. Fixes #855.
2012-12-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-04-24 Tracie Sucharski - Added ring plane functionality to methods UniversalLatitude() and UniversalLongitude(). Reference #775.
2012-04-24 Jeannie Backer - Removed prototype for constructor that has been removed from this class. References #775.
2002-10-25 Jeff Anderson - Command line mode was not fully verifying the AML object. Invoked the VerifyAll method after loading each of the command line tokens.
2003-02-07 Jeff Anderson - Modified constructor so that it will not start the GUI if the program name is unitTest.
2003-02-12 Jeff Anderson - Strip off leading directory in front of argv[0] so that unit tests run with pathnames do not start the Isis Gui.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-12-16 Jeff Anderson - Added command line option -LAST and RESTORE=file.par
2004-02-26 Jeff Anderson - Added command line option -HELP
2004-02-26 Jeff Anderson - Modified to allow a parameter to appear multiple times on the command line
2004-02-29 Jeff Anderson - Added the -PID command line switch which allows interprocess communication to occur with the parent so that the parents GUI can be properly updated.
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-10-03 Elizabeth Miller - changed
2005-12-21 Elizabeth Miller - Added command line options -BATCHLIST, -SAVE, -ERRLIST, -ONERROR, -PREFERENCE, and -PRINTFILE
2006-01-23 Elizabeth Miller - Renamed -HELP to -WEBHELP and made it accept abbreviations of reserve params
2007-07-12 Steven Koechle - Added -NOGUI flag
2007-10-04 Steven Koechle - Added -info flag. Debugging option to create a log of system info.
2008-02-22 Steven Koechle - Modified batchlist to take tab, command, and space characters as delimiters but also allow special cases like tab, as a single delimiter leaves quoted strings alone.
2008-04-16 Steven Lambright - Moved parameter verification call
2008-06-06 Steven Lambright - Changed corrupt history file message
2008-06-18 Steven Lambright - Fixed documentation
2008-09-23 Christopher Austin - Added a try/catch to SaveHistory(), where if the history file is corrupt, it simply overwrites it with the new single valid entry.
2008-01-07 Steven Lambright - Changed unit test and error on invalid parameter history files to conform with a FileName class change where expanded(...) always returns a full path.
2009-08-17 Steven Lambright - Parameters are now more correctly interpretted from argv resulting in fewer escape characters and problems such as " " (2 spaces) being interpretted properly. Array parameter values support improved.
2009-11-19 Kris Becker - Made argc pass by reference since Qt's QApplication/QCoreApplication requires it
2010-03-26 Sharmila Prasad - Remove the restriction of the number of columns in the batchlist file to 10.
2010-05-28 Steven Lambright - History fails silently now
2010-07-20 Steven Lambright - Array format on the command line is more tolerant to white space now.
2010-07-28 Steven Lambright - Fixed complicated escape sequence cases on array format parsing that have existed for a while now
2010-07-28 Christopher Austin - Fixed a -LAST issue causing IsisAml to throw an incorrect exception.
2010-10-28 Mackenzie Boyd - Modified error messages in LoadHistory()\
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2011-08-31 Jai Rideout and Steven Lambright - Loading the history with -last no longer causes us to call PutAsString for parameters which match the defaults. This fixes an issue with the new spiceinit GUI with "WEB" added... -last would always throw an error.
2011-09-21 Steven Lambright - When the -batchlist does not understand a variable it would crash. This prevented users from entering variables like $base, $mro, etc. Now when -batchlist does not understand a variable it preserves it in the parameter list. Fixes #365.
2014-06-09 Ian Humphrey - Added PreProcess() and ResolveParameter() functions to replace redundant code in LoadCommandLine(). These functions evaulate -HELP and -WEBHELP flags regardless of errors on commandline. Fixes #552.
2014-06-10 Ian Humphrey - Fixed issue causing parameter name values on the -HELP flag to only evaluate if uppercase. Fixes #1735. Reorganized header and cpp layout. Renamed private member functions to follow code convention. Began modifying unitTest.cpp.
2014-06-11 Ian Humphrey - Added throws to evaluateOption() so that if the parameter is -HELP or -WEBHELP unitTest.cpp can catch and continue running.
2014-06-12 Ian Humphrey - Modified logic in loadCommandLine() throw statements so an exception is thrown when -BATCHLIST is used with -GUI, -SAVE, -LAST, or -RESTORE options. Added bool usedDashRestore.
2014-06-17 Ian Humphrey - Added to unitTest.xml to test -HELP=value. Renamed application name from 'hist' to 'unitTest'. Modified logic of resolveParameter() to give appropriate error message to user when using an invalid reserved parameter (e.g. -x).
2014-06-18 Ian Humphrey - Finished developing unitTest.cpp and reorganized. Added lacking [at]throws documentation to UserInterface.cpp.
2007-01-11 Tracie Sucharski - Original version.
2007-01-30 Elizabeth Ribelin - Renamed String to QString and Time to iTime.
2007-07-10 Steven Lambright - Added unitTest. Read boresight from addendum. Added time to 1/2 exposure duration to get center time of image.
2007-07-11 Steven Koechle - Casted NaifIkCode to int before istring to fix Linux 32bit build error
2008-08-08 Steven Lambright - Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera. Camera is now pure virtual, parent class is FramingCamera.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Clementine namespace wrap with Isis namespace. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2008-08-08 Steven Lambright Original version
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2012-06-20 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards
2009-04-21 Steven Lambright - Fixed problem with only half of the side pixels being loaded in
2010-04-08 Steven Lambright and Eric Hyer - Added support for using CubeDataThread for reads.
2010-05-11 Eric Hyer - Fixed issue with invalid bounding rects in resizedViewport()
2010-05-24 Eric Hyer - Fixed bug in previous bug fix (checks were in wrong order)
2010-07-12 Jeannie Walldren - Added exceptiona to help track errors.
2011-03-30 Sharmila Prasad - Edited to remove black line on the left and on top
2011-04-25 Steven Lambright - Fixed bounding rect calculations and fill action creation
2011-06-20 Steven Lambright - Fixed panning issue where panning beyond a full screen was a problem.
2008-06-19 Noah Hilt - Added a method for sending a signal to qview when this window recieves a close event. This signal calls the file tool's exit method and ignores this class's close method.
2010-18-03 Sharmila Prasad - Added ability to handle exception and display warning status when exception occured
2012-05-29 Steven Lambright - Updated closeEvent() to ask the user to save any unsaved modifications to the opened cube. References #854.
2012-05-29 Steven Lambright - Original implementation
2012-07-27 Tracie Sucharski - Added closeViewport signal and connect to the CubeViewport's viewportClosed signal. This was done so that tools can respond to the user closing a viewport rather than when the application exits.
2005-11-15 Elizabeth Miller - Fixed problems caused by viking data area split
2006-05-17 Elizabeth Miller - Depricated CameraManager to CameraFactory
2006-06-14 Elizabeth Miller - Changed format of unitTest to fix problems with minor naif changes
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2006-03-16 Tracie Sucharski Original version
2009-04-06 Steven Lambright Fixed problem that caused double deletion of sky map / ground map.
2009-08-03 Debbie A. Cook - Added new tolerance argument to CreateCache call to be compatible with update to Spice class
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2010-08-05 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace wrap. Added NAIF error check to constructor.
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Updated documentation. Removed Cassini namespace wrap inside Isis namespace wrap. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-03-04 Tracie Sucharski - Added new method, PixelIfovOffsets, which will return the ifov offsets,in x and y, from the center of the pixel in mm. The pixel ifov size for vims is dependent on the sampling mode.
2013-09-10 Tracie Sucharski, The Vims 15 Mhz clock actually oscillates closer to 14.7456 Mhz, so the IR exposure duration, interline delay and interframe delay in the VIMS header need to be scaled by 1.01725. This change will affect where VIMS pixels map in projected space. Fixes #1759.
2013-12-04 Tracie Sucharski - Fixed bug when checking for unsupported Nyquist cubes. The SamplingMode keyword is actually "UNDER" not "NYQUIST". Print appropriate error indicating that these cubes are not supported.
2007-12-12 Tracie Sucharski, After creating spice cache with padding, reset et by calling SetImage(1,1) so that et is initialized properly at beginning of image without padding.
2011-05-03 Jeannie Walldren - Added NAIF error check.
2006-03-16 Tracie Sucharski Original version
2008-02-05 Tracie Sucharski, Replaced unitVector files with Rick McCloskey's code to calculate look direction.
2008-06-18 Steven Lambright Fixed documentation
2009-04-06 Steven Lambright Fixed problem that caused double deletion of sky map / ground map.
2009-08-06 Tracie Sucharski, Bug in unit vector change made on 2008-02-05, had the incorrect boresight for VIS Hires.
2011-02-08 Steven Lambright & Debbie Cook, Added WrapWorldToBeClose and refactored to use the Latitude and Longitude classes.
2011-05-03 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace.
2011-10-19 Steven Lambright - Added common sense check to constructor to at least provide a string explanation for why their program is going to crash when the original cube makes no sense. Since the exception is in the constructor the error will probably lead to an alternate seg fault.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-09-10 Ken Edmundson, Added new methods, SetGroundwithLatitudeLongitude and SetGroundwithRadiusLongitude to support rings data.
2012-12-03 Tracie Sucharski - Added error check to SetGround method. Returns false if none of the pixel centers in the cube intersect with the planet. Fixes #1306.
2013-07-24 Tracie Sucharski - Fix bug in camera model which causes a problems finding either north or south poles in images. References #1289.
2013-08-12 Tracie Sucharski - Change all computations base on latitude and longitude to x, y and z. This takes care of pole problems and improves accuracy. Fixes #1289.
2014-04-09 Tracie Sucharski - When changing the camera model from lat/lon to x/y/z calculations the range checking was removed. This caused extra pixels to be projected into incorrect positions when doing global projections. Range checking was put back in using x/y/z values. References #1289.
2007-04-16 Tracie Sucharski - Look for unit vectors in the proper directory.
2007-04-18 Tracie Sucharski, The inaccuracy of the 15 Mhz clock (exposure , interline_delay) is already taken care of in the labels values, so remove the adjustment from the code (exp * 1.01725). *Reference: email from John Ivens 11/27/2006.
2007-04-19 Tracie Sucharski, Swap bytes on unit vectors. They are currently LSB binary files. ???Todo:??? Convert unit vectors to text files.
2008-02-05 Tracie Sucharski, Replaced unitVector files with Rick McCloskey's code to calculate look direction.
2009-08-06 Tracie Sucharski, Bug in unit vector change made on 2008-02-05, had the incorrect boresight for VIS Hires.
2013-09-09 Tracie Sucharski, Turns out the times in the labels are NOT corrected, so the corrections NEED to happen in the code. There was discussion among UofA Vims and PDS about reproducing PDS archive with labels corrected, but the decision was made to perform the correction in the code and leave the archive alone. Some history: 08-23-2004 Rick McCloskey gave me the correction to put in the code since he said the label values were incorrect. 11-27-2006 John Ivens said the labels values were corrected, so I removed the correction factor from the code. For more info, See previous history entries: 2007-04-18.
2014-04-09 Tracie Sucharski - When converting the camera model from lat/lon to x/y/z calculations, the range check in the SetGround method was removed. When creating global projections, the pixel data would be replicated in incorrect locations due to the least squares fitting always finding a fit, even if it's incorrect. The range checking was added back in using x/y/z min/max values. However, this caused the pole not to be found, so the min/max z values are adjusted to include the pole if they are within 1 km of the pole. This value was chosen through trial and error, and I have concerns that this may need to be adjusted for images with different resolutions. I think it would just cause a few extra pixels at the edge worse case scenario.
2008-01-02 Tracie Sucharski - Check incoming pixel for validity against edge of pixel not center.
2008-02-05 Tracie Sucharski, Replaced unitVector files with Rick McCloskey's code to calculate look direction
2008-02-14 Tracie Sucharski, Change imgSamp/imgLine to double so that fractional pixels are used in calculations.
2007-04-18 Tracie Sucharski - Added check for reasonable match when attempting to find closest lat/lon in map arrays.
2007-09-14 Tracie Sucharski - Added check for longitude outside min/max bounds. Don't know why this wasn't put in before (lat check was in), was it oversight, or did I take it out for some reason???
2007-12-14 Tracie Sucharski - Remove resolution test, too image dependent and the resolution for vims is incorrect due to the instrument having rectangular pixels.
2008-01-02 Tracie Sucharski - Check validity of resulting sample and line against edge of starting ending pixels (0.5/Parent+0.5) instead of center of pixels.
2012-12-03 Tracie Sucharski - Check for valid minLat/maxLat, minLon/maxLon. If none are valid, this means the latMap and lonMap have no valid data, therefore we cannot back project, so return false.
2014-04-08 Tracie Sucharski - Change the sanity check made on 2012-12-03 from lat/lon to xyz.
2006-04-05 Tracie Sucharski - Original version
2009-04-06 Steven Lambright - Fixed problem that caused double deletion of sky map / ground map.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2013-11-18 Tracie Sucharski - Added LookDirection method to calculate unit vectors so that old unit vector files are no longer needed.
2007-04-16 Tracie Sucharski - Look for unit vectors in the proper directory.
2007-04-18 Tracie Sucharski, The inaccuracy of the 15 Mhz clock (exposure , interline_delay) is already taken care of in the labels values, so remove the adjustment from the code (exp * 1.01725). *Reference: email from John Ivens 11/27/2006.
2008-01-03 Tracie Sucharski - Converted Rick'scode rather than using the unitVector files from Rick.
2013-11-18 Tracie Sucharski - Added this method to VimsSkyMap,so that old unitVector files are no longer needed.
2009-10-07 Noah Hilt - Original version.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2012-06-29 Steven Lambright - Improved handling of special pixels so that they are reported correctly. Fixes #199.
2010-07-19 Mackenzie Boyd - Original Version
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2010-07-19 Mackenzie Boyd - Original Version
2011-05-03 Jeannie Walldren - Added NAIF error check. Updated documentation. Added call to ShutterOpenCloseTimes() method.
2009-12-11 Sharmila Prasad - Initial Version
2010-03-22 Sharmila Prasad - Point the warning icons to right path
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewPort. Fixed include issues
2011-09-20 Steven Lambright - Cursors should remain consistent between all viewports now. Fixes #195.
2012-08-23 Steven Lambright and Stuart Sides - Updated the class to be much more flushed out. We now have WorkOrderStatus, syncRedo(), asyncRedo(), postSyndRedo() (also undo versions), dependsOn(), full dependency analysis, full progress/status strings, no more race conditions in undo/redo, the work order list is now doubly-linked, and added the statusChanged() signal. redo() and undo() should no longer cause any bad or undesired behavior.
2012-09-19 Steven Lambright - Added QList<Control *> data support for in-memory controls. I did not yet do the serialization because we're working on a "ControlList" class that may encapsulate some of the implementation (maybe, we'll see).
2012-10-19 Steven Lambright - Removed parent argument from constructor - deleting work orders when the creator goes away doesn't make sense. Also work orders will work correctly when the associated images are freed from memory and later re-allocated (the import of the images was undone, for example). Added elapsed time value to the status text and fixed warning for work orders without undo text. Added listenForImageDestruction() and clearImageList().
2013-04-25 Jeannie Backer - Modified call to qWarning() to prevent compile warnings on MAC OS 10.8.2
2007-03-21 Tracie Sucharski - Changed call from fitScale to fitScaleMinDimension so that the minimum cube dimension is displayed in its entirety.
2008-05-27 Noah Hilt - Now allows cubes to be opened with additional arguments read by the CubeAttributeInput class, specifically to open certain bands as well as open 3 bands in RGB mode.
2008-12-04 Jeannie Walldren - Fixed bug in addCubeViewport(cubename). Added exception catch to addCubeViewport(cube) to close the CubeViewport from the ViewportMainWindow if it cannot be shown.
2009-03-27 Noah Hilt, Steven Lambright - Changed parent class from QWorkspace to QMdiArea since QWorkspace is now an obsolete class. Also changed how CubeViewports are created.
2010-04-08 Steven Lambright and Eric Hyer - Added progress bar
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Also fixed include issues.
2010-11-18 Eric Hyer - addBrowseView now deletes the last viewport in the subWindowList instead of the first one
2011-09-19 Steven Lambright - Fixed addBrowseView to actually close the old viewports instead of hiding them. Fixes #418
2012-05-29 Steven Lambright - Now utilizes ViewportMdiSubWindow instead of QMdiSubWindow. References #854.
2012-09-18 Steven Lambright - Added the selfContained option to the constructor. This allows us to show a work space without handling the tool and status areas externally. No longer inherits from QMdiArea because of the need to place widgets around the mdi area.
2007-04-13 Tracie Sucharski - Load entire image instead of fitting smallest dimension.
2008-05-27 Noah Hilt - Now returns a MdiCubeViewport in order for the addCubeViewport(QString cubename) method to modify the MdiCubeViewport.
2008-08-20 Stacy Alley - Changed the setScale call to match the zoomTool's fit in view
2008-12-04 Jeannie Walldren - Added try/catch to close the MdiCubeViewport if showCube() is not successful.
2006-06-12 Tracie Sucharski, Clear errors after catching when attempting to open cube.
2007-02-13 Tracie Sucharski, Open cube read, not read/write. Opening read/write was done to accomodate the EditTool. EditTool will now reopen the cube read/write.
2008-05-27 Noah Hilt, When opening a cube now if a user specifies extra arguments to the cube name, the cube will be opened using a CubeAttributeInput specifically for the number and index of bands to be opened. Additionally, if a cube is opened with 3 bands it will be opened in RGB mode with red, green, and blue set to the 3 bands respectively.
2008-12-04 Jeannie Walldren - Removed "delete cube" since this was causing a segfault and this deallocation is already taking place in addCubeViewport(cube).
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-09-25 Jeff Anderson - Added Resolution method
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2007-03-21 Tracie Sucharski - Added zoomFitWidth and zoomFitHeight slots and changed the zoomFit button to contain a popup menu for "Fit to Width" & "Fit to Height".
2008-05-23 Noah Hilt - Added RubberBandTool functionality and changed the mouseButtonReleased Method.
2009-02-12 Steven Lambright - Fixed zooming in/out with rectangle rubber band
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues.
2010-07-12 Jeannie Walldren - Created setScale() methods to display a QMessageBox if a scale value could not be set.
2010-07-14 Jeannie Walldren - Fixed bug that caused 1:1 to fail. Added iExceptions if value is manually entered in text box is invalid. Updated documentation.
2010-12-22 Eric Hyer - Removed mouseButtonPress method.
2011-09-28 Steven Lambright - Removed p_userCursor. It was only causing bugs. As a result, the mouseButtonRelease method did nothing so I removed that too. Zooming happens on the rubberBandComplete slot.
2010-07-12 Jeannie Walldren - Modified to call this object's setScale method.
2010-07-12 Jeannie Walldren - Replaced checks for newScale==0 accidentally removed in previous commit.
2010-07-12 Jeannie Walldren - Original version.
2010-07-14 Jeannie Walldren - Added error message if the new scale value is less than or equal to 0.
2010-07-12 Jeannie Walldren - Original version.
2010-07-14 Jeannie Walldren - Added error message if the new scale value is less than or equal to 0.
2010-07-12 Jeannie Walldren - Original version.
2010-07-14 Jeannie Walldren - Added error message if the new scale value is less than or equal to 0.
2010-07-12 Jeannie Walldren - Modified to call this object's setScale method.
2010-07-12 Jeannie Walldren - Replaced checks for newScale==0 accidentally removed in previous commit.
2002-10-31 Stuart Sides - Added check to make sure all parameters have some type of value or are excluded by some other parameter.
2002-11-05 Stuart Sides - Modified GetString member to return the matching list member (if a list exists) instead of the value itself.
2002-12-10 Stuart Sides - modified GetFileName member to return the filename(s) with environment variables expanded.
2003-01-24 Stuart Sides - took out schema checking for the time being. It will need to be put back in after the user preferences object is finished.
2003-01-27 Stuart Sides - modified GetFileName.
2003-02-07 Stuart Sides - fixed VerifyAll to better check list/option/includes,excludes
2003-02-13 Stuart Sides - allowed list/option/included parameters to use the default value instead of just the value.
2003-02-20 Stuart Sides - fixed problem where excludes/includes were throwing an error when they should not have.
2003-03-12 Stuart Sides - added member to construct a command line from the internalized data and return it as a string (CommandLine).
2003-03-12 Stuart Sides - added member to construct a command line from the internalized data and return it as a string (CommandLine).
2003-03-13 Stuart Sides - modified member CommandLine to take a Label reference instead of returning a Label.
2003-03-13 Stuart Sides - socumented new member CommandLine.
2003-04-03 Stuart Sides - fixed bug where integer parameters that need to be odd were not being checked.
2003-05-16 Stuart Sides - modified schema from astrogeology... isis.astrogeology...
2003-05-30 Stuart Sides - fixed uninitialized variable compiler error when -O1 flag was added.
2003-06-04 Stuart Sides - fixed a problem where the GetString member was not returning the full list option value.
2003-06-05 Stuart Sides - added the member "Version" to the class. It will return the date of the most recent change to the application. This involved parsing the history/change entries, which was being ignored previously.
2003-07-02 Stuart Sides - added the new parameter type "cube"
2003-07-03 Stuart Sides - added the members "Brief and Description" to return the application brief and full description.
2003-08-01 Stuart Sides - made get and put FileName work for cubes too.
2003-08-26 Jeff Anderson - added extension option to GetFileName method.
2003-08-27 Stuart Sides - fixed bug where not all parameters would get internalized if there where html tags inside a description of a parameter
2003-12-03 Jeff Anderson - modified CommandLine method to output all parameters except those in option list excludes.
2004-01-21 Stuart Sides - added members for accessing a parameters exclude(s).
2004-02-26 Stuart Sides - added parsing and get members for the default path in the XML
2004-03-03 Stuart Sides - added member function PixelType so IsisGui can get the pixel type of a cube
2004-09-01 Stuart Sides - modified so the parameter names don't get capitalized as they are read from the applications xml file. This caused other modifications to the ReturnParam member, so it would find the requested parameter in a case insensitive way.
2005-10-03 Elizabeth Miller - changed
2005-12-13 Stuart Sides - Took out an "exit(1)" in the GetString method. Couldn't find a reason for it to be there.
2005-12-28 Elizabeth Miller - Added extra methods and private vars to retrieve info needed for gui and command line help
2006-02-13 Elizabeth Miller - Added GuiHelper Capabilities
2006-10-17 Steven Lambright - Fixed problem with boolean inclusion/exclusion
2010-07-19 Jeannie Walldren - Added check whether user preferences are set to allow file overwrite in Verify() method
2010-07-21 Sharmila Prasad - Modified for doxygen documentation Warning
2010-07-22 Steven Lambright - Array values for parameters are now written to the history file
2011-08-16 Sharmila Prasad - Added API to CreatePVL from a GUI Group and Get GUI Group index given the Group name
2012-11-20 Janet Barrett - Fixed the GetString method so that it doesn't stop searching for a matched string until an exact match is found or it has gone through the entire list. Fixes #554.
2009-01-16 Jeannie Walldren - Original Version
2011-05-03 Jeannie Walldren - Added documentation. Removed Clementine namespace.