Isis 3 Programmer Reference
|
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2016-06-21 Kris Becker - Properly forward declare QPair as struct not class
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode usages to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-12 Kaitlyn Lee - Set the window title to "Table Sorting" with setWindowTitle().
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-07-09 Tracie Sucharski - Serialize the objectName for this view so that the view can be re-created with the same objectName for restoring the project state. Qt's save/restoreState use the objectName. Remove sizeHint method which is now taken care of in the parent class, AbstractProjectItemView.
2018-06-25 Kaitlyn Lee - When multiple views are open, there is a possibility of getting ambiguous shortcut errors. To counter this, we enable/disable actions. Overrode leaveEvent() to handle open menus causing a leave event. On default, a view's actions are disabled. To enable the actions, move the cursor over the view. When a user moves the cursor outside of the view, the actions are disabled.
2018-06-13 Kaitlyn Lee - Since views now inherit from QMainWindow, each individual view has its own toolbar, so having getters that return toolbar actions to fill the toolbar of the IpceMainWindow are unnecessary. Removed methods that returned menu and toolbar actions.
2018-06-05 Kaitlyn Lee - Added createMenus() and createToolBars(). The body of createMenus() was moved from the constructor. createToolBars() was copied and edited from CnetEditorWindow. Fixes #5416. Fixes #4988
2018-06-01 Kaitlyn Lee - Because AbstractProjectItemView now inherits from QMainWindow, I added a dummy central widget and set its layout to the grid layout. We used to set the whole CnetEditorView widget's layout, now we only set the central widget's layout.
2016-06-07 Ian Humphrey - Updated documentation and coding standards. Fixes #3958.
2016-03-31 Tracie Sucharski - Added method to return the chip cube.
2015-12-08 Jeannie Backer - Fixed whitespace per ISIS coding standards.
2014-09-05 Kim Oyama - Added default initialization of Image to ChipViewport construtor.
2012-07-26 Tracie Sucharski - Added method to return zoom factor and slot to zoom to a specific zoom factor.
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-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-07 Debbie A. Cook and Tracie Sucharski - Changed point type "Ground" to "Fixed".
2010-12-01 Eric Hyer - Added stretch locking
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-11-22 Eric Hyer - ChipViewports can now be stretched by stretching CubeViewports opened to the same cube
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-06-16 Jeannie Walldren - Modified geomChip(), nogeomChip(), rotateChip() and reloadChip() to catch possible iExceptions from Chip's Load() method and display Error in QMessageBox
2008-09-09 Tracie Sucharski - Added setCircle and setCircleSize methods.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2015-11-16 Ian Humphrey - Removed embedded close button icon. References #1041.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2016-08-28 Kelvin Rodriguez - Removed unused member functions that are would cause infinite recursion if called. Caught by clang diagnostics. Part of porting to OS X 10.11
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2015-11-16 Ian Humphrey - Removed embedded icons. References #1041.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2015-11-16 Ian Humphrey - Removed embedded icons. References #1041.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-07-12 Kaitlyn Lee - Added setCnetModified() and the connection with cnetModified() to call setModified(true) on a control when a user edits a cnet. cnetModified() was only connected to a slot in Directory, and this was connected to a slot in Project called activeControlModified() that would call setModified(true) on the active control. So, when a user changed any cnets, the only cnet that was recognized as being modified was the active. Adding this allows a user to save changes made to a nonactive cnet. Fixes #5414.
2018-06-12 Kaitlyn Lee - Added m_sortDialog to keep track if a dialog exists so only one instance can be open at a time.
2018-04-11 Tracie Sucharski - Moved the Xml serialization to the newly created CnetEditorView class for ipce.
2017-08-11 Christopher Combs - Changed constructor to take in a Control instead of a ControlNet. Added load and save methods as well as an XmlHandler to allow for serialization of the widget into the project. Fixes #4989.
2017-08-10 Christopher Combs - Added Apriori lat, lon, and radius labels. Fixes#5066
2017-07-24 Makayla Shepherd - Fixed a seg fault in ipce that occurs when attempting to edit a control point when there is not an active control network. Fixes #5048.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2017-05-18 Tracie Sucharski - Added a signal to indicate the control point chosen from either the point table or the measure table. If the point was chosen from the measure table, the serial number of the measure is also passed. This was added for IPCE, for the interaction with other views.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-09-28 Kaitlyn Lee - Changed the declaration of QPair from class to struct. Fixes build warning on MacOS 10.13. References #5520.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2018-06-01 Jesse Mapel - Changed ControlCubeGraphNode to image serial number. References #5434.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2009-05-21 Steven Lambright - Fixed GeometricTilingHint for summed images
2009-03-17 Steven Lambright - Fixed UV to work with the distortion model correctly
2008-11-25 Steven Lambright - The coloroffset now works properly; if an offset is supplied in marci2isis the cube will still project properly.
2008-11-19 Steven Lambright - Added distortion model, made VIS bands other than orange work
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-05-03 Jeannie Walldren - Updated unitTest to test for new methods. Added NAIF error check. Removed Mro namespace.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of createCache(...).
2005-10-03 Elizabeth Miller - Modified file to support Doxygen documentation
2012-04-16 Jeannie Walldren - Wrapped class inside Isis namespace. Added documentation.
2008-05-12 Steven Lambright - Removed references to CubeInfo
2006-08-17 Debbie A. Cook - Added members p_bin and p_tdi along with methods to retrieve them and the ccd
2010-10-28 Kris Becker Renamed parameters replacing "Zz" with "ZeroReverse".
2010-04-16 Kris Becker Renamed from Zf to ZeroReverse
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-11 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test added methods.
2016-02-24 Staurt Sides - New Horizons LORRI distortion model changed to subtract the distortion when going from distorted to undistorted instead of adding, and adding the distortion when going from undistorted to destorted.
2014-06-08 Staurt Sides - Original version. Equations and coefficients taken from Jet Propulsion Laboratory Interoffice Memorandum 2011/06/08 "New Horizons LORRI Geometric Calibration of August 2006" From: W. M. Owen Jr. and D. O'Coonnell
2016-10-21 Kristin Berry - Updated unitTest. References #4476.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-27 Stuart Sides - Modified to work with new Lorri IK with different unit (mm) for the focal length. Incremented camera version to 2.
2015-08-11 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test added methods.
2016-09-14 Kelvin Rodriguez - Enforced the order in which BORESIGHT_LINE and BORESIGHT_SAMPLE are added to the PVL. Part of porting to OSX 10.11
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2014-04-17 Jeannie Backer - Updated due to method name change in PushFrameCameraDetectorMap. Moved method implementations to cpp file. References #1659
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of createCache(...).
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.
2007-07-12 Debbie A. Cook, Added methods Coefficients and InverseCoefficients
2016-09-14 Kelvin Rodriguez - Enforced the order in which BORESIGHT_LINE and BORESIGHT_SAMPLE are added to the PVL. Part of porting to OSX 10.11
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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
2011-05-03 Jeannie Walldren - Removed Mgs namespace wrap.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2008-11-07 Jeannie Walldren - Fixed documentation
2008-11-05 Jeannie Walldren - Replaced reference to MocLabels IsWideAngleRed() with MocLabels WideAngleRed().
2010-04-16 Kris Becker - Implemented standardized access to CSV files.
2008-06-13 Kris Becker - Added PrintOn method to produce more detailed data dump; Added computation of statistics
2010-10-28 Kris Becker Renamed parameters removing the "Zf" prefix and replacing with "ZeroBufferSmooth".
2010-10-28 Kris Becker Updated parameter names removing "Zd" and replacing with "ZeroBufferFit".
2016-08-28 Kelvin Rodriguez - Removed usused private member variables to eliminate unused member variables warnings in clang. Part of porting to OS X 10.11.
2010-05-26 Kris Becker Corrected sign for CSV factor (_fpaFactor)
2010-04-16 Kris Becker Utilize standardized CSV reader to get FpaFactor
2010-04-16 Kris Becker Modified to used the standardized CSV reader for the A matrix.
2009-09-14 Kris Becker Removed temperature components and placed them in the GainTemperature module.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
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.
2012-11-30 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-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.
2011-02-16 Sharmila Prasad - Added columns for Local Emission and Incidence Angles
2010-06-26 Eric Hyer - Class now uses MdiCubeViewport, also fixed include issues
2010-05-07 Eric Hyer - record() SLOT now shows the table as well
2010-03-08 Jeannie Walldren - Added record() slot to be able to record a QPoint passed from the FindTool to the current row.
2010-02-17 Sharmila Prasad -Added the attributes TRACK_MOSAIC_INDEX, TRACK_MOSAIC_FILENAME, TRACK_MOSAIC_SERIAL_NUM to track mosaic origin
2008-10-17 Noah Hilt - Added tooltips to certain items in the table that did not have descriptive names.
2008-10-14 Noah Hilt - Added Projected X and Y values to the table.
2008-06-25 Noah Hilt - Added enumeration for different column values.
2014-06-17 Jeannie Backer - Modified to print set value to empty strings for photometric angles, azimuths, resolutions if not valid. References #1659.
2010-05-07 - Eric Hyer - Now shows the table as well
2010-03-08 - Jeannie Walldren - This slot was added to be connected to the FindTool recordPoint() signal in qview.
2018-08-10 Tracie Sucharski - Changed addItems method to call the ProjectItemProxyModel::addItems rather than this classes addItem. This speeds things up considerably loading items into the model. References #5296.
2018-07-26 Tracie Sucharski - Cleaned up some documentation.
2018-07-12 Kaitlyn Lee - Changed the sizeHint to be calculated based on the deskTop size, instead of being hard-coded. The percentages chosen allow for 2 CubeDnViews to be opened at once, since CubeDnView has an internal size policy. References #5433
2018-07-05 Tracie Sucharski - Added SizePolicy and a large sizeHint. The large sizeHint() is because using sizePolicy with a reasonable sizeHint did not work to have views fill the available space in the dock area. References #5433.
2018-06-25 Kaitlyn Lee - When multiple views are open, there is a possibility of getting ambiguous shortcut errors. To counter this, we need a way to focus on one widget. Giving the views focus did not work completely. Instead, enabling/disabling actions was the best option. Added enableActions(), disableActions(), enterEvent(), and leaveEvent(). On default, a view's actions are disabled. To enable the actions, move the cursor over the view. When a user moves the cursor outside of the view, the actions are disabled.
2018-06-18 Summer Stapleton - Overloaded moveEvent and resizeEvent and added a windowChangeEvent signal to allow project to recognize a new save state. Fixes #5114
2018-06-15 Kaitlyn Lee - Removed methods returing toolbar and menu actions because each individual has its own toolbar. These methods are not needed anymore.
2018-05-30 Tracie Sucharski - Added the WindowFlag to set this as a Widget.
2018-05-29 Tracie Sucharski & Summer Stapleton - updated to inherit from QMainWindow instead of QWidget. This updates all views in the ipce main window to be main windows themselves, changing from an mdi interface to an sdi interface.
2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.
2011-08-23 Tracie Sucharski - Use the GetMeasuresInCube method from ControlNet to get list of measures rather than searching through entire net.
2018-06-06 Kaitlyn Lee - Set a central widget and removed layout (it is not needed after setting a central widget) because AbstractProjectItemView was updated to inherit from QMainWindow.
2018-04-16 Ken Edmundson - Modified display of residuals.csv to properly show the rejected column if there are rejected measures. Also displays rejected measure row in red.
2018-03-26 Ken Edmundson - Modified displayTextFile method to query for system's fixed width font.
2018-03-21 Ken Edmundson - Added capability to display either csv or text files. Fixed problem for display of multi-line headers for csv files. Set SectionResizeMode to QHeaderView::ResizeToContents so columns are displayed at the width of the maximum size of the column content. Fixes #4850.
2017-05-05 Tracie Sucharski - Changed for the serialization of BundleObservation files. This was implemented create a new ProjectItem type called FileItemQsp. Fixes #4839, #4840.
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.
2008-01-18 Stacy Alley - Changed the constructor to accept a QStringList which serves as the default filters for the file dialog boxes.
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.
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.
2010-12-01 Steven Lambright - No longer calls setBandBin() if the viewport doesn't change.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport
2019-04-22 Kaitlyn Lee - Added column for oblique pixel resolution. Added checkBoxItems and loop to add elments to the AdvancedTrackTool, instead of hardcoded method calls. Instead of using the enum, added a method getIndex() that calculates what column the element should be added to. Fixes #2205.
2018-08-13 Summer Stapleton - Added logic to trackingMosaicOrigin() for the tracking cube (in addition to the mosaic cube) and added logic to track the serial number of all other cubes. Fixes #4899
2018-07-31 Kaitlyn Lee - Updated TrackMosaicOrigin to use a TrackingTable object to get the file name, serial number, and index of the image associated with the current pixel. Moved code opening the tracking cube to CubeViewport. If the cursor is over a pixel with no tracking info, file name and serial number display N/A now.
2018-07-18 Kristin Berry and Kaitlyn Lee - Updated TrackMosaicOrigin to work with an external tracking cube.
2017-11-13 Adam Goins - Updated the record(QPoint p) function to call showTable() before it attempts to record a point so that a table is created to record the point into so that the first recorded point is drawn. Fixes #5143.
2015-12-21 Makayla Shepherd - Changed the ordering of the enum to match the order of when the columns are added, in order to fix the incidence and emission angle columns from reporting incorrect numbers. Fixes #2381.
2015-06-19 Makayla Shepherd - Added distorted Focal Plane and undistorted Focal Plane to the table. References #1953.
2015-05-13 Makayla Shepherd - Modified to improve handling of undefined slot behavior. References #2210.
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-07-27 Jeannie Backer - Fixed documentation.
2009-08-28 Steven Lambright - Changed inheritance to inherit directly from PushFrameCamera instead of Camera
2008-06-16 Steven Lambright - Made camera work with new push frame classes
2006-09-12 Elizabeth Miller - Fixed bug in detector map caused by the deletion of the alphacube group in the labels
2006-05-17 Elizabeth Miller - Depricated CameraManager to CameraFactory in unitTest
2011-05-03 Jeannie Walldren - Removed Odyssey namespace wrap.
2009-03-27 Jeff Anderson - Modified to use Duxbury's distortion model from Feb 2009 email with attached PDF document
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
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
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2016-10-21 Kristin Berry - Updated unitTest. References #4476.
2015-10-21 Stuart Sides - Changed the throw in the SetUndistortedFocalPlane mamber to a return false. The cases were the member was throwing were way outside the array, so this is not expexted to cause any problems. These routines should not ever throw. The calling
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2016-07-28 Tracie Sucharski - Implemented removeItem and removeItems methods.
2016-06-27 Ian Humphrey - Minor updates to documentation and coding standards. Fixes #4004.
2012-03-14 Tracie Sucharski - Update for change to the CubePlotCurve::sourceCube(), which now returns a QStringList instead of QString.
2018-03-27 Jesse Mapel - Changed to only replace the IK code with the PolyCam focus setting ID if the image is a PolyCam image. Fixes #5213.
2017-08-25 Jeannie Backer - Updated to handle multiple focus postition IK codes for PolyCam frames. We read PolyCamFocusPositionNaifId from the Instrument group for focus position specific values (such ase focal length) and we read NaifFrameId from the Kernels group the instrument frame code. Fixes #5127
2016-12-27 Jeannie Backer - Fixed coding standards. Improved docuementation. Fixed CKFrameId() to return the spacecraft ID rather than the MapCam ID. Added tests. Moved from branch into trunk. Fixes #4570.
2016-11-17 Stuart C. Sides - Modified the camera detector origin, in the constructor, to reflect the difference between the zero based system in the IK and the one based system of ISIS. That is, add one to the IK CCD_CENTER values.
2015-09-28 Stuart C. Sides - Updated to work with OCams data delivery 2015-07
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
2014-04-17 Jeannie Backer - Updated documentation for forward/reverse directions using ISIS2 lev1u_m01_thm_routines.c. Added empty destructor.
2011-05-03 Jeannie Walldren - Fixed documentation. Removed Odyssey namespace wrap inside Isis wrap.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
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-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right measure info.
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2011-05-20 Tracie Sucharski - Added Reference output
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to left measure info.
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.
2011-07-06 Tracie Sucharski - If point is Locked, and measure is reference, lock the measure.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
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.
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.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
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.
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.
2016-06-27 Ian Humphrey - Updated documentation and coding standards. Fixes #4004.
2018-03-26 Tracie Sucharski - Added slot, setControlFromActive which update editor if a new active control net is set in ipce. References #4567.
2018-03-23 Tracie Sucharski - Update the cnet filename with current cnet when it is changed.
2017-08-15 Tracie Sucharski - When ControlPoint is deleted, set the visibility of this widget to false, then to true in loadPoint(). Fixes #5073.
2017-08-11 Tracie Sucharski - Fixed save point and colorization of buttons. Fixes #4984.
2017-08-11 Tracie Sucharski - Added shortcuts for Save Point, Save Net. Fixes #4982.
2017-08-09 Christopher Combs - Added Apriori Latitude, Longitude, and Radius to the dialog. Fixes #5066.
2017-08-09 Christopher Combs - Added QPushButton and slot for reloading a point's measures in the ChipViewports. Fixes #5070.
2017-08-09 Adam Goins - Changed method references of SerialNumberList.Delete() to SerialNumberList.remove()
2017-08-02 Tracie Sucharski - Added methods to return the current editPoint and current editPoint Id. Removed measure table methods. Fixes #5007, #5008.
2017-05-18 Tracie Sucharski - Added serialNumber to the setEditPoint slot.
2017-01-05 Tracie Sucharski - Allow a new ground source location to be entered which includes allowing the option to change the location in the active control for all ground points.
2016-09-30 Tracie Sucharski - Pass in directory to constructor, so that we can query for shapes and other data from the project.
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.
2010-12-15 Tracie Sucharski - Before setting m_editPoint to NULL, release memory. TODO: Why is the first if statement being done???
2011-05-24 Tracie Sucharski - Set target radii on apriori surface point, so that sigmas can be converted to meters.
2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.
2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2011-05-20 Tracie Sucharski - Added Reference output
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2016-11-04 Tracie Sucharski - Combined findPointLocation and createTemporaryGroundMeasure so that ground information doesn't need to be re-created
2015-05-19 Ian Humphrey and Makayla Shepherd - Original version adapted from loadPoint() to encapsulate duplicated code in loadGroundMeasure().
2015-05-19 Ian Humphrey and Makayla Shepherd - moved duplicated code to findPointLocation() and createTemporaryGroundMeasure().
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
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().
2008-12-29 Jeannie Walldren - Disabled ground point check box and commented out connection between check box and setGroundPoint() method.
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-11-24 Jeannie Walldren - Added "Goodness of Fit" to right and left measure info.
2018-06-28 Kaitlyn Lee - Removed toolbars. When multiple views are open, there is a possibility of getting ambiguous shortcut errors. To counter this, we enable/disable actions. On default, a view's actions are disabled. To enable the actions, move the cursor over the view. When a user moves the cursor outside of the view, the actions are disabled. Because this view uses buttons instead of actions, overrode enableActions() and disableActions() and added m_buttons to enable/disable buttons.
2018-06-13 Kaitlyn Lee - Removed toolbars, since they are not needed.
2018-05-28 Kaitlyn Lee - Since AbstractProjectItemView now inherits from QMainWindow, I added a dummy central widget and set its layout to QVBoxLayout. We used to set the whole CnetEditorView widget's layout, now we only set the central widget's layout.
2016-09-30 Tracie Sucharski - Pass in directory to constructor, so that we can query for shapes and other data from the project.
2017-04-25 Marjorie Hahn - Moved AutoRegFactory creation from the constructor to ControlPointEdit::registerPoint() so that AutoRegFactory is not created until it is needed. Fixes #4590.
2015-10-29 Ian Humphrey - Added shortcuts for Register (R), Save Measure (M), Undo Registration (U), and Find (F). Fixes #2324.
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.
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.
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-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.
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).
2012-07-20 Tracie Sucharski - Change the Save Measure button text and tootip depending on whether movement is allowed on the left chip.
2011-07-05 Tracie Sucharski - Move point EditLock error checking to individual point parameter setting methods, ie. SetPointType, SetIgnorePoint.
2011-04-20 Tracie Sucharski - If EditLock set, prompt for changing and do not save point if editLock not changed.
2015-06-05 Makayla Shepherd and Ian Humphery - Modified to return out of the method when checkReference returns false.
2013-12-05 Tracie Sucharski - If saving measure on fixed or constrained point and reference measure is ignored, print warning and return.
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.
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-04-26 Tracie Sucharski - cleaned up, moved reference checking and updating ground surface point to new methods.
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.
2011-09-22 Tracie Sucharski - When checking ignore status on right measure, check both original and edit measure.
2011-07-25 Tracie Sucharski - Removed editPointChanged signal since the editPoint is not changed. This helped with match windows blinking due to refresh.
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-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.
2010-11-19 Tracie Sucharski - Renamed from pointSaved.
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.
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.
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-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.
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.
2012-05-08 Tracie Sucharski - m_leftFile changed from IString to QString.
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.
2011-04-20 Tracie Sucharski - Was not setting EditLock check box
2010-10-29 Tracie Sucharski - Changed pointfiles to QStringList
2010-05-11 Eric Hyer - Fixed issue with invalid bounding rects in resizedViewport()
2010-04-08 Steven Lambright and Eric Hyer - Added support for using CubeDataThread for reads.
2009-04-21 Steven Lambright - Fixed problem with only half of the side pixels being loaded in
2020-06-09 Kristin Berry - Updated paintPixmap() to move getStretch out of inner for loops. This provides a significant speed increase for qisis applications with cube viewports.
2018-07-31 Kaitlyn Lee - Added setTrackingCube() and trackingCube() so that a tracking cube is stored when needed and we do not have to open it in AdvancedTrackTool every time the cursor is moved.
2017-08-11 Adam Goins - Added the ability to ctrl + c to copy the filename of the current cube into the system's clipboard. Fixes #5098.
2017-05-10 Ian Humphrey - Modified showEvent() so that when the cube viewport is initially shown, the image is centered properly in the viewport. Modified center(double, double) to no longer increment the cubeToContents x,y by 1. This was causing some images to be off-centered by 1 pixel (the bottom and right side of viewport would be a thin strip of non-pixel space). Fixes #4756.
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.
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.
2012-06-28 Steven Lambright - Stretching gray no longer removes stretch special pixel values from the RGB stretches. References #684.
2012-03-22 Steven Lambright and Jai Rideout - Fixed bug where screenPixelsChanged was not correctly emitted on resize.
2011-04-25 Steven Lambright - Fixed "center" and added more safety checks.
2011-03-31 Sharmila Prasad - Added band info to "whatsthis" API to store the whatsthis info in a PVL format
2011-03-30 Sharmila Prasad - Set the frame shadow and style to remove border around the image
2010-12-01 Steven Lambright - The initial scale now uses fitScale so that it is consistent with the zoom tool.
2010-11-08 Eric Hyer - Added better mouseMove signal
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-06-26 Eric Hyer - Moved MDI specific code to new child class called MdiCubeViewport. Fixed many include mistakes.
2010-05-24 Eric Hyer - Fixed bug where QPainter construction was being attempted with a potentially null pixmap
2010-05-20 Steven Lambright - Added memory of global stretches
2010-04-30 Steven Lambright - Bug fixes and better support for threaded cube I/O
2010-04-08 Steven Lambright and Eric Hyer - Now supports ViewportBuffer using threaded cube I/O
2016-06-06 Makayla Shepherd - Update documentation. Fixes #3993.
2016-01-13 Jeffrey Covington - Redesigned CNetSuiteMainWindow. Added CubeDNView and Footprint2DView.
2018-04-07 Tracie Sucharski - Clean up includes.
2017-11-02 Tyler Wilson - Added a null pointer check on the ControList *controls pointer in the isExecutable(...) function to prevent potential segfaults. References #4492.
2017-08-11 Cole Neubauer - Removed isUndoable and set parent member variable Fixes #5064
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2017-04-16 J Bonn - Updated to new workorder design #4764.
2016-06-23 Tyler Wilson - Replaced QList<Control *> with ControlList *.
2017-08-11 Cole Neubauer - set isUndoable parent member variable Fixes #5064
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2017-07-18 Cole Neubauer - Finished implementing Close Project work order. Fixes #4521
2017-01-20 Tracie Sucharski - Add UndoCommand text to prevent error message. Fixes #2146.
2016-08-25 Adam Paqeutte - Updated documentation. Fixes #4299.
2016-06-06 Makayla Shepherd - Updated documentation. Fixes #3993.
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2015-06-30 Makayla Shepherd and Ian Humphrey - Modified stop() to keep the viewport buffer object from reading an extra line at the bottom of the viewport rectangle. This could potentially cause a crash from reading outside of the bounds. Fixes #2171.
2011-04-25 Steven Lambright - Fixed a problem where 1 too few lines were being read
2011-06-20 Steven Lambright - Fixed panning issue where panning beyond a full screen was a problem.
2011-04-25 Steven Lambright - Fixed bounding rect calculations and fill action creation
2011-03-30 Sharmila Prasad - Edited to remove black line on the left and on top
2010-07-12 Jeannie Walldren - Added exceptiona to help track errors.
2016-01-13 Jeffrey Covington - Original version.
2018-05-30 Tracie Sucharski - Refactored for new docked interface. Views are now responsible for creating their menus and toolbars. AbstractProjectItemView now inherits from QMainWindow, so the Workspace of this view is the centralWidget. This needs further work to cleanup and fit in with the new docked view interface.git
2017-08-03 Cole Neubauer - Changed all references from IpceTool to ControlNetTool Fixes #5090.
2017-08-02 Tracie Sucharski - Added redrawMeasures signal which calls a slot in ipce tool to redraw control measures on cube viewports. Fixes #5007, #5008.
2017-07-27 Tyler Wilson - Added a slot function (enableIPCETool) which is called when a control network (or list of control networks) is added to the active project. Fixes #4994.
2017-05-18 Tracie Sucharski - Added serialNumber to the modifyControlPoint signal.
2017-01-02 Tracie Sucharski - Moved IpceTool to first tool on tool bar, change icon to match the Footprint2DView.
2016-11-10 Tracie Sucharski - Added functionality to save/restore CubeDnViews when opening projects.
2016-10-18 Tracie Sucharski - Add method to return whether the viewport contains a Shape.
2016-10-18 Tracie Sucharski - Added the status bar back in in order to display cube positional information (sample, line, latitude, longitude).
2016-09-14 Tracie Sucharski - Replaced QnetTool with IpceTool.Added signals for mouse clicks for modifying, deleting and creating control points. These are passed on to Directory slots.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-06-27 Ian Humphrey - Minor updates to documentation and coding standards. Fixes #4004.
2018-06-12 Kaitlyn Lee - Removed help menu and the "What's This?" action because the ipce help menu has this action.
2018-10-05 Tracie Sucharski - Added radius source combo to the NewControlPoint dialog.
2018-10-04 Tracie Sucharski - Removed calls to ControlNet::GetTargetRadii because of changes to ControlNet.
2018-10-04 Tracie Sucharski - Changed functionality of ground and radius source choices on constrained and fixed points. Fixes #5504.
2018-08-08 Tracie Sucharski - Removed temporary autosave of active control, most likely causing problems with large networks.
2018-07-13 Kaitlyn Lee - Added calls to setModified(true) when a cnet is modified. References #5396.
2018-07-07 Summer Stapleton - Added a QComboBox to the widget to allow for changing the active registration template from the widget itself.
2018-06-28 Kaitlyn Lee - Removed shortcut from reload point button.
2018-06-19 Adam Goins - Fixed updating references in selectLeftMeasure and selectRightMeasure to fix a segfault that was occuring. #Fixes #5435
2018-06-11 Summer Stapleton - Stripped path from displayed filename of Control Network and set the tooltip to the full path for easier access.
2018-05-02 Tracie Sucharski - Colorize save buttons properly when creating new control point and loading a different control point.
2018-04-25 Tracie Sucharski - Fix bug when creating a control point from CubeDnView or FootprintView if a ground source exists in the serial number list. Fixes #5399.
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-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.
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.
2008-06-19 Noah Hilt, Added a close event for saving and discarding changes and a method to set the cube.
2007-12-11 Steven Lambright, Added 1x1xn cube auto stretch support
2007-09-11 Steven Lambright, Added double click signal
2007-04-13 Tracie Sucharski, Remove fitScaleMinDimension, turns out it was not needed.
2007-03-20 Tracie Sucharski, Add fitScaleMinDimension, fitScaleWidth and fitScaleHeight methods. Change cursor to wait cursor in paintPixmap.
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-01-30 Tracie Sucharski, Add information message if spice not found.
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.
2012-01-20 Steven Lambright and Jai Rideout - Completed documentation.
2014-07-02 Ian Humphrey - Added comment for executing configure dialog. References #2089.
2012-03-14 Tracie Sucharski - Added functionality for multiple viewports as a source for plots.
2012-01-30 Steven Lambright - Fixed a bug added when the legendItem() method was removed. This method is necessary. Fixes #688.
2012-01-20 Steven Lambright and Jai Rideout - Completed documentation.
2012-01-18 Steven Lambright and Tracie Sucharski - Renamed class to CubePlotCurve. Changed functionality dramatically to support a new plotting infrastructure.
2018-07-09 Tracie Sucharski - Serialize the objectName for this view so that the view can be re-created with the same objectName for restoring the project state. Qt's save/restoreState use the objectName.
2018-07-05 Tracie Sucharski - Moved sizeHint and sizePolicy to AbstractProjectItemView. References #5433.
2018-06-25 Kaitlyn Lee - When multiple views are open, there is a possibility of getting ambiguous shortcut errors. To counter this, we enable/disable actions. Overrode leaveEvent() to handle open menus causing a leave event. Overrode enable/disableActions() because we need to disable the active toolbar's widgets. On default, a view's actions are disabled. To enable the actions, move the cursor over the view. When a user moves the cursor outside of a view, the actions are disabled.
2018-06-13 Kaitlyn Lee - Since views now inherit from QMainWindow, each individual view has its own toolbar, so having getters that return toolbar actions to fill the toolbar of the IpceMainWindow are unnecessary. Removed methods that returned menu and toolbar actions. Removed connections that connected the project and CubeDnView and called enableControlNetTool() because Directory now does this.
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.
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.
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.
2011-06-14 Tracie Sucharski - Change Save Measure button text back to black.
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.
2010-11-19 Tracie Sucharski - Renamed from savePoint.
2008-12-30 Jeannie Walldren - Modified to update user (chooser) name and date when point is saved
2017-04-21 Marjorie Hahn - Added auto registration factory creation.
2011-10-21 Tracie Sucharski - Add try/catch around registration to catch errors thrown from autoreg class.
2011-06-27 Tracie Sucharski - If un-doing registration, change save button back to black. If registration successful, change save button to red.
2010-10-12 Tracie Sucharski - Clean up try/catch blocks.
2010-06-08 Jeannie Walldren - Catch error and warn user if unable to load pattern (left) or search (right) chip
2010-02-22 Tracie Sucharski - Added more info for registration failures.
2010-02-16 Tracie Sucharski- If autoreg fails, print registration stats.
2009-03-23 Tracie Sucharski - Added private m_autoRegAttempted for the SaveChips method.
2008-15-?? Jeannie Walldren - Throw and catch error before creating QMessageBox
2017-08-03 Christopher Combs - Added label updates for sample, line, lat and lon
2012-07-26 Tracie Sucharski - Added ability to link zooming between left and right viewports. TODO: Re-think design, should this be put somewhere else. This was the fastest solution for now.
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.
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.
2008-15-?? Jeannie Walldren - Added error string to iException::Message before creating QMessageBox
2008-11-19 Tracie Sucharski - If right cube changes, get new universalGroundMap.
2008-12-30 Jeannie Walldren - Modified savePoint() method to update user (chooser) name and date when point is saved
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-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-05-04 Jai Rideout - updated saveChips() to reference new AutoReg API for accessing chips used in registration.
2010-12-14 Eric Hyer - setTemplateFile now takes the filename as a parameter (no more open dialog!)
2010-12-08 Eric Hyer - Relocated stretch locking checkboxes
2010-12-01 Eric Hyer - Added checkboxes for stretch locking
2010-11-22 Eric Hyer - Forwarded SIGNAL from StretchTool to 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-17 Eric Hyer - now forwards new ControlNets to the ChipViewports
2010-06-26 Eric Hyer - now uses MdiCubeViewport instead of CubeViewport. Fixed multiple include problems.
2010-06-08 Jeannie Walldren - Added warning box in registerPoint() if unable to load left or right chip
2009-03-17 Tracie Sucharski - Add slot to set a boolean to indicate whether the registration chips should be saved.
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-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-02 Jeannie Walldren - Modified createPointEditor() to allow the leftChipViewport to refresh even if allowLeftMouse = false.
2008-11-24 Tracie Sucharski - Changed class name from PointEdit
2008-11-19 Tracie Sucharski - Addition option to constructor to allow mouse events on leftChipViewport.
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.
2008-12-10 Jeannie Walldren - Changed name from openTemplateFile() and added functionality to set new template filename to the private variable, m_templateFileName
2008-15-?? Jeannie Walldren - Added error string to iException::Message before creating QMessageBox
2016-06-02 Jeannie Backer - Updated documentation. Fixes #3949
2015-10-14 Jeffrey Covington - Declared Control * as a Qt metatype for use with QVariant. References #3949
2012-09-11 Tracie Sucharski - Added new constructor that takes a ControlNet *.
2012-08-02 Kimberly Oyama - Added comments to some of the methods and member variables.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2018-07-17 Kaitlyn Lee - Modified showContextMenu() to enable m_deleteSelectedRowsAct regardless if an active control is set.
2017-09-20 Ian Humphrey - Modified showContextMenu so single line if statements have braces. This prevents a misleading-indentation warning from occuring during Fedora25 (c++14) builds. No functionality has been changed. References #4809.
2017-08-08 Makayla Shepherd - Fixed a seg fault in ipce that occurs when attempting to edit a control point when there is not an active control network. Fixes #5048.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2017-07-18 Christopher Combs - Fixed bug in which trying to edit a selected row would cause a segfault from m_activeCell being null. Fixes #4958.
2017-05-18 Tracie Sucharski - Added a new QAction showing on the context menu allowing a control point to be edited in IPCE. Added signal to indicate the control point chosen from either the point table or the measure table. If the point was chosen from the measure table, the serial number of the measure is also passed. This was added for IPCE, for the interaction with other views.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2017-08-08 Makayla Shepherd - Fixed a seg fault in ipce that occurs when attempting to edit a control point when there is not an active control network. Fixes #5048.
2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.
2017-05-18 Tracie Sucharski - Added a signal to indicate the control point chosen from either the point table or the measure table. If the point was chosen from the measure table, the serial number of the measure is also passed. This was added for IPCE, for the interaction with other views.
2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".
2012-04-17 Tracie Sucharski - If geom is turned on update the right measure.
2008-11-19 Tracie Sucharski - If left cube changes, get new universalGroundMap.
2008-12-10 Jeannie Walldren - Set the default value of the new private variable, m_templateFileName, to the previously hard-coded template filename.
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-02 Jeannie Walldren - Allow connection between updateLeftView and refreshView for all objects. Previously this was only done if allowLeftMouse = true.
2008-11-19 Tracie Sucharski - Added left pan buttons, but default to hidden.
2017-12-08 Tracie Sucharski - When saving project only copy the control if project is being saved to a new location.
2017-05-05 Tracie Sucharski - Removed Workorder.h, never used.
2016-06-06 Ian Humphrey - Updated documentation and coding standards. Fixes #3959.
2018-07-25 Tracie Sucharski - Put sizeHint back since it was decided to put this view split with the project view, so we don't want this as large as the other views such as Footprint2DView or CubeDnView.
2018-07-10 Tracie Sucharski - Remove sizePolicy and sizeHint. These are set in the parent class, AbstracProjectItemView.
2018-06-26 Adam Goins - Made the view dockable with setCentralWidget().
2018-03-30 Tracie Sucharski - Added setModified and is Modified methods to keep track of the modification state of the control net. Add write method to write the control net to disk. This write method should be called by ipce classes instead of calling the ControlNet::Write directly so that control knows the state of the control net. If a project is performing a "Save As", and there is a modified active control,the cnet is written out to the new location, it is not save in the old project location.
2018-01-19 Tracie Sucharski - Do not copy control unless the project root has changed. References #5212.
2017-12-20 Tracie Sucharski - In ::copyToNewProjectRoot use string comparison to compare project roots. References #4804, #4849.
2017-11-09 Tyler Wilson - Modified the copyToNewProjectRoot function so that the control net is copied to it's new location like a binary file, instead of being recreated from scratch by calling it's write method. Fixes #5212.
2017-08-11 Cole Neuabuer - Added try catch throw to make it so importing an invalid control net throws some type of error/warning Fixes #5064
2008-15-2008 Jeannie Walldren - Added error string to iException::Message before creating QMessageBox
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.
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.
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.
2011-06-14 Tracie Sucharski - Change Save Measure button text back to black.
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.
2010-11-19 Tracie Sucharski - Renamed from savePoint.
2008-12-30 Jeannie Walldren - Modified to update user (chooser) name and date when point is saved
2011-06-27 Tracie Sucharski - If un-doing registration, change save button back to black. If registration successful, change save button to red.
2010-10-12 Tracie Sucharski - Clean up try/catch blocks.
2010-06-08 Jeannie Walldren - Catch error and warn user if unable to load pattern (left) or search (right) chip
2010-02-22 Tracie Sucharski - Added more info for registration failures.
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-16 Tracie Sucharski- If autoreg fails, print registration stats.
2009-03-23 Tracie Sucharski - Added private p_autoRegAttempted for the SaveChips method.
2008-15-2008 Jeannie Walldren - Throw and catch error before creating QMessageBox
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.
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.
2010-06-26 Eric Hyer - now uses MdiCubeViewport instead of CubeViewport. Fixed multiple include problems.
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-05-01 Tracie Sucharski - Fix intereface between No Geom, geom and rotate. Make sure resets are done properly when switching beween the options.
2012-04-17 Tracie Sucharski - If geom is turned on update the right measure in ::setLeftMeasure.
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-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-05-04 Jai Rideout - updated saveChips() to reference new AutoReg API for accessing chips used in registration.
2010-12-14 Eric Hyer - setTemplateFile now takes the filename as a parameter (no more open dialog!)
2010-12-08 Eric Hyer - Relocated stretch locking checkboxes
2010-12-01 Eric Hyer - Added checkboxes for stretch locking
2010-11-22 Eric Hyer - Forwarded SIGNAL from StretchTool to 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-17 Eric Hyer - now forwards new ControlNets to the ChipViewports
2010-06-08 Jeannie Walldren - Added warning box in registerPoint() if unable to load left or right chip
2009-03-17 Tracie Sucharski - Add slot to set a boolean to indicate whether the registration chips should be saved.
2008-12-30 Jeannie Walldren - Modified savePoint() method to update user (chooser) name and date when point is saved
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-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-02 Jeannie Walldren - Modified createPointEditor() to allow the leftChipViewport to refresh even if allowLeftMouse = false.
2008-11-24 Tracie Sucharski - Changed class name from PointEdit
2008-11-19 Tracie Sucharski - Addition option to constructor to allow mouse events on leftChipViewport.
2014-12-11 Ian Humphrey - Modified code so opening a template file will undo registration if a point is already registered.
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.
2008-12-10 Jeannie Walldren - Changed name from openTemplateFile() and added functionality to set new template filename to the private variable, p_templateFileName
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.
2010-07-01 Jeannie Walldren - Modified to draw points selected in ControlNetTool last so they lay on top of all other points in the image.
2010-06-08 Jeannie Walldren - Fixed bug that was causing ignored measures not be drawn as yellow unless ControlNetTool was open
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2018-10-10 Tracie Sucharski - Fixed blink extension to use geom if selected and correct zoom factor.
2018-09-26 Tracie Sucharski - Added public method to allow change measure tack points.
2018-09-24 Tracie Sucharski - Fixed right measure chooser name to the Application::User.
2018-09-06 Tracie Sucharski - Added bug fixes from qnet's ControlPointEdit class including moving the creation of AutoRegFactory from constructor to the registerPoint method and fixing seg fault happening in saveMeasure when calling ControlMeasure::SetLogData.
2018-06-28 Kaitlyn Lee - Removed shortcuts from zoom buttons because of ambiguous shortcut errors. Set the shortcut and tooltip of m_autoReg inside of registerPoint() to allow the user to use the shortcut after an undo-registration ocurs.
2017-08-11 Tracie Sucharski - Created a new ControlMeasure when editing points so that the edit ControlPoint is no changed until user selects "Save Measures", and colorize save buttons. Fixes #4984.
2017-07-27 Christopher Combs - Added sample, line, lat, and lon labels. Fixes #5067.
2016-06-27 Ian Humphrey - Updated documentation and coding standards. Fixes #4004.
2016-04-28 Tracie Sucharski - Removed position information, this will be shown in ControlNetEditor type view. Added blink capability.
2014-07-03 Tracie Sucharski - Renamed from ControlPointEdit for IPCE.
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.
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-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.
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).
2012-07-20 Tracie Sucharski - Change the Save Measure button text and tootip depending on whether movement is allowed on the left chip.
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-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-05-01 Tracie Sucharski - Fix intereface between No Geom, geom and rotate. Make sure resets are done properly when switching beween the options.
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.
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.
2012-04-17 Tracie Sucharski - If geom is turned on update the right measure.
2008-11-19 Tracie Sucharski - If left cube changes, get new universalGroundMap.
2015-10-29 Ian Humphrey - Added shortcuts for Find (F), Register (R), Undo Registration (U), and Save Measure (M) buttons. Fixes #2324.
2008-12-10 Jeannie Walldren - Set the default value of the new private variable, p_templateFileName, to the previously hard-coded template filename.
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-02 Jeannie Walldren - Allow connection between updateLeftView and refreshView for all objects. Previously this was only done if allowLeftMouse = true.
2008-11-19 Tracie Sucharski - Added left pan buttons, but default to hidden.
2017-04-21 Marjorie Hahn - Moved p_autoRegFact creation from constructor to registerPoint() method.
2008-15-2008 Jeannie Walldren - Added error string to iException::Message before creating QMessageBox
2018-04-13 Tracie Sucharski - In mouseButtonRelease method return if a control net has not been set.
2018-03-27 Tracie Sucharski - Redraw cube viewports when a new control net is loaded.
2018-03-12 Tracie Sucharski - Fixed some documentation leftover from renaming from IpceTool. References #5090.
2017-08-09 Cole Neubauer - Added loadNetwork() for changing inbetween active networks Fixes #4567
2017-08-08 Cole Neubauer - Renamed from IpceTool. Fixes #5090.
2017-08-02 Tracie Sucharski - Draw the current edit Control Point as a circle with center crosshair in red. Removed refresh method; it was not being used. Fixes #5007, #5008.
2017-07-27 Tyler Wilson - Added the ability for the Ipce tool to check and see if control nets exist within the current project within the toolPadAction function. If no control nets exist within the project, the Ipce tool is disabled on start-up. Fixes #4994.
2017-05-18 Tracie Sucharski - Added serialNumber to the modifyControlPoint signal.
2016-10-25 Tracie Sucharski - Check for existence of Control net in the paintViewport method.
2016-09-30 Tracie Sucharski - Pass in directory to constructor, so that we can query for shapes and other data from the project.
2017-07-31 Tracie Sucharski - The current edit point will be drawn in red as a crosshair enclosed by circle.
2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.
2010-09-16 Sharmila Prasad - Modified prototype for GetImageStatsBySerialNum API in sync with the ControlNetStatistics class
2017-12-12 Kristin Berry - Updated to use QVector instead of std::vector. Fixes #5259.
2017-08-08 Adam Goins - Changed references to SerialNumberList::Delete() to SerialNumberList::remove()
2011-12-29 Sharmila Prasad - Updated GoodnessOfFit Filter. Fixes Mantis #652
2011-11-03 Sharmila Prasad - Added functionality to filter by Convex Hull Ratio
2011-10-05 Sharmila Prasad - Report double values with 10 digit precision
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-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-01-17 Eric Hyer - Fixed breakages caused by ControlNet api changes
2010-11-09 Sharmila Prasad - Point_MeasureProperties,process 'All' measuretype
2010-10-15 Sharmila Prasad - Display error on bad filter values
2010-10-04 Sharmila Prasad - Use QString's Token method instead of ParseExpression
2010-09-27 Sharmila Prasad - Made changes for the Binary Control Network
2010-09-27 Sharmila Prasad - Moved ParseExpression functionality to QString class Verify the DefFile in the PVL Class
2018-01-02 Kristin Berry - Modified to use ControlNetVersioner instead of LatestControlNetFile.
2018-07-22 Kristin Berry - Updated swap to include the graph and vertex map.
2018-07-06 Jesse Mapel - Removed target radii from ControlNet objects because SurfacePoints now use their local radii to do sigma distance conversions instead of the target equatorial and polar radii. Fixes #5457.
2018-07-06 Jesse Mapel - Modified addEdge and removeEdge to always emit a graph modified signal if an edge is added or removed. Added graph modified signal when a vertex is added.
2018-06-25 Jesse Mapel - Fixed ignoring measures with ignored adjacent measures incorrectly modifying the edge between the two image vertices.
2018-06-29 Kristin Berry - Added addEdge() and removeEdge() functions to make code cleaner.
2018-06-25 Jesse Mapel - Fixed the incorrect signal being called when adding and removing measures. References #5435.
2018-06-25 Kristin Berry - Updated GetNumberOfValidMeasuresInImage() to use GetValidMeasuresInCube() if SetImage has not yet been called to populate the p_cameraValidMeasuresMap.
2018-06-15 Adam Goins & Jesse Mapel - Added the ModType enum, as well as a series of signals that are emitted whenever a change is made to a Control Point or any of it's measures, or to the network itself. These signals exist for the purpose of communication between the ControlNetVitals class, and the network that it is observing. Fixes #5435.
2018-06-06 Jesse Mapel - Added a point ignored and un-ignored methods. This will prevent edge strengths getting incremented or decremented twice. References #5434.
2016-07-13 Adam Paquette - Updated ValidStandardOptions to only get the EmissionAngle, IncidenceAngle, and PixelResolution if an image was properly set.
2014-03-03 Janet Barrett - Initialize the mdDnValue variable in the ValidStandardOptions method. Fixes #2040.
2013-01-31 Steven Lambright - Fixed LocationString() to return valid text. Also, added a test for this text. Fixes #1436.
2011-11-21 Sharmila Prasad - Validate/Parse Pvl only if ValidMeasure Group is found. Fixes Mantis #584
2011-06-06 Sharmila Prasad - Process the options only is specified in the DefFile to improve run time
2011-05-19 Sharmila Prasad - Flag to indicate whether Camera is required, to increase the processing speed
2011-05-17 Sharmila Prasad - Added Sample, Line Residuals and Residual Magnitude for validation
2010-11-10 Sharmila Prasad - Change group name of DefFile from "Operator" to "ValidMeasure"
2010-10-14 Sharmila Prasad - Use only a single copy of Control Net
2010-09-16 Sharmila Prasad - Renamed to ControlNetValidMeasure for uniformity with other ControlNet Classes
2010-06-23 Sharmila Prasad - Added Pixels/Meters from the edge options and Validate Standard Options
2017-12-12 Kristin Berry - Updated std::map to QMap and std::vector to QVector. Fixes #5259.
2015-06-04 Kristin Berry - Now throws an error when unable to open an output file or finish writing to an output file. Fixes #996.
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.
2011-12-29 Sharmila Prasad Fixed #652 to include stats of ControlMeasure Log data
2011-12-21 Sharmila Prasad Fixed #634 to include stats of images not in the ControlNet
2011-11-03 Sharmila Prasad - Used ControlNet's CubeGraphNodes to get Image stats including Convex Hull Ratio
2011-07-19 Sharmila Prasad - Modified for new keywords in binary control net
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-05-03 Debbie A. Cook Added type "Constrained" to sPointType values
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2010-09-16 Sharmila Prasad Added individual image std::maps for each Point stats to correct segmentation faults.
2011-03-15 Eric Hyer - Some cube graph bugs were fixed.
2011-10-06 Steven Lambright - Having a target is no longer required.
2011-08-24 Steven Lambright - Fixed bug in graph code
2011-08-01 Eric Hyer - Addressed some graphing issues
2011-07-27 Sharmila Prasad - Fixed bug in GetNumEditLockMeasures()
2011-07-08 Travis Addair - Locked points can no longer be deleted
2011-06-28 Eric Hyer - Added getEdgeCount() method
2011-06-22 James Alexander Crough and Eric Hyer - Added getGraphNode method.
2011-05-25 Eric Hyer - Added getPoints method
2011-05-04 Eric Hyer - References in graph data structure now kept for ignored points and measures
2011-04-27 Steven Lambright - UpdatePointReference had a bug where the pointIds list was not being correctly updated.
2011-03-29 Steven Lambright - Made versioning viable for first release.
2011-03-25 Christopher Austin - Added UpdatePointReference() to work with ControlPoint's SetId()
2011-10-14 Ken Edmundson Added method ClearJigsawRejected(); to set all measure/point JigsawRejected flags to false prior to bundle adjustment.
2011-03-14 Eric Hyer - Cube connection graph now updated when points or measures are ignored.
2011-03-12 Debbie A. Cook - Added member p_targetRadii and method GetTargetRadii to support SurfacePoint sigma conversions in ControlPoint.
2011-03-08 Ken Edmundson - Added methods GetNumberOfMeasuresInImage, GetNumberOfJigsawRejectedMeasuresInImage, IncrementNumberOfRejectedMeasuresInImage, DecrementNumberOfRejectedMeasuresInImage, and members p_cameraMeasuresMap and p_cameraRejectedMeasuresMap.
2011-02-23 Eric Hyer - Added some methods to support graphing calculations (RandomBFS, Shuffle, CalcBWAndCE, and GetNodeConnections).
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-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-01-13 Mackenzie Boyd Added copy constructor and assignment operator.
2010-11-21 Tracie Sucharski - Added new keyword, jigsawRejected to the read and write methods.
2010-10-06 Sharmila Prasad Added method to get CreatedDate
2010-10-05 Eric Hyer ControlMeasure and ControlPoint now return QStrings for some methods. Fixed breakages caused by this.
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.
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.
2016-06-08 Jesse Mapel - Merged changes from IPCE to ISIS. Fixes #3948.
2018-04-05 Adam Goins - Added a check to the versionedReader targetRadii group to set radii values to those ingested from the versioner if they exist. Otherwise, we call SetTarget with the targetname. Fixes #5361.
2018-06-10 Kristin Berry - Updated to use the boost graph library instead of our custom graph structure ControlCubeGraphNode.
2018-06-10 Kristin Berry - Removed unused methods and associated code: MinimumSpanningTree(), GetNodeConnections(), RandomBFS(), Shuffle(), CalcBWAndCE(), CubeGraphToString(), getGraphNode(). References #5434
2018-01-26 Kristin Berry - Added pointAdded() function to eliminate redundant measure adds to the control network.
2017-01-19 Jesse Mapel - Added a method to get all of the valid measures in an image. Previously, this had to be done throug the graph.
2018-01-12 Adam Goins - Added Progress support back to Read methods.
2017-12-21 Jesse Mapel - Modified read and write methods to use the refactored ControlNetVersioner instead of directly parsing the protobuf objects from the LatestControlNetFile.
2017-12-18 Adam Goins - Added GetLastModified() accessor. References #5258.
2017-12-12 Kristin Berry - Updated to use QMap and QVector rather than std::map and std::vector. Fixes #5259.
2017-08-30 Debbie A. Cook - Added an optional argument to the constructor for the control point coordinate type. At this point this value is only stored in the active ControlNet. It will be added to the stored ControlNet at a later date. References #4649 and #501.
2017-08-09 Summer Stapleton - Added throw to caught exception for bad control net import in constructor. Also removed p_invalid as it was no longer being used anywhere. Fixes #5068.
2016-10-13 Ian Humphrey - Added check to SetImages() to make sure it isn't called more than once, which messes up the p_cameraList member. References #4293.
2016-06-21 Kris Becker - Properly forward declare QPair as struct not class
2016-05-10 Jeannie Backer - Replaced calls to TProjection::TargetRadii() with calls to Target::radiiGroup(). References #3934
2016-04-28 Tracie Sucharski - Updated toAscii() calls to toLatin1() for QT 5 upgrade.
2016-04-22 Jeannie Backer - Added try/catch to SetTarget()'s call to TProjection::TargetRadii(). If an error is thrown, the radii are now set to Isis:Null. Added SetTarget(Pvl), SetTarget(ControlNet), and SetTarget(QString, vector) methods to attempt to read radii from various sources, if not found using the TargetName. References #3892
2016-02-15 Kris Becker - Added feature to take ownership of points from ControlNet. To support this option, added clear() and take() methods. (Merged by Kristin Berry. References #2392)
2015-09-05 Ken Edmundson - Added QSharedPointer and typedef for later use.
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.
2013-11-08 Tracie Sucharski - Add camera to ignored measures. References #1603.
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.
2012-09-11 Tracie Sucharski - Added a Mutex and MutexLocker for the SetTarget method.
2012-11-22 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2012-04-13 Orrin Thomas Added method sortedMeasureList, and functor ControlMeasureLessThanFunctor.
2011-07-01 Debbie A. Cook, Removed editLock check to allow BundleAdjust to compute residuals for editLocked points
2011-03-24 Debbie A. Cook, Removed IsMeasured check since it was really checking for Candidate measures.
2011-03-17 Debbie A. Cook, Fixed typo in radar call to get longitude
2010-12-10 Debbie A. Cook, Revised error calculation for radar because it was always reporting line errors=0.
2010-08-05 Tracie Sucharski, Changed lat/lon/radius to x/y/z
2009-12-06 Tracie Sucharski, Renamed from ComputeErrors
2008-07-17 Tracie Sucharski, Added ptid and measure serial number to the unable to map to surface error.
2019-03-10 Ken Edmundson - Fixed bug where focal plane measured x,y coordinates were not set if the cam->SetImage call failed. Setting the measured focal plane coordinates should not depend upon the success of the SetImage call (References #2591). Improved error messages. Cleaned up code. Added comments above to suggest a more rigorous approach to computing a priori point coordinates.
2017-04-25 Debbie A. Cook - change constraint status calls to use generic coordinate names (Coord1, Coord2, and Coord3).
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.
2011-03-24 Debbie A. Cook - Removed IsMeasured check since it was really checking for Candidate measures.
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.
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.
2009-10-13 Jeannie Walldren - Added detail to error message.
2008-06-18 Tracie Sucharski/Jeannie Walldren, Changed error messages for Held/Ground points.
2011-03-12 Debbie A. Cook, Added targetRadius to do conversions
2010-12-02 Debbie A. Cook, Added units to SurfacePoint.SetSpherical calls.
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-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 sigmas from the lat,lon,radius sigmas without the covariance matrix.
2010-09-01 Tracie Sucharski, Add checks for AprioriLatLonSource AprioriLatLonSourceFile. If there are AprioriSigmas,but no AprioriXYZ, use the XYZ values.
2010-07-30 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design.
2010-01-13 Tracie Sucharski - Changed from Set methods to simply setting private variables to increase speed?
2009-12-29 Tracie Sucharski - Added new ControlPoint information.
2006-06-28 Tracie Sucharski, Added method to return measure for given serial number.
2009-09-08 Eric Hyer, Added PointTypeToString method.
2009-09-01 Eric Hyer, fixed some include issues.
2009-08-21 Christopher Austin, Put the default return of ReferenceIndex() back as the first Measured measure.
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-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-06-03 Christopher Austin, Added the invalid functionality along with forceBuild, fixed documentation errors.
2009-03-07 Debbie A. Cook Fixed ComputeErrors method to set focal plane coordinates without changing time and improved error messages.
2008-09-12 Tracie Sucharski, Add method to return true/false for existence of Serial Number.
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.
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.
2007-01-25 Debbie A. Cook, Removed return statement in SetApriori method for \Point case so that FocalPlaneMeasures will get set. The method already has a later return statement to avoid changing the lat/lon values.
2006-10-31 Tracie Sucharski, Added HasReference method, changed ReferenceIndex method to throw error if there is no Reference ControlMeasure.
2006-01-11 Jacob Danton Added ReferenceIndex method and updated unitTest
2011-10-03 Tracie Sucharski - Unlock measures before Deleting
2011-09-30 Tracie Sucharski - Fixed some memory leaks and deleted some calls that were already handled in AddMeasure.
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.
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.
2011-03-24 Debbie A. Cook - Removed IsMeasured check since it was really checking for Candidate measures.
2011-03-19 Debbie A. Cook - Changed to use the Camera classes like ComputeResiduals and get the correct calculations for each camera type.
2010-12-06 Tracie Sucharski - Renamed from ComputeErrors
2008-07-17 Tracie Sucharski - Added ptid and measure serial number to the unable to map to surface error.
2017-12-18 Adam Goins and Kristin Berry - Added new write() method.
2018-03-28 Adam Goins - Added targetRadii groups to the header. Changed the versioner to write these values out in a targetRadii group for both binary V0005 and PvlV0005 networks. Fixes #5361.
2018-02-25 Debbie A. Cook - Generalized calls to ControlPoint::IsLatitudeConstrained to IsCoord1Constained and added or updated a few comments. *** TODO *** make sure the new methods are fully functional for either coordinate type once the new header keyword is added.
2018-01-30 Adam Goins - Ensured point sizes are written/read as lsb by using EndianSwapper.
2018-01-27 Jesse Mapel - Fixed some documentation formatting. Added a section describing the different file format versions.
2018-01-24 Jesse Mapel - Fixed c++11 build warnings.
2018-01-12 Adam Goins - Added Progress during reads.
2018-01-12 Adam Goins - Added the ControlPoint radii to the header to avoid Target::GetRadii calls to speed up createPoint().
2018-01-04 Adam Goins - Updated read/write methods to read/write protobuf messages correctly.
2018-01-03 Jesse Mapel - Updated class documentation.
2017-12-20 Jeannie Backer - Updated toPvl and write methods to get surface point information from the ControlPoint.
2017-12-20 Jesse Mapel - Made read and createPoint methods match new ControlPointV#### classes.
2017-12-19 Kristin Berry - Corrected method names and general cleanup in toPvl and write for refactor.
2018-04-05 Adam Goins - Added hasTargetRadii() and targetRadii() to the versioner so that these values can be grabbed from a ControlNet on read. Also Fixes #5361.
2017-12-13 Jeannie Backer - Added target radii to createPoint(V0006).
2017-12-12 Jeannie Backer - Implemented createPoint() methods.
2017-12-12 Jeannie Backer - Added VersionedControlPoints.
2017-12-12 Kristin Berry - Added initial toPvl for refactor.
2017-12-11 Jesse Mapel - Added VersionedControlNetHeaders.
2017-12-11 Jeannie Backer & Jesse Mapel - Created class skeleton for refactor.
2016-04-22 Jeannie Backer - Updated error message in ConvertVersion1ToVersion2() to make it specific to this class call. This was done to reduce redundancy since the original message for this error was very similar to the caught exception to which it is appended. References #3892
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.
2012-11-22 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2012-08-14 Steven Lambright - Simplified error handling of invalid target names in V1 networks (V1->V2 code).
2011-05-02 Debbie A. Cook - Created pvl version 3 which added point type of constrained.
2011-05-02 Tracie Sucharski - If Held=True exists in input net, set PointType=Ground.
2018-07-03 Jesse Mapel - Fixed deleting control points not properly updating the point counters.
2018-06-25 Kristin Berry - Fixed problem with getImagesBelowMeasureThreshold().size() not matching numImagesBelowMeasureThreshold(). Fixed a similar problem with numPointsBelowMeasureThreshold().
2018-06-15 Adam Goins - Added documentation.
2018-06-14 Adam Goins & Jesse Maple - Refactored method calls and Signal/Slot usage.
2017-01-27 Jesse Mapel - More documentation improvements.
2018-01-03 Jesse Mapel - Improved documentation.
2017-12-21 Adam Goins - Changed Pvl constructor to not used the deprecated "ToProtocolBuffer()" call from ControlMeasureLogData.
2017-12-21 Adam Goins - Changed Pvl constructor to take PvlObject.
2017-12-21 Jesse Mapel - Added support for measure log data.
2017-12-21 Adam Goins - Changed Pvl constructor to take PvlObject.
2017-12-21 Jesse Mapel - Added support for measure log data.
2018-07-11 Debbie A Cook - Removed obsolete tests for failure due to missing target radii. SurfacePoint now uses the local radius of the point to convert sigmas to target radii are no longer used. References #5457
2018-06-28 Debbie A Cook - Removed all calls to obsolete method SurfacePoint::SetRadii. References #5457.
2017-01-27 Jesse Mapel - More documentation improvements.
2017-12-21 Jesse Mapel - Improved documentation.
2017-12-21 Adam Goins - Changed Pvl constructor to take PvlObject.
2018-07-03 Jesse Mapel - Removed target radii from versioner. References #5457.
2018-06-01 Debbie A. Cook - (added to BundleXYZ 2018-02-25) Generalized calls to ControlPoint::IsLatitudeConstrained to IsCoord1Constained and added or updated a few comments. *** TODO *** make sure the new methods are fully functional for either coordinate type once the new header keyword is added.
2014-02-20 Jeannie Backer - Added assignment operator. Updated to better meet coding standards.
2014-07-17 Kimberly Oyama - Updated to better meet coding standards.
2018-09-28 Debbie A. Cook - Removed the metersToRadians argument from the constructor and from the setWeights method since we are now using the local radius of the point to convert lat/lon sigmas from meters to radians. References #4649 and #501.
2018-05-31 Debbie A. Cook - Moved code from BundleAdjust::applyParameterCorrections pertaining to updating the adjusted surface point and method productAlphaAv into new methods applyParameterCorrections, updateAdjustedSurfacePointLatitudinally, and updateAdjustedSurfacePointRectangularly in BundleControlPoint. Reference #4649 and #501.
2018-01-05 Debbie A. Cook - Added new members m_coordTypeReports and m_coordTypeBundle to copy method. Reference #4649 and #501.
2017-08-24 Debbie A. Cook - Revised output units to be compatible with output from previous versions, corrected units throughout in comments and code. Reference #4649 and #501.
2017-07-26 Debbie A. Cook - Added BundleSettings and metersToRadians as arguments to constructor and moved setWeights call from BundleAdjust::init into constructor. Added m_bundleControlPointCoordinateType. This option determines how control point coordinates are entered into BundleControlPoint, interpreted throughout the adjustment, and output. The coordinate type needs to be in this class, because BundleControlPoints are created without a parent control net and added to a control net later. Made format methods generic in regards to coordinate type. Added utility method setSigmaWeightFromGlobals. Merged methods formatLatitudeAdjustedSigmaString, formatLongitudeAdjustedSigmaString, and formatRadiusAdjustedSigmaString into a single generic coordinate method with an additional argument for the coordinate index. Did a similar merge for the family of methods like formatLatitudeAprioriSigmaString. Moved some of the functionality from BundleAdjust to this class as a new method applyParameterCorrections. Also had to move BundleAdjust method productAlphaAV to this class to support applyParameterCorrections. References #4649 and #501.
2016-10-27 Tyler Wilson - Modified formatRadiusAprioriSigmaString, formatAprioriSigmaString, and formatBundleOutputDetailString to accept a third argument (bool solveRadius) with a default value = false. References #4317.
2016-08-15 Jesse Mapel - Changed contained member data type to a shared pointer. Added wrapper methods for several ControlPoint methods. Fixes #4159.
2016-08-15 Ian Humphrey - Added computeResiduals(), setNumberOfRejectedMeasures(), setRejected(), zeroNumberOfRejectedMeasures(), numberOfRejectedMeasures(), residualRms(), and type(). Modified numberMeasures() to return this->size(), since only non-ignored control measures will be added to this BundleControlPoint. Updated unit test for these methods (except computeResiduals). References #4173.
2016-06-27 Jesse Mapel - Updated documentation and ISIS coding standards in preparation for merging IPCE into ISIS. Fixes #4075.
2015-02-20 Jeannie Backer - Added unitTest. Reformatted output strings. Brought closer to ISIS coding standards.
2019-06-03 Adam Paquette - Updated the header for the bundleout.txt file for more human readable formatting in the bundleout.txt file.
2019-06-03 Tyler Wilson - Replaced all calls to BundleObservation::formatBundleOutputString where it outputs a csv file with BundleObservation::bundleOutputCSV. BundleObservation::formatBundleOutputString was removed from ISIS3 because it had become unmaintainable.
2019-05-14 Tyler Wilson - Replaced call to BundleObservation::formatBundeOutputString(...) in outputText() file to a new function: BundleObservation::bundleOutput which takes as an argument the std::ostream.
2018-09-18 Debbie A. Cook - Removed radiansToMeters argument. References #4649 and #501
2018-06-01 Debbie A. Cook - ( Added 2018-02-21 to BundleXYZ branch) Added coordinate types to report and appropriate headings for columns based on the coordinate type. Also added a utility method to return the coordinate name based on coordinate type and coordinate index. References #4649 and #501.
2018-05-22 Ken Edmundson - changed default and copy constructors and assignment operator to private to prevent developer from calling them. Done because BundleSolutionInfo is derived from QObject (see comment below). Removed copy constructor and assignment operator from cpp file.
2018-03-26 Ken Edmundson - modified save method to properly save output control network file.
2018-03-23 Ken Edmundson - modified... 1) removed serialization of output control filename 2) serialization of output control to be more robust, ensuring that the control's id is added to project upon reading back in. Also ensures that an open cneteditor widget containing a bundlesolutioninfo's output control is serialized properly.
2018-03-21 Ken Edmundson - Added... 1) member variable m_inputControlNetFileName, accessor method, and serialization support. Also added input control net filename to constructor. 2) member variable m_outputControl, associated mutator/accessor, and serialization support. 3) member variable m_txtBundleOutputFilename and associated accessor for bundleout.txt file.
2016-06-30 Jeannie Backer - Changed method name from "getObservationByCubeSerialNumber" to "observationByCubeSerialNumber" to comply with ISIS coding standards. References #4078.
2015-02-20 Jeannie Backer - Brought closer to ISIS coding standards.
2019-12-19 Aaron Giroux - Added new constructor to construct a BOSS from a PVLGroup. References #3369.
2018-06-26 Tyler Wilson - Added support for adding an arbitrary number of additional apriori sigma values in setInstrumentPositionSettings/ setInstrumentPointingSettings beyond position/velocity/acceleration. References #497.
2018-06-21 Ian Humphrey - Added removeObservationNumber() to be able to remove an observation number from a BundleObservationSolveSettings. References #497.
2017-04-24 Ian Humphrey - Removed pvlObject(). Fixes #4797.
2016-10-13 Ian Humphrey - Added m_observationNumbers, addObservationNumber(), and observationNumbers() members to associate multiple observation types with these settings. Removed the setFromPvl() method. When re- implemented, it should be put in jigsaw. References #4293.
2016-08-18 Jesse Mapel - Changed to no longer inherit from QObject. Fixes #4192.
2016-08-03 Ian Humphrey - Updated documentation and reviewed coding standards. Fixes #4078.
2016-08-03 Jesse Mapel - Added BundleObservationSolveSettingsQsp definition. Fixes #4150.
2014-07-25 Jeannie Backer - For enums < 4, set solve degrees one less than enum value.
2014-07-23 Jeannie Backer - Replace QVectors with QLists. Moved copy constructor above destructor. Moved operator= implementation to cpp file. Added methods to set/get instrument Id. Created setInstrumentPointingSettings() and setInstrumentPositionSettings() methods to check for variable dependencies before setting. Reordered so that all position methods were together and all pointing methods were together. Updated documentation. Added QDataStream >> and << operators and read/write methods. Added unitTest for BundleUtilities BundleObservationSolveSettings class.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-08-18 Jesse Mapel - Changed to no longer inherit from QObject. Fixes #4192.
2016-08-15 Jesse Mapel - Changed parent BundleImage to a QSharedPointer and added a mutator. Added wrapper methods for several ControlMeasure methods. Added typedef for BundleMeasureQsp. Fixes #4159.
2016-08-15 Ian Humphrey - Added sampleResidual(), lineResidual(), residualMagnitude(), focalPlaneComputedX(), and focalPlaneComputedY(). Modified isRejected() and camera() accessors to be const. Updated unit test for these methods. References #4201.
2016-08-03 Jesse Mapel - Changed parent observation to a QSharedPointer. Added error throws to observationSolveSettings and observationIndex if calling when parent observation has not been set. Fixes #4150.
2016-07-14 Ian Humphrey - Updated documentation and coding standards in preparation to merge into trunk. Updated unit test for BundleMeasure. Fixes #4145, #4077.
2015-02-20 Jeannie Backer - Added assignment operator. Brought closer to Isis coding standards.
2016-08-18 Jesse Mapel - Changed to no longer inherit from QObject. Fixes #4192.
2016-08-03 Jesse Mapel - Changed parent observation to a QSharedPointer. Fixes #4150.
2019-05-17 Tyler Wilson - Added QString m_cubeList member function as well as get/set member functions. References #3267.
2017-06-25 Debbie Cook - Added m_cpCoordTypeReports and m_cpCoordTypeBundle. The 2nd type determines how control point coordinates are entered into the the matrix and interpreted throughout the adjustment. The 1st type determines the coordinate type of control points in reports. Added the new coordinate type as an argument to SetSolveOptions. Changed GlobalAprioriSigmas names to more generic names: Latitude to PointCoord1, Longitude to PointCoord2, and Radius to PointCoord3 so they can be used for either lat/lon/radius or x/y/z. Also added accessor methods, CoordTypeReports() & CoordTypeBundle() for the new coordinate type members. References #4649 and #501.
2018-06-28 Christopher Combs - Added observationSolveSettings() method to retrieve m_observationSolveSettings. Fixes #497.
2018-03-20 Ken Edmundson 1) Temporarily set default for m_createInverseMatrix to false. This is for creating and displaying the correlation matrix, which is currently not working. 2) commented out hdf5 header includes in cpp
2017-04-24 Ian Humphrey - Removed pvlObject(). Fixes #4797.
2016-10-17 Jesse Mapel - Removed m_SCPVLFilename parameter in accordance with USEPVL being removed from jigsaw. References #4316.
2016-10-13 Ian Humphrey - Updated documentation and variable names for observationSolveSettings(), as BundleObservationSolveSettings are acquired by an associated observation number. References #4293.
2016-10-05 Ian Humphrey - Added m_createInverseMatrix, createInverseMatrix(), and setCreateInverseMatrix() so that bundle settings stores whether or not the inverse correlation matrix file (inverseMatrix.dat) will be generated during error propagation in the adjustment. Fixes #4315.
2016-08-23 Jesse Mapel - Modified to no longer determine which output files BundleAdjust and BundleSolutionInfo create. Fixes #4279.
2016-08-18 Jeannie Backer - Removed the SolveMethod enum and all references to it. This option was deprecated because the Sparse option is faster than the other options (OldSparse and SpecialK) and gets identical results. Fixes #4162.
2016-08-18 Jesse Mapel - Changed to no longer inherit from QObject. Fixes #4192.
2016-08-15 Jesse Mapel - Added methods to check if solving for triaxial radii, mean radius, or Prime Meridian Acceleration. Fixes #4159.
2016-06-30 Jeannie Backer - Changed method name from "getBundleTargetBody" to "bundleTargetBody" to comply with ISIS coding standards. Added documentation. Updated test. References #3976. Fixes #.
2015-10-14 Jeffrey Covington - Declared BundleSettingsQsp as a Qt metatype for use with QVariant.
2015-09-03 Jeannie Backer - Added preliminary hdf5 read/write capabilities.
2015-09-03 Jeannie Backer - Changed a priori sigma defaults from -1.0 to Isis::Null.
2014-11-17 Jeannie Backer - Added xml read/write capabilities. XmlHandler constructor/destructor is not shown as covered by unitTest. Current test code coverage is (scope 98.79%, line 98.698%, function 96.0%).
2014-07-25 Jeannie Backer - Improved unitTest coverage to 100% scope/line/function.
2014-07-23 Jeannie Backer - Added QDataStream >> and << operators and read/write methods. Created unitTest.
2014-07-16 Jeannie Backer - Removed redundant mutators. Moved implementation for numberSolveSettings() and observationSolveSettings() to cpp file. Removed static methods to convert MaximumLikelihoodWFunctions::Model enum to QString since these methods now exist in MaximumLikelihoodWFunctions class. Changed pvlGroup() method to pvlObject(). Added unitTest.
2016-12-01 Ian Humphrey - Modified an sprintf() call in outputImagesCSV() to prevent a -Wformat-security warning from occurring.
2018-01-03 Tracie Sucharski - Changed serialization to use relative paths. Fixes #5104.
2017-12-20 Tracie Sucharski - Fixed bug which was saving the bundle adjust input control net rather than the output control net. References #4804.
2017-10-30 Tracie Sucharski - In ::save method, if the newProjectRoot is different from the current projectRoot, save the cnet and csv files and create the directory structure.
2017-08-09 Ian Humphrey - Added m_adjustedImages with setters and getters so the BundleSolutionInfo can know which images have been adjusted (Updated labels). References #4849.
2017-07-28 Makayla Shepherd - Fixed the default naming tag. Fixes #5069.
2017-07-11 Makayla Shepherd - Added bundle naming capabilities. Fixes #4855.
2017-05-04 Ian Humphrey & Makayla Shepherd - Modified save() to write the bundle solution info images to the correct directory in the project on disk. Fixes #4804, #4837.
2017-05-02 Tracie Sucharski - Moved XMLHandler code to bottom of file for consistency; all other classes have the XmlHandler at end of file. Fixes #4822.
2017-05-02 J Bonn - Fixed XML serialzation and code cleanup. Fixes #4835.
2017-05-01 Makayla Shepherd - Added imageList() to track and return the images used in the bundle adjustment. These images will be displayed on the project tree under results/bundle/<runtime> and will keep the same structure as the input on the project tree. Fixes #4818.
2017-04-24 Ian Humphrey - Removed pvlObject(). Fixes #4797.
2016-12-08 Ian Humphrey - Modified outputImagesCSVHeader() to treat TWIST the same as the other angles when determining how many headers to create. Fixes #4557.
2016-11-14 Ken Edmundson Modified the following... -Changed column headers in images.csv to match row headers in bundleout.txt (instead of at2, bt, c to indicate coefficients, now using t2, t1, t0, etc) -Added output of CKDEGREE, CKSOLVEDEGREE, SPKDEGREE, SPKSOLVEDEGREE to bundleout.txt header when CAMSOLVE=ALL and/or SPSOLVE=ALL -Fixed typo under SPACECRAFT OPTIONS; what should have said "SPSOLVE: All POLYNOMIAL COEFFICIENTS" was "CAMSOLVE: All POLYNOMIAL COEFFICIENTS" -modified output of image EO in bundleout.txt for images solved with observation mode; previously one entry per observation was written, now all images in the observation are written separately.
2016-10-28 Tyler Wilson - Modified outputText() to check and output if the solution is solving for the radius. References #4317.
2016-10-17 Jesse Mapel - Removed multiple solve settings output in accordance with USEPVL being removed from jigsaw. References #4316.
2016-10-06 Tyler Wilson - Added methods outputImagesCSV() and outputImagesCSVHeader which enables jigsaw users to output the bundleout_images.csv file. Fixes #4314.
2016-09-02 Jesse Mapel - Added camera point and position input parameters to output files when using only one set of solve settings. Fixes #4316.
2016-08-23 Jesse Mapel - Removed output() method. Individual output file methods must be called. Fixes #4279.
2016-08-18 Jeannie Backer - Removed all references to deprecated BundleSettings::solveMethod. References #4162.
2016-08-15 Jesse Mapel - added output, outputHeader, outputText, outputPointsCSV, and outputResiduals from BundleAdjust. Fixes #4159.
2016-06-13 Makayla Shepherd - Added updateFileName() and updated documentation. Fixes #2298.
2015-10-14 Jeffrey Covington - Declared BundleSolutionInfo * as a Qt metatype for use with QVariant.
2015-09-03 Jeannie Backer - Added preliminary hdf5 read/write capabilities.
2014-12-04 Jeannie Backer - Renamed from BundleResults to BundleSolutionInfo.
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-08-06 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design.
2009-04-07 Tracie Sucharski - Keep track of ignored measures.
2018-01-04 Adam Goins - Added variable names to method declarations.
2017-12-21 Adam Goins - Removed protobuf references.
2011-04-11 Steven Lambright - Added GetValue method
2011-04-04 Steven Lambright - Added error checking to the conversion to protocol buffer
2011-03-08 Eric Hyer - MaximumNumericLogDataType now makes sense
2018-06-29 Adam Goins - Modified operator= to use setters when setting values so that the proper signals/slots are called. Fixes #5435.
2018-06-15 Adam Goins & Jesse Mapel - Added the ModType enum, as well as a series of calls to parentNetwork()->emitPointModified() whenever a change is made to a Control Point or any of it's measures. This is done to allow for communication between the ControlNetVitals class and changes made to the Control Network that it is observing. Fixes #5435.
2018-01-26 Kristin Berry - Removed code related to now-unused ControlCubeGraphNode, as part of the switch to using the boost graph library. References #5434
2018-01-04 Adam Goins - Moved sample/line initialization from the constructor to the InitToNull() method.
2017-12-21 Adam Goins - Removed protobuf references.
2017-12-20 Jesse Mapel - Implemented GetLogDataEntries method for use in ControlNetVersioner refactor.
2017-12-19 Adam Goins - Added "HasX()" accessors to ControlMeasure.
2012-08-11 Tracie Sucharski, Add computed and measured ephemeris time set to Null in InitializeToNull.
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.
2011-07-29 Jai Rideout, Steven Lambright, and Eric Hyer - Made this inherit from QObject to get destroyed() signal
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-04-11 Steven Lambright - Added GetLogValue for convenience
2011-04-07 Steven Lambright - GetResidualMagnitude no longer does math on special pixels.
2011-04-04 Steven Lambright - Removed an old constructor
2011-03-14 Eric Hyer - ControlMeasures now notify their network when their ignored status changes.
2006-01-11 Jacob Danton Updated unitTest
2009-09-01 Eric Hyer Added two includes: QVector and QString
2010-08-06 Tracie Sucharski Updated for changes made after additional working sessions for Control network design.
2010-05-06 Tracie Sucharski Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.
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.
2009-06-03 Christopher Austin Added p_invalid functionality along with forceBuild, as well as other small fixes including documentation.
2009-04-07 Tracie Sucharski Added NumValidMeasures and NumIgnoredMeasures methods.
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-01-06 Jeannie Walldren Fixed typo in SetImages() exception output. Added documentation.
2008-06-18 Christopher Austin Fixed documentation errors
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-04-04 Christopher Austin Added Exists function
2006-06-22 Brendan George Updated to conform to changes in SerialNumberList class
2016-10-13 Ian Humphrey - Added initial check to see if cameras have already been set, and immediately return if yes. References #4293.
2009-01-06 Jeannie Walldren - Fixed typo in exception output.
2017-12-21 Jesse Mapel - Modified to use new ControlNetVersioner.
2010-10-05 Tracie Sucharski - Renamed old WRite method to WritePvl and created this new method to determine format to be written.
2008-06-25 Steven Koechle Added get methods for ZScore values.
2008-06-23 Steven Lambright The ZScore keyword is now supported
2006-10-05 Brendan George Modified call to retrieve current time to use iTime class, instead of Application class
2006-01-11 Jacob Danton Added a Reference flag and updated unitTest
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.
2011-09-22 Tracie Sucharski - Bug introduced from 2011-09-01 change when setting ignored status.
2011-09-01 Tracie Sucharski - Do not set parentPoint to NULL or copy, retain the current parentPoint.
2010-12-08 Tracie Sucharski - Added measure type of Ground.
2010-10-28 Mackenzie Boyd - Changed name and made static, added exception.
2018-11-13 Jesse Mapel - Made methods used by BundleSettings virtual so they can be override by mock testing objects.
2016-08-23 Ian Humphrey - The applyParameterCorrections() method now throws its last exception. Updated unit test to test that exception. Fixes #4153.
2016-08-18 Jesse Mapel - Changed to no longer inherit from QObject. Fixes #4192.
2016-08-10 Jeannie Backer - Replaced boost vector with Isis::LinearAlgebra::Vector. References #4163.
2015-05-15 Ken Edmundson - version 1. @histroy 2016-07-13 Jesse Mapel - Updated documentation and coding standards, and added testing in preparation for merging from IPCE to ISIS. Fixes #4079.
2016-10-13 Ian Humphrey - Modified addnew so that we set solve settings based on the BundleObsevation's observation number. Renamed addnew to addNew(). References #4293.
2016-08-11 Jesse Mapel - Defined assignment operator and copy constructor. Fixes #4159.
2016-08-03 Ian Humphrey - Updated documentation and coding standards. Replaced getObservationByCubeSerialNumber with observationByCubeSerialNumber.
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.
2011-03-01 Eric Hyer - Added StringToMeasureType method
2011-02-18 Eric Hyer - ControlCubeGraphNode is now a friend. Eliminated ConnectControlSN and DisconnectControlSN methods. Fixed bug in destructor.
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-01-13 Mackenzie Boyd Added pointer to owning ControlPoint.
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.
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-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-11-16 Debbie Cook, Added jigsawRejected keyword.
2010-11-03 Mackenzie Boyd Modified MeasureType to string method, added static version. Added method PrintableClassData.
2010-10-26 Steven Lambright Change default chooser name from user name to application name.
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-19 Tracie Sucharski Set the DateTime to Null if anything in measure chanes, the date will be updated at write time.
2010-10-05 Eric Hyer No more includes in header file! serial number is now a QString.
2010-10-04 Sharmila Prasad Add PrintableMeasureType method to return String Measure Type
2010-08-26 Tracie Sucharski No longer writing ResidualMagnitude, will be calculated as needed.
2010-07-27 Tracie Sucharski Updated for changes made after additional working sessions for Control network design.
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-06-17 Tracie Sucharski Added Lock value to MeasureStatus.
2010-06-03 Tracie Sucharski Move SetReference to ControlPoint, so error checking to make sure only a single measure be set to Reference.
2010-05-06 Tracie Sucharski Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.
2010-04-29 Tracie Sucharski Renamed AutomaticPixel to Registered Pixel and AutomaticSubPixel to RegisteredSubPixel.
2009-12-31 Tracie Sucharski Added new parameters for jigsaw.
2009-10-30 Eric Hyer GetMeasurDataNames is now static
2009-09-22 Eric Hyer Removed forward declaration for QPair
2015-08-14 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test added methods and added test data for LRO NACL.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
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
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-05-03 Jeannie Walldren - Updated documentation. Removed Lo namespace wrap.
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
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
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.
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.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-24 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test for these methods and added data for LO4 and LO5.
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.
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 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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2012-03-06 Kris Becker - Added distortion model tolerance parameter
2011-08-30 Kris Becker - Implemented new decentering distortion model. This becomes version 3 of the camera model
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2009-11-19 Kris Becker - Changed the convergence tolerance from 1/10,000 of a pixel to 1/100 of a pixel
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-25 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2013-03-05 Kris Becker - added band dependent parameters as determined by the ASU LROC team.
2014-04-17 Jeannie Backer - Updated due to method name change in PushFrameCameraDetectorMap. Moved method implementations to cpp file. References #1659
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
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).
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-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.
2009-11-06 Steven Lambright - FilterName keyword is now Center
2009-09-09 Steven Lambright - Updated wavelengths
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-05-03 Jeannie Walldren - Removed Lro namespace wrap.
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.
2010-05-10 Ken Edmundson - Corrected computation of distorted and undistorted locations
2011-05-03 Jeannie Walldren - Updated documentation. Removed Lo namespace wrap inside Isis namespace wrap.
2010-09-23 Debbie A. Cook - Added std before vector declarations to avoid confusion with boost vector
2008-06-18 Steven Lambright - Fixed documentation
2007-11-01 Debbie A. Cook - Revised to handle medium resolution camera
2019-04-26 Stuart Sides and Kristin Berry - Updates to Kaguya TC camera model including updating to use LineScanCamera detector and ground maps, adding detector offsets for swath modes, setting the focal plane map center to the center of the detector, regardless of swath mode, and using the spacecraft clock start count, rather than the StartTime for image timing. See Git issue #3215 for more information.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-10-01 Ian Humphrey and Makayla Shepherd - Updated check for determining instrument names to check all valid MI camera naif codes. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2018-04-25 Jesse Mapel - Modified frame start calculation to not use exposure duration. Fixes #5236.
2008-08-08 Steven Lambright Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2008-04-07 Debbie A. Cook - Set x/y axis directions for jigsaw
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
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-05-03 Jeannie Walldren - Updated documentation. Removed Lo namespace wrap.
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.
2008-02-04 Jeff Anderson - Made change to allow for variable focal length in THEMIS IR
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-24 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test for testing name methods and added data for L03 and L05.
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.
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 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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap 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(...).
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
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.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972
2011-05-23 Janet Barrett and Steven Lambright - Spice::GetDouble is no longer a static call.
2011-05-03 Jeannie Walldren - Added Isis disclaimer.
2015-08-13 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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.
2012-07-25 Kris Becker - Added temperature dependant focal length computation from new IK content. Fixes #922.
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 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.
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-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-12-20 Kris Becker - Added implementation of CK and SPK NAIF codes for the Camera class.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2011-05-03 Jeannie Walldren - Added NAIF error check.
2008-11-05 Jeannie Walldren - Replaced reference to MocLabels IsWideAngleRed() with MocLabels WideAngleRed().
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2011-05-03 Jeannie Walldren - Removed Mgs namespace wrap.
2010-01-05 Jeannie Walldren - Fixed bug in InitWago() method.
2008-11-07 Jeannie Walldren - Fixed documentation
2008-11-05 Jeannie Walldren - Changed IsNarrowAngle(), IsWideAngle(), IsWideAngleBlue(), and IsWideAngleRed() to NarrowAngle(), WideAngle(), WideAngleBlue(), and WideAngleRed(), respectively. Added documentation.
2008-08-11 Steven Lambright - Fixed definition of WAGO, problem pointed out by "novas0x2a" (Support Board Member)
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-05-29 Steven Lambright Fixed binary search indexing, bad calls to QString::_cstr() references
2016-10-27 Jeannie Backer - Moved method implementation to cpp file. Added some variable documentation. References #4476.
2016-10-21 Kristin Berry - Updated unitTest. References #4476.
2016-08-01 Kristin Berry - Added to unitTest to test camera model performance on level 2 cubes and to test RA/DEC values. References #2400.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2010-03-19 Debbie A. Cook - removed unit change of rangeResolution so range_sigma works on meters instead of km
2009-11-03 Debbie A. Cook - added RadarGroundMap method calls to set radar parameters
2009-10-16 Debbie A. Cook - fixed the rotation of the velocity vector
2009-08-05 Debbie A. Cook - corrected altitude in tolerance calculation
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-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 Cook - Calculated actual tolerance value to pass into Spice::CreateCache() method.
2009-07-31 Jeannie Walldren - Added tolerance parameter value of -1 to call to Spice::CreateCache() method.
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2007-12-06 Kris Becker - Added camera distortion model provided by Scott Turner, JHU/APL.
2007-09-06 Kris Becker - Removed test for subframe imaging mode as the team provided calification on its implications.
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-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.
2006-10-31 Jeff Anderson - Updated to accomodate Spice class refactory.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-25 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-03-04 Tracie Sucharski - Added throw when creation of ReseauDistortion fails.
2010-03-04 Tracie Sucharski - Removed couts.
2010-02-22 Tracie Sucharski - Preface naif includes with /naif.
2009-12-18 Tracie Sucharski - Changed inheritance from Camera to FramingCamera.
2013-11-12 Ken Edmundson Programmer note: Revised ComputeApriori such that initial coordinates are computed for "Free" points that have constrained coordinates. References #1653.
2019-05-16 Debbie A. Cook See history entry for ComputeResiduals. Modified call to CameraGroundMap to not do back-of-planet test. References #2591.
2019-03-10 Ken Edmundson - See history entry for ComputeApriori method (References #2591). Added check to IsConstrained() method to see if point type is Free, in which case we ignore stored a priori sigmas on the coordinates.
2018-06-30 Debbie A. Cook Removed all calls to obsolete method SurfacePoint::SetRadii. References #5457.
2018-06-29 Adam Goins - Modified to operator= method to use setters when copying one Control Point to another so that the proper signals get called. Fixes #5435.
2018-06-15 Adam Goins & Jesse Mapel - Added the ModType enum, as well as a series of calls to parentNetwork()->emitPointModified() whenever a change is made to a Control Point or any of it's measures. This is done to allow for communication between the ControlNetVitals class and changes made to the Control Network that it is observing. Fixes #5435.
2018-06-06 Jesse Mapel - Modified setIgnored to use new pointIgnored and pointUnIgnored methods. References #5434.
2018-01-05 Adam Goins - Added HasDateTime() and HasChooserName() methods to allow to allow the value of these variables to be read without being overriden if they're empty. (Getters override if they're empty).
2017-12-21 Adam Goins - Removed redundant code following ControlNetVersioner refactor.
2017-12-18 Kristin Berry - Added convenience methods: HasAprioriSurfacePointSourceFile(), HasAprioriRadiusSourceFile(), HasRefMeasure().
2017-05-25 Debbie A. Cook - coordType to SetPrioriSurfacePoint with a default of Latitudinal. Changed LatitudeConstrained to Coord1Constrained, etc. References #4649 and #501.
2015-11-05 Kris Becker - invalid flag was not properly initialized in ControlPointFileEntryV0002 constructor (Merged by Kristin Berry. Fixes #2392)
2013-11-13 Kimberly Oyama - Added missing member variables to == operator and made sure the comparisons are being done correctly. Fixes #1014.
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.
2011-10-14 Ken Edmundson Added method ClearJigsawRejected(); to set all measure and point JigsawRejected flags to false prior to bundle adjustment.
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-06 Steven Lambright - Radii provided in the protocol buffer constructor can now be invalid.
2011-10-01 Steven Lambright - Simplified the copy constructor and fixed problems (which caused ASSERT fails) in the copy constructor.
2011-09-30 Steven Lambright and Tracie Sucharski - Fixed bugs that caused unpredictable behavior in the assignment operator.
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-07-29 Eric Hyer - Changed some graph code in Delete()
2011-07-29 Jai Rideout, Steven Lambright, and Eric Hyer - Made this inherit from QObject to get destroyed() signal
2011-07-12 Ken Edmundson - Modified ComputeApriori method to handle radius properly when computing average coordinates
2011-07-08 Travis Addair - Locked measures can no longer be deleted
2011-07-01 Debbie A. Cook - Removed editLock checks from SetAdjustedSurfacePoint and ComputeResiduals
2009-08-11 Travis Addair - Added functionality allowing it and all its subclasses to return the pvl group that they were initialized from
2008-08-19 Steven Koechle - Updated to work with Geos3.0.0
2008-06-18 Stuart Sides - Fixed doc error
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.
2007-08-14 Steven Koechle - Added virtual method Padding() which default returns 0.
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-02 Steven Koechle - Added better documentation to CompareInterests().
2010-10-15 Sharmila Prasad - Use only a single copy of Control Net
2010-10-04 Sharmila Prasad - Modified for binary Control Net ex Edit Lock
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-06-23 Sharmila Prasad - Validate for Resolution Range and Pixels/Meters from edge options
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-10 Sharmila Prasad Parse only Interest specific keywords and store in Operator group
2010-04-09 Sharmila Prasad Check for validity of new keyword "MaxEmissionAngle"
2016-08-10 Jeannie Backer - Replaced boost matrix with Isis::LinearAlgebra::Matrix. References #4163.
2016-07-11 Jesse Mapel - Updated method names to meet coding standards. Fixes #4112.
2016-06-06 Tyler Wilson - Fixed a problem with a PvlKeywordIterator not being incremented in the constructor which accepts a PvlObject. There was also an issue with a QMap data structure not being initialized, resulting in a segmentation fault. Also added testing for exceptions being thrown in this constructor, as well as the function computeCorrelationMatrix. Fixes #3997,3999.
2015-10-14 Jeffrey Covington - Declared CorrelationMatrix as a Qt metatype for use with QVariant.
2014-07-23 Jeannie Backer - Added QDataStream >> and << operators and read/write methods. Created unitTest. Added new operators to assignments in copy constructor and operator= methods.
2017-12-12 Kristin Berry Updated to use QVector and QString instead of std::vector and std::string. Fixes #5259.
2009-10-04 Steven Lambright Constructor now takes a FileName instead of a string.
2010-08-18 Tracie Sucharski, Updated for changes made to SurfacePoint covariance matrix.
2010-10-06 Sharmila Prasad - API to reset Apriori
2010-10-18 Tracie Sucharski, Change SurfacePoint::Rectangular and SurfacePoint::Ocentric to SurfacePoint as both return values and parameters.
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-06 Sharmila Prasad - Added method ReferenceLocked()
2010-10-05 Eric Hyer - interface to ID is now with QString
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-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-06-04 Eric Hyer - removed parametor for PointTypeToString()
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-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-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-08-25 Tracie Sucharski, Fixed some bugs relating to conversions between sigmas and covariance matrices.
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-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-06-04 Eric Hyer - removed parametor for PointTypeToString() additional working sessions for Control network design.
2010-06-17 Tracie Sucharski, Added Lock keyword, new methods SetLocked, Locked and NumLockedMeasures.
2010-06-03 Tracie Sucharski, Moved SetReference method from ControlMeasure so check for multiple reference meausres can be done.
2010-06-01 Tracie Sucharski, Added Ellipsoid and DEM to AprioriSource enum. Change AprioriSourceBasemap to AprioriLatLonSourcFile and AprioriRadiusSourceFile.
2010-05-26 Tracie Sucharski, Changed point type of Ground to GroundXYZ, GroundXY, or GroundZ.
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-06 Tracie Sucharski, Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.
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
2009-12-06 Tracie Sucharski, Renamed ComputeErrors to ComputeResiudals.
2011-03-01 Eric Hyer - Added StringToRadiusSource and StringToSurfacePointSource methods
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types: Ground ---—> Fixed Tie-------—> Free
2011-05-02 Debbie A. Cook - Added new point type Constrained
2011-04-04 Steven Lambright - Updated constructor from binary to take planetary radii
2011-04-04 Steven Lambright - Removed an old constructor and made the Distance vector one take a const reference.
2011-04-01 Debbie A. Cook and Ken Edmundson - Added argument to constructor for target radii
2011-03-25 Christopher Austin - Added functionality to SetId()
2011-03-17 Eric Hyer - Added default parameter to GetMeasures method for excluding ignored measures.
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-14 Christopher Austin - Added GetBestSurfacePoint to reduce external duplicate code.
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-11 Debbie Cook - changed name of member surfacePoint to adjustedSurfacePoint. Also changed methods SetSurfacePoint to SetAdjustedSurfacePoint and GetSurfacePoint to GetAdjustedSurfacePoint.
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-02-28 Steven Lambright - Added a flag for cnetref to say whether a reference measure has been explicitly or implicitly set.
2011-02-28 Eric Hyer - Fixed bug in operator= that caused the the reference measure to not get propagated correctly
2011-02-18 Eric Hyer - Added Delete(ControlMeasure *) method. Fixed bugs related to network notification of measure addition and deletion.
2011-02-11 Steven Lambright - Measure log data is now written to the binary file properly.
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-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-01-13 Mackenzie Boyd Added pointer to owning ControlNet.
2010-12-28 Steven Lambright Changed accessors to match ControlMeasure's method of accessing data. Removed obsolete methods to prevent further use of them.
2010-12-08 Tracie Sucharski, Added IsGround convenience method.
2010-11-16 Debbie Cook, Added jigsawRejected keyword.
2010-11-03 Mackenzie Boyd Added ToString methods for enums, String and statis ToString now exist for PointType, RadiusSource, and SurfacePointSource.
2010-10-26 Steven Lambright Change default chooser name from user name to application name.
2018-03-27 Tyler Wilson - Added the Europa Clipper mission.
2017-06-26 Jesse Mapel - Added the Juno mission.
2017-01-19 Kristin Berry - Added the ExoMars Trace Gas Orbiter mission. References #4584
2016-09-12 Marjorie Hahn - Added the Apollo, Chandrayaan1, Dawn, Hayabusa, Hayabusa2, Kaguya, Mars Express, ROLO, Rosetta, and SMART1 missions. Fixes #4300.
2016-08-25 Marjorie Hahn - Added OSIRIS-REx mission. References #4300.
2013-03-27 Jeannie Backer - Added NEAR Shoemaker mission. References #1248.
2008-05-19 steven lambright - Fixed Bad Namespace Documentation
2008-05-19 steven lambright - Fixed Mission End Group Tag
2006-08-10 deborah lee soltesz - Added "Radiometric and Photometric Corrections" and alphabetized mission-specific categories
2005-03-07 deborah lee soltesz - Completed and refine module descriptions.
2016-10-27 Jeannie Backer - Added documentation and adjusted formatting to match coding standards. References #4476.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335. @histroy 2016-10-27 Jesse Mapel - Modified to store exposure time instead of line rate in line rate table. References #4476
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-08-23 Kris Becker - Correct length of scan line to be the EXTERNAL_REPETITION_TIME of the FRAME_PARAMETER[2] value.
2017-01-03 Jeannie Backer - Fixed bug in constructor. When setting the detector start line, the camera model was not taking into account the image flip on ingestion. Added subframe example to test. Fixes #.
2017-01-03 Jeannie Backer - Renamed from AmicaCamera to HayabusaAmicaCamera.
2016-09-14 Kelvin Rodriguez - Enforced the order in which BORESIGHT_LINE and BORESIGHT_SAMPLE are added to the PVL. Part of porting to OSX 10.11
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-11 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these added methods.
2015-03-11 Kris Becker - Fixed timing error - was using the UTC StartTime rather than the SpacecraftClockStartCount. References #2180.
2015-02-26 Kris Becker - Implement starting detector specs; add summing and AlphaCube support.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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 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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2009-05-04 Steven Koechle - Fixed to grab appropriate FocalLength based on image time.
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2014-07-03 Jeannie Backer - Replace member variable m_PI with Isis constant
2014-06-23 Jeannie Backer - Moved method implementation to cpp file and other ISIS coding standards fixes.
2014-03-03 Janet Barrett - Changed the FindCnetRef method to report status on number of points processed instead of number of measures. Fixes #2040.
2013-03-08 Kimberly Oyama and Steven Lambright - Added a try/catch to InterestByPoint(). References #825.
2011-11-23 Sharmila Prasad - Process for control nets with Reference not explicitly set. Fixes #589
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-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-05-14 Sharmila Prasad - Modified to accomodate changes to ControlNetValidMeasure which added line, sample residuals for Measure validation
2011-02-24 Sharmila Prasad - Fixed segmentation fault
2010-12-29 Sharmila Prasad - Modified for new ControlNet API's (UpdatePoint, UpdateMeasure)
2010-11-10 Sharmila Prasad - Modify unit test to accomodate changes in the deffile
2010-10-28 Sharmila Prasad - Log, if Reference changed and apriorisource==Reference
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2010-10-22 Sharmila Prasad - Reset apriori for source==Reference
2010-10-15 Sharmila Prasad - Use only a single copy of Control Net
2010-10-05 Sharmila Prasad - Process EditLock feature
2010-07-13 Tracie Sucharski - Make changes to implement the new or modified keywords for the implementation of binary control networks.
2010-06-23 Sharmila Prasad - Use ControlNetValidMeasure's Validate Standard Options & Std Options Pixels/Meters from Edge
2010-06-21 Sharmila Prasad - Remove references to UniversalGroundMap and Cubes use CubeManager instead.
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-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-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.
2015-08-25 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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 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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-07-26 Jeff Anderson - Modified to support varying focal length and optical distortion based on filter
2011-05-03 Jeannie Walldren - Added NAIF error check. Added call to ShutterOpenCloseTimes() method.
2008-10-30 Steven Lambright - tossQueryError 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
2008-09-05 Kris Becker - Added the replace and remove methods to the class.
2008-03-11 Kris Becker - Added more information to exception caught when attempting to get values from non-existant keys
2007-12-19 Kris Becker - Added getKeyList method for additional flexibility to class developers
2007-02-15 Kris Becker - Added key() method so one can iterate through all keys in the profile
2009-11-27 Kris Becker - Made argc parameter for QCoreApplication so persistence of the parameter is preserve as required for Qt.
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
2018-06-29 Christopher Combs - Added extra HuberModified case to stringToModel(). Fixes #5446.
2014-09-19 Jeannie Backer - Removed bugs. Added documentation. Cleaned duplicate code.
2014-07-23 Jeannie Backer - Added QDataStream >> and << operators and read/write methods.
2011-07-11 Tracie Sucharski - Created from QnetPointJigsawErrorFilter
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResiudal.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-02 Jeannie Walldren - Modified clearEdit() method to disable the line edit if the corresponding check box is not checked.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-02 Jeannie Walldren - Disable the line edit so the user can not enter a value unless the corresponding box is checked.
2008-08-06 Tracie Sucharski - New method for added functionality filtering range of errors.
2011-04-28 Tracie Sucharski - Sort points in decsending order of max residual.
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResidual.
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.
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
2007-06-05 Tracie Sucharski - Look at ControlPoint::MaximumError instead of ControlPoint::AverageError
2010-06-02 Jeannie Walldren - Modify default settings of checkboxes and line edits
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor. Removed "std::" in .cpp file.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
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.
2011-07-12 Tracie Sucharski - Use Group boxes instead of check boxes and reimplement filter to add the edit Lock status.
2011-05-20 Tracie Sucharski - Remove reference as a measure type. Need to add ability to search for points without a reference?
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-02 Jeannie Walldren - Created MeasureTypeMatched() method. Modified filter() to add the Ignore Status filter
2016-11-18 Makayla Shepherd - Corrected the deletion of this dialog. The incorrect deletion caused an error message to pop up when selecting multiple Free or Fixed points after closing the Set Apriori dialog. Fixes #4490.
2016-10-14 Makayla Shepherd - Fixed an issue that caused the apriori sigmas to be set to NULL. You can now set the apriori sigmas. Fixes #4457.
2016-08-09 Makayla Shepherd - Complete redesign of the user interface. Fixes #2325, #2383.
2016-11-16 Makayla Shepherd - Fixed the sigma setting for Fixed and Free points.
2016-10-14 Makayla Shepherd - Fixed an issue that caused the apriori sigmas to be set to NULL. You can now set the apriori sigmas.
2016-02-05 Makayla Shepherd - Redesigned to work with the new UI. This method only takes the values in the line edits and uses them to set the Apriori values. The calculations for reference and average values are made and populated in the fill methods.
2011-04-26 Tracie Sucharski - Move from QnetNavTool to QnetSetAprioriDialog.
2011-04-19 Tracie Sucharski - Redesign using modeless dialog.
2011-04-13 Tracie Sucharski - If single point selected, fill in LineEdit's with current controlPoint values.
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-06-08 Tracie Sucharski - Change for new point types and held points no longer exist, but editLocked points do.
2010-06-03 Jeannie Walldren - Replaced "0" with "ControlPoint::Ground" in filter(). Initialized pointers to null in constructor
2010-06-02 Jeannie Walldren - Modified filter() method to treat a point as ignored if all of its measures have Ignore=True.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2008-11-26 Jeannie Walldren - Fixed comment in filter() method.
2010-10-05 Tracie Sucharski - Remove multiple ground types, back to simply tie or ground. Also help points no longer an option.
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2010-06-03 Jeannie Walldren - Replaced "0" with ControlPoint::Ground in case enumeration changes.
2010-06-02 Jeannie Walldren - Modified to treat a point as ignored if all of its measures have Ignore=True
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.
2011-10-20 Tracie Sucharski - trim whitespace from input
2009-01-08 Jeannie Walldren - Modified to remove new filter points from the existing filtered list.
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.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-02 Jeannie Walldren - Modified clearEdit() method to disable the line edit if the corresponding check box is not checked.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
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 - Initialized pointers to null in constructor.
2009-01-08 Jeannie Walldren - Modified filter() method to create new filtered list from points in the existing filtered list.
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.
2011-03-17 Tracie Sucharski - Use surface point from camera and updated for changes to SurfacePoint.
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.
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.
2011-03-17 Tracie Sucharski - Changed text on filter gui.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2008-11-26 Jeannie Walldren - Clarified label for distance filter value.
2010-06-03 Jeannie Walldren - Initialized pointer to null in constructor
2010-07-16 Tracie Sucharski - Implemented binary control networks.
2010-06-02 Jeannie Walldren - Added functionality to filter by ignore status in addition to measure type
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-16 Tracie Sucharski - Implemented binary control networks.
2011-07-11 Tracie Sucharski - Renamed from QnetPointErrorFilter.
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResiudal.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-02 Jeannie Walldren - Modified clearEdit() method to disable the line edit if the corresponding check box is not checked.
2009-01-08 Jeannie Walldren - Modified filter() method to remove new filter points from the existing filtered list.
2011-04-28 Tracie Sucharski - Sort points in decsending order of max residual.
2010-07-14 Tracie Sucharski - ControlPoint::MaximumError renamed to MaximumResidual.
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.
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
2007-06-05 Tracie Sucharski - Look at ControlPoint::MaximumError instead of ControlPoint::AverageError
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2010-06-02 Jeannie Walldren - Modify default settings of checkboxes and line edits
2008-08-06 Tracie Sucharski - Added functionality of filtering range of errors.
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.
2011-07-15 Tracie Sucharski - Print info about deleting editLock points and reference measures.
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.
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
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2012-05-08 Tracie Sucharski - m_leftFile changed from std::string to QString.
2011-07-19 Tracie Sucharski - Remove call to SetAprioriSurfacePoint, this should only be done for constrained or fixed points.
2011-04-08 Tracie Sucharski - Added check for NULL pointer before deleting m_editPOint if parent is NULL.
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".
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
2010-11-19 Tracie Sucharski - Changed m_controlPoint to m_editPoint which is a copy rather than a pointer directly to the network.
2010-07-21 Tracie Sucharski - Modified for new keywords associated with implementation of binary control networks.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2009-03-09 Jeannie Walldren - Clear error message stack after it is displayed to user in message box.
2008-12-15 Jeannie Walldren - Throw and catch error before creating QMessageBox
2008-12-03 Tracie Sucharski - Add error message and cancel create new point if the point falls on a single image.
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.
2015-05-13 Ian Humphrey and Makayla Shepherd - Add try/catch when trying to find closest control point. Since FindClosest() can throw exceptions, we need to handle them within this connected slot to avoid undefined behavior.
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.
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.
2012-05-08 Tracie Sucharski - Clear m_leftFile, only set if creating new point. Change m_leftFile from a std::string to a QString.
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
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".
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2009-06-08 Tracie Sucharski - Add error checking for editing or deleting points when no point exists.
2011-05-20 Tracie Sucharski - Added Reference output
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to left measure info.
2011-07-06 Tracie Sucharski - If point is Locked, and measure is reference, lock the measure.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2011-05-24 Tracie Sucharski - Set target radii on apriori surface point, so that sigmas can be converted to meters.
2016-10-07 Makayla Shepherd - Added radius source handling if there is a ground source and there is not a radius source already open.
2015-05-19 Ian Humphrey and Makayla Shepherd - moved duplicated code to findPointLocation() and createTemporaryGroundMeasure().
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
2012-05-08 Tracie Sucharski - m_leftFile changed from std::string to QString.
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.
2011-04-20 Tracie Sucharski - Was not setting EditLock check box
2010-10-29 Tracie Sucharski - Changed pointfiles to QStringList
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information.
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.
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-04-26 Tracie Sucharski - cleaned up, moved reference checking and updating ground surface point to new methods.
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.
2011-09-22 Tracie Sucharski - When checking ignore status on right measure, check both original and edit measure.
2011-07-25 Tracie Sucharski - Removed editPointChanged signal since the editPoint is not changed. This helped with qnet windows blinking due to refresh.
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-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-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.
2010-11-19 Tracie Sucharski - Renamed from pointSaved.
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.
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.
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().
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.
2008-12-10 Jeannie Walldren - Added "What's this?" function to qnet tool actions.
2008-11-18 Jeannie Walldren - Added "Close" action to the file menu on the qnet tool window.
2015-10-29 Ian Humphrey - Added shortcuts for the addMeasure (A) and savePoint (P) button. References #2324.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
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().
2008-12-29 Jeannie Walldren - Disabled ground point check box and commented out connection between check box and setGroundPoint() method.
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-11-24 Jeannie Walldren - Added "Goodness of Fit" to right and left measure info.
2011-10-31 Tracie Sucharski - Save filename for implementation of Save option.
2008-11-26 Jeannie Walldren - Added cNetFileName input parameter in order to show the file path in the window's title bar.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
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.
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.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
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.
2015-05-19 Ian Humphrey and Makayla Shepherd - moved duplicated code to findPointLocation() and createTemporaryGroundMeasure().
2015-05-19 Ian Humphrey and Makayla Shepherd - When changing a ground point between fixed and constrained and vice versa, the ground measure will not be reloaded (otherwise m_editPoint->Add() will throw an exception within a connected slot).
2013-12-06 Tracie Sucharski - If changing point type to constrained or fixed make sure reference measure is not ignored.
2011-07-05 Tracie Sucharski - Move point EditLock error checking to individual point parameter setting methods, ie. SetPointType, SetIgnorePoint.
2011-04-20 Tracie Sucharski - If EditLock set, prompt for changing and do not save point if editLock not changed.
2015-06-01 Makayla Shepherd and Ian Humphrey - Modified to return a boolean value to indicate if the user wants to update the reference or not and modified the case when the user clicks no to reload the left and right ChipViewports to reset back to the previous locations.
2012-06-12 Tracie Sucharski - Moved check for ground loaded on left from the measureSaved method.
2015-06-05 Makayla Shepherd and Ian Humphery - Modified to return out of the method when checkReference returns false.
2013-12-05 Tracie Sucharski - If saving measure on fixed or constrained point and reference measure is ignored, print warning and return.
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 - 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.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2008-12-03 Jeannie Walldren - Added radio button so user may choose to filter distance in pixels or meters.
2012-03-22 Steven Lambright - Added the Url handler for http:// links. Currently using QWebView - we may want options later.
2010-06-29 Steven Lambright - Added a setlocale to english for numeric values
2018-07-25 Tracie Sucharski - Changed vertical sizePolicy so that other widgets such as JigsawRunWidget, ControlHealthMonitor can be split with the Project view.
2018-07-12 Kaitlyn Lee - Changed the sizeHint to be calculated based on the deskTop size, instead of being hard-coded. The percentages chosen allow for 2 CubeDnViews to be opened at once, since CubeDnView has an internal size policy and cannot be made smaller. Changed the setSizePolicy to minimum so that the tree does not expand when a view is closed. References #5433
2018-05-29 Summer Stapleton - updated the view to include a central widget and to remove layout capacity. This change was made to adjust to parent class now inheriting from QMainWindow instead of QWidget.
2017-04-12 Tracie Sucharski - Turn off dragging on the treeView for now since it is does not work and is causing errors.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-06-27 Ian Humphrey - Added documentation (treeView() and onItemAdded()), checked coding standards. Fixes #4006.
2016-01-13 Jeffrey Covington - Added destructor and treeView() methods. Added onItemAdded() slot. Replaced setSourceModel() with setInternalModel() method.
2018-08-10 Tracie Sucharski - Added itemsAdded signal to indicate that all items in a list have been added to the model. References #5296.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-08-11 Tracie Sucharski - Added itemRemoved signal.
2016-06-27 Ian Humphrey - Added documentation to the canDropMimeData() and dropMimeData() methods. Checked coding standards. Fixes #4006.
2016-01-13 Jeffrey Covington - Added canDropMimeData() and dropMimeData() methods.
2018-07-10 Kaitlyn Lee - If a user does not select any images in the project tree, all image lists and images will be returned in selectedBOSSImages(). References #497.
2018-06-24 Tyler Wilson - Fixed an edge-case scenario in the selection criteria for selectedBOSSImages(). If a user selected an image list and some (but not all) of the images within that list, the function returned all of the images in the list and not just the selected ones. References #497.
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 - save filename for the "Save" slot.
2011-08-08 Tracie Sucharski - If new network, set the Target
2010-11-09 Tracie Sucharski - "emit" was missing from the signal serialNumberListUpdated.
2010-07-01 Jeannie Walldren - Added file extension filters for input control network
2008-12-10 Jeannie Walldren - Fixed documentation
2008-11-26 Jeannie Walldren - Uncommented "emit controlNetworkUpdated()" line and added parameter name defined in this method.
2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
2007-06-07 Tracie Sucharski - Allow new network to be opened, prompt to save old network.
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files.
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
2009-01-08 Jeannie Walldren - Modified filter() method to create new filtered list from images in the existing filtered list.
2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor
2009-01-08 Jeannie Walldren - Modified filter() method to replace existing filtered list with a subset of that list.
2016-06-27 Ian Humphrey - Minor documentation updates. Fixes #4006.
2017-07-13 Makayla Shepherd - Added the ability to change the name of image imports, shape imports, and bundle solution info. Fixes #4855, #4979, #4980.
2017-06-14 Ken Edmundson - Added constructor for FileItem type, including a tooltip.
2017-05-04 Tracie Sucharski - Added isFileItem and fileItem methods and member variables needed for WorkOrders. Fixes #4839. Fixes #4840.
2017-05-04 J Bonn -Added FileItem to project tree. Fixes #4838.
2017-05-02 Tracie Sucharski - Get rid of Correlation Matrix in BundleResults, change order of objects under BundleSolutionInfo. Change text on some of BundleSolutionInfo items. Fixes #4822.
2017-05-01 Makayla Shepherd - Added the images that were bundled to the BundleSolutionInfo ProjectItem. Fixes #4818.
2017-04-17 Tracie Sucharski - Turn off editing on all items except for the project name.
2016-12-02 Tracie Sucharski - Added ability to change text color for and item.
2016-11-10 Tyler Wilson - Changed the alias reference to the the data management icon from 'data' to 'data-management' in the setProject function. A naming conflict was causing strange warnings to show up on the command line when ipce is launched, and this fixed it. Fixes #3982.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-07-25 Tracie Sucharksi - Added support for Shapes.
2016-08-18 Jeannie Backer - Changed raw BundleSettings pointer to BundleSettingsQsp.
2017-08-03 Cole Neubauer - Explicitely set the color of each new ProjectItem to Qt::Black Fixes #5095
2018-07-26 Tracie Sucharski - Fixed history entry errors introduced during the merge conflict resolution for PR #255.
2018-07-13 Kaitlyn Lee - Added singal cnetSaved() so that the save net button goes back to black after the cnet is saved. Added signal activeControlModified() that is emitted in cnetModified() and is connected to Directory. This stops views from being redrawn when any cnet is modified. Only the active should cause this. Fixes #5396.
2018-07-12 Kaitlyn Lee - Changed activeControlModified() to cnetModified() and removed the line m_activeControl->setModified(true) in cnetModified() since this is now done in the CnetEditorWidget and it caused a seg fault when no images were imported and a user tried to edit a cnet. I changed this because when a user made changes to a cnet, even if it was not the active, the active was the only one that was recognized as being modified. This stopped any changes made to a nonactive cnet from being saved and caused the active to be saved if a nonactive was edited. Fixes #5414.
2018-07-12 Summer Stapleton - Added hasTemplate() and hasCamera() and modified addCamera() and addTarget logic in order to determine if a targetBody or a guiCamera already exist in a project. This allows cameras and targets to be created in ImportImagesWorkOrder only when needed rather than creating them for every image imported and then removing them if not needed. Fixed segfault occuring on astrovm4 with larger imports. References #5460.
2018-07-07 Summer Stapleton - Separated m_templates into m_mapTemplates and m_regTemplates to keep track of the two template types as well as adjusted logic to save these serparately into the .xml files in the project directory. Also added clean-up of unsaved templates at project close in Project::clear().
2018-06-14 Makayla Shepherd - Save and Save As now save the geometry and state of the project.
2018-06-06 Kaitlyn Lee - activeControlModified() calls setClean(false) to enable the save button when the active control net is modified, i.e. a point is modified.
2018-04-25 Tracie Sucharski - Fixed typo in XmlHandler::startElement reading imported shapes from a project which caused the shapes to be put in the wrong place on the project tree. Fixes #5274.
2018-03-30 Tracie Sucharski - Added public slot, activeControlModified, which sets the modified state on the active Control. This was done, so that a Control knows if its control net has been modified. Also added signal, discardActiveControlEdits if user does not want to save edits. This is needed for CnetEditorWidgets that are displaying the modified active control, it will effectively close that CnetEditorView and reload with the original control net. It was done this way because there is no easy way to reload a control net in the CnetEditor widgets. When saving Project, if there is an active control and it has been modified, write active control to disk. Unfortunately this is done in 2 different places depending on whether a project "Save" or "Save As" is being done. If "Save As", a modified active cnet is not written out to the original project only to the new project, so this had to be done in Control::copyToNewProjectRoot. If simply saving current projct, the write is done here in the save method.
2018-03-27 Tracie Sucharski - Removed the calls to work orders from activeImageList and activeControl methods. Additional errors checks needed for default values that are not in work orders. Fixes #5256.
2017-04-17 Tracie Sucharski - Made changeds to allow project name to be edited from the ProjectItemTree, by double-clicking on the project name. This functionality required the addition of the setData and flags methods. The projectNameEdited signal is also emitted. Fixes #2295
2018-03-22 Ken Edmundson - Modified method onBundleSolutionInfoAdded to append the bundleoutput.txt (Summary) file to the BundleSolution Statistics node. Also changed the name of the Images node under Statistics to Image to prevent Import Images to appear on it's context menu.
2017-11-03 Christopher Combs - Added support for new Template and TemplateList classes. Fixes #5117.
2017-11-13 Makayla Shepherd - Modifying the name of an ImageList, ShapeList or BundeSolutionInfo on the ProjectTree now sets the project to not clean. Fixes #5174.
2017-10-30 Adam Goins - Modified currentItem() to return the first selected item in the project tree if there is no valid currentIndex. This would happen if the user was interacting with a cubeDN or footprint view and then tried right clicking on the project tree. Fixes #5111.
2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open source images. Fixes #5105.
2017-08-11 Christopher Combs - Added onTemplatesAdded() and connected it to the signal sent by Project. Fixes #5086.
2017-08-11 Cole Neubauer - Added a project setClean(false) call to onNameChanged slot. This will make a name change be treated as a project change Fixes #5113
2017-08-08 Marjorie Hahn - Modified removeItem() so that if the item to be removed has any children then they can be removed first. Fixes #5074.
2017-07-27 Tyler Wilson - Added the ability to validate and restrict what names a user can name things like ImageLists/ShapeLists/ControlLists. (ie. this class maintains a QStringList of reserved words which cannot be used for naming objects). Fixes #5047.
2017-07-13 Makayla Shepherd - Added the ability to change the name of image imports, shape imports, and bundle solution info. Fixes #4855, #4979, #4980.
2017-07-12 Cole Neubauer - Added clean function to clear data from project tree while keeping headers, needed to remove old projects data when opening a new one Fixes #4969
2017-05-04 J Bonn - Added FileItem to project tree. Fixes #4838.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-07-18 Tracie Sucharski - Added Project Item slots for adding shape models.
2016-06-27 Ian Humphrey - Added documentation to canDropMimeData(), checked coding standards. Fixes #4006.
2016-01-13 Jeffrey Covington - Added canDropMimeData() method.
2018-07-02 Tracie Sucharski - Added tooltip containing project path to the project root item.
2018-03-22 Ken Edmundson - Modified constructor taking a BundleSolutionInfo to append a row for a Control object containing the output control net from the bundle adjustment.
2017-11-03 Christopher Combs - Added support for new Template and TemplateList classes. Fixes #5117.
2017-11-01 Ian Humphrey - Changed imageList to adjustedImages in the constructor taking a BundleSolutionInfo. Fixes #4849.
2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open source images. Fixes #5105.
2017-08-11 Christopher Combs - Added isTemplate() and setTemplate() to allow for imported templates to show on the project tree. Fixes #5086.
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-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos
2008-11-26 Jeannie Walldren - Added GoodnessOfFit to PointFilterIndex enumeration
2008-11-24 Jeannie Walldren - Replace references to PointEdit class with ControlPointEdit
2007-06-05 Tracie Sucharski - Added enumerators for filter indices
2009-01-26 Jeannie Walldren - Added filter call for points cube name filter.
2009-01-08 Jeannie Walldren - Removed command to clear filtered points and images lists
2008-12-09 Tracie Sucharski - Added m_filtered indicating whether the listBox contains filtered or unfiltered list.
2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
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.
2011-07-25 Tracie Sucharski - Fixed bug in refreshing list changed to delete starting at end of list so indices stay accurate.
2008-12-29 Jeannie Walldren - Added question box to verify that the user wants to delete the selected points.
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-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
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
2007-06-05 Tracie Sucharski - Use enumerators for the filter indices. Comment out overlap/polygon code temporarily.
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-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-06-03 Jeannie Walldren - Initialized pointers to null in constructor. Removed "std::" since "using namespace std" in header and .cpp files.
2010-10-29 Tracie Sucharski - Changed std::vector<std::string> to QSringList
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2018-01-10 Adam Goins - Added the m_historyLayout member variable the class to keep a running history tab of edits made to points.
2017-01-04 Makayla Shepherd - Made showNavTool() public in order to fix a window management issue that caused the NavTool to go behind the ViewportMainWindow (parent widget) when using Gnome or Cinnamon. Fixes #4541.
2016-11-18 Makayla Shepherd - Added disconnection and deletion of the Set Apriori Dialog on close. Fixes #4490.
2015-05-28 Makayla Shepherd and Ian Humphrey - When changing navigation types from Points to Cubes, and vice versa, and then back to the original type, the filtered data is saved rather than forcing the user to refilter the data. Fixes #2144.
2011-03-24 Tracie Sucharski - Added ability to enter Apriori Point values and sigmas.
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".
2010-11-04 Tracie Sucharski - Added overloaded load slot for double-clicking on the cube list.
2010-11-01 Tracie Sucharski - Changed updateEditPoint parameter from std::string to QString.
2010-07-12 Jeannie Walldren - Fixed documentation.
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-06-03 Jeannie Walldren - Initialized pointers to null in constructor. Modified tie() and load() methods.
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".
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().
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.
2008-12-31 Jeannie Walldren - Added keyboard shortcuts to createNavigationDialog() and createFilters() methods.
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.
2018-04-24 Adam Goins - Added QCloseEvent optional parameter to slot "exit()" to set the CloseEvent triggered by an onwindowclose to ignore the event if the 'cancel' option was selected after clicking the close button of the viewport window. This fixes an issue where clicking the close button and then clicking 'cancel' from the QMessageBox would close the window but keep the application running. Fixes #4146.
2016-04-22 Jeannie Backer - Modified to use cube labels to set ControlNet's target instead of the TargetName. References #3892
2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-11-01 Tracie Sucharski - Added save slot.
2011-07-07 Tracie Sucharski - Disable Open Ground and Open Dem until list & net open.
2011-06-03 Tracie Sucharski - Add Open Ground & Open Dem signals.
2010-12-10 Tracie Sucharski - Renamed slot loadPoint to loadPointImages.
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.
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"
2008-11-26 Tracie Sucharski - Remove all polygon/overlap polygon/overlap references, this functionality will be in qmos.
2008-11-26 Jeannie Walldren - Added cNetName parameter to controlNetworkUpdated() so that QnetTool can read the name of the control net file.
2008-11-24 Jeannie Walldren - Replace references to PointEdit class with ControlPointEdit
2006-08-02 Tracie Sucharski - Initialize cameras for every image in cube list.
2011-04-08 Tracie Sucharski - Remove test for sn existing in serial number list since the list is where the serial number came from.
2010-07-12 Jeannie Walldren - Updated setActiveSubWindow call due to change in Workspace class
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2008-12-10 Jeannie Walldren - Fixed documentation
2008-10-08 Tracie Sucharski - Do not display cube if it is already displayed, set as active window.
2010-11-01 Tracie Sucharski - Changed pointId from std::string to QString.
2008-12-30 Jeannie Walldren - Modified to setCurrentItem() rather than simply highlight the new point using setItemSelected() and scrollToItem().
2010-11-04 Tracie Sucharski - Added double-click connections.
2009-01-08 Jeannie Walldren - Reset filtered list with all points in control net and all images in serial number list.
2008-12-09 Tracie Sucharski - Added m_filtered indicating whether the listBox contains filtered or unfiltered list.
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-10-29 Tracie Sucharski - Added filter count 2008-11-26 Tracie Sucharski - Remove all polygon/overlap references, this functionality will be qmos.
2007-06-05 Tracie Sucharski - Use enumerators to test which filter is chosen. Comment overlap/polygon code temporarily.
2009-01-26 Jeannie Walldren - Clarified tab names. Added points cube name filter tab.
2008-12-31 Jeannie Walldren - Added keyboard shortcuts to tabs.
2008-11-26 Jeannie Walldren - Added Goodness of Fit to the filter tabs.
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.
2010-11-04 Tracie Sucharski - Move listBox double-click connection to the slot for changing the listBox.
2010-06-03 Jeannie Walldren - Initialized pointers to null.
2008-12-09 Tracie Sucharski - Added m_filtered indicating whether the listBox contains filtered or unfiltered list.
2011-06-08 Tracie Sucharski - Point type Ground renamed to Fixed, so class renamed from QnetGroundPointDialog to QnetFixedPointDialog.
2010-06-03 Jeannie Walldren - Initialized pointers in constructor. Removed "std::" in header and .cpp files.
2008-11-26 Jeannie Walldren - Added functionality to show the last Point ID entered into a new point dialog box.
2017-08-11 Christopher Combs - Added ImportTemplateWorkOrder. Fixes #5086.
2017-05-04 Tracie Sucharski - Added BundleObservationViewWorkOrder. Fixes #4840.
2016-11-07 Tracie Sucharski - Added the CubeDnViewWorkOrder, SetActiveControlWorkOrder, SetActiveImageListWorkOrder. Fixes #4485.
2016-07-26 Tracie Sucharski - Added support for Importing shapes.
2016-06-09 Makayla Shepherd - Updated documentation. Fixes #3957.
2015-09-05 Ken Edmundson - Added support for new WorkOrders: SaveProjectWorkOrder, SensorGetInforWorkOrder, and TargetGetInfoWorkOrder.
2015-08-14 Jeannie Backer - Added jigsaw work order.
2014-07-14 Kimberly Oyama - Added support for correlation matrix.
2012-10-19 Steven Lambright - Added tryType() to reduce the chances of programmer mistakes and to reduce duplicate code.
2018-06-28 Makayla Shepherd - Removed the ProgressBar cleanup because it was causing a seg fault when the ProgressBar was added to the HistoryTreeWidget. The HistoryTreeWidget will now clean up the ProgressBar. Fixes #5228.
2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and TemplateEditViewWorkOrder. Fixes #5168.
2017-11-02 Tyler Wilson - Added a virtual setData method for a QString, and a private QString object called m_data. References #4492.
2017-08-11 Cole Neubauer - Updated documentation for accessor methods and when one of these accessors should be used in the workorder template #5113
2017-07-31 Cole Neubauer - Added a QTMutexLocker to every function that returns a member variable function Fixes #5082
2017-07-24 Cole Neubauer - Created isSavedToHistory() to be able to keep Views from being added to the HistoryTree Fixes #4715
2017-05-05 Tracie Sucharski - Added functionality for FileItem types and added BundleObservationViewWorkOrder. Fixes #4838, #4839, #4840.
2017-04-16 Ian Humphrey - Added enableWorkOrder and disableWorkOrder slots for enabling and disabling work orders. Copy constructor now copies what's this and tool tip (hover text) state.
2017-04-04 JP Bonn - Updated to new design. setupExecution() used for preparation. No longer separate methods for sync/async - workorder::execute() handles both sync/async
2017-04-04 Tracie Sucharski - Renamed onUndoStack to isUndoable. Renamed setUndoRedo to setUndoable. Fixes #4722.
2017-04-04 Tracie Sucharski - Renamed the execute method to setupExecution. Fixes #4718.
2017-02-06 Tracie Sucharski - Added methods to set/get whether work order is put on the QUndoStack. If it is NOT put on the stack, it will be greyed out in the HistoryTreeWidget and not undo-able. Todo: Decide whether work orders not on the QUndoStack should appear in the HistoryTreeWidget. Fixes #4598.
2016-07-26 Tracie Sucharski - Added functionality for ShapeList.
2016-06-22 Tyler Wilson - Removed all references to deprecated functions/member variables. Fixes #4052.
2016-06-13 Tyler Wilson - Added documentation to many of the member functions in this class. Fixes #3956.
2016-01-04 Jeffrey Covington - Improved support for ProjectItem.
2010-11-18 Eric Hyer - addBrowseView now deletes the last viewport in the subWindowList instead of the first one
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Also fixed include issues.
2010-04-08 Steven Lambright and Eric Hyer - Added progress bar
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.
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.
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.
2007-03-21 Tracie Sucharski - Changed call from fitScale to fitScaleMinDimension so that the minimum cube dimension is displayed in its entirety.
2008-12-04 Jeannie Walldren - Added try/catch to close the MdiCubeViewport if showCube() is not successful.
2008-08-20 Stacy Alley - Changed the setScale call to match the zoomTool's fit in view
2008-05-27 Noah Hilt - Now returns a MdiCubeViewport in order for the addCubeViewport(QString cubename) method to modify the MdiCubeViewport.
2007-04-13 Tracie Sucharski - Load entire image instead of fitting smallest dimension.
2017-10-12 Kristin Berry - Reverted to using relative instead of full file paths, as this caused errors when working with cubelists that contained relative paths. Fixes # 5177
2017-08-17 Adam Goins - Added the ability for this method to receive a cubelist file as input to qview, parse out the .cub files from the cubelist and then attempt to add each one into their own viewport.
2015-05-13 Ian Humphrey - Caught exception now handled by sending a QMessageBox to the Workspace. This prevents undefined behavior caused by not handling an exception within a connected slot.
2008-12-04 Jeannie Walldren - Removed "delete cube" since this was causing a segfault and this deallocation is already taking place in addCubeViewport(cube).
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.
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.
2006-06-12 Tracie Sucharski, Clear errors after catching when attempting to open cube.
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.
2018-07-07 Summer Stapleton - Removed importTemplateWorkOrder and replaced it with the new map and registration import work orders to reflect changes in Project.cpp for handling these differently.
2018-06-18 Adam Goins - Added ControlHealthMonitorWorkOrder to WorkOrderFactory. Fixes #5435.
2017-11-09 Tyler Wilson - Merged the functionality of OpenRecentProjectsWorkOrder into OpenProjectWorkOrder to reduce unnecessary code duplication, and removed references to OpenRecentProjectWorkOrder in this class. Fixes #5220.
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.
2010-11-08 Eric Hyer - Added connects and disconnects for cubeViewport's new mouseMove signal
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2010-05-24 Eric Hyer - setCubeViewport is now public
2010-03-18 Sharmila Prasad - Reset warning status when a different tool is chosen, done on mouse double click, press or release
2009-03-27 Noah Hilt, Steven Lambright - Removed old rubber band and changed cubeViewportList to call the Workspace viewport list.
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.
2007-09-11 Steven Lambright - Added code to handle the rubber band tool
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.
2018-07-07 Summer Stapleton - Implemented the SaveAs option in the widget. This allows a user to save the file externally to the project as well as to immediately import the template with a simple checkbox in the filedialog. Users are also prompted to save if there have been changes made to the template file since saving if the widget or the ipce main window is closed.
2018-07-26 Tracie Sucharski - Reformated the widget to get rid of fixed sizes and use layouts to handle sizing instead. Also put entire widget in a scrolled area.
2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open source images. Fixes #5105.
2017-07-27 Tyler Wilson and Summer Stapleton - IPCE no longer crashes in the event that the spice cube labels do not contain the proper target info. Fixes #4954.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-06-17 Jesse Mapel - Updated documentation before merging from IPCE into ISIS. Fixes #4007.
2015-06-12 Ken Edmundson - Added support for target body.
2014-07-14 Kimberly Oyama - Added support for correlation matrix.
2013-04-25 Jeannie Backer - Modified call to qWarning() to prevent compile warnings on MAC OS 10.8.2
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().
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-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.
2018-01-09 Cole Neubauer - Returns windows to normal state before they are tiled to fix fullscreen tiling issue Fixes #5262
2017-07-19 Marjorie Hahn and Tracie Sucharski - Implemented new viewport tiling scheme.
2011-09-20 Steven Lambright - Cursors should remain consistent between all viewports now. Fixes #195.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewPort. Fixed include issues
2018-04-24 Adam Goins - Added optional parameter QCloseEvent to the closeWindow() signal so that the close event can be caught and set to rejected by listening applications (such as qnet). Fixes an issue where closing qnet and clicking 'cancel' from the proceeding popup dialogue would still close the window but leave the application running. Fixes #4146.
2012-05-29 Steven Lambright - Updated closeEvent() to ask the user to save any unsaved modifications to the opened cube. References #854.
2010-18-03 Sharmila Prasad - Added ability to handle exception and display warning status when exception occured
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.
2013-05-07 Jeannie Backer - Replaced Lat with Rad for non-projected "Plane" shaped models. References #775.
2013-04-24 Jeannie Backer - Capitalized text output, "n/a", to be consistent with the AdvancedTrackTool text output. References #775.
2013-02-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2012-06-18 Steven Lambright - Fixed access of viewport DN data to not access out of range data. Fixes #896.
2011-04-25 Steven Lambright - Fixed updates at the bottom right
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2006-06-14 Elizabeth Miller - Changed format of unitTest to fix problems with minor naif changes
2006-05-17 Elizabeth Miller - Depricated CameraManager to CameraFactory
2005-11-15 Elizabeth Miller - Fixed problems caused by viking data area split
2018-06-15 Kristin Berry - Removed qFuzzyCompare comparison to fix "distortion model not being applied" error.
2017-09-18 Jeannie Backer - Added check to verify that values passed into SetFocalPlane and SetUndistortedFocalPlane are within valid range. References #5155
2017-09-14 Jeannie Backer - Updated distortion model provided by Stepan Tulyakov. References #5155
2018-01-11 Christopher Combs - Added try/catch around creation of cameras distortion map to prevent segfault when destructing. Fixes #5163.
2017-09-15 Jesse Mapel - Removed setting the detector start line because it is now being handled by the alpha cube group. Fixes #5156.
2017-02-06 Jesse Mapel & Kristin Berry - Updated ck frame and documentation. Added a unitTest. References #4593.
2017-01-26 Kris Becker - Original implementation. Fixes #4593.
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.
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.
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).
2010-07-19 Steven Lambright - Added kernel selection merging
2009-05-12 Steven Lambright - Added Camera Version Checking
2007-07-09 Steven Lambright - Added Kernel class and multiple-ck return
2007-10-25 Steven Koechle - Corrected Smithed Enum fixed search methods.
2018-03-27 Tyler Wilson - Added the Europa Clipper mission.
2017-06-26 Jesse Mapel - Added the Juno mission.
2017-01-19 Kristin Berry - Added the ExoMars Trace Gas Orbiter mission. References #4584
2016-09-12 Marjorie Hahn - Added the Apollo, Chandrayaan1, Dawn, Hayabusa, Hayabusa2, Kaguya, Mars Express, ROLO, Rosetta, and SMART1 missions. Fixes #4300.
2016-08-25 Marjorie Hahn - Added OSIRIS-REx mission. References #4300.
2013-03-27 Jeannie Backer - Added NEAR Shoemaker mission. References #1248.
2008-05-19 steven lambright - Fixed Bad Namespace Documentation
2008-05-19 steven lambright - Fixed Mission End Group Tag
2006-08-10 deborah lee soltesz - Added "Radiometric and Photometric Corrections" and alphabetized mission-specific categories
2005-03-07 deborah lee soltesz - Completed and refine module descriptions.
2005-03-07 deborah lee soltesz - Completed main page content.
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 ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Added Isis Disclaimer to files. Added NAIF error check to constructor.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-05-03 Jeannie Walldren - Added NAIF error check. Updated documentation. Added call to ShutterOpenCloseTimes() method.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-14 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods and added data for Viking1 VISA, Viking1 VISB, and Viking2 VISA.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-02-12 Steven Lambright - Fixed zooming in/out with rectangle rubber band
2008-05-23 Noah Hilt - Added RubberBandTool functionality and changed the mouseButtonReleased Method.
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".
2010-07-14 Jeannie Walldren - Added error message if the new scale value is less than or equal to 0.
2010-07-14 Jeannie Walldren - Added error message if the new scale value is less than or equal to 0.
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 - Replaced checks for newScale==0 accidentally removed in previous commit.
2010-07-12 Jeannie Walldren - Modified to call this object's setScale method.
2017-05-10 Ian Humphrey - Modified so that the setScale() is accommodating the ISIS pixel center definition (integer center) (+0.5). References #4756.
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 - Modified to call this object's setScale method.
2018-09-12 Adam Goins - Modified logic to attempt to open the file as a cube or detached label first, if that fails attempt to open it as a cube list and if that fails, throw an error to the user. This allows cubes and cube lists to be saved under any extension and opened. Fixes #5439, Fixes #5476.
2018-04-13 Christopher Combs - Added .lbl files to the list of single-cube file-extensions to check before reading a cube list in addCubeViewport. Fixes #5350.
2017-09-11 Adam Goins - Added the ability to accept cubelists under any file format. Fixes #5099.
2016-09-08 Tracie Sucharski - Changed imageToMdiWidget to cubeToMdiWidget. Workspace deals with cubes. Since Image contains a cube, simply pass in cube instead of Image. This was done to handle the new IPCE container class, Shape, which also contains a cube, but not an Image.
2015-05-13 Ian Humphrey - Modified addCubeViewport(QString) to handle any exceptions that are thrown within the slot. This prevents undefined behavior when an exception is not handled within a connected slot. References #2210.
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.
2012-05-29 Steven Lambright - Now utilizes ViewportMdiSubWindow instead of QMdiSubWindow. References #854.
2017-06-02 Jesse Mapel - Converted from using inverse matrix to a Newton's method approach when computing distorted coordinates from undistorted coordinates.
2016-10-31 Jesse Mapel and Jeannie Backer - Original Version
2017-04-11 Jesse Mapel - Added subwindowing. Fixes #5394.
2017-06-02 Jesse Mapel - Added a distortion map Fixes #4496.
2017-05-10 Ian Humphrey - Modified zoomFit() so that when doing a "Fit in viewport" zoom, the image is centered properly in the viewport. Fixes #4756.
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-12-22 Eric Hyer - Removed mouseButtonPress method.
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-07-12 Jeannie Walldren - Created setScale() methods to display a QMessageBox if a scale value could not be set.
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.
2015-10-07 Ian Humphrey - Updated icons and icons are no longer embedded as per licensing terms. Fixes #1041.
2015-06-05 Makayla Shepherd and Ian Humphrey - Modified checkReference() and measureSaved() so that when the user selects no on the dialog box when changing the reference, the action is properly canceled (as intended). Fixes #2172.
2015-05-19 Ian Humphrey and Makayla Shepherd - Added two functions to encapsulate duplicate code. Modified logic for changing a ground point between fixed and constrained (or vice versa) to prevent adding a duplicate ground measure, so no error is encountered. Fixes #2060.
2015-05-13 Ian Humphrey and Makayla Shepherd - Modified mouseButtonRelease to correctly handle expections thrown when find the closest control point. Updated the message displayed to user to be more informative. Fixes #2210.
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.
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-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-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-09 Tracie Sucharski - Check for user selecting all measures for deletion and print warning that point will be deleted. Fixes #1491.
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
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-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.
2015-10-29 Ian Humphrey - Added shortcuts for Add Measure (A) and Save Point (P) buttons. Added shortcuts (PageUp/PageDown) for selecting right measures and added slots to handle these shortcuts. Added save control network shortcut. Fixes #2324.
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-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-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-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked().
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
2011-09-16 Tracie Sucharski - Added method to draw Fixed and Constrained points on the ground source viewport.
2011-07-27 Tracie Sucharski - Added method to return the radius from a Dem if one is open.
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-06-08 Tracie Sucharski - Point types renamed: Ground -—> Fixed Tie -—> Free
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.
2010-12-14 Eric Hyer - Template editor is now a widget within the main window. Newly saved template files take effect after saving.
2017-06-01 Kaj Williams - renamed "save as ..." radio buttons to reflect their actual usage. Updated the associated tooltips. Also updated the "enum saveAsType" documentation.
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.
2012-02-08 Tracie Sucharski - Added method to set drawing on the active viewport only.
2011-09-20 Steven Lambright - Segmented lines now have updates while the user is still drawing them instead of just a complete state.
2010-11-08 Eric Hyer - Added mouse snapping
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2010-06-03 Eric Hyer - Fixed bug in getInstance method
2010-05-24 Eric Hyer - Added clear() method
2010-11-08 Eric Hyer - Updated documentation for drawing lines
2010-06-26 Eric Hyer - Fixed one include issue
2008-10-01 Steven Lambright Fixed bug with segmented line, if polygon was enabled then segmented line was
2008-09-26 Steven Lambright Added Segmented line, reordered banding options at Stuart's Request
2018-07-06 Jesse Mapel - Removed calls to ControlNet::GetTargetRadii because it is both no longer needed and no longer available. Fixes #5457.
2018-06-28 Debbie A Cook - Removed all calls to obsolete method SurfacePoint::SetRadii. Fixes #5457.
2017-08-09 Adam Goins - Changed method references of SerialNumberList.Delete() to SerialNumberList.remove()
2016-10-07 Makayla Shepherd - Modified the Radius Source File label behavior on the Qnet Tool. When there is not a radius source open, a point is selected, and a ground source is opened, the radius source will be the ShapeModel of the reference measure if the ShapeModel is a cube. If the ShapeModel is not a cube, the ABC of the target body will be displayed as the Radius Source on the Qnet Tool. If there is not a radius source open, there is not a point selected, and a ground source is opened, the tool will exhibit the same behavior as before. Fixes #2099.
2016-08-28 Kelvin Rodriguez - Removed unused member variables to eliminate warnings in clang. Part of porting to OS X 10.11
2016-03-17 Makayla Shepherd - Modified addMeasures so that new measures use the Reference Measure in order to keep the behavior consistent. Fixes #2326.
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.
2010-12-15 Tracie Sucharski - Before setting m_editPoint to NULL, release memory. TODO: Why is the first if statement being done???
2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.
2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object
2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.
2011-10-20 Tracie Sucharski - Add check for a control network that does not yet have any control points.
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.
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.
2016-03-17 Makayla Shepherd - All new measures added use the Reference Measure to get the lat, lon, in order to make keep behavior consistant. Fixes #2326.
2011-04-06 Tracie Sucharski - If not a fixed point, use the Reference measure to get lat,lon.
2010-07-22 Tracie Sucharski - MeasureType of Estimated is now Reference. This change associated with implementation of binary control networks.
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2011-05-20 Tracie Sucharski - Added Reference output
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right measure info.
2009-03-09 Jeannie Walldren - Modified createPoint() method to clear the error stack after displaying a QMessageBox to the user
2010-11-22 Eric Hyer - Added stretchChipViewport SIGNAL for forwarding of SIGNAL from StretchTool to ChipViewport
2010-11-17 Eric Hyer - Added newControlNetwork SIGNAL
2010-11-19 Tracie Sucharski - Renamed pointSaved slot to measureSaved.
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-07-12 Jeannie Walldren - Fixed bug in newHoldPoint() method that was causing the Hold Point Dialog to call the reject() command. Updated documentation.
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-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-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-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-02 Jeannie Walldren - Added cancelHoldPoint() method and connected this slot to QnetHoldPointDialog's holdCancelled() signal.
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.
2009-03-17 Tracie Sucharski - Added the ability to save the registration chips to the Options menu.
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.
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-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-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-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-09 Tracie Sucharski - Add new public slot refresh to handle the ignorePoints and deletePoints from the QnetNavTool.
2008-12-09 Tracie Sucharski - Cleaned up some signal/slot connections between QnetTool and QnetNavTool for deleting or adding ControlPoints.
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-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.
2016-09-26 Makayla Shepherd - Changed the logic for determining the radius source when there is not a radius source already open.
2012-10-05 Tracie Sucharski - Re-factored most of this method, attempting to clean up logic, error checking and recovery.
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.
2011-11-04 Steven Lambright - Improved advanced stretch to allow all stretches to be changed despite combo box. References #567.
2011-03-22 Sharmila Prasad - Add option to stretch All Bands
2010-12-02 Eric Hyer - changed where stretchChipViewport is emitted.
2010-12-01 Steven Lambright - Improved stretch copy abilities
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-05-20 Steven Lambright - Re-enabled the advanced stretch... without a viewport map!
2010-04-08 Steven Lambright - Fixed access of viewport data for statistics
2010-04-08 Steven Lambright - Made to work with threaded viewportbuffer and also removed map to viewport stretches due to synchronization problems.
2010-03-18 Sharmila Prasad - Exception handling and emit warning signal to the Viewportwindow to display warning status on the status bar(Track Tool)
2008-05-23 Noah Hilt - Added RubberBandTool
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.
2018-07-06 Jesse Mapel - Changed call to get the target radius from using the control network to using the Target class. Fixes #5457.
2016-08-10 Jeannie Backer - Added std:: scope to vector to distinguish with boost vectors. References #4163.
2016-04-22 Jeannie Backer - Modified to use cube labels to set ControlNet's target instead of the TargetName. References #3892
2014-05-15 Ian Humphrey - Removed the shortcut from StereoTool to avoid conflict with StretchTool shortcut. Minor corrections for coding standards. Fixes #2086.
2013-05-09 Tracie Sucharski - When deleting (right button) a point, check for empty network immediately print warning and return. References #1493.
2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.
2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object
2015-10-14 Jeffrey Covington - Declared TargetBodyQsp as a Qt metatype for use with QVariant.
2018-04-20 Adam Goins - Added the ctrl+del keyboard shortcut to the TableMainWindow's "Clear Table" menu option. Fixes #4912.
2017-11-13 Adam Goins - Afforded TableMainWindow the ability to toggle between auto resizing columns or setting a specific column size for each column. modified createTable() to set the resize property of the columns to resize automatically based on the content inside of the column. Added resizeColumn() slot and readColumnSettings(). modified writeSettings() to write updated settings on destroy. Fixes #5142.
2017-10-06 Adam Goins - showTable() now calls syncColumns() after it calls this->show() so that it hides the unselected columns appropriately. Fixes #5141.
2016-08-28 Kelvin Rodriguez - writeSettings now const to match parent and eliminate hidden virtual overload warnings in clang. Part of porting to OS X 10.11
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.
2012-06-18 Steven Lambright - Gave the mac toolbar an object name for saving and restoring state. Fixes #851."
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.
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-06-25 Noah Hilt - Fixed the delete rows method to search the entire row for values, rather than just the first column.
2008-06-12 Noah Hilt - Changed the save/load functions to work with blank entries.
2017-10-06 Adam Goins - showTable() now calls syncColumns() after it calls this->show() so that it hides the unselected columns appropriately. Fixes #5141.
2017-10-06 Adam Goins - showTable() now calls syncColumns() after it calls this->show() so that it hides the unselected columns appropriately. Fixes #5141.
2010-09-23 Eric Hyer - Tab's parent is now QAction
2010-09-23 Eric Hyer - Parent class now QAction, not QToolButton
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.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2015-08-07 Makayla Shepherd - No longer crashes when the user attempts to apply a stretch while the cube is still loading. This crash was caused by an unhandled exception being thrown in a connected slot. Fixes #2117.
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.
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-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.
2013-01-24 Steven Lambright - Fixed positioning of portal/interpolator used when reading DN data to create a plot. Fixes #997.
2012-11-30 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection instead of Projection. References #775.
2011-07-03 Steven Lambright - Added options for plotting meters/kilometers on the x-axis instead of just pixel number. Fixes #853.
2011-09-20 Steven Lambright - Now handles NULL statistical values when graphing by not displaying them. Fixes #234.
2011-03-18 Sharmila Prasad - Connect the viewport's close signal
2010-11-08 Eric Hyer - Spacial plot now handles linked images.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues (many still remain!).
2009-01-29 Steven Lambright - Added RotatedRectangle to the spatial plot
2008-09-05 Stacy Alley allowed spectral plotting of a single point.
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2014-07-31 Ian Humphrey - Added What's This help for SpatialPlotTool. References #2089.
2018-10-03 Tracie Sucharski - Fixed problem in constructor with cube being set before member data was initialized. Fixed the computation for surfacePointSource and radiusSource. References #5504.
2018-09-21 Tracie Sucharski - Serial number is composed on construction and is always the filename.
2018-09-10 Tracie Sucharski - Added surface point source and radius source along with access methods.
2016-10-21 Tracie Sucharski - Add Image to the Shape class. This was done because the qmos class expect Images, and we want to display a footprint of a Shape.
2018-07-26 Tracie Sucharski - Reformated the widget to get rid of fixed sizes and use layouts to handle sizing instead. Also put entire widget in a scrolled area.
2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open source images. Fixes #5105.
2014-07-31 Ian Humphrey - Removed ConfigurePlotMenuOption for scatter plot window. References #2089.
2014-06-23 Ian Humphrey - Modified hard coded /usgs/cpkgs/ paths to relative pathnames. Fixes #2054.
2010-05-18 Jeannie Walldren - Modified Point ID QInputDialog to return if "Cancel" is clicked.
2010-05-11 Tracie Sucharski - Moved the creation of control net to the StereoFileTool::open.
2007-06-12 Tracie Sucharski - Added method to allow user to run on new files.
2012-06-29 Steven Lambright - Improved handling of special pixels so that they are reported correctly. Fixes #199.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
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.
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.
2011-09-20 Steven Lambright - Now handles NULL statistical values when graphing by not displaying them. Fixes #234.
2011-03-18 Sharmila Prasad - Connect the viewport's close signal
2010-11-08 Eric Hyer - Spacial plot now handles linked images.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues (many still remain!).
2009-01-29 Steven Lambright - Added RotatedRectangle to the spatial plot
2008-09-05 Stacy Alley allowed spectral plotting of a single point.
2012-06-28 Steven Lambright - Now applies to new viewports
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Also fixed some include issues.
2008-06-09 Noah Hilt - Added settings to read and write default colors for special pixel values.
2018-01-18 Summer Stapleton - Modified the default interpolation mode to "Nearest Neighbor". Fixes #1949, 5257.
2018-01-12 Summer Stapleton - Prevented lengths of zero for the rotated rectangle selection to address segfault. Fixes #4953.
2016-09-14 Tracie Sucharski - Added signals for mouse clicks for modifying, deleting and creating control points. These are passed on to Directory slots.
2018-07-31 Tracie Sucharski - Add accessor method for ImageFileListWidget.
2018-07-12 Tracie Sucharski - Renamed m_controlNetTool to m_controlNetToolAction to be clear it is not a pointer to the tool. Add a call to the MosaicControlNetTool::loadNetwork in enableControlNetTool.
2018-07-09 Tracie Sucharski - Serialize the objectName for this view so that the view can be re-created with the same objectName for restoring the project state. Qt's save/restoreState use the objectName. Remove sizeHint method which is now taken care of in the parent class, AbstractProjectItemView.
2018-06-25 Kaitlyn Lee - When multiple views are open, there is a possibility of getting ambiguous shortcut errors. To counter this, we enable/disable actions. On default, actions are disabled until a user moves the cursor over the view. When a user moves the cursor outside of the view, the actions are disabled.
2018-06-13 Kaitlyn Lee - Since views now inherit from QMainWindow, each individual view has its own toolbar, so having getters that return toolbar actions to fill the toolbar of the IpceMainWindow are unnecessary. Removed methods that returned menu and toolbar actions. Added enableControlNetTool(bool) so when an active control net is set, the tool becomes enabled.
2018-06-08 Tracie Sucharski - Remove deletion of m_window from destructor. This member variable no longer exists.
2018-05-30 Summer Stapleton - updated the view to remove QMainWindow constructor, include a central widget and to remove layout capacity. This change was made to adjust to parent class now inheriting from QMainWindow instead of QWidget. References #5433.
2018-05-14 Tracie Sucharski - Serialize Footprint2DView rather than MosaicSceneWidget. This will allow all parts of Footprint2DView to be saved/restored including the ImageFileListWidget. Fixes #5422.
2017-08-02 Tracie Sucharski - Fixed connections between views for control point editing. Fixes #5007, #5008.
2017-07-27 Makayla Shepherd - Fixed a segfault that occurred when closing a cube footprint. Fixes #5050.
2017-07-18 Cole Neubauer - Moved creation of the ImageFileListWidget into Footprint2DView to more mirror the Qmos window. Fixes #4996.
2017-02-06 Tracie Sucharski - Added status bar for the track tool. Fixes #4475.
2016-10-20 Tracie Sucharski - Added back the capability for choosing either a new view or using an existing view.
2018-08-10 Tracie Sucharski - Added new slot connected from ProjectItemProxyModel's itemsAdded signal which is emitted after all selected items have been added to the proxy model. The images are added to a new private member as each item is added to the model through the slot, onItemAdded. This allows the FootprintView to put all selected items into the scene widget at once rather than individually which speeds the display of footprints. Fixes #5296.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-06-27 Ian Humphrey - Minor updates to documentation, checked coding standards. Fixes #4004.
2016-03-23 Makayla Shepherd - Added a check on the latitude entered that caused an error message to pop up continuously. Fixes #2130.
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.
2013-01-10 Steven Lambright - Improved sync scale calculations to work in more cases. Fixes #953.
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?
2011-11-01 Steven Lambright - Explicitly wrote out and fixed equations for sync scale. Fixes #205
2011-09-28 Steven Lambright - The last change would zoom the active viewport. This no longer happens. References #205
2011-09-22 Steven Lambright - Sync scale with projections now uses a better guess for the equivalent scale. Fixes #205.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Also fixed include issues.
2017-08-10 Tyler Wilson - Changed some code in addToHistory function which was causing a segfault. This is a bandaid fix which addresses the immediate problem, but will have to be tackled in a future ticket. Fixes #5096. References #4492.
2017-07-24 Cole Neubauer - Added check in addToHistory() to check if a WorkOrder should be added to the HistoryTree Fixes #4715
2017-04-05 Tracie Sucharski - For the last change, method name was changed from onUndoStack to isUndoable.
2017-02-06 Tracie Sucharski - Work orders that are not on the QUndoStack are greyed out and italicized.
2012-07-31 Kimberly Oyama - Added comments to some of the methods.
2012-07-27 Kimberly Oyama and Steven Lambright - Added resizeEvent() and improved implementation of refit().
2012-07-23 Steven Lambright and Stuart Sides - Added display of undo stack
2012-07-23 Steven Lambright - Added/fixed documentation, improved implementation of addToHistory to look for alternative text/not display blank items.
2016-07-06 Adam Paquette - Fixed the histogram tool to analyze the appropriate pixels selected when using box banding
2016-04-28 Tracie Sucharski - Removed qwt refernces to merge with Qt5 library changes.
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.
2016-06-15 Jesse Mapel - Added documentation in preparation for merge from IPCE to ISIS. Fixes #4005.
2016-06-08 Tyler Wilson - Added documentation to many of the member functions, and cleaned up the formatting. Fixes #3997.
2016-06-08 Tyler Wilson - Added documentation to many of the member functions, and cleaned up the formatting. Fixes #3997.
2016-06-08 Tyler Wilson - Added documentation to some functions and corrected the formatting. Fixes #3997. @hitsory 2018-07-12 Summer Stapleton - Added m_instrumentId and instrumentId() in order to collect the InstrumentId from the original cube label for comparisons related to image imports in ipce. References #5460.
2015-10-14 Jeffrey Covington - Declared GuiCameraQsp as a Qt metatype for use with QVariant.
2012-05-24 Steven Lambright - Just close the main window. This should handle everything automatically.
2011-07-28 Steven Lambright - Now connects to the buttons' clicked signals instead of pressed, clicked is the appropriate signal. Fixes #270
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.
2008-01-18 Stacy Alley - Changed the constructor to accept a QStringList which serves as the default filters for the file dialog boxes.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972
2012-06-26 Kimberly Oyama - Minor refactoring in the findMissingNomenclature() method. References #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.
2016-05-23 Ian Humphrey - Modified runQuery() to correctly send POST request to find the features for the feature nomenclature tool (Qt5).
2012-06-06 Steven Lambright and Kimberly Oyama - Added approval status to the list of characteristics of the feature and added the accessor (status()). Fixes #852. Fixes #892.
2018-01-05 Cole Neubauer - The URL for request was moved. Updated the URL to the new URL and added an error to be thrown if it is moved again Fixes #4963.
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-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.
2017-08-11 Adam Goins - Added a line of code to recreate a cube with "r" permissions attempting to open it with "rw" permission failed. This fixes an issue where the cube would segfault if it was being edited without "w" permission. Fixes # 2097
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.
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.
2010-11-15 Eric Hyer - valid rectangle dimensions for banding must now be >= 1 instead of >= 5
2010-05-06 Eric Hyer - Class redesigned to work with new CubeViewport
2010-03-24 Sharmila Prasad - Enable FindTool for no camera and/or projection image
2010-03-08 - Jeannie Walldren - The recordAction() slot and recordPoint() signal were created to connect in qview to the AdvancedTrackTool record() slot.
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.
2008-06-25 Noah Hilt - Switched positions of the sample/line line edits and labels.
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 only for Image Point (lines and Samples)
2010-05-06 - Eric Hyer - Modified to work with new design of this class
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 - This method now also updates the line edits within the dialog.
2010-03-24 Sharmila Prasad - Enable FindTool for no camera image & display status as "None"
2017-06-07 Christopher Combs - Changed saveAsEnlargedCube's catch block to stack errors and give a more accurate error message.
2016-09-14 Ian Humphrey - Modified exportView() and print()- replaced deprecated static QPixmap::grabWidget with QWidget::grab to remove deprecation warnings from stdout when using File->Print or File->Export View. References #4304.
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
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.
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-07 Tracie Sucharski - Added AlphaCube to output cube for saving the full resolution viewport image. Fixes # 706.
2012-06-04 Steven Lambright - Fixed a problem with the save button. References #854.
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-02-01 Sharmila Prasad - Fixed bug #0000681 - reduce in ISIS 3.3.0 is ignoring the +N band identifier
2011-05-11 Sharmila Prasad - Added SaveAsDialog to select the output cube and options to save FullImage, ExportAsIs, ExportFullRes
2011-04-05 Sharmila Prasad - Added SaveInfo option to save the current cubeviewport's whatsthis info
2010-06-26 Eric Hyer - Now uses MdiCubeViewport
2017-05-04 Ian Humphrey & Makayla Shepherd - Removed connection handling deleting the bundle adjust later. This prevents a segfault from occuring when the bundle adjust was accessed in the acceptBundleResults() slot, Since its memory may have been deleted by then. Now manually managing the memory for m_bundleAdjust. Fixes #4849.
2017-05-04 Ian Humphrey & Makayla Shepherd - Updated acceptBundleResults() to concurrently save the bundled images (ecub's) to the project. Fixes #4804, #4837.
2017-04-27 Ian Humphrey - Modified to track the last used control net to properly update the jigsaw setup dialog's cnet combo box. References #4817.
2017-04-26 Ian Humphrey - Added updateScrollBar() and clearDialog() to reduce code duplication. Modified the run clicked slot to clear the dialog display anytime that a bundle adjust is re-ran. Fixes #4808.
2017-04-25 Ian Humphrey - Updated the setup clicked slot to load the current settings into the setup dialog if we are not using the last (most recent) settings in the project. Fixes #4817.
2017-04-18 Tracie Sucharski - Write the updated control net to the runtime folder under results folder. Fixes #4783.
2017-04-18 Ian Humphrey - Added members for an Accept, Reject, and Close button to determine when to save a successful bundle adjust's results to the project (or when to discard the results). Added placeholder private slots for accepting and rejecting the results. Removed default OK and Cancel buttons from UI file. Fixes #4781.
2017-04-17 Ian Humphrey - Added second constructor that can be used when the JigsawWorkOrder initially creates a setup dialog so it can pass information to this dialog. Added init() delegate method for constructors to use to reduce code duplication. Modified notifyThreadFinished to update the Run button. References #4748.
2015-09-03 Jeannie Backer - Modified to create JigsawSetupDialog object using the value for the useLastSettings checkbox. When the Run button is clicked, the run time will now be used to create a uniquely named directory to contain the output files for the bundle solution.
2015-02-20 Jeannie Backer - Replaced BundleResults references with BundleSolutionInfo and BundleStatistics references with BundleResults due to class name changes.
2014-09-18 Kimberly Oyama - Added code to thread the bundle run. It is currently commented out but it works.
2017-08-04 Marjorie Hahn - Added Bring to Front, Bring Forward, Send to Back, Send Backwards, and Zoom Fit actions. Fixes #5055.
2017-04-07 Makayla Shepherd - Renamed syncRedo() to execute() and syncUndo() to undoExecution() according to the WorkOrder redesign.
2016-06-08 Jesse Mapel - Added documentation. Fixes #3995.
2012-10-02 Stuart Sides and Steven Lambright - Removed ZoomFit Action
2012-09-17 Steven Lambright - Added warning to show labels
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.
2018-01-04 Tracie Sucharski - Changed all serialization to save relative paths so that projects can be moved to new locations. Fixes #5276.
2017-12-08 Tracie Sucharski - Changed save to only copy images if project is saved to a new location.
2017-11-01 Ian Humphrey, Tracie Sucharski - Add dataRoot parameter to the XmlHandler, during serialization check if images are in results/bundle area and set the dataRoot appropriately. Changed project name to new project root in serialization method because the project name is not changed to new project until it is re-opened. Fixes #4849.
2017-06-08 Makayla Shepherd - Modified ImageList(QStringList &) to close the image cubes after adding them to the list. Fixes #4908.
2016-09-19 Tracie Sucharski - Changed serialNumberList method to return a shared pointer. TODO: Currently, serialNumberList created the list on the fly. For speed, this needs to change so that when the ImageList changes, update the serial number list.
2014-07-23 Jeannie Backer - Added selectedControlName(). Commented out degree combo box enable calls.
2018-06-01 Christopher Combs - Added support for ui changes, exclusive options and input validators.
2018-03-19 Ken Edmundson - Added bundle output control network file name. Added method on_controlNetworkComboBox_currentTextChanged to update the output control network filename when the input control network selected filename changes. E.g. if input control net name is fred.net, the output filename QLineEdit is automatically changed to fred-out.net. The user can always manually change the output control net name to anything they choose.
2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open source images. Fixes #5105.
2017-06-07 Ian Humphrey - Modified fillFromSettings() so when the weightings are loaded into the text line edits they are set to modified, which allows for proper restoring of user defined weightings.
2017-05-23 Tracie Sucharski - Added a QGroupBox for the target parameters so that the box can be disabled/enabled rather than each parameter separately.
2017-05-16 Tracie Sucharski - Comment qDebug statements.
2017-04-27 Ian Humphrey - Added selectControl() to allow JigsawRunWidget to properly tell the setup dialog which control to select in its combo box. References #4817.
2017-04-25 Ian Humphrey - Added public loadSettings() to allow JigsawRunWidget to load its current settings into the setup dialog. Fixes #4817.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2016-08-18 Jeannie Backer - Removed all references to deprecated solve methods SpeckialK and OldSparse. References #4162.
2015-09-03 Jeannie Backer - Updated to be more compliant with ISIS coding standards. Changed condition of if-statements for QLineEdit::setText for the global a priori sigma variables from less than zero to !IsNullPixel for consistency with bundle classes.
2015-02-20 Jeannie Backer - Replaced BundleResults references with BundleSolutionInfo and BundleStatistics references with BundleResults due to class name changes.
2014-07-16 Jeannie Backer - Use MaximumLikelihoodWFunctions static method to convert string to Model enum.
2018-07-26 Tracie Sucharski - Reformated the widget to get rid of fixed sizes and use layouts to handle sizing instead. Also put entire widget in a scrolled area.
2018-06-15 Christopher Combs - Implemented "Write detached labels" checkbox. made changes to on_JigsawAcceptButton_clicked to reflect this.
2018-06-14 Christopher Combs - Made changes according to new design mockup. Added status bar, control net info, and rms adj point sigmas sections. Removed buttons for close and reject. Now inherits from QDockWidget instead of QFrame, and handles close event if a bundle is running.
2018-05-31 Christopher Combs - Name changed from JigsawDialog to JigsawRunWidget. Now inherits from QFrame instead of QDialog. Added support for new workflow in which JigsawSetupDialog is only ever called from a button on this widget. Fixes #5428.
2018-05-22 Ken Edmundson - Modified init() method to not set m_BundleSolutionInfo to NULL because JigsawDialog no longer owns it. Modified destructor to not delete m_BundleSolutionInfo or set it to NULL. Note this is NOT ideal, m_BundleSolutionInfo should be a QSharedPointer, not a raw pointer.
2018-03-22 Ken Edmundson - Added member variable QString m_outputControlName. Added argument QString outputControlFileName to constructor. Modified acceptBundleResults method to take output control network filename from the JigsawSetupDialog.
2017-11-01 Ian Humphrey - Create ecubs in the bundle results directory which contain updated SPICE. Fixes #4804, #4849.
2017-07-27 Cole Neubauer - Added a project->setClean call if the bundle results are accepted. Fixes #4960
2017-06-14 Ken Edmundson - Write text summary file.
2017-05-16 Tracie Sucharski - Disable Close button if jigsaw has been run, force selection of accept or reject. Once a choice has been made, re-enable the Close button.
2011-09-27 Steven Lambright - Improved user documentation
2011-08-29 Steven Lambright - Reworded save file list export action, references #342
2011-08-12 Steven Lambright - Added export options, references #342
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.
2012-06-12 Ken Edmundson - Made DisplayProperties a base class, derived ControlNetworkDisplayProperties and ImageDisplayProperties from it.
2012-04-13 Steven Lambright, Stuart Sides, Ken Edmundson, Tracie Sucharski - Renamed CubeDisplayProperties to DisplayProperties and reduced functionality to just DisplayProperties.
2011-05-18 Steven Lambright - Fixed the second constructor
2011-05-11 Steven Lambright - Added accessors for data that is complicated to get or expensive (i.e. Camera statistics and the footprint).
2018-10-03 Tracie Sucharski - Added constructor which takes cube and a calculated footprint. This was done for ipce imported shapes which do not contain a footprint. References #5504.
2018-07-02 Ian Humphrey - Changed serialNumber() implementation to follow how observationNumber() is implemented. This ensures that any calls after the first call to these methods are O(1) and are not bottlenecekd by any file I/O that occurs in the Compose() methods. References #497.
2018-06-30 Ian Humphrey - Added observationNumber() method so anything that grabs an Image ProjectItem can easily get both the serial number and observation number now. References #497.
2017-10-11 Summer Stapleton - Removed path to instrumentId and spacecraftName in the startElement method. Fixes #5179.
2016-06-22 Tyler Wilson - Added documentation to member functions/variables. Fixes #3950.
2015-09-05 Kenneth Edmundson - Added preliminary target body information (re: the member variables QString m_instrumentId (the instrument ID of the image), SpiceInt * m_bodyCode (the NaifBodyCode value if it exists in the labels), and QString m_spacecraftName (the Spacecraft name associated with this image).
2014-09-05 Kimberly Oyama - Added the serialNumber() function which returns the cube's serial number.
2015-10-14 Jeffrey Covington - Declared Image * as a Qt metatype for use with QVariant.
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.
2012-10-02 Steven Lambright - Added support for camera statistics information that used to be in CubeDisplayProperties (a class that no longer exists).
2011-05-18 Steven Lambright - Fixed the second constructor
2011-05-11 Steven Lambright - Added accessors for data that is complicated to get or expensive (i.e. Camera statistics and the footprint).
2018-06-28 Makayla Shepherd - Restored the ProgressBar. Fixes #5228.
2018-04-07 Tracie Sucharski - Added method to force a history entry using a string rather than a WorkOrder. This should be a temporary method until saving a control is turned into a WorkOrder. This was done for the alpha release simply to notify the user that the control was saved. However, this history entry is not saved/restored to a project.
2017-11-08 Tyler Wilson - Reverted the code change in #5096 to restore the ProgressBar, and changed code in OpenRecentProjectsWorkOrder.cpp to prevent the segfault which #5096 was addressing. Fixes #5149.
2014-06-13 Tracie Sucharski - Added serialNumberList method.
2014-01-08 Tracie Sucharski - Added layer re-ordering connections to all images in list instead of just the first image. Fixes #1755.
2012-10-02 Steven Lambright - Added phase angle, aspect ratio, sample resolution, line resolution and north azimuth columns, added setColumnValue().
2011-05-18 Steven Lambright - Resolution now sorts correctly
2013-07-02 Tracie Sucharski - Restored old qmos functionality for inserting new groups and fixed bug dragging and dropping groups. Fixes #1697.
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-03-19 Steven Lambright - Added setDefaultFileListCols() and set column defaults in constructor.
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).
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.
2018-07-09 Tracie Sucharski - Serialize the objectName for this view so that the view can be re-created with the same objectName for restoring the project state. Qt's save/restoreState use the objectName.
2018-05-15 Tracie Sucharski - Fixed xml serialization for Ipce project saves. Fixes #5422.
2017-08-22 Cole Neuabuer - Added ability to search ImageFileListWidget. Fixes #1556
2017-07-18 Cole Neubauer - Added removeImages slot to be able to remove from the ImageFileList in IPCE Fixes #4996
2016-09-14 Ian Humphrey - Modified getLongHelp() - replaced deprecated static QPixmap::grabWidget with QWidget::grab (Qt5). Fixes #4304.
2016-06-07 Makayla Shepherd - Updated documentation. Fixes #3962.
2016-04-28 Tracie Sucharski - Modified to use Qt5 and v006 libraries.
2014-09-05 Kim Oyama - Modified XmlHandler::startElement and save().
2013-06-17 Jeannie Backer, Tracie Sucharski, and Stuart Sides - replaced setDefaultFileListCols() with actions() to call setDefaultFileListCols() from ImageTreeWidget.
2013-03-19 Steven Lambright - Added setDefaultFileListCols().
2012-10-02 Steven Lambright - Added context menu to show/hide the various columns
2012-09-12 Steven Lambright - Added save/load from XML capabilities.
2018-05-08 Tracie Sucharski - When saving active control, reset the "Save Net" button to black in the ControlPointEditorWidget.
2018-08-08 Tracie Sucharski - Removed makeBackupActive slot which was a temporary autosave of active control, most likely causing problems with large networks.
2018-07-13 Kaitlyn Lee - Added connection to color the save net button to black when a cnet is saved. Added signal activeControlModified() and changed connections that alerted views to redraw themselves when a cnet was modified. Now, views will only be redrawn when activeControlModified() is signaled, instead of cnetModified(). This stops views from being redrawn when any cnet is modified, but still occurs when the active is modified. Fixes #5396.
2018-07-12 Kaitlyn Lee - Changed connection between cnetModified() and project's activeControlModified() to cnetModified() and project's renamed method cnetModified(). This will allow users to save a nonactive cnet, since changes to multiple cnets will be connected. Fixes #5414.
2018-07-12 Tracie Sucharski - Renamed viewClosed signal to closeView. Moved the close/open control net from reloadActiveControlInCnetEditorView to Project::setActiveControl to prevent seg fault when there are multiple cnetEditorViews with same cnet.
2018-07-09 Kaitlyn Lee - Uncommented code that closes a ControlPointEditView when a new active control is set.
2018-07-09 Tracie Sucharski - When adding views, check if the objectName is set which it should be when creating a view from a project serialization. If the objectName has not been set, this is a new view and the unique objectName needs to be created.
2018-07-07 Summer Stapleton - Implemented changes to handle implementation of separate import work orders for both map and registration templates.
2018-06-19 Adam Goins - Gave the ControlHealthMonitorView() a reference to the directory instance rather than the activeControl. Fixes #5435.
2018-06-18 Summer Stapleton - Added connection to each view on creation to catch a windowChangeEvent on moveEvent or resizeEvent of these views to allow for saving of the project at these times. Fixes #5114.
2018-06-13 Kaitlyn Lee - The signal activeControlSet() in addCubeDnView() and addFootprint2DView() now connects to enableControlNetTool() in CubeDnView and Footprint2DView, instead of enabling the tool directly. Removed saveActiveControl() since users can save the control network with the project save button.
2018-06-07 Adam Goins - Added the addControlHealthMonitorView() method to directory. Fixes #5435.
2018-05-25 Christopher Combs - Made changes to reflect updates to JigsawRunWidget. Added addJigsawView method and m_jigsawRunWidget member variable. Fixes #5428.
2018-05-14 Tracie Sucharski - Serialize Footprint2DView rather than MosaicSceneWidget. This will allow all parts of Footprint2DView to be saved/restored including the ImageFileListWidget. Fixes #5422.
2018-04-04 Tracie Sucharski - Created CnetEditorView class to use to add to QMdiArea instead of a CnetEditorWidget. This way there is no longer a disconnect between what has been added to the QMdiArea and what is stored in m_cnetEditorViewWidgets.
2018-04-02 Tracie Sucharski - Cleanup m_controlPointEditViewWidget pointer when the ControlPointEditView is deleted. Added slot to reload the active control net in cneteditor view, effectively discarding any edits. This was done because there is no way to re-load a control net in the CnetEditor widget classes.
2018-03-30 Tracie Sucharski - Use the Control::write to write the control net to disk instead of directly calling ControlNet::Write, so that the Control can keep track of the modified status of the control net. Connect cnetModified signal to Project::activeControlModified so modified state of the active control can be set so project knows that control has unsaved changes.
2018-03-14 Tracie Sucharski - Changed MosaicControlNetTool to ControlNetTool in addCubeDnView. Added method controlUsedInCnetEditorWidget so Project knows whether it is safe to close a control net when a new active is set. References #5026.
2018-03-14 Ken Edmundson - Modified m_controlMap value from QWidget to CnetEditorWidget and changed connection to take signal from a CnetEditorWidget instead of a QWidget for destruction of CnetEditorWidgets. Added ability to view bundleout.txt file in method addBundleObservationView.
2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and TemplateEditViewWorkOrder. Fixes #5168.
2017-12-01 Adam Goins Modified updateRecentProjects() to update the recent projects menu it display a chronologically ordered list of recently loaded projects. Fixes #5216.
2017-12-01 Summer Stapleton - Commented-out RemoveImagesWorkOrder being created. Fixes #5224
2017-11-13 Makayla Shepherd - Modifying the name of an ImageList, ShapeList or BundeSolutionInfo on the ProjectTree now sets the project to not clean. Fixes #5174.
2017-11-09 Tyler Wilson - Made changes to updateRecentProjects() to handle deleting the OpenRecentProjectWorkOrder. Fixes #5220.
2017-11-03 Christopher Combs - Added support for new Template and TemplateList classes. Fixes #5117.
2017-11-02 Tyler Wilson - Added the updateRecentProjects() function which updates the Recent Projects file menu with recently loaded projects. Fixes #4492.
2017-07-26 Makayla Shepherd - Fixed a crash that occurs when a failed image import is undone. Fixes #5043.
2017-07-13 Makayla Shepherd - Added isExecutable(ProjectItem) to allow for importing in the context menu. Fixes #4968.
2017-07-25 Cole Neubauer - Added project()->setClean call Fixes #4969
2017-05-01 Ian Humphrey - Updated undoExecution() so when undone, the imported cnet(s) are removed from the project tree. Fixes #4597.
2017-04-04 Makayla Shepherd - Combined syncRedo and asyncRedo into execute, changed execute to setupExecution, and renamed postSyncRedo to postExecution and undoSyncRedo to undoExecution. This was done to match the WorkOrder redesign. Fixes #4716.
2012-09-11 Tracie Sucharski and Steven Lambright - Added asynchronous functionality for redo.
2017-11-02 Tyler Wilson - Added a null pointer check for the images variable in isExecutable to prevent potential seg faults. References #4492.
2017-08-11 Cole Neubauer - Removed isUndoable and set parent member variable Fixes #5064
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2017-04-07 Makayla Shepherd - Removed syncUndo(), added isUndoable(), and renamed syncRedo() to execute() according to the WorkOrder redesign.
2017-11-02 Tyler Wilson - Added a null pointer check for the shapes variable in isExecutable to prevent potential seg faults. References #4492.
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-04-10 Tracie Sucharski - Refactor for the new WorkOrder design, renaming execute to setupExecution, and moving the actual work to the execute method.
2016-02-06 Tracie Sucharski - Made this WorkOrder not undo-able by calling setUndoRedo to false on parent class, and removing syncRedo and syncUndo. The work is now done in the execute method. Fixes #4598.
2016-10-21 Tracie Sucharski - Added support for ShapeLists. Added back the capability for choosing either a new view or using an existing view.
2016-06-27 Ian Humphrey - Updated documentation and coding standards for AbstractProjectItemView, ControlMeasureEditWidget, ControlPointEditWidget, CubeDnView, Footprint2DView. Updated includes for CubeDnViewWorkOrder and Footprint2DViewWorkOrder. Fixes #4004.
2016-06-06 Makayla Shepherd - Updated documentation. Fixes #3954.
2016-01-08 Jeffrey Covington - Updated for new Footprint2DView, syncUndo() was removed, and execute now uses WorkOrder's execute() method
2017-11-02 Tyler Wilson - Added a null pointer check on the images variable in isExecutable to prevent potential seg faults. References #4492.
2018-03-30 Tracie Sucharski - Copy the control net instead of writing. This will be faster and will prevent another control net from being read into memory.
2018-03-13 Tracie Sucharski - Added Undo text to prevent runtime warning. Also correct redmine ticket number in previous history entry.
2017-11-02 Tyler Wilson - Added a null pointer check on the controls variable in isExecutable to prevent potential seg faults. References #4760.
2017-05-01 Tyler Wilson - Modified the setupExecution() function so that it no longer causes a segmentation fault when the user attempts to export a control network from the file menu. Fixes #4760.
2012-09-19 Steven Lambright - Re-implemented workOrders(ImageList *) into a generic templated version. Added m_workOrders and createWorkOrder().
2016-12-21 Tracie Sucharski - Added QObject parameter to cleanupFootprint2DViewWidgets. All footprint views were being destroyed rather than simply the view which was closed. TODO: This also needs to be fixed for all other cleanup(View) methods.
2016-11-10 Tracie Sucharski - Added functionality to save/restore CubeDnViews.
2016-11-07 Ian Humphrey - Restored saving and loading Footprint2DViews when saving and opening a project (modified save() and startElement()). Fixes #4486.
2016-09-14 Tracie Sucharski - Added slots for mouse clicks on Footprint2DView and CubeDnViews for modifying, deleting and creating control points.
2016-08-02 Tracie Sucharski - Added RemoveImagesWorkOrder.
2016-07-06 Tracie Sucharski - Added ImportShapesWorkOrder, changed ControlNetEditor to ControlPointEditView.
2016-06-17 Tyler Wilson - Added documentation for member functions/variables.
2016-01-04 Jeffrey Covington - Added support for CubeDnView and Footprint2DView, replacing old classes.
2015-10-05 Jeffrey Covington - Added a ProjectItemModel and the addProjectItemTreeView() method to start supporting Qt's model-view framework.
2014-07-14 Kimberly Oyama - Updated to better meet programming standards. Added support for correlation matrix.
2012-10-03 Steven Lambright - Added 'All' option generation in restructureActions()
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.
2017-02-08 Tracie Sucharski - Implemented quick&dirty auto-save for active control net.
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-08-28 Tracie Sucharski - Instead of this class adding tabs to a TabWidget, it now emits a signal which is connected to ipceMainWindow to create a new dock widget. This class no longer needs the viewContainer since it is not adding tabs.
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).
Adam Goins 2017-11-27 - Updated this function to add the most recent project to the recent projects menu. References #5216.
Tyler Wilson 2017-10-17 - This function updates the Recent Projects File menu. References #4492.
2017-11-02 Tyler Wilson - Added null pointer checks for the ImageList *images and ShapeList *shapes variables in their respective isExeuctable() methods to prevent potential seg faults. References #4492.
2017-08-11 Cole Neubauer - Removed isUndoable and set parent member variable Fixes #5064
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2017-04-06 Makayla Shepherd - Added isUndoable, and renamed execute() to setupExecution(), and syncRedo() to execute() according to the WorkOrder redesign.
2016-11-02 Makayla Shepherd - Changed the display text from View Raw Cubes to Display Images. Fixes #4494.
2016-09-09 Tracie Sucharski - Put option to choose either creating a new view or adding images to an existing view.
2017-07-18 Cole Neubauer - Because the ImageFileListWidget now exists only inside the Footprint2DView the ImageFileListWidgetWorkOrder was removed from the context menu Fixes #4996
2017-08-18 Tracie Sucharski - Removed deletion of control net from ::makeBackupActiveControl, don't know why it was being deleted.
2017-08-15 Tracie Sucharski - Added comments explaing connections for control point editing actions between views.
2017-08-14 Summer Stapleton - Updated icons/images to properly licensed or open source images. Fixes #5105.
2017-08-11 Cole Neubauer - Added project setClean(false) call to all views cleanup slot. This will make a a view closing be treated as a project change Fixes #5113
2017-08-11 Christopher Combs - Added serialization of CnetEditorWidgets to save() and startElement(). Fixes #4989.
2017-08-09 Cole Neubauer - Disabled Ipce tool when a CubeDnView is added if a control net is not active and slotted to reenable when Project emits activeControlSet(bool). Added a m_controlmap variable to hold which Controls are currently being used and closes the controls not needed at the moment Fixes #5026
2017-08-08 Makayla Shepherd - Fixed a seg fault that occurs when right clicking a control network when it is the only item on the project. Fixes #5071.
2017-08-08 Makayla Shepherd - Fixed a seg fault that occurs when trying to edit a control net without having an active control net set. Fixes #5048.
2017-08-07 Cole Neubauer - Changed all references from IpceTool to ControlNetTool Fixes #5090
2017-08-02 Tracie Sucharski - Add member variable and accessor method for the current edit control point ID. Fixes #5007, #5008.
2017-07-26 Cole Neubauer -Set save button to default be disabled Fixes #4960
2017-07-24 Makayla Shepherd - Fixed a seg fault in ipce that occurs when attempting to edit a control point when there is not an active control network. Fixes #5048.
2017-07-17 Cole Neubauer - Disabled CNet tool when a Footprint2DView is added if a control net is not active and slotted it to reenable when Project emits activeControlSet(bool). Fixes #5046. Fixes #5046
2017-07-12 Cole Neubauer - Added clean function to directory that clears everything from a previous project when opening a new one. This functionality had to be added because a new directory can not be created to support a new project being opened. Fixes #4969
2017-07-10 Tracie Sucharski - Removed deletion of m_controlPointEditViewWidget. Because it is a QPointer, it is set to null when ControlPointEditView is destroyed. Currently, cleanupControlPointEditViewWidget is not doing anything. However, I'm leaving the method for now, because once the views are connected, we will probably need to cleanup the connections when the view is closed. Fixes #4959.
2017-06-14 Ken Edmundson - Commented out ChipViewport widget code. This will be temporary until the widget is fully developed.
2017-05-23 Tracie Sucharski - Fixed all of the cleanup methods to properly remove the correct view/widget from the lists. Fixes #4847.
2017-05-18 Tracie Sucharski - Added serialNumber to the modifyControlPoint slot.
2017-05-03 Tracie Sucharski - Added methods and member variables for the BundleObservationView. Fixes #4839. Fixes #4840.
2017-04-25 Ian Humphrey - Modified initializeActions() so that the jigsaw work order is enabled whenever there are both images and cnets in the project. Otherwise, it is disabled until then. Fixes #4819.
2017-04-17 Ian Humphrey - Modified how ExportControlNet, ExportImages, and Jigsaw WorkOrder's are added to the main window menu. These are disabled by default, and connections are setup to listen for when cnets are added, when images are added, and when both an active cnet and image list have been set. Fixes #4749.
2017-04-17 Tracie Sucharski - Added connection between model's projectNameEdited, initiated by double-clicking the project name on the ProjectTreeView and Directory's slot, initiateRenameProjectWorkOrder. Fixes #2295.
2017-02-28 Tracie Sucharski - Added ability to set the colors for the ControlPoint display on views which show ControlPoints such as CubeDnView and Footprint2DView. This is done as an application setting so that all views use the same colors. Directory stores the colors so that any registered view can get the current colors.
2017-02-23 Tracie Sucharski - Removed populateMainMenu method. It became obsolete during changes Jeffrey Covington made on 1-4-2016, rev 6511.
2017-11-08 Ian Humphrey - Modified setupExecution() to check to see if the project::save()'s dialog was cancelled or not to properly trigger the clean state of the project. Fixes #5205.
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-10-20 Cole Neubauer - readded project()->setClean call because project()->open() was changed and this needed to be updated to be recognized as a clean state #5171
2017-08-08 Cole Neubauer - Removed project()->setClean call because project()->open() calls clear() which changes it appropriately, added open call in execution to load the newly saved project #5103
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-04-11 Ian Humphrey - Updated the work order according to the redesign of WorkOrder. Separated setup and execution steps into setupExecution and execution(). Fixes #4763.
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-04-12 Tracie Sucharski - Refactored to match new WorkOrder design, renaming execute to setupExecution, syncUndo to execute, and syncUndo to undoExecution. Fixes #4745.
2012-12-19 Steven Lambright and Stuart Sides - Added isNameValid() and changed execute() to return false if the project name isn't changing, so that the work order is thrown away.
2017-11-13 Summer Stapleton - Changed isExecutable to always return true as there should never be any time that you should not be able to delete an imageList (Import). Fixes #5183
2017-11-02 Tyler Wilson - Added a null pointer check to the images variable in isExecutable to prevent potential seg faults. References #4492.
2017-10-01 Cole Neubauer - Reimplemented remove images count Fixes #4998.
2017-08-08 Marjorie Hahn - Modified execute() to check if the currently selected item to be deleted is actually an image list, so that each image can be removed one by one. Fixes #5074.
2017-07-31 Cole Neubauer - Fixed images not removing correctly Fixes #4998
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-04-16 J Bonn - Updated to new workorder design #4764.
2017-04-07 Marjorie Hahn - Updated method names and documentation to match new work order design.
2017-10-04 Cole Neubauer - Moved ImageList to its own loop so images are deleted first and we avoid the issue of attempting to delete an image that is gone
2017-08-08 Marjorie Hahn - Created a conditional to check if the currently selected item to be deleted is actually an image list, so that each image can be removed one by one. Fixes #5074.
2018-06-14 Makayla Shepherd - Added an else so that when someone cancels the dialog it will cancel properly.
2017-11-09 Tyler Wilson - Made changes to isExecutable() to import functionality needed in OpenRecentProjectWorkOrder into OpenProjectWorkOrder since OpenRecentProjectWorker is being deleted. Fixes #5220.
2017-09-06 Cole Neubauer - Changed execute so it can be used to open a project from the command line Fixes #5174
2017-07-12 Cole Neubauer - In setupExecution added functionallity to open a new project while there is a project currently open. Fixes #4969
2017-04-06 Tracie Sucharski - Refactor for the new WorkOrder design, renaming execute to setupExecution, and moving the actual work to the execute method.
2008-06-19 Noah Hilt - Added methods and signals for saving and discarding changes to the current cube.
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.
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.
2017-08-11 Adam Goins - Added a "vp->cube()->open("r")" call to reopen the cube with "r" permissions if the attempted "rw" permission didn't succeed. Fixes segfault issue if editing is attempted on cube without "w" access. (ref # 2097)
2008-05-23 Noah Hilt - Removed the rectangle and start/end line functionality from the mouseButtonRelease and moved it to the rubberBandComplete method.
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.
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.
2017-11-02 Tyler Wilson - Added a null pointer check on the controls pointer in the isExecutable function to prevent potential seg faults. References #4492.
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2017-04-11 Ian Humphrey - Separated setup and execution of the work order into setupExecution() and execute(). Removed syncRedo() and syncUndo(). Set m_isUndoable to false as work order is not undoable. Fixes #4737.
2016-06-06 Tyler Wilson - Added documentation for the functions and brought the code into compliance with ISIS3 coding standards. References #3944.
2017-10-18 Adam Paquette - Added a logical check in the isExecutable function to check for single images vs image lists. Fixes #5138.
2017-08-03 Cole Neubauer - Created a try catch around a previously unprotected error to handle errors thrown in the workorder that halted execution. Fixes #5026
2017-04-11 Ian Humphrey - Removed isUndoable() and instead set inherited m_isUndoable to false in constructor to indicate it is not undoable. References #4734.
2017-04-05 Ian Humphrey - Added isUndoable() implementation to indicate that this work order is not undoable. Separated setup and execution into setupExecution() and execute(). Fixes #4734.
2017-08-03 Cole Neubauer - Created a try catch around a previously unprotected error to handle errors thrown in the workorder that halted execution. Fixes #5026
2017-01-30 Tracie Sucharski - Print active control in the Undo text. 2017-04-04 Tracie Sucharski - Updated to reflect the new WorkOrder design, renaming execute to setupExecution, and moving the actual work to execute. Fixes #4717, #4728.
2017-01-09 Tracie Sucharski - Moved the SetImages step to the Project::setActiveControl.
2016-09-19 Tracie Sucharski - Call SetImages on the control net to initialize cameras.
2018-07-19 Tracie Sucharski - Changed default button for importing DN data to "No".
2018-07-12 Summer Stapleton - Updated how adding the targets and the gui cameras to the project is handled to address segfault. Instead of creating a camera and a target with every new image imported and adding them if needed, they are now no longer created in the first place except when needed. Fixes #5460.
2018-01-18 Tracie Sucharski - Add the targets and gui cameras to the project. Fixes #5181.
2017-09-26 Tracie Sucharski - In ::importConfirmedImages, pass in the cube pointer to Image constructor rather than the future result. Null out the cube pointer after it is closed in the Image. After output ecub is created reopen created ecub as readOnly. When closing cube, the labels were being re-written because the cube was read/write. This caused a segfault when imported large number of images because of a label template file being opened too many times. Uncommented error checking in functor operator method. Fixes #4955.
2017-11-13 Cole Neubauer - Fixed apsolute paths not being read correctly in cubelis Fixes #4956
2017-11-02 Tyler Wilson - Added a null pointer check around ProjectItem *item pointer in isExecutable to prevent potential seg faults. References #4492.
2017-08-11 Cole Neubauer - Created a try catch around a previously unprotected error to handle errors thrown in the workorder that halted execution. Fixes #5026.
2017-07-28 Cole Neubauer - Added a pointer to the project item added by the work order. This pointer is used in the Undo funtions #5064
2017-07-26 Makayla Shepherd - Fixed a crash that occurs when a failed image import is undone. Fixes #5043.
2017-07-17 Makayla Shepherd - Added isExecutable(ProjectItem) to allow for importing in the context menu. Fixes #4968.
2017-07-14 Cole Neubauer - Made import statement more descriptive when importing a cube list Fixes #5042
2017-07-14 Cole Neubauer - Added ability successfully import after failing to import a set or list of images Fixes #5015
2017-07-06 Cole Neubauer - Added ability to have cube lists without full file path Fixes #4956
2017-05-01 Ian Humphrey - Updated undoExecution() so that when undo, imported images are removed from the project tree. Fixes #4597.
2017-04-11 Ian Humphrey - Removed isSynchronous() and instead set inherited member m_isSynchronous to false in constructor to indicate this is an asynchronous work order. Updated documentation. References #4732.
2017-04-05 Ian Humphrey and Makayla Shepherd - Renamed the following: execute() to setupExeuction(), asyncRedo() to execute(), syncUndo() to undoExecution(), postSyncRedo() to postExecution(), and postSyncUndo() to postUndoExecution(). Added isSynchronous(). This is related to the WorkOrder redesign. Fixes #4732.
2012-10-29 Steven Lambright - Added a prompt to save the project if importing a lot of images to a temporary project.
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-08-29 Steven Lambright - This work order should now work correctly even when just 1 QtConcurrent thread is enabled.
2012-08-24 Steven Lambright and Stuart Sides - Removed GUI-thread slowdown of image verification
2016-06-10 Ian Humphrey - Minor updates to documentation and coding standards. Fixes #3952.
2014-09-05 Kim Oyama - Removed the connection for opening a project from the command line.
2017-08-09 Cole Neubauer - Created a try catch around a previously unprotected error to handle errors thrown in the workorder that halted execution. Fixes #5026
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-07-24 Cole Neuabuer - Set m_isSavedToHistory to false on construction Fixes #4715
2017-04-10 Makayla Shepherd - Renamed syncRedo() to execute() and syncUndo() to undoExecution() according to the WorkOrder redesign.
2016-06-06 Makayla Shepherd - Updated documentation. Fixes #3993.
2014-07-14 Kimberly Oyama - Adapted from Mosaic2DViewWorkOrder.
2018-05-31 Christopher Combs - Updated to reflect change from JigsawDialog to JigsawRunWidget. Removed setupExecution() method. Fixes #5428.
2018-03-23 Ken Edmundson - In execute method, removed search for input control network in BundleSolutionInfos. No longer needed as control is now properly saved in projects m_idToControlMap.
2018-03-22 Ken Edmundson - Modified setupExecution method to append output control network filename to internalData. Modified execute method to look for input control network in BundleSolutionInfos if not found under main part of project tree.
2017-07-25 Cole Neubauer - Moved project()->setClean call to JigsawRunWidget because the workorder does not actually execute the bundle adjustment #4960
2017-04-25 Ian Humphrey - Modified tool tip text. Fixes #4819.
2017-04-17 Ian Humphrey - Added what's this and tool tip text to this work order so the user knows that this work order is disabled until an active cnet and image list have been set. Fixes #4749.
2017-04-17 Ian Humphrey - Updated documentation and methods for accommodating the changes to work order. References #4748.
2016-06-06 Makayla Shepherd - Updated documentation. Fixes #3993.
2015-09-05 Ken Edmundson - Added preliminary target body functionality to IPCE.
2014-06-04 Jeannie Backer - Fixed JigsawWorkOrder error.
2018-09-10 Tracie Sucharski - Added try/catch around importConfirmedShapes to catch any errors.
2018-04-19 Tracie Sucharski - Fixed bug when importing shapes without DN data. Ecub labels were not complete due to a resulting ecub not being closed properly in thread. The resulting ecub needs to be re-opened as readOnly to prevent this problem. Fixes #5274.
2017-11-02 Tyler Wilson - Added a null pointer check on the ProjectItem *item pointer in isExecutable to prevent potential seg faults. References #4492.
2017-07-26 Makayla Shepherd - Fixed a crash that occurs when a failed image import is undone. Fixes #5043.
2017-07-25 Cole Neubauer - Added project()->setClean call #4969
2017-07-13 Makayla Shepherd - Added isExecutable(ProjectItem) to allow for importing in the context menu. Fixes #4968.
2011-09-27 Steven Lambright - Improved user documentation
2012-12-21 Steven Lambright - Renamed askNewProjection() to configProjectionParameters() and upgraded it's functionality to view and edit the current projection. Fixes #1034.
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-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().
2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.
2012-10-03 Steven Lambright - Removed createReferenceFootprint() - this was dead code that the grid tool handles now.
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-09-17 Steven Lambright - Added very basic right-click on multiple images capabilities. Increased performance.
2012-09-12 Steven Lambright - Added xml save/load capabilities.
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-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-06-20 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2011-11-04 Steven Lambright - Added the zoom factor and scroll bar position to the project file. References #542.
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-08-29 Steven Lambright - Re-worded export file list option, references #342
2011-08-12 Steven Lambright - Added export options, references #342
2011-07-29 Steven Lambright - Z-ordering is now saved and restored in the project files. references #275
2011-05-20 Steven Lambright - Improved error handling when reprojecting.
2011-05-17 Steven Lambright - Target radii recalculated when the user specifies a map file, if they are missing.
2011-05-17 Steven Lambright - More robust createInitialProj
2011-05-10 Steven Lambright - Reduced unnecessary code, fixed toolTips to work on everything (not just cubes).
2011-04-01 Steven Lambright - Separated this class from the MosaicWidget class.
2010-05-10 Christopher Austin - Added cnet connectivity functionality and fixed a few design issues
2017-07-27 Makayla Shepherd - Fixed a segfault that occurred when closing a cube footprint. Fixes #5050.
2016-05-18 Ian Humphrey - Explicitly made outlines cosmetic so that they always appear as 1 pixel wide on screen (Qt4 to Qt5).
2015-05-27 Kristin Berry - Updated to work with longitude domain = 180 correctly. Fixes #2208.
2011-11-04 Steven Lambright - Added getViewActions().
2011-09-27 Steven Lambright - No longer produces errors when given a NULL MosaicSceneWidget.
2011-04-14 Steven Lambright Refactored to use the new MosaicSceneWidget
2018-10-04 Tracie Sucharski - When serializing images for ipce project saving, check for shapes in project if image for given id cannot be found. References #5495.
2018-05-14 Tracie Sucharski - Change the xml tag from footprint2DView to mosaicScene. Reference #5422.
2017-08-02 Tracie Sucharski - Added cnetModified signal to indicate that the control point graphics items need to be rebuilt since either a control point was deleted or added to the control net. Renamed deleteControlPoint signal to controlPointDeleted. Removed some unneeded connections. Fixes #5007, #5008.
2017-07-27 Makayla Shepherd - Fixed a segfault that occurred when closing a cube footprint. Fixes #5050.
2016-11-07 Ian Humphrey - Restored the startElement() functionality so footprints can be correctly loaded from an XML storing the MosaicScenWidget's state. Fixes #4486.
2016-09-14 Tracie Sucharski - Added signals for mouse clicks for modifying, deleting and creating control points. These are passed on to Footprint2DView signals, then on to Directory slots.
2016-08-02 Tracie Sucharski - Added public method to remove an Image from scene.
2016-04-22 Jeannie Backer - Added label parameter to setProjection(mapGroup, label). The default value for label is an empty Pvl. Also, modified addImage() to pass the label from the cube of the image to be added into setProjection(mapGroup, label). This was done to be able to call TProjection::TargetRadii(label,mapGroup), which will in turn will now call Target::radiiGroup(targetName), if needed. References #3892
2016-09-14 Ian Humphrey - Replaced deprecated QPixmap::grabWidget with QWidget::grab. Fixes #4304.
2016-08-28 Kelvin Rodriguez - Added using QWidget::contextMenuEvent to avoid hidden virtual function warnings in clang. Part of porting to OS X 10.11.
2016-04-22 Jeannie Backer - Added label parameter to setProjection(mapGroup, label). The default value for label is an empty Pvl. Also, modified addImage() to pass the label from the cube of the image to be added into setProjection(mapGroup, label). This was done to be able to call TProjection::TargetRadii(label,mapGroup), which will in turn will now call Target::radiiGroup(targetName), if needed. References #3892
2014-07-18 Kimberly Oyama and Tracie Sucharski - Added selectedCubes() and other control net functionality for IPCE.
2017-05-11 Tracie Sucharski - Tools can be created with a Null value for the MosaicSceneWidget, so need to check for Null value getWidget() in Tool constructor. This was causing a segfault when accessing qmos help and a Qt connection error.
2017-01-03 Tracie Sucharski - If IPCE, set m_controlNet to active control net in the loadNetwork method and do not display Load/Close Network button if IPCE.
2016-08-25 Tracie Sucharski - Fixed IPCE code which caused qmos to segfault. Added checks for the existence of a Directory pointer in the openControlNet and mouseButtonRelease methods. If Directory point is NULL, IPCE code not executed. Fixes #4063.
2016-09-14 Tracie Sucharski - Added signals for mouse clicks for modifying, deleting and creating control points. These are passed on to MosaicSceneWidget signals, then on to Directory slots.
2013-01-31 Steven Lambright - Removed some debugging statements that were left around from the last change. Fixes #1459.
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.
2011-09-27 Steven Lambright - Improved user documentation. Made the open control network button more obvious.
2011-05-10 Steven Lambright - Added label for currently open network.
2011-05-10 Steven Lambright - Reduced useless code, open cnet button is now always enabled.
2011-05-07 Steven Lambright - Refactored.
2010-06-24 Christopher Austin - Added |x| functionality and fixed control net loading
2016-05-18 Ian Humphrey - Made the latitude and longitude lines explicitly cosmetic so they always appear as 1 pixel wide on screen (Qt4 to Qt5).
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.
2013-02-06 Steven Lambright - Added a safety check to make sure the increments aren't zero or negative. References #1060.
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.
2011-05-10 Steven Lambright - Fixed problem with boundingRect()
2018-05-01 Kaitlyn Lee - Changed colors of control points to match qnet. Colors Changed: free from blue to darkGreen, locked from magenta to darkGreen, ignored from red to yellow, and constrained (was dark green) and fixed (was green) are now both represented with magenta. Fixes #5401.
2017-08-02 Tracie Sucharski - Draw the current edit Control Point as a circle with center crosshair in red. Fixes #5007, #5008.
2016-10-20 Tracie Sucharski - Remove obsolete code that was commented out. Fixes #4479.
2016-05-18 Ian Humphrey - Updated the control point crosses to be cosmetic so that they always appear on screen (Qt4 to Qt5).
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.
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-10 Steven Lambright - Reduced the amount of useless code
2011-05-07 Steven Lambright - Refactored from MosaicItem to have far fewer responsibilities.
2010-10-26 Tracie Sucharski - Added missing includes to cpp after removing includes from ControlNet.h.
2011-09-27 Steven Lambright - Improved user documentation
2011-05-07 Steven Lambright - Refactored along with all of 'qmos.' A lot of work still needs to be done for these tools.
2013-09-11 Tracie Sucharski - Check for existence of scene widget before calling methods on it in domainMinLon() and domainMaxLon(). Fixes #1748.
2013-03-19 Steven Lambright - Auto grid now remembers its last setting and defaults to it.
2013-03-06 Steven Lambright - Added support for getting target radii from TargetName if the mapping radii keywords are missing.
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.
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.
2011-05-11 Steven Lambright - Added project settings
2011-05-07 Steven Lambright - Refactored along with all of 'qmos'
2012-04-16 Jeannie Backer - Added forward declaration for PvlObject.
2011-09-27 Steven Lambright - Improved user documentation
2011-05-11 Steven Lambright - Added project settings
2011-05-07 Steven Lambright - Refactored along with all of 'qmos'
2018-09-19 Tracie Sucharski - For the ipce application, update the control net file name in the toolbar when a new active control is set. Fixes #5518.
2018-07-12 Tracie Sucharski - Made the slot loadNetwork public so that ipce can load a new network.
2017-08-15 Tracie Sucharski - Added check in ::rebuildPointGraphics() to check for existence of graphics items. Fixes #4984.
2017-08-02 Tracie Sucharski - Added slot to rebuild the graphics items that depict the control points. This is used to update these items if a control point was added or deleted. Fixes #5007, #5008.
2016-12-02 Tracie Sucharski - Changed the the tag name in ::endElement from "project" to "imageLists" and "shapeLists", so that images and shapes are added to the project when their end tags are found instead of the project end tag.
2017-07-17 Cole Neubauer - Changed activeControl signal to emit a bool to be able to slot a setEnabled(bool) call to a QAction. This was necessary to reenable the CNet Tool when a control net is made active. Fixes #5046.
2017-07-13 Makayla Shepherd - Added the ability to change the name of image imports, shape imports, and bundle solution info. Fixes #4855, #4979, #4980.
2017-05-17 Tracie Sucharski - Changed activeControl and activeImageList methods to return default values if project contains a single control and a single image list. Fixes #4867.
2017-05-15 Tracie Sucharski - Moved creation of BundleSolutionInfo results folder to JigsawDialog::acceptBundleResults. It was in Project::addBundleSolutionInfo which is called for both adding to the project and reading a saved project (which already has the folder). Backed out changes make for deciding whether to copy cube dn data because this broke importing images.
2017-05-02 Tracie Sucharski - Added saving and resoring of BundleSolutionInfo. Fixes #4822.
2017-04-25 Ian Humphrey - Added checkControlsAndImagesAvailable() slot and controlsAndImagesAvailble() signal. These are used by internally by Project constructor to listen for when a control and image are added, used externally by directory to enable the jigsaw work order when a cnet and image are available in the project. Fixes #4819.
2017-04-16 Ian Humphrey - Added activeControlSet and activeImageListSet, activeControlAndImageListSet signals. Added checkActiveControlAndImageList slot. This facilitates enabling the JigsawWorkOrder on the main window menu. Fixes #4749. Also, modified addToProject so that not undoable work orders have their redo called instead of execute.
2017-04-06 Tracie Sucharski - Added call to child WorkOrder::execute() even if it a CleanState.
2017-04-04 Makayla Shepherd - Updated addToProject to support the new WorkOrder design. Fixes #4729.
2017-03-30 Tracie Sucharski - Cleaned up some documentation regarding last change.
2017-02-06 Tracie Sucharski - When adding a work order to the project, check the work order to determine if it should be put on the QUndoStack. Fixes #4598.
2016-12-29 Tracie Sucharski - Changed setActiveControl and setActiveImageList to take a displayName instead of a Control/ImageList so that restoration of Project which contains an active control/imageList can be used. The only piece of info that can be saved to a project is the displayName.
2017-07-24 Cole Neubauer - Added isOpen, isClean, setClean, and clear functions to allow for opening of a new project. Fixes #4969.
2016-11-22 Tracie Sucharski - When saving a new project, if it is currently a temporary project, save project name as the base pathname for the project.
2016-11-09 Tyler Wilson - Added try-catch blocks around reader.parse calls in the open function, so that warnings/errors are output to the warnings tab of the GUI instead of causing the application to exit. Fixes #4488.
2016-07-06 Tracie Sucharski - Add import shape models to project.
2016-07-06 Tracie Sucharski - Changed the ImageReader to require footprints, because ImageReader class was changed so that footprints are no longer created if not required.
2016-06-23 Tracie Sucharski - Added a member variable for active control network and active image list, along with accessor methods.
2015-10-14 Jeffrey Covington - Declared Project * as a Qt metatype for use with QVariant.
2015-09-03 Jeannie Backer - Removed svn merge conflict comment lines. Removed call to save BundleSolutionInfo as an xml file. Added hdf5 preliminary serialization calls. Some ISIS coding standards improvements.
2015-02-20 Jeannie Backer - Replaced BundleResults references with BundleSolutionInfo and BundleStatistics references with BundleResults due to class name changes.
2014-07-14 Kimberly Oyama - Updated to better meet programming standards. Added support for correlation matrix.
2013-05-14 Jeannie Backer - Used return status of c++ system() in the constructor to verify that the call was successful.
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.
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).
2017-10-16 Ian Humphrey - Modified activeControl() to check if any images have been imported into the project before trying to set an active control when there is only one control in the project. Fixes #5160.
2018-03-23 Ken Edmundson - Modified loadBundleSolutionInfo method to add the BundleSolutionInfo's output control id to the project member variable m_idToControlMap.
2018-03-14 Tracie Sucharski - Call the appropriate workorder from the methods activeControl and activeImageList when returning a default value. This ensures that all the proper error checking is handled and prevents duplicate code.
2018-03-14 Ken Edmundson - Modified save method to reopen project if we are saving a temporary project to ensure all project files are pointing to the correct directory. Note that this is NOT ideal, particularly it the project has many files.
2017-12-08 Tracie Sucharski - Added public method to add an Image to the idToImageMap. This was needed to add Images from the results item. We need to access the map when opening saved projects that contain images from groups other than the main project data area. This is a temporary fix until the project and model/view is improved. Corrected the setting of the project root when pening a project from the command line. Removed m_projectPath, it is no longer needed since m_projectRoot contains the correct path. References #5104.
2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and TemplateEditViewWorkOrder. Fixes #5168. Also fixed issue with saving a project before save as where isOpen was not set to true.
2017-12-01 Adam Goins - Added the maxRecentProjects() function to return the max number of recent projects to be displayed. Fixes #5216.
2017-11-15 Cole Neubauer - Added a check if there was an arg for the command line to avoid creation of new temp project if a user is opening one from the command line #5222
2017-11-13 Makayla Shepherd - Modifying the name of an ImageList, ShapeList or BundeSolutionInfo on the ProjectTree now sets the project to not clean. Fixes #5174.
2017-11-03 Christopher Combs - Added support for new Template and TemplateList classes. Fixes #5117.
2017-11-08 Ian Humphrey - Changed save() from a void to a bool return value. This indicates if the save dialog (for a temp project) is successfully saved (i.e. not cancelled). Fixes #5205.
2017-11-02 Tyler Wilson - Added support for opening Recent Projects from the File Menu. Fixes #4492.
2017-11-01 Tracie Sucharski - Added new member variable for the new project root when a Save As is being executed. Both the old and new project roots are needed for copying files into the new project folders. Also updated the project name based on the new project. Fixes #4849.
2012-09-17 Steven Lambright - Reduced the time complexity of image() to log(n) from n/2. This method is often called n times.
2017-10-04 Tracie Sucharski - Comment out connections for addTargetsFromImportedImagesToProject and addCamerasFromImportedImagesToProject. This functionality needs to be put into the asynchronous process of importing images for speed and memory efficiency. See ticket #5181. Fixes #4955.
2017-09-26 Tracie Sucharski - Close Image cube in ::addTargetsFromImportedImagesToProject and ::addCamerasFromImportedImagesToProject. Fixes #4955.
2017-09-13 Tracie Sucharski - Fixed problems with cleanup on temporary projects. Remove shapes, controls, and results.
2017-08-11 Christopher Combs - Added addTemplates(), removeTemplate(), addTemplateFolder(), templateRoot(), and m_templates as well as serialization and structure for importing template filenames Fixes #5086.
2017-08-11 Cole Neubauer - Updated documentation for setClean and isClean #5113
2017-08-11 Cole Neubauer - Removed unnecessary code in controlClosed that was a segfault causing. Fixes #5064
2017-08-07 Cole Neubauer - Added functionality to switch between active controls and ImageList Fixes #4567
2017-08-08 Makayla Shepherd - Fixed a seg fault that occurs when trying to edit a control net without having an active control net set. Fixes #5048.
2017-08-03 Cole Neubauer - Parsed XML to remove leftover files not in project Fixes #5046.
2017-08-02 Cole Neubauer - Made setClean emit a signal from undoStack. Fixes #4960
2017-07-27 Cole Neubauer - Added a workordermutex to be used in workorder accessors Fixes #5082.
2017-07-27 Cole Neubauer - Added check before emmiting workOrderStarting() Fixes #4715.
2016-09-14 Ian Humphrey - Modified printPlot() and save() - replaced deprecated static QPixmap::grabWidget with QWidget::grab. References #4304.
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.
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-06-23 Ian Humphrey - Modified hard coded /usgs/cpkgs/ paths to relative pathnames. Fixes #2054.
2013-02-21 Steven Lambright - Added methods requestFillTable(), scheduleFillTable() in order to increase performance. References #710.
2012-07-03 Steven Lambright - Added labels for Meters/Kilometers units.
2011-09-21 Steven Lambright - Removed the fixed size from the configure curve dialog. Fixes #203.
2011-03-23 Sharmila Prasad - PlotWindow to be ontop even when it loses focus. This works for both histogram and plot tools.
2011-03-18 Sharmila Prasad - Connect the viewport's close signal
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.
2012-07-03 Steven Lambright - Added Meters, Kilometers to the Units enum. References #853.
2018-10-05 Tracie Sucharski - Add radius source combo for choosing the radius source. References #5504.
2018-05-02 Tracie Sucharski - If no shapes available remove option to change point type to "Constrained" or "Fixed". Because pointType combo dependent on having all 3 types to use ControlPoint's enum, change comparisons to check text instead of int values. Add tool tip explaining why point type cannot be changed. Set tool tip on Ok button explaining why it is not enabled. Fixes #5087.
2017-07-04 Christopher Combs - Combined functionality of dialogs from qnet, qview and ipce applications by adding bools to toggle on specific elements of the dialog to remove similar classes like QnetNewPointDialog. Fixes #4383.
2016-10-18 Tracie Sucharski - Added method to return value of the subpixelRegister radio button. If set, all measures in the control point created will be subpixel registered.
2016-09-16 Tracie Sucharski - Renamed to NewControlPointDialog in anticipation of creating a parent class that QnetNewPointDialog and MatchToolNewPointDialog can inherit.
2010-12-03 Eric Hyer - Selected points now go to the top!
2010-06-03 Jeannie Walldren - Initialized pointers in constructor. Removed "std::" in header and .cpp files.
2008-11-26 Jeannie Walldren - Added functionality to show the last Point ID entered into a new point dialog box.
2010-10-29 Tracie Sucharski - Changed std::vector<std::string> to QSringList
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2012-09-12 Steven Lambright - Renamed imageList() to createOrRetrieveImageList(), added imageList() and image().
2012-09-12 Tracie Sucharski - Implemented ControlList instead of QList<Control *>, re-ordered some methods to match header order.
2012-09-11 Tracie Sucharski - Added mutex accessor method.
2012-09-04 Tracie Sucharski - Renamed addCNets to addCnets, controlNetRoot to cnetRoot, networkLoaded to cnetLoaded. Added new method, addCnetFolder.
2012-07-27 Kimberly Oyama - Added comments to some of the methods.
2017-05-17 Tracie Sucharski - If no active ImageList set & there is only one ImageList in the project, default to that ImageList.
2017-08-02 Cole Neubauer - Added functionality to switch between active imagelist Fixes #4567
2017-07-25 Cole Neubauer - Removed code that stops a new imageList from being choosen Fixes #4969
2016-12-29 Tracie Sucharski - Combined the functionality of setActiveImageList(ImageList *) in this method. This will allow projects saved with an active ImageList to be restored properly. Only the displayName is saved in a project since the ImageList is created when the project is loaded. As long as the Images and Controls are loaded before the setActiveImageList is loaded, there will be a correct correspondence between the displayName and ImageList.
2017-05-17 Tracie Sucharski - If no active control set & there is only one control in the project, default to that control.
2018-07-12 Tracie Sucharski - Moved the close/open control net from Directory::reloadActiveControlInCnetEditorView to this method to prevent seg fault when there are multiple cnetEditorViews with same cnet.
2018-03-30 Tracie Sucharski - If current activeControl has been modified, prompt for saving. Emit signal to discardActiveControlEdits.
2017-08-02 Cole Neubauer - Added functionality to switch between active controls Fixes #4567
2017-07-25 Cole Neubauer - Removed code that stops a new control from being chosen Fixes #4969
2017-01-09 Tracie Sucharski - Moved SetImages step from SetActiveControlWorkOrder::execute so that SetImages is always done whether from the workorder or calling this method directly from the project loading. TODO: should project loading call the WorkOrder rather than this method directly?
2016-12-22 Tracie Sucharski - Changed to take a displayName, so that it can be used when loading a saved project which has an active control saved with the displayName.
2017-07-24 Cole Neubauer - Moved all exception checking in Open function to beginning of function to avoid clearing a project when an invalid directory is chosen Fixes #4969
Tyler Wilson - Added try-catch blocks around all reader.parse calls. The exception information is not piped to the Warnings tab in the GUI instead of the command line, and the application starts instead of executing prematurely. Fixes #4488.
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.
2011-07-06 Tracie Sucharski - If point is Locked, and measure is reference, lock the measure.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
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.
2012-05-08 Tracie Sucharski - m_leftFile changed from QString to QString.
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.
2010-10-29 Tracie Sucharski - Changed pointfiles to QStringList
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2008-11-26 Jeannie Walldren - Added "Number of Measures" to MatchTool point information.
2011-07-15 Tracie Sucharski - Print info about deleting editLock points and reference measures.
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.
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
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
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.
2012-05-08 Tracie Sucharski - Clear m_leftFile, only set if creating new point. Change m_leftFile from a QString to a QString.
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
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".
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.
2010-12-15 Tracie Sucharski - Before setting m_editPoint to NULL, release memory. TODO: Why is the first if statement being done???
2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.
2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object
2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.
2011-10-20 Tracie Sucharski - Add check for a control network that does not yet have any control points.
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.
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.
2010-06-08 Jeannie Walldren - Fixed bug that was causing ignored measures not be drawn as yellow unless MatchTool was open
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2011-05-20 Tracie Sucharski - Added Reference output
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right measure info.
2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.
2011-05-20 Tracie Sucharski - Added Reference output
2011-04-20 Tracie Sucharski - Set EditLock check box correctly
2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.
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.
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.
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-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-10 Jeannie Walldren - Added "What's this?" function to match tool actions.
2008-11-18 Jeannie Walldren - Added "Close" action to the file menu on the match tool window.
2015-11-09 Ian Humphrey - Added shortcut for savePoint (P). References #2324.
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
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().
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-11-24 Jeannie Walldren - Added "Goodness of Fit" to right and left measure info.
2012-05-29 Steven Lambright - Fixed a bug where closeEvent method was not calling the paren't version.
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.
2018-07-01 Ian Humphrey - Added updateSolveSettingsSigmaTables() to try to generalize how the sigma tables are updated. Solve options have their respective solve degree and degree combo boxes set to 2 unless the solve option is ALL. References #497.
2018-06-28 Christopher Combs - Implemented pseudocode in on_applySettings... method. Added selected images to default BOSS object. References #497.
2018-06-27 Ian Humphrey - Added validateSigmaTables() that checks if there are any invalid a priori sigma values whenever an a priori sigma values changes. If any value is invalid, the OK and Apply Settings buttons are disabled until all the a priori sigma values are valid again. References #497.
2018-06-26 Tyler Wilson - Added support in updateBundleObservationSolveSettings(BundleObservationSolveSettings &) for the user to set an arbitrary number of position/pointing Apriori Sigma values beyond position/velocity/acceleration. References #497.
2018-06-26 Tyler Wilson - Added the function updateBundleObservationSolveSettings(BundleObservationSolveSettings &) which grabs BOSS settings from the JSD BOSS tab for selected images in the BOSS QTreeView and saves them in a BOSS object.
2018-06-25 Ian Humphrey - Implemented the position and pointing a priori sigma tables in the observation solve settings tab. References #497.
2018-06-21 Tyler Wilson - Added support in the Bundle Observations Solve Settings (BOSS) tab for displaying user-selected images from the main Project treeview. All changes were made in the createObservationSolveSettingsTreeView() function. References #497.
2009-06-08 Tracie Sucharski - Add error checking for editing or deleting points when no point exists.
2007-06-12 Tracie Sucharski - Swapped left and right mouse button actions.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
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.
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.
2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.
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.
2011-07-05 Tracie Sucharski - Move point EditLock error checking to individual point parameter setting methods, ie. SetPointType, SetIgnorePoint.
2011-04-20 Tracie Sucharski - If EditLock set, prompt for changing and do not save point if editLock not changed.
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.
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-04-26 Tracie Sucharski - cleaned up, moved reference checking and updating ground surface point to new methods.
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.
2011-09-22 Tracie Sucharski - When checking ignore status on right measure, check both original and edit measure.
2011-07-25 Tracie Sucharski - Removed editPointChanged signal since the editPoint is not changed. This helped with match windows blinking due to refresh.
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-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-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.
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2010-05-10 Christopher Austin - added cnet connectivity functionality and fixed a few design issues
2014-02-07 Tracie Sucharski - Latitude and Longitude were swapped in the endpoints. Fixes #2032.
2012-11-30 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2011-11-01 Steven Lambright - Fixed possible seg fault. References #205.
2011-09-20 Steven Lambright - Added some abstraction, fixed problems with segmented line and rectangle. Fixes #218.
2010-06-26 Eric Hyer - Now uses MdiCubeViewport instead of CubeViewport. Fixed some include issues (some still remain!)
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
2009-02-12 Steven Lambright Fixed bug where measure tool would not measure pixels for non-camera, non-projection cubes.
2008-09-26 Steven Lambright Added Segmented line
2008-08-18 Christopher Austin Upgraded to geos3.0.0
2007-11-29 Stacy Alley replaced all the table stuff with the new TableMainWindow class.
2016-06-27 Ian Humphrey - Updated documentation and coding standards. Fixes #4006.
2014-07-21 Kimberly Oyama - Added matrix options dialog. Color options are functional.
2016-12-01 Ian Humphrey - Removed unused variables in readOptions() as they were causing warnings in the clang compiler.
2016-08-25 Adam Paquette - Updated documentation. Fixes #4299.
2014-07-21 Kimberly Oyama - Color options are now updated and applied in the scene.
2014-07-21 Kimberly Oyama - Connected apply button to scene. The color options are now functional.
2011-05-10 Steven Lambright - Added arrow capabilities, fixed problem with boundingRect() that seemed to cause a crash.
2011-05-09 Steven Lambright - Fixed known issue with paint() when zoomed in.
2017-08-15 Tracie Sucharski - Fixed possible seg fault in findClosestControlPoint() when clicking away from a control point. Changed findClosestControlPoint to take the point location to search for a control point. Removed mouseReleaseEvent as it is not being used.
2016-10-20 Tracie Sucharski & Kim Oyama - Added functionality for IPCE, including findClosestControlPoint method and making buildChildren and clearControlPointGraphicsItem public slots. Fixes #4479
2014-06-02 Tracie Sucharski - Added documentation to the header file regarding pointToScene method and member variable.
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.
2012-04-16 Jeannie Backer - Added #include for Pvl class in implementation file.
2011-05-10 Steven Lambright - Added arrow capabilities for CPs
2017-06-27 Cole Neubauer - Added search capability for file list Dock widgets Fixes #1556
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.
2012-09-17 Steven Lambright - Restored the toolpad and active toolbar creation... creation is now in both places, internalization into the scne is for ipce only. This allows movement of toolbars/appropriate placements of other widgets (progress bar, tracking in status, etc) for qmos (aka this class).
2012-08-28 Tracie Sucharski - Moved the toolpad and active toolbar creation to MosaicSceneWidget.
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.
2011-11-21 Steven Lambright - View menu actions come from more places now. Fixes #568
2011-09-27 Steven Lambright - Improved user documentation
2011-09-26 Steven Lambright - Command line arguments are now parsed here.
2011-08-08 Steven Lambright - Refectored for new qmos. Mosaic controller is now always visible.
2010-05-10 Christopher Austin - added cnet connectivity functionality
2013-03-19 Steven Lambright - Added option for changing default file list columns in the settings menu.
2012-09-17 Steven Lambright - Added compatibility with old versions of project files, updated to use changed mosaic scene widget constructor.
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.
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-09-26 Steven Lambright - Calling openCubes many times in a row now works.
2011-08-12 Steven Lambright - Export options now come from the scene and the file list, not directly from this controller. Fixes #342
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
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-06-08 Tracie Sucharski - Point types renamed: Ground -—> Fixed Tie -—> Free
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.
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-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-11-22 Eric Hyer - Added stretchChipViewport SIGNAL for forwarding of SIGNAL from StretchTool to ChipViewport
2010-11-17 Eric Hyer - Added newControlNetwork SIGNAL
2010-11-19 Tracie Sucharski - Renamed pointSaved slot to measureSaved.
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-07-12 Jeannie Walldren - Fixed bug in newHoldPoint() method that was causing the Hold Point Dialog to call the reject() command. Updated documentation.
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-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.
2011-07-27 Tracie Sucharski - Added method to return the radius from a Dem if one is open.
2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.
2010-06-02 Jeannie Walldren - Added cancelHoldPoint() method and connected this slot to MatchHoldPointDialog's holdCancelled() signal.
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.
2009-03-17 Tracie Sucharski - Added the ability to save the registration chips to the Options menu.
2009-03-09 Jeannie Walldren - Modified createPoint() method to clear the error stack after displaying a QMessageBox to the user
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.
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-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-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-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-09 Tracie Sucharski - Add new public slot refresh to handle the ignorePoints and deletePoints from the MatchNavTool.
2008-12-09 Tracie Sucharski - Cleaned up some signal/slot connections between MatchTool and MatchNavTool for deleting or adding ControlPoints.
2015-11-08 Ian Humphrey - Added shortcut for Save Point (P). Added shortcuts (PageUp/PageDown) for selecting right measures and added slots to handle these shortcuts. References #2324.
2010-10-29 Tracie Sucharski - Changed std::vector<std::string> to QSringList
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"
2012-10-03 Tracie Sucharski - Corrected help which said to left instead of right click to create measures.
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.
2017-11-22 Adam Goins - Set the MatchTool window title and the CNet file name label to the newly saved file. Fixes #3922.
2017-08-09 Adam Goins - Changed method references of SerialNumberList.Delete() to SerialNumberList.remove()
2016-08-28 Kelvin Rodriguez - Removed unused member variables to eliminate warnings in clang. Part of porting to OS X 10.11
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.
2013-05-09 Tracie Sucharski - Check for user selecting all measures for deletion and print warning that point will be deleted. References #1491.
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.
2012-08-11 Tracie Sucharski - In ::openNet, do not prompt for saving current net if net hasn't changed since last save.
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-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-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-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-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.
2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked().
2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.
2011-09-16 Tracie Sucharski - Added method to draw Fixed and Constrained points on the ground source viewport.
2004-02-20 Stuart Sides - Added ability for ToDouble to convert PDS hex values to a double
2008-07-14 Steven Lambright - Made some members const
2005-02-15 Stuart Sides - add coded and implementation examples to class documentation and document IString(const char *str), and private methods
2008-06-18 Stuart Sides - Fixed doc error
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-02-22 Steven Koechle - Added a Replace method that honors quotes
2008-02-08 Steven Koechle - Keeps Convert from infinite looping
2007-07-25 Steven Koechle - Fixed a bug where one of the TrimTail methods was calling erase incorrectly.
2007-07-17 Steven Lambright - Fixed bug where -0.0 would result in SetDouble
2007-06-05 Brendan George - Merged with StringTools
2006-01-23 Jacob Danton - Changed the scientific notation start value (from 0.1 to 0.0001)
2005-05-20 Jeff Anderson - Added BigInt methods
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-04-14 Jeff Anderson - Added (int) (double) and (string) cast conversions and operator= methods
2008-07-16 Steven Lambright - Added support for double nans and inifinities
2003-08-14 Stuart Sides - Fixed bug in Token. It would not parse "a","b" correctly.
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-06-25 Stuart Sides - Added documentation for new member (Remove)
2003-06-25 Stuart Sides - Added member function to remove all characters which are in the parameter from the object string (Remove)
2003-06-24 Stuart Sides - Modified UpCase and DownCase to use the transform from the STL instead of looping and converting individual chars
2003-05-30 Stuart Sides - Modified conversion of double to string constructor to output 14 place of accuracy
2003-05-30 Jeff Anderson - Updated unitTest and truth file to account for optimzation changes
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
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.
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.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
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.
2017-08-21 Tyler Wilson, Ian Humphrey, Summer Stapleton - Added support for new kakadu libraries. References #4809.
2016-08-28 Kelvin Rodriguez - Moved member variables to be placed properly within the if ENABLEJP2K preprocessor block in order to stop unused member variable warnings in clang. Part of porting to OS X 10.11.
2012-04-06 Kris Becker - Fixed condition compilation where support for JP2K is disabled
2021-02-17 Jesse Mapel - Added the ability to pass ISO 8601 basic format time strings to setUtc.
2019-06-15 Kristin Berry - Added a precision option to UTC to specify the precision of the output value. The default (old) precision is used if no argument is specified.
2018-03-15 Adam Goins - Removed deprecated function iTime::UnloadLeapSecondKernel(). Fixes #5325.
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2011-05-25 Janet Barrett and Steven Lambright - Added setUtc, setEt and addition operators
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...)
2006-10-02 Brendan George - Added CurrentLocalTime and CurrentGMT methods
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.
2003-12-03 Stuart Sides - Added comparison operators for (>=, <=, >, <, ==, and !=)
2017-08-30 Tyler Wilson and Ian Humphrey - Added std:: namespace to isnan to avoid ambiguity error when compiling for c++11. References #4809.
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.
2012-10-13 Kris Becker - Fixed compatability issue with Qt on MacOSX
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.
2011-06-16 Jai Rideout - Fixed size of double string buffer to work with doubles that are -DBLMAX
2010-10-04 Sharmila Prasad - Remove redundant ParseExpression
2010-09-27 Sharmila Prasad - Moved ParseExpression from ControlNetFilter to IString class
2010-03-18 Sharmila Prasad - Ability to set the exact precision digits for double
2009-11-02 Mackenzie Boyd - Modified Token method to ignore any quote groupings. Problems arose with current method and unclosed quotes.
2003-12-03 Jeff Anderson - modified CommandLine method to output all parameters except those in option list excludes.
2010-07-22 Steven Lambright - Array values for parameters are now written to the history file
2010-07-21 Sharmila Prasad - Modified for doxygen documentation Warning
2010-07-19 Jeannie Walldren - Added check whether user preferences are set to allow file overwrite in Verify() method
2006-10-17 Steven Lambright - Fixed problem with boolean inclusion/exclusion
2006-02-13 Elizabeth Miller - Added GuiHelper Capabilities
2005-12-28 Elizabeth Miller - Added extra methods and private vars to retrieve info needed for gui and command line help
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-10-03 Elizabeth Miller - changed
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.
2004-03-03 Stuart Sides - added member function PixelType so IsisGui can get the pixel type of a cube
2004-02-26 Stuart Sides - added parsing and get members for the default path in the XML
2004-01-21 Stuart Sides - added members for accessing a parameters exclude(s).
2011-08-16 Sharmila Prasad - Added API to CreatePVL from a GUI Group and Get GUI Group index given the Group name
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-08-26 Jeff Anderson - added extension option to GetFileName method.
2003-08-01 Stuart Sides - made get and put FileName work for cubes too.
2003-07-03 Stuart Sides - added the members "Brief and Description" to return the application brief and full description.
2003-07-02 Stuart Sides - added the new parameter type "cube"
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-06-04 Stuart Sides - fixed a problem where the GetString member was not returning the full list option value.
2003-05-30 Stuart Sides - fixed uninitialized variable compiler error when -O1 flag was added.
2003-05-16 Stuart Sides - modified schema from astrogeology... isis.astrogeology...
2003-04-03 Stuart Sides - fixed bug where integer parameters that need to be odd were not being checked.
2003-03-13 Stuart Sides - socumented new member CommandLine.
2003-03-13 Stuart Sides - modified member CommandLine to take a Label reference instead of returning a Label.
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2007-08-15 Steven Lambright - Refactored code
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.
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.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
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.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
2008-11-05 Jeannie Walldren - Replaced reference to NumericalMethods::r8expint() with AtmosModel::En(). Added documentation from Isis2.
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2007-08-15 Steven Lambright - Refactored code
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.
2008-11-05 Jeannie Walldren - Replaced NumericalMethods::r8expint() with AtmosModel::En(). Replaced Isis::PI with PI since this is in Isis namespace.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
2017-08-08 Adam Goins - Added an additional catch statement to display the file name of an XML file that threw an error while parsing.
2016-08-28 Kelvin Rodriguez - Moved 'using namespace std' statements to be after #includes to squash implicit declaration warnings in clang. Part of porting to OSX 10.11.
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.
2016-08-16 Jesse Mapel - Added BOOST_UBLAS_NO_STD_CERR definition to prevent Boost from outputing debug information to standard out when throwing exceptions. Fixes #2302.
2016-08-05 Jeannie Backer - Replace std abs() function with qAbs() from QtGlobal.
2016-07-25 Jeannie Backer - Updated documentation and test.
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2010-04-15 Eric Hyer - Now updates parent's invalidInput variable
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
2008-12-23 Steven Lambright - Fixed problem with finding points in polygons that caused this algorithm to miss some.
2008-11-25 Steven Lambright - Added error checking
2013-12-29 Jeannie Backer - Improved error messages. Fixes #962.
2010-11-22 Debbie A. Cook - Merged with Ken Edmundson version
2010-04-20 Debbie A. Cook, Replaced SparseReset with Reset to reset all solution methods
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.
2009-04-06 Tracie Sucharski, Added return value to SolveSparse, which indicates a column containing all zeroes which causes superlu to bomb.
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.
2008-04-16 Debbie Cook / Tracie Sucharski, Added SolveSparse.
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.
2007-11-16 Tracie Sucharski and Debbie A. Cook Added SolveQRD method for a faster solve
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.
2010-12-07 Steven Lambright - SetGround(double,double) now goes straight to the radius instead of using SetUniversalGround to get the radius.
2010-06-17 Steven Lambright - More tolerant of failures in the distortion models for finding the bounds of the search in FindSpacecraftDistance
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.
2007-12-21 Debbie A. Cook - Added overloaded method SetGround that includes a radius argument
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.
2005-08-24 Jeff Anderson - Fixed bug when algorithm was checking for the backside of the planet and convergence failed (checkHidden)
2016-10-18 Kristin Berry - Added additional SetParent method with time offset deltaT. Updated unitTest. References #4476.
2013-02-11 E. Howington-Kraus - Added accessor method StartTime(). This is tested by application socetlinescankeywords since no unitTest exists. References #1490.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-03-07 Debbie A. Cook Removed reference to obsolute CameraDetectorMap methods
2015-09-01 Ian Humphrey and Makayla Shepherd - Modified unit test to override Sensor's pure virtual methods.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2010-08-04 Jeannie Walldren - Fixed the #ifndef identifier to define PushFrameCamera_h. Updated documentation.
2012-11-21 Jeannie Backer - Improved error messages. References #1058.
2007-12-06 Chris Austin - Added option to constructor to change the order of the progression through the cube
2005-02-28 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2008-05-09 Steven Lambright - Added Name, Version methods
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
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.
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.
2012-01-20 Debbie A. Cook - Changed to use TProjection. References #775.
2017-10-26 Kristin Berry - Modified parseSpecification to switch from parsing translation table dependency specifications of the form name:value to strings of the form name|value. Colons are now used for namespaces only.
2017-05-26 Cole Neubauer - Moved parseDependancy from children class. Fixes #5167.
2017-01-20 Jesse Mapel - Updated documentation and unit test. Fixes #4584.
2017-01-11 Jeannie Backer - Original Version. Code moved out of PvlTranslationManager to make a generic parent class. Fixes #4584.
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-03-05 Kris Becker - Added support for DSK and meta kernels types. References #2035
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-02-07 Kris Becker Corrected typo in Kernels/Extra (was Extras)
2010-12-29 Kris Becker - added resolveTypeByExt() method to find non-compliant NAIF file type identifiers kernels
2015-02-12 Jeffrey Covington - Added compression parameter to write() method. Fixes #1745.
2013-06-05 Jeannie Backer - Removed "get" prefix from ImageExporter method calls. References #1380.
2017-08-21 Tyler Wilson, Ian Humphrey, Summer Stapleton - Added support for new kakadu libraries. References #4809.
2017-08-21 Tyler Wilson, Ian Humphrey, Summer Stapleton - Added support for new kakadu libraries. References #4809.
2012-04-06 Kris Becker - Fixed condition compilation where support for JP2K is disabled
2009-12-21 Jeannie Walldren - Changed variable name from p_weight to p_sqrtweight.
2009-04-08 Tracie Sucharski - Added return value which is a column number of a column that contained all zeros.
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.
2010-12-12 Debbie A. Cook Fixed "no data" test for SPARSE case
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.
2008-04-16 Debbie Cook / Tracie Sucharski, Added SolveSparse.
2009-12-21 Jeannie Walldren - Changed variable name from p_weight to p_sqrtweight.
2008-04-22 Tracie Sucharski - New method for sparse solutions.
2019-03-11 Kaitlyn Lee - Added comment in SetPlanetographic() about passing in special pixels.
2017-04-10 Jesse Mapel - Added an accessor and mutator for ErrorChecking member. Fixes #4766.
2016-09-29 Jeannie Backer - Changed strings in error message to use Angle::toString instead of the Isis::toString(double) method.
2016-07-05 Marjorie Hahn - Fixed documentation for Latitude::Latitude(double latitude, PvlGroup mapping, Angle::Units latitudeUnits, ErrorChecking errors) and added in documentation for all exceptions thrown. Fixes #3907
2016-04-22 Jeannie Backer - Added try/catch around calls to Target::radiiGroup() in constructors and add(angle, mapGroup). Appended message to caught exceptions. References #3892,3896
2013-03-06 Steven Lambright - Added support for getting Radii from TargetName keyword. References #1534.
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.
2011-01-25 Steven Lambright - Added a constructor which takes a mapping group.
2012-01-20 Debbie A. Cook - Changed to uTProjection instead of Projection. References #775.
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.
2009-03-20 Stuart Sides - Modified to not accept center latitudes near the pole opposite the apex of the cone
2015-02-12 Jeffrey Covington - Added optional parameter to virtual method write() to choose a compression algorithm. Fixes #1745.
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.
2012-08-28 Steven Lambright - The world file should no longer overwrite the output image. This is related to #832/#970. References #579.
2018-08-06 Kaitlyn Lee - With the new cmake system, we run unit tests from build/untiTest, while in the old make system, we ran unit tests directly from the object's directory. This change caused the c macro FILE to include the full path of unitTest.cpp when it expands. Consequently, we have to strip the path from FILE and put only the name of the file into FILEINFO.
2012-07-30 Jeff Anderson - Updated internal documentation to improve backward compatibility
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-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.
2011-08-05 Steven Lambright - Hacked to make multi-threaded code which throws exceptions work.
2009-07-29 Steven Lambright - Stack trace calculations moved to IsisDebug.h
2008-12-15 Steven Lambright - iException::what no longer returns deleted memory.
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-07-08 Steven Lambright - Changed memory cleanup; now uses atexit
2008-05-23 Steven Lambright - Added stack trace
2007-12-31 Steven Lambright - Added stack trace
2006-11-02 Jeff Anderson - Fixed bug in Report method for exit status
2006-06-12 Tracie Sucharski - Change clear method to static
2005-12-28 Elizabeth Miller - Fixed bug in Pvl error output
2015-08-25 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2010-09-16 Jeannie Walldren - Modified test cube to run properly with ShapeModel changes to Sensor class and updated unitTest known lat/lon values.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
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.
2016-09-14 Marjorie Hahn - Modified FindAllOverlaps()'s check to ensure that at least one overlap has been calculated by adding in the "foundOverlap" boolean. References #2199.
2016-08-26 Kelvin Rodriguez - Added tryLock() just before unlocking mutex in FindAllOverlaps() to avoid undefined behavior. This was done to prevent compile errors on MAC OS 10.11.
2011-03-29 Steven Lambright - Added some safety around p_lonLatOverlaps to (hopefully) get rid of a race condition.
2010-09-27 Christopher Austin - Added an error when no new overlaps are calculated. (i.e. All overlaps contain only a single Serial Number).
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.
2009-06-01 Christopher Austin - Changed the basic algorithm to improve results.
2009-03-12 Christopher Austin - Added the MULTIPOLYGON to HandleError() as the Keyword "Polygon".
2009-01-28 Steven Lambright - Fixed memory leaks.
2009-01-13 Steven Lambright - Deletes both overlaps if an intersection fails for an unknown reason.
2009-01-07 Steven Lambright & Christopher Austin - Fixed handling of Despike(...) throwing errors on empty polygons.
2009-01-06 Steven Koechle - Removed backwards compatibility for old footprint blob name. Added a throw if footprints are invalid in an image.
2008-12-15 Steven Koechle - Fixed to read new footprint blob naming scheme.
2008-12-10 Steven Koechle - Moved MakeMultiPolygon Method from ImageOverlapSet to PolygonTools.
2008-11-25 Steven Koechle - Moved Despike Methods from ImageOverlapSet to PolygonTools.
2008-11-24 Steven Lambright - Improved upon error reporting. Added the Errors() method.
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2010-05-25 Steven Lambright - Made HasAnySameSerialNumber and HasSerialNumber const
2008-11-03 Steven Lambright - Added the Read and Write methods
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
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.
2014-01-17 Kimberly Oyama - Added the history label to the output cube. Fixes #1894.
2007-08-15 Steven Lambright - Refactored code
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.
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class. Replaced Isis::PI with PI since this is in Isis namespace.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
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.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class. Added documentation from Isis2.
2007-08-15 Steven Lambright - Refactored code
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.
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class and replaced Isis::PI with PI since this is in Isis namespace.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
2016-08-28 Kelvin Rodriguez - SetPhoto0B0Standard now uses QString. Part of porting to OS X 10.11
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.
2008-11-05 Jeannie Walldren - Added documentation from Isis2 files
2008-10-17 Steven Lambright - Changed inheritance, moved HapkeHen specific methods into this class from the base class.
2008-06-18 Stuart Sides - Fixed doc error
2007-10-18 Debbie A. Cook -Corrected coding error with TransS0 and TransL0 and added ldir and sdir.
2011-05-03 Jeannie Walldren - Added NAIF error check.
2007-02-12 Debbie A. Cook - Added sign for all the trans parameters
2021-03-05 Adam Paquette - Refactored History to no longer be a child class of a blob for a cleaner definition of responsabilities for the object
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
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
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.
2020-06-11 Kaitlyn Lee - Changed how to detemine which bin a pixel/measure falls into in AddData(). Changed how the bin range is calculated in BinRange(). The math for these functions were incorrect and not intuitive. These changes were made alongside changes made to cnethist and hist.
2018-07-27 Jesse Mapel - Added support for initializing a histogram from signed and unsigned word cubes. References #971.
2017-09-08 Summer Stapleton - Included test for Isis::Null being returned from accessor method call in Histogram::rangesFromNet(). Fixes #5123, #1673.
2017-05-19 Christopher Combs - Modified unitTest.cpp: Removed path of output file name in output PVL to allow the test to pass when not using the standard data areas. Fixes #4738.
2015-09-03 Tyler Wilson - Overrode Statistics::SetValidRange to set the bin range as well as the statistical range for the data. The function Histogram::SetBinRange has been removed from this class.
2012-04-10 Orrin Thomas - Added constructor parameters to read from ControlNets automatically (For control measure data.)
2012-01-19 Steven Lambright and Jai Rideout - Added constructor parameters to read from the Cube automatically.
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.
2005-06-21 Modified index computations in AddData and RemoveData to round
2002-10-05 Tracie Sucharski added MaxBinCount, a method to return the maximum bin count.
2002-05-22 Jeff Anderson moved Reset, AddData, and RemoveData methods into public space.
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.
2011-08-18 Sharmila Prasad Moved common HNORM to base AtmosModel
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class. Added documentation from Isis2.
2015-03-24 Jeffrey Covington and Jeannie Backer - Improved documentation.
2015-03-18 Jeannie Backer - Brought class files closer to ISIS coding standards.
2017-01-09 Jesse Mapel - Added logical and, or operators. Fixes #4581.
2016-02-21 Kristin Berry - Added unit test and minor coding standard updates. Fixes #2401.
2015-03-24 Jeffrey Covington and Jeannie Backer - Improved documentation.
2015-03-18 Jeannie Backer - Brought class files closer to ISIS coding standards.
2017-01-09 Jesse Mapel - Added logical and, or operators. Fixes #4581.
2017-01-09 Jesse Mapel - Modified to allow for "_" in variables. Fixes #4581.
2012-01-09 Jeff Anderson - Modified to conform ISIS programming standards
2010-04-08 Steven Lambright - Min, max functions expanded upon
2010-02-23 Steven Lambright - Operator/Function input strings and output strings now separated
2008-01-23 Steven Lambright - Added the operators (constants) PI and e
2007-08-22 Steven Lambright - Changed p_operators from vector to QList (static std::vector is unsafe)
2018-02-12 Stuart Sides - Added detached table capabilities for label files without a "RECORD_BYTES" keyword. References #5525.
2016-03-10 Jeannie Backer - Removed non-UTF8 character. References #2397.
2016-02-24 Ian Humphrey - Updated documentation and unit test. Added edrindex.lbl and edrindex.tab files to data directory (for tests). Fixes #2397.
2015-07-17 Kris Becker - Declare destructor as virtual to make it iheritable. Reorganized to support interception of storage methods for derived class use.
2012-11-21 Jeannie Backer - Added implementation for importing binary PDS tables. Changed method name from "exportAsTable" to "importTable". Improved unitTest coverage. References #700.
2003-03-12 Stuart Sides - added member to construct a command line from the internalized data and return it as a string (CommandLine).
2003-02-20 Stuart Sides - fixed problem where excludes/includes were throwing an error when they should not have.
2003-02-13 Stuart Sides - allowed list/option/included parameters to use the default value instead of just the value.
2003-02-07 Stuart Sides - fixed VerifyAll to better check list/option/includes,excludes
2003-01-27 Stuart Sides - modified GetFileName.
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.
2002-12-10 Stuart Sides - modified GetFileName member to return the filename(s) with environment variables expanded.
2002-11-05 Stuart Sides - Modified GetString member to return the matching list member (if a list exists) instead of the value itself.
2002-10-31 Stuart Sides - Added check to make sure all parameters have some type of value or are excluded by some other parameter.
2003-05-16 Stuart Sides modified schema from astrogeology...isis.astrogeology.
2003-02-12 Stuart Sides Fixed misspelling of object name in XML file. (Note: XML files no longer used in documentation.)
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
2017-01-09 Jesse Mapel - Added logical and, or operators. Fixes #4581.
2007-02-06 Tracie Sucharski, Added band parameter to Create method and call UniversalGroundMap::SetBand.
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-02-20 Steven Koechle - Fixed Fix360Poly to use the PolygonTools Intersect method.
2009-01-28 Steven Lambright - Fixed memory leaks
2009-01-06 Steven Koechle - Changed Constructor, removed backwards compatibility for footprint name.
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.
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-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2008-06-18 Stuart Sides - Fixed doc error
2008-03-17 Tracie Sucharski, Added try/catch block to Create and Fix360Poly to catch geos exceptions.
2007-11-09 Tracie Sucharski, Remove WKT method since the geos package know has a method to return a WKT string
2007-07-26 Tracie Sucharski, Added ss,sl,ns,nl to constructor for sub-poly creation.
2007-05-04 Robert Sucharski, with Jeff, Stuart, and Tracie's blessing, moved the WKT method to the PolygonTools class.
2009-05-06 Steven Koechle - Fixed Error where a NULL polygon was being written.
2007-01-31 Tracie Sucharski, Add WKT method to return WKT polygon as a string.
2007-01-19 Tracie Sucharski, Comment out the ToGround method.
2007-01-08 Tracie Sucharski, Fixed bugs in the ToImage and ToGround class for images that contain a pole.
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-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.
2006-05-17 Stuart Sides Renamed from PolygonTools and moved the geos::GeometryFactory to the new PolygonTools
2009-05-28 Stuart Sides - Added the quality argument.
2008-12-30 Tracie Sucharski - If ground map returns pole make sure it is actually on the image.
2008-04-28 Tracie Sucharski, When calculating p_pixInc, set to 1 if values calculated is 0.
2017-05-23 Ian Humphrey - Added a tryLock() to FindAllOverlaps to prevent a segfault from occuring on OSX with certain data. Fixes #4810.
2016-12-09 Marjorie Hahn - Added mutex tryLock() calls before unlocking to prevent undefined behavior caused by unlocking an unlocked mutex.
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.
2012-05-14 Steven Lambright - Added safety to the calcImageBorderCoordinates method, along with the validSampleDim and validLineDim methods. This fixes seg faults. Fixes #686.
2011-07-01 Travis Addair - Added outlier check to FindFirstPoint() to avoid choosing a first point without any valid neighbors (i.e., an outlier).
2011-05-12 Christopher Austin - Added validSample/LineDim() functionality.
2011-05-11 Steven Lambright - Now works with projected images.
2010-02-17 Christopher Austin - Fixed two more infinite looping issues, including a cycle fix which occured during Emission Angle and Incidence Angle restrictions
2010-02-08 Christopher Austin - Fixed an infinite loop which revisited the starting point, and added 360 meridian crossing
2009-08-28 Christopher Austin - Fixed a memory bounds error.
2009-08-05 Christopher Austin - Added pole meridian proper polygon division.
2009-07-28 Christopher Austin - Changed qualitiy increment to sample/line increment to remove unnecessary points from the polygon.
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-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-01 Christopher Austin - Added Emission and Phase Angle tolerences.
2009-06-19 Christopher Austin - Temporarily reverted for backport, fixed truthdata for SpiceRotation, re-commited with all updates
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-17 Christopher Austin - Removed p_name. Uses parent Name()
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-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-05-28 Stuart Sides - Added a new argument to Create for controling the quality of the polygon.
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.
2010-12-21 Sharmila Prasad - Added documentation and ignore temp files from disabled branches
2010-12-20 Sharmila Prasad - Added ability to add branches right off of the Pipeline
2008-12-19 Unknown - List files are now fully supported, along with output list files.
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-09-25 Unknown - Added features: Application identifiers other than the application names, branched original input, branching from branches, partial branch merging (discontinuing branches*)
2008-11-05 Jeannie Walldren - Moved PhtAcos() from NumericalMethods class.
2008-10-17 Steven Lambright - Moved Hapke-specific methods out of this class and into children classes.
2016-10-24 Jesse Mapel - Renamed and expanded functionality of PixelIfov to allow for both instantaneous and full field of views. References #4476.
2013-02-15 Tracie Sucharski - Original version of PixelIfov class.
2016-04-20 Makayla Shepherd - Added methods to handle UnsignedWord pixel type.
2015-08-05 Kristin Berry - Added empty constructor, copy constructor, copy assignement operator, and virutal destructor. Also updated to comply with Isiscoding standards.
2015-05-11 Kristin Berry - Added ability to store pixel information/made class instantiatable and updated funtionality to use this information when available.
2009-02-03 Travis Addair - Modified documentation for clarity
2006-06-21 Elizabeth Miller - Copied SpecialPixel methods into into the Pixel class for easy refactoring later and added several conversion methods
2005-05-18 Jeff Anderson - Changed long to int for 64-bit port
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
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.
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-25 Added features: Application identifiers other than the application names, branched original input, branching from branches, partial branch merging (discontinuing branches*)
2021-17-03 Adam Paquette - Update SetInputListFile to use the FileList object rather than the TextFile object. Also updated SetInputListFile isisparameter function to chain into the SetInputListFile FileName function.
2016-08-28 Kelvin Rodriguez - Removed useless if statement comparing a reference variable to Null. Part of porting to OS X 10.11.
2012-11-21 Jeannie Backer - Added Progress output to indicate which application is running. Added padding to control statements. References # 795.
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.
2009-06-15 Travis Addair - documented all variables/enums
2009-06-12 Travis Addair - changed public interface to use indices instead of file names and renamed from IntersectionStatistics
2009-06-05 Mackenzie Boyd - fixed unittest to work on all systems
2016-08-28 Kelvin Rodriguez - Removed several redundant var=var lines causing warnings in clang. Part of porting to OS X 10.11.
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.
2013-07-25 Kimberly Oyama - Fixed the longitude equation for the south pole by making x positive instead of negative. Fixes #1719.
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.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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.
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.
2008-05-09 Steven Lambright - Added Name, Version methods
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2008-06-18 Steven Koechle - Fixed Documentation Errors
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.
2006-06-13 Brendan George - Modified to throw error when called file does not contain an Original Label
2016-06-03 Ian Humphrey - Updated documentation and coding standards. Updated unit test. Fixes #3990.
2016-06-02 Ian Humphrey - Changed inherited protected members from p_ to m_. References #3967.
2008-10-30 Steven Lambright - Fixed problem with definition of struct quad, pointed out by "novus0x2a" (Support Board Member)
2008-06-18 Steven Koechle - Fixed Documentation Errors
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-01-11 Christopher Austin - Made class more general, inheriting SerialNumberList among others
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.
2007-07-31 Steven Lambright - Moved children methods out of this class and into the children classes
2011-09-15 Sharmila Prasad - Implemented brent's root solver using GSL
2011-08-19 Sharmila Prasad - Implemented brentminimizer using GSL
2008-07-09 Steven Lambright - Fixed unit test
2008-06-18 Steven Koechle - Fixed Documentation Errors
2008-03-07 Janet Barrett - Added SetPhotomWl method to allow the application to set the p_normWavelength variable for use by MoonAlbedo normalization.
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
2009-03-12 Travis Addair - added tracking for percent processed
2008-06-18 Steven Koechle - fixed Documentation Errors
2007-08-27 Steven Koechle - removed space from standard deviation keyword
2006-04-03 Elizabeth Miller - added .001 to the min and max values when computing the ranges to re-fix rounding issue
2006-03-31 Elizabeth Miller - added unitTest
2006-01-12 Elizabeth Miller - removed unwanted print statements
2005-11-18 Elizabeth Miller - added 1e-9 to the min and max values when computing the ranges to fix rounding issue
2019-09-05 Makayla Shepherd & Jesse Mapel - Changed weight for hold images from 1E30 to 1E10 to avoid poorly conditioned normal matrix.
2013-02-14 Steven Lambright - Added SolutionType GainsWithoutNormalization. Fixes #911.
2013-12-29 Jeannie Backer - Added LeastSquares::SolveMethod input parameter to Solve() method. Improved error message. Fixes #962,
2009-11-25 Travis Addair - held images are now weighted to ensure gain and offset of 1.0 and 0.0, respectively
2010-05-28 Steven Lambright - More resilient to $HOME/.Isis problems
2008-07-08 Steven Lambright - Now uses atexit for destruction
2008-01-09 Steven Lambright - Made Application a friend for destruction purposes
2005-10-03 Elizabeth Miller - changed
2003-12-03 Stuart Sides - added HasGroup member.
2003-05-16 Stuart Sides - Modified schema from astrogeoloy... isis.astrogeology
2003-04-23 Jeff Anderson - reworked the class to use the Label object.
2005-02-28 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2016-11-10 Kristin Berry - Added additional convenience constructor which accepts a vector of coeffs. References #3888.
2015-02-20 Jeannie Backer - Improved error messages.
2008-02-05 Jeannie Walldren - Renamed from Polynomial1Variable.
2008-02-05 Jeannie Walldren, Renamed from Poly2D.
2005-03-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2017-08-18 Tyler Wilson, Summer Stapleton, Ian Humphrey - Changed auto_ptr references to unique_ptr so that this class compiles with no warnings for C++14. References #4809.
2013-08-12 Stuart Sides - Added SplitPolygonOn360 and FixPolePolygon methods. Code was extracted from the ImagePolygon class. References #1604.
2013-02-26 Stuart Sides - Modified the output of GML and GML schema
2011-05-31 Steven Lambright - Improved To180 (not finished). The remaining work is to remove the 0 seam from the polygons.
2009-06-09 Steven Lambright - Added a check to Equal(double,double). This never caused a problem but could have.
2009-01-28 Steven Lambright - Fixed bug in Operate(...) method when reducing precision
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 memory leaks
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(...).
2003-04-28 Jeff Anderson - Added method to Log Label objects
2004-02-29 Jeff Anderson - Added ability to send LogResults to the parent process
2004-02-02 Jeff Anderson - Modified SetInputCube and SetOutputCube methods to accept CubeAttribute classes. Added the ClearInputCubes method.
2003-12-18 Jeff Anderson - Modified MissionData method to allow searching for the highest version of a file
2003-12-18 Jeff Anderson - Modifed preference loading to look for the users preference file in the directory $HOME/.Isis
2003-12-01 Jeff Anderson - Added ProgagateLabel method to allow for propagation from secondary cubes.
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-11-07 Stuart Sides - Added "ReadWrite" capability to the requirements parameter on SetInputCube and SetInputWorkCube.
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-09-02 Jeff Anderson - Added SetOutputWorkCube method
2003-06-30 Jeff Anderson - Added MissionData method
2003-06-04 Jeff Anderson - Added Progress method
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-04-23 Jeff Anderson - Made accomodations for the updated Preference class
2003-02-07 Jeff Anderson - Integrated QString class into the Log methods
2003-02-04 Jeff Anderson - Fixed bug in propagation of input labels to output cube
2003-02-04 Jeff Anderson - Added PropagateLabels method
2003-02-03 Jeff Anderson - Added propagation of labels from the first input cube to each output cube
2002-07-15 Stuart Sides - Added capabilities for applications to log information to standard out or the GUI log window (ShowLog and Log).
2002-06-24 Jeff Anderson - Added ic_base::OneBand requirement option for SetInputCube methods
2015-05-27 Andrew Stebenne - Backwards Compatibility Issue: Preference now throws an exception when Preference.Load() is called on a nonexistent preference file. This may cause issues for anyone who has been using a nonexistent preference file.
2013-03-27 Jeannie Backer - Added Near mission to DataDirectory group to TestPreferences file. References #1248.
2012-02-24 Steven Lambright - This class now sets the thread limit in the Qt global thread pool.
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.
2008-05-09 Steven Lambright - Added Name, Version methods
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2006-06-14 Elizabeth Miller - Added error check to make sure the center latitude is not zero
2005-03-11 Elizabeth Ribelin - added TrueScaleLatitude method test to unitTest
2005-03-01 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-24 Jeff Anderson - Fixed a bug in TrueScaleLatitude and changed default computation for CenterLatitude
2016-11-22 Tyler Wilson - Modified the XYRange() and SetGround() functions to eliminate clipping in the output map. Also added new tests to the unit test to excercise the forward/reverse projection equations. Fixes #3879.
2016-08-28 Kelvin Rodriguez - Removed useless var=var lines causing warnigns in clang. Part of Porting to OSX 10.11
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2012-06-15 Jeannie Backer - Minor modifications to comply with some coding standards. References #928.
2012-04-26 Jeannie Backer - Added forward declarations for Pvl and PvlGroup. Added includes to these classes in the implementation file.
2007-07-19 Steven Lambright Fixed memory leak
2005-02-15 Jeff Anderson refactored to use Qt Qlibrary class.
2017-06-07 Kristin Berry - Added a using declaration so that the new intersectSurface methods in ShapeModel are accessible by DemShape.
2016-06-13 Kelvin Rodriguez - Removed redundant contructor PlaneShape(Target, Pvl). References #2214
2015-07-31 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-04-30 Jeannie Backer - Added isDEM() method. References #2243. Moved method implementation to cpp file.
2016-08-28 Kelvin Rodriguez - Removed several redundant var=var lines causing warnings in clang. Part of porting to OS X 10.11.
2012-01-20 Debbie A. Cook - Changed to use RingPlaneProjection instead of Projection. References #775.
2006-08-07 Stuart Sides - Original version
2008-12-19 Steven Lambright - Added error to Despike (empty or invalid result).
2008-12-19 Steven Lambright - updated Despike(...)'s algorithm
2008-12-12 Steven Lambright - Renamed methods, polygon conversion methods now throw an iException if they fail, updated Despike(...)'s algorithm
2008-12-12 Steven Lambright - Bug fixes, cleaned up Despike/MakeMultiPolygon
2008-12-10 Steven Koechle - Moved MakeMultiPolygon Method 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-11-25 Steven Koechle - Moved Despike Methods from ImageOverlapSet to PolygonTools
2008-11-10 Christopher Austin - Added Thickness()
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2008-06-18 Steven Koechle - Fixed Documentation Errors
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.
2007-05-04 Robert Sucharski - Moved the method to output WKT from ImagePlygon class to this class. Also added method to output GML format.
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.
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2009-04-15 Eric Hyer - Now stores invalid input. Added Copy constructor, destructor, and assignment operator
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
2008-08-18 Christopher Austin - Upgraded to geos3.0.0, removed Chip.h include, fixed ifndef
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.
2009-06-10 Jeannie Walldren - Set new variable, p_fprimeOfx.
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. Original name DataInterp().
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type vector and NumericalApproximation::InterpType.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type NumericalApproximation::InterpType.
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. 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. Original name DataInterp().
2008-07-09 Steven Lambright - Fixed unit test
2008-06-18 Steven Koechle - Fixed Documentation Errors
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.
2010-11-10 Sharmila Prasad - Updated unittest for changes in the deffile
2011-01-28 Janet Barrett - Fixed NormModelAlgorithm so that it applies the photometric correction to the incoming dn value
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
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.
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.
2009-06-10 Jeannie Walldren - Moved itype verification to beginning of method.
2008-11-05 Jeannie Walldren - Original version written to save off the error estimate found by EvaluatePolynomialNeville()
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type vector.
2009-06-10 Jeannie Walldren - Added min points for CubicHermite.
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.
2009-06-10 Jeannie Walldren - Added min points for CubicHermite.
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.
2009-06-10 Jeannie Walldren - Added CubicHermite name.
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 - Changed name.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name ~DataInterp().
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
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
2008-03-07 Janet Barrett - Changed name of Incmatch variable to Incmat
2006-03-20 Jacob Danton Changed to average minimum difference algorithm.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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.
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2005-03-18 Elizabeth Ribelin - added TrueScaleLatitude method to class and tested in unitTest
2007-07-11 Brendan George Fixed unitTest to print values in "fixed" (non-scientific) format, added system specific unitTest for Linux i686 systems
2019-12-19 Kristin Berry - Updated to add support for PvlKeywords to SetPhotoPhaseList, SetPhotoLList, and SetPhotoPhaseCurveList Fixes #3608, this allows photomet to work with this model using FROMPVL, rather than specifying the lists directly.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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.
2017-06-07 Kristin Berry - Added a using declaration so that the new intersectSurface methods in ShapeModel are accessible by EllipsoidShape.
2016-06-13 Kelvin Rodriguez - Removed redundant contructor PlaneShape(Target, Pvl). References #2214
2015-04-30 Jeannie Backer - Added isDEM() method. References #2243.
2015-03-14 Jeannie Backer - Modified calculateLocalNormal() to simply call setLocalNormalFromIntercept() rather than trying to interpolate based on the neighbor values. References #2035
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
2017-06-28 Kris Becker - Updated DSK includes for NAIF N0066 release that now includes the DSK formally. The includes are now all in SpiceUsr.h. Removed SPICE includes from the cpp file as well. Fixes #4947.
2017-05-19 Christopher Combs - Modified unitTest.cpp: added ReportError method to truncate paths before data directory. Allows test to pass when not using the default data area. Fixes #4738.
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
2017-06-28 Kris Becker - Updated DSK includes for NAIF N0066 release that now includes the DSK formally. The includes are now all in SpiceUsr.h. Removed SPICE includes from the cpp file as well. Fixes #4947.
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
2016-07-15 Ian Humphrey - Added constructor to initialize a MultivariateStatistics object from a PvlObject. Added fromPvl() and toPvl() methods to allow for serialization/unserialization with PvlObjects. Updated unit test. References #2282.
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.
2005-05-23 Jeff Anderson - Added 2GB+ file support
2005-03-28 Leah Dahmer modified file to support Doxygen documentation.
2010-11-10 Sharmila Prasad - Updated unittest for changes in the deffile
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 - Renamed and modified input/output parameters, removed IException and replaced it with ValidateDataSet() method.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class. Original name r8polint()
2008-11-05 Jeannie Walldren - Renamed and modified input parameters, removed IException and replaced it with ValidateDataSet() method.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class. Original name r8splint().
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type NumericalApproximation::ExtrapType.
2008-11-05 Jeannie Walldren - Modified to allow for computation of interpolation types other than those supported by GSL.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Renamed and modified input parameters.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class. Original name r8spline().
2008-11-05 Jeannie Walldren - Modified to allow for computation of interpolation types other than those supported by GSL.
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.
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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-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.
2010-02-08 Sharmila Prasad - Removed testing m_latitude and m_longitude in operator "=="
2008-05-09 Steven Lambright - Added Name, Version methods
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2007-06-19 Steven Lambright, Converted to ISIS3 and created XY Range search implementation
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.
2010-07-21 Sharmila Prasad - Remove doxygen documentation warnings
2009-08-03 Jeannie Walldren - Clean up code, documentation and check in changes from 2009-06-10, 2009-07-02, 2009-07-09
2009-07-02 Jeannie Walldren - Replaced Hermite interpolation algorithm with simpler version and added methods EvaluateCubicHermiteFirstDeriv and EvaluateCubicHermiteSecDeriv
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-17 Steven Lambright - Added algorithm include, removed macro MAX
2009-02-12 Jeannie Walldren - Fixed documentation to include weblinks.
2009-01-26 Jeannie Walldren - Fixed error 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(),
2008-11-12 Jeannie Walldren - Fixed documentation.
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-06-18 Steven Koechle - Updated NumericalMethods unitTest.
2008-06-18 Christopher Austin - Fixed documentation for DataInterp
2007-02-20 Janet Barrett - Created AtmosModel class from Isis2 subroutines
2007-02-20 Janet Barrett - Created NumericalMethods class from Isis2 subroutines
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 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 firstDerivative().
2009-06-10 Jeannie Walldren - Added functionality for CubicHermite evaluation.
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.
2008-12-18 Jeannie Walldren - Added address operator (&) to input variables of type NumericalApproximation::ExtrapType.
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 - Renamed.
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 deallocate().
2008-11-05 Jeannie Walldren - Renamed.
2006-06-14 Kris Becker - Original version created in DataInterp class. Original name allocate().
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. Original name initInterp().
2009-06-10 Jeannie Walldren - Reset new variable, p_fprimeOfx.
2008-11-05 Jeannie Walldren - Modified to reset class variables related to interpolation types not supported by GSL.
2006-06-14 Kris Becker - Original version created in DataInterp class.
2008-11-05 Jeannie Walldren - Renamed, modified input parameters, adapted to be used with data set.
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.
2007-02-20 Janet Barrett - Imported to Isis3 in AtmosModel class. Original name r8trapzd().
2008-06-18 Christopher Austin - Fixed documenation errors
2007-12-04 Christopher Austin - Added option to constructor to change the order of the progression through the cube
2005-05-23 Jeff Anderson - Modified to support 2GB+ files
2003-06-02 Jeff Anderson - Modified setpos method to allow for speedy reverse direction management.
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2012-11-19 Steven Lambright - Added CopyOverlapFrom() for use as a quicker IO than going back to Cube. References #1232.
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.
2010-06-22 Steven Lambright - "Copy" now ensures pixel types are the same to prevent going out of memory bounds
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.
2007-09-05 Kris Becker - Added default constructor for added protection; Added assignment operator for a single value for convenience.
2005-01-16 Jeff Anderson - moved some private methods/variables into protected space
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
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.
2006-04-21 Jacob Danton - Modified Brick to extend BufferManager, added new constructor, and two methods, SetBrick and Bricks
2005-02-25 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
2003-04-01 Tracie Sucharski - added documentation explaining the offsets (which pixel is being processed within the boxcar) and added unitTest.
2018-07-20 Tyler Wilson - Overloaded the int2Double function so it can handle special pixel types for 4-byte unsigned integers. References #971.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
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.
2008-06-18 Christopher Austin - Fixed documentation errors
2008-05-12 Steven Lambright - Removed references to CubeInfo
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.
2012-06-04 Janet Barrett - Removed redundant calls to Sample(), Line(), and SetImage().
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.
2011-02-11 Janet Barrett - Added documentation.
2010-09-28 Janet Barrett - Added Randy's updated method for calculating the azimuth.
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of reclat.
2018-09-27 Kaitlyn Lee - Fixed the cout in PrintTop() so that -nan is printed as nan. Updated code up to standards. References #5520.
2017-08-30 Tyler Wilson and Ian Humphrey - provided std:: namespace for isnan to fix ambiguity error when using c++11. References #4809.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2010-04-08 Steven Lambright - Made min, max have proper implementations and vectors are now QVectors.
2010-02-23 Steven Lambright - Added Minimum2, Maximum2 and all min/max operations now ignore special pixels.
2008-03-28 Steven Lambright - Condensed math methods to just call PerformOperation(...). Converted valarray's to vectors (in order to use iterators).
2008-01-28 Steven Lambright - Added more support for the power operator
2007-08-21 Steven Lambright - Moved the infix to postfix conversion into its own class.
2007-06-11 Jeff Anderson - Fixed bug in Push(Buffer) method. NAN was not computed properly.
2009-08-07 Travis Addair - Added functionality allowing it and all its sublcasses to return their auto registration template parameters
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-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-04-08 Travis Addair - Added methods EccentricityRatio() and EccentricityRatioTolerance() to retrieve an eccentricity value as the antecedent in an A:1 ratio.
2010-03-26 Travis Addair - Added methods Eccentricity() and AverageResidual() to retrieve the last computed value for those variables
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-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-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-02-22 Tracie Sucharski - Added return methods for settings.
2009-09-07 Kris Becker - Set the goodness of fit when successful Adaptive algorithm.
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-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-08-25 Kris Becker - Correct calls to abs instead of the proper fabs.
2010-07-20 Jeannie Walldren - Added ability to set a valid percentage for the search chip's subchip. Updated documentation and unitTest.
2009-06-02 Jeff Anderson - Added AdaptiveRegistration virtual methods
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-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-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-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-17 Tracie Sucharski - Added method to return fit chip
2008-11-18 Steven Koechle - Changed all keywords *NotEnoughData to *NotEnoughValidData
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-06-23 Steven Lambright Fixed naming and some documentation fixes, added ZScores
2006-06-28 Brendan George Added copy constructor (private member function)
2006-05-22 Jacob Danton Added statistics reporting
2006-05-15 Jeff Anderson Moved ZScoreMinimum from Algorithm group to the PatternChip group
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.
2010-05-15 Steven Lambright Changed Read to use an istream instead of an fstream
????-??-?? Steven Lambright Added copy constructor, assignment operator
2007-02-20 Elizabeth Miller Fixed bug with OriginalLabel naming and modified to be backwards compatible
2006-04-04 Jeff Anderson Class was not overwriting existing blobs correctly.
2016-06-10 Marjorie Hahn - Added new signature for Evaluate() that only takes in a single value. Fixes #1679
2015-02-20 Jeannie Backer - Improved error messages.
2005-03-16 Leah Dahmer - modified file to support Doxygen documentation.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
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.
2005-03-16 Leah Dahmer - modified file to support Doxygen documentation.
2018-07-27 Makayla Shepherd - Fixed a bug that upon sub-pixel registration failure caused the previous registration to be returned. If sub-pixel registration fails now it will return to the whole pixel registration values. Fixes #5248.
2018-07-27 Makayla Shepherd - Fixed a bug that made registration fail for one dimensional pattern chips. Fixes #5247.
2012-01-05 Travis Addair - Added separate variables for Whole Pixel Correlation and Subpixel Correlation.
2011-10-12 Jai Rideout - Removed Roberts gradient. It did not give useful results due to the 2x2 matrix it uses.
2011-05-18 Steven Lambright - Fixed a bug with ReductionFactor
2011-05-04 Jai Rideout - Added ability to save gradient- filtered chips after registration instead of just saving the original chips.
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-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.
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.
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.
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.
2009-04-02 Debbie A. Cook Removed obsolete methods IsXAxisTimeDependent, IsYAxisTimeDependent, XAxisDirection, YAxisDirection, SetXAxisDirection, and SetYAxisDirection
2021-03-04 Victor Silva - Made changes to GetLocalNormal to calculate local normal accurately for LRO by changing 4 corner surrounding points from adding 0.5 to line and sample and wrapping value with nexttoward.Fixes #4018.
2018-07-12 Summer Stapleton - Added m_instrumentId and instrumentId() in order to collect the InstrumentId from the original cube label for comparisons related to image imports in ipce. References #5460.
2017-01-11 Christopher Combs - Added bool deleteExisting to SetDistortionMap to prevent a segfault when the distortion map is incomplete. Fixes $5163.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2017-03-03 Tyler Wilson - Updated the oblique detector resolution function to correct an error in the original formula, and updated the documention for this function. Fixes #4614.
2016-12-02 Victor Silva - Made changes to GetLocalNormal to calculate local normal accurately for LRO by changing 4 corner surrounding points from adding 0.5 to adding 0.5 - DBL_MIN. Fixes #4560.
2016-10-21 Jeannie Backer - Reorder method signatures and member variable declarations to fit ISIS coding standards. References #4476.
2016-10-21 Jesse Mapel - Modified exposureDuration(sample, line, band) to default to using the band the camera is set to. References #4476.
2016-10-18 Kristin Berry - Added a new virtual SetImage which includes a time offset. Refactored SetImage to minimize repeated code by creating helper functions SetImageSkyMapProjection() and SetImageMapProjection(). Updated unitTest. References #4476.
2016-08-16 Tyler Wilson - Added ObliqueDectectorResolution,ObliqueLineResolution, ObliqueSampleResolution, and ObliquePixelResolution functions which give greatly improved approximations compared to their non-oblique counterpart functions when the Look vector is pointing off nadir and near the limb. Fixes #476. References #4100.
2016-08-01 Curtis Rose - Changed return values of resolutions from -1 to Isis::Null. Fixes #2065.
2016-06-27 Kelvin Rodriguez - Added member function to compute celestial north clock angle. References #2365
2015-10-16 Ian Humphrey - Added protected members for spacecraft and instrument names as well as public member getters. Updated unit test. References #2335.
2015-09-01 Ian Humphrey and Makayla Shepherd - Modified unit test to override Sensor's pure virtual methods.
2015-05-15 Kris Becker - Set ShapeModel state in SetImage() to reflect no intersection before attempting to map to surface. Fixes #2252.
2015-04-30 Jeannie Backer - Fixed bug in GetLocalNormal() introduced in prior check-in. Fixes #2243.
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.
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.
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.
2012-12-20 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection instead of Projection as needed. References #775.
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.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
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.
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.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-05-25 Janet Barrett and Steven Lambright - Spice::GetDouble is no longer static.
2007-02-13 Debbie A. Cook - Added methods SignMostSigX() and SignMostSigY()
2021-02-17 Kristin Berry and Stuart Sides - added static plugins initialized variable and made initPlugin plublic.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2017-7-11 Summer Stapleton - Added functionality to find the most recent (last) version of the camera model
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.
2011-05-23 Jannet Barrett and Steven Lambright - Added m_cameraPlugin to reduce cost of instantiating Cameras.
2006-05-17 Elizabeth Miller - changed CameraManager.plugin to Camera.plugin
2017-09-04 Kristin Berry - Made SetDistortion virtual so that individual camera model distortion maps can set the values.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
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.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2008-02-21 Steven Lambright - Fixed a problem that resulted in infinities and NaNs
2008-02-05 Jeff Anderson - Modified to allow for variable focal length
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2016-10-27 Jeannie Backer - Moved method implementation to cpp file. Added some variable documentation. References #4476.
2016-10-19 Jesse Mapel - Added exposureDuration method for accessing a pixel's exposure duration. Updated test. References #4476.
2016-10-18 Kristin Berry - Added additional SetParent with a time offset and added unitTest coverage. References #4476.
2008-07-15 Steven Lambright - Added NaifStatus calls
2009-08-03 Debbie A. Cook - Added computation of tolerance to support change in Spice class for supporting downsizing of Spice tables
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-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-06-05 Mackenzie Boyd - Updated samson truthdata
2009-05-22 Debbie A. Cook - Added Resolution method for Sensor (parent) virtual
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-03-02 Steven Lambright - This class now keeps track of the current child band, has more error checks, and now hopefully resets state when methods like GroundRangeResolution are called.
2009-01-05 Steven Lambright - Added InCube method
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).
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-08-08 Steven Lambright - Added the LoadCache() method which tries to find the correct time range and calls Spice::CreateCache
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.
2009-08-14 Debbie A. Cook - Corrected alternate tolerance
2008-06-18 Christopher Austin - Fixed documentation errors
2008-05-21 Steven Lambright - Fixed boundary condition in the GroundRangeResolution() method.
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-01-28 Christopher Austin - Added error throw when minlon range isn't set beyond initialization.
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.
2006-07-31 Elizabeth Miller - Added OffNadirAngle method and removed SpacecraftRoll() method
2006-07-25 Elizabeth Miller - Fixed bug in Distance method
2006-06-08 Elizabeth Miller - Added static Distance method that calculates the distance between 2 lat/lon pts (given the radius)
2006-04-19 Elizabeth Miller - Added SpacecraftRoll method
2006-04-11 Tracie Sucharski - Added IgnoreProjection method and p_ignoreProjection so that the Camera is used rather than Projection.
2011-01-25 Eric Hyer - SurfacePoint class now exists so uncommented Steven's new SetGround() methods (see history for 2010-11-04)
2012-10-25 Jeannie Backer - Changed resolution() method to lower camel case. References #1181.
2012-10-12 Debbie A. Cook - Updated to use new Target and ShapeModel classes. References Mantis ticket #775 and #1114.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-06-04 Janet Barrett - Got rid of redundant calls to Sample(), Line(), and SetImage() in the ComputeAzimuth method.
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-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.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2011-02-18 Steven Lambright - Fixed a problem where using a planetographic mapping group in GroundRange would still output planetocentric latitudes.
2011-02-11 Steven Lambright - Moved Distance() method to SurfacePoint
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-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-01-26 Steven Lambright - ComputeAzimuth now takes a Distance for the radius. The LocalRadius() methods now return instances of the Distance class.
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-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
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.
2010-11-09 Eric Hyer - Added GetLocalNormal() and LocalPhotometricAngles() methods
2010-11-04 Steven Lambright - Added SetGround() methods with the SurfacePoint version being commented out until the SurfacePoint class is available
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-03-19 Debbie A. Cook - Added members p_ckFrameId and p_ckReferenceId and members SetCkFrameId(), SetCkReferenceId(), CkFrameId(), and CkReferenceId() needed by the ckwriter application
2009-12-14 Steven Lambright - BasicMapping(...) will now populate the map Pvl parameter with a valid Pvl
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of NAIF's reclat() when computing azimuths.
2009-08-28 Steven Lambright - Added GetCameraType method and returned enumeration value
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-17 Debbie A. Cook - Added default tolerance for sky images
2013-02-01 Steven Lambright - Added QDebug() printout capabilities. References #1060.
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.
2012-06-29 Steven Lambright and Kimberly Oyama - Removed duplicate code from the constructor. Added the fullRotation() method which creates an angle of 360 degrees and modified the unit test to exercise this. References #958.
2012-03-22 Steven Lambright - Renamed text() to toString().
2012-02-16 Steven Lambright - Brought up to method and member naming standards.
2010-11-01 Steven Lambright - Added methods setRadians and SetDegrees
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.
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.
2005-02-14 Leah Dahmer - Modified file to support Doxygen documentation.
2004-06-03 Jeff Anderson - Fixed bug in UpdateGroup which occured when a cube label did not already have a AlphaCube group.
2004-02-13 Jeff Anderson - Added another constructor and refactored UpdateGroup method.
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid and the DEM
2009-05-11 Janet Barrett - Fixed so that the NormModelAlgorithm supporting DEM input is the empty function. DEM input is not yet supported.
2008-11-07 Jeannie Walldren - Fixed documentation.
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class.
2008-06-18 Christopher Austin - Fixed documentation errors
2007-08-15 Steven Lambright - Refactored code and fixed unit test
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2008-06-18 Christopher Austin - Fixed documentation errors
2008-03-07 Janet Barrett - Changed name of Incmatch parmater to Incmat
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.
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.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis3.
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.
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.
2011-08-17 Sharmila Prasad - Moved common HNORM to base AtmosModel
2008-11-05 Jeannie Walldren - Replaced reference to NumericalMethods::r8expint() with AtmosModel::En(). Added documentation from Isis2.
2007-08-15 Steven Lambright - Refactored code
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.
2008-11-05 Jeannie Walldren - Replaced NumericalMethods::r8expint() with AtmosModel::En(). Replaced Isis::PI with PI since this is in Isis namespace.
2007-02-20 Janet Barrett - Imported from Isis2 pht_atm_functions to Isis.
1999-03-12 K Teal Thompson Port to Unix/ISIS; declare vars; add implicit none.
2019-03-11 Kaitlyn Lee - Added comments to > and < operators to clarify why the != comparison was needed.
2018-11-13 Kristin Berry - Made protected methods public as part of testing refactor.
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.
2014-08-21 Jeannie Backer - Modified isValid to utilize the IsValidPixel() method in the SpecialPixel header. References #1659.
2013-03-18 Debbie A. Cook - Added flag to flip focal plane z axis
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
2013-03-18 Debbie A. Cook - Added flag to flip focal plane z axis
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
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-24 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods and added test data for Apollo 16 and 17.
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-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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-07-20 Sharmila Prasad - Modified documentation to remove Doxygen Warning
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2014-01-17 Kris Becker - Set CkReferenceID to J2000 to resolve problem with ckwriter
2011-05-03 Jeannie Walldren - Added documentation.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods.
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
2010-11-18 Kris Becker Fixed bug in inverse representation when scaling is applied to the current transform.
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.
2008-10-29 Steven Lambright - Corrected usage of std::vector, problem pointed out by "novas0x2a" (Support Forum Member)
2008-06-18 Christopher Austin - Added documentation
2007-07-12 Debbie A. Cook, Added methods Coefficients and InverseCoefficients
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
2012-07-10 Orrin Thomas - Updated to current coding standards
2017-06-28 Makayla Shepherd - Updated documentation. References #4807.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335. Fixed indentation.
2015-09-01 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names.
2012-07-10 Orrin Thomas - Updated to current coding standards
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2011-09-14 Janet Barrett - Got rid of bharef, hgaref, and wharef variables and supporting methods.
2011-08-17 Sharmila Prasad -Added API's for HNORM, Additive Offset
2008-11-07 Jeannie Walldren - Fixed documentation
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-07-09 Steven Lambright - Fixed unit test
2008-06-18 Christopher Austin - Fixed much documentation
2008-03-07 Janet Barrett - Added code to set standard conditions. Also added bharef, hgaref, tauref, and wharef variables and supporting methods.
2011-12-16 Janet Barrett - Imported to Isis3 from Isis2 get_hahgsb_shad routine in the not_shadow_tau set of routines
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. moved factors to outside integration
2000-09-15 Randy Kirk - Delete first, last integrals and table of second integral
2006-07-07 Randy Kirk - Modify get_ah_table to get other integrals
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods and replaced r8qromb() with NumericalAtmosApprox::RombergsMethod(). Changed name from GetHahgTables().
2007-02-20 Janet Barrett - Imported to Isis3 from Isis2 pht_get_ah_table
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. moved factors to outside integration
2006-07-07 Randy Kirk - Modify get_ah_table to get other integrals
2010-07-20 Jeannie Walldren - Added ability to read search sub chip valid percent
2010-06-15 Jeannie Walldren - Added ability to read ChipInterpolator keyword from the Algorithm group.
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.
2008-11-05 Jeannie Walldren - Moved to new class and replaced Isis::PI with PI since this is in Isis namespace.
2007-07-20 Janet Barrett - Imported to Isis3 in AtmosModel class.
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. Moved factors to outside integration.
2008-11-05 Jeannie Walldren - Moved to new class and replaced Isis::PI with PI since this is in Isis namespace.
2007-07-20 Janet Barrett - Imported to Isis3 in AtmosModel class.
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc.
2008-11-05 Jeannie Walldren - Renamed, moved to new class, and changed i/o parameters.
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.
2007-02-20 Janet Barrett - Imported to Isis3 in AtmosModel class. Original name r8qromb().
2006-08-30 Jeff Anderson - Create a QCoreApplication if in command line mode.
2010-06-29 Steven Lambright - Added a setlocale to english for numeric values
2010-03-17 Stuart Sides - Added the location of the Qt plugins into the library path
2009-11-19 Kris Becker - Made argc pass by reference since Qt's QApplication/QCoreApplication requires it
2008-07-08 Steven Lambright - p_ui is no longer static, which fixes issues with the mac unit tests.
2008-07-08 Steven Lambright - Singletons now destroy themselves instead of Application deleting them
2008-06-24 Steven Koechle - Added Preferences to Debugging Log.
2008-06-19 Steven Lambright - Added CubeManager::CleanUp call to clean up cubes in memory after calling IsisMain.
2008-06-18 Christopher Austin - Fixed documentation error
2008-04-16 Steven Lambright - Added parameter check that was removed from UserInterface
2008-01-09 Steven Lambright - Fixed Memory Leak
2008-01-04 Jeannie Walldren - Changed description of Log method
2007-10-04 Steven Koechle - Added output capability for debugging log for -info flag
2010-11-29 Steven Lambright - Added the Version() method
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-02-27 Elizabeth Miller - Added GuiLog and GuiReportError methods
2006-02-17 Fixed bug with application name being unknown if the user interface threw an error
2006-02-16 Jeff Anderson - Fixed race condition on sockets between communicating ISIS programs
2006-02-13 Elizabeth Miller - Added GuiHelper Capabilities
2005-12-16 Elizabeth Miller - Added documentation and -BATCHLIST capabilities
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.
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.
2011-08-17 Sharmila Prasad - Moved common HNORM to base AtmosModel
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.
2008-06-18 Christopher Austin - Fixed documentation error
2008-03-07 Janet Barrett - Moved code to set standard conditions to the AtmosModel class
2007-02-20 Janet Barrett - Imported to Isis3 from Isis2 pht_get_ah_table
2006-05-30 Randy Kirk - Added code to report the directional hemispheric albedo that relates to thermal balance for simulating Themis images
2000-12-29 Randy Kirk - Modified /hide_inc/ so phi gets passed, etc. moved factors to outside integration
2008-11-05 Jeannie Walldren - Renamed and modified input parameters. Added documentation.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class named r8expint().
1999-08-10 K Teal Thompson - Original version in named pht_r8expint Isis2.
2008-11-05 Jeannie Walldren - Renamed and modified input parameters. Added documentation.
2007-02-20 Janet Barrett - Imported to Isis3 in NumericalMethods class named r8ei().
1999-08-11 K Teal Thompson - Original version named pht_r8ei in Isis2.
1999-03-12 K Teal Thompson - Port to Unix/ISIS; declare vars; cadd implicit none.
1998-12-21 Randy Kirk, USGS - Flagstaff - Original code in Isis2 pht_am_functions
2017-06-08 Christopher Combs - Changed object used to calculate connectTime from a time_t to a QTime. Fixes #4618.
2016-08-15 Adam Paquette - Reset locale after QApplication or QCoreApplication are instantiated. Fixes #3908.
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.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2011-07-12 Sharmila Prasad - Fixed bug in "ExecutionDateTime" keyword
2011-04-01 Eric Hyer - Now inherits from Environment
2011-03-01 Steven Lambright - Fixed Version method
2010-11-30 Steven Lambright - Merged some of the the "System" functions' functionality. Moved some of the inter-process communication to ProgramLauncher.
2008-05-09 Steven Lambright - Added Name, Version, IsEquatorialCylindrical methods
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2005-03-11 Elizabeth Ribelin - added TrueScaleLatitude method test to the unitTest
2004-02-24 Jeff Anderson - Modified forward and inverse methods to use the local radius at the center latitude instead of the equitorial radius.
2018-01-05 Cole Neubauer - Fixed units conversion in intersectSurface so that the loop is stepping by radians per pixel, as recommended by Jeff Anderson (LROC team). Fixes #5245
2015-10-01 Jeannie Backer - Made improvements to documentation and brought code closer to ISIS coding standards. Removed check for ellipsoid intersection in intersectSurface() method to prevent early return and attempt the iterative method even when the ellipsoid is not intersected. Fixes #1438
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2012-12-19 Debbie A. Cook Added a check for an invalid radius in the intersectSurface() method, that was causing applications to hang. Also return a false if no ellipsoid itersection is found.
2017-05-19 Christopher Combs - Modified uniTest.cpp: truncated paths of NonOverlaps in output PVL on lines 100 and 123 to allow the test to pass when not using the standard data areas. Added ReportError method to remove paths when outputting errors. Fixes #4738.
2016-07-15 Ian Humphrey - Added recalculateStatistics() method to allow for statistics to be calculated only for new input images, using previously calculated statistics for the rest of the input images. Added fromPvl() method to unserialize Equalization data from a pvl object. Refactored calculateStatistics() to separate functionality and allow for statistics recalculation. Added methods to properly free some of the vector members. Added new members to help with unserialization via the fromPvl() method and help with recalulating overlap statistics. Added API documentation. Updated unit test. Fixes #2282.
2013-01-29 Jeannie Backer - Fixed bugs from previous checkin. Improved test coverage by more than 23% for each coverage type.
2013-01-29 Jeannie Backer - Added input parameter to calculateStatistics() method. Added error catch to improve thrown message. Fixes #962.
2012-04-26 Jeannie Backer - Added includes to Filelist, Pvl, PvlGroup, and Statistics classes to the implementation file.
2106-06-20 Kris Becker - Porting to Qt5.6 requires a different Qt startup strategy. See QStartup().
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-03-06 Steven Lambright - Added automatic environment setup that works with every Isis 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.
2011-09-20 Steven Lambright - Added support for 4 line version file.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
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
2018-01-29 Adam Goins - Added uint32_t behavior to EndianSwapper.
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
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.
2004-01-22 ?????? - Added new member Name. Name returns the filename only without any path, extension or attributes.
2004-01-14 ?????? - Added new member OriginalPath.
2003-12-03 ?????? - Added capability to expand Preferences in the DataDirectory group only.
2003-10-30 ?????? - Added new members: HighestVersion and Exists.
2003-10-17 ?????? - Added default constructor, operator "=" and temporary members.
2003-07-21 Stuart Sides - modified to use "+" as the attribute delimiter instead of a ":".
2003-05-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology.
2002-02-12 Stuart Sides - fixed bug with incorrect parsing when filename did not have a path.
2003-01-27 Jeff Anderson - added a method to allow full file specification to be extracted (includes the attributes).
2002-11-27 Stuart Sides - added capability to expand environment variables within a filename.
2017-09-22 Cole Neubauer - Fixed documentation. References #4708
2017-08-15 Adam Goins - removed a printf() that resulted in extraneous output to be displayed. Ref#5112
2007-01-04 Brendan George - Added comment recognition and it now only reads the first column
2006-04-05 Elizabeth Miller - Added error message to catch empty files
2005-03-16 Leah Dahmer - modified file to support Doxygen documentation.
2003-05-16 Stuart Sides - modified schema from astrogeology... isis.astrogeology...
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.
2013-05-14 Jeannie Backer - Fixed unitTest merge error. 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.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection.
References #775.
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.
2008-11-12 Steven Lambright - Commented some unclear code (CenterLatitudeRadius keyword)
2017-06-07 Kristin Berry - Added a using declaration so that the new intersectSurface methods in ShapeModel are accessible by DemShape.
2017-05-19 Christopher Combs - Modified unitTest.cpp: Removed path of output in testDemCube() to allow the test to pass when not using the standard data areas. Fixes #4738.
2017-05-19 Tyler Wilson - calculateDefaultNormal() and calculateSurfaceNormal() now return the normal vector to an ellipsoid. All references to ShapeModel::calculateEllipsoidalSurfaceNormal have been removed. References #1028.
2016-06-13 Kelvin Rodriguez - Removed redundant contructor PlaneShape(Target, Pvl). References #2214
2015-10-01 Jeannie Backer - Made improvements to documentation and brought code closer to ISIS coding standards. References #1438
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-04-30 Jeannie Backer - Added isDEM() method. References #2243.
2012-10-25 - Jeannie Backer - Changed call to Spice::resolution() method to lower camel case. Added documentation. Ordered includes. References #1181.
2009-11-03 Mackenzie Boyd - Modified to include cube attributes (input) when opening cubes.
2012-02-09 Jeff Anderson - Modified to conform to ISIS programming standards
2012-02-02 Jeff Anderson - Added the Initialize method and camera variables (phase, incidence, etc) for a cube
2010-02-23 Steven Lambright Updated to use InfixOperator class method instead of direct access to member
2016-06-21 Kris Becker - Properly forward declare QPair as struct not class
2012-02-27 Jai Rideout and Steven Lambright - Made BricksInMemory() thread-safe. Fixes #733.
2010-08-24 Eric Hyer - Added the RemoveCube method
2010-08-23 Eric Hyer - Added the FindCubeId method
2010-08-12 Steven Lambright - Fixed memory leak and simplified acquiring write bricks
2010-07-29 Eric Hyer - AcquireLock now flushes events for this thread instead of the main eventloop's thread.
2004-03-18 Stuart Sides used Endian.h instead of the linux gcc endian.h to figure the system's endian type.
2003-05-16 Stuart Sides modified schema from astrogeology...isis.astrogeology.
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
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.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-02-11 Stuart Sides - Documented and created an object unittest
2018-05-01 Christopher Combs - Removed emissionAngle function to fix issues with using ellipsoids to find normals. Fixes #5387.
2017-04-22 Jesse Mapel and Jeannie Backer - Original Version
2017-06-07 Kristin Berry - Added a using declaration so that the new intersectSurface methods in ShapeModel are accessible by EllipsoidShape.
2017-05-19 Tyler Wilson - calculateSurfaceNormal() and calculateDefaultNormal() now call calculateLocalNormal(), which calculates the normal vector to an ellipsoid. Prior to this, they were calling ShapeModel::calculateEllipsoidalSurfaceNormal() function which was incorrectly returning the normal vector to a sphere and not an ellipsoid. Fixes #1028.
2016-06-13 Kelvin Rodriguez - Removed redundant contructor EllipsoidShape(Target, Pvl). References #2214
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-04-30 Jeannie Backer - Added isDEM() method. References #2243.
2012-12-21 Debbie A. Cook - Cleaned up intersectSurface method to reflect changes made to ShapeModel class. References #1343.
2012-03-22 Steven Lambright - Added solarRadii(), setSolarRadii(), and the unit SolarRadii. References #1232.
2012-03-22 Steven Lambright - Added toString().
2012-02-16 Steven Lambright - Brought up to method and member naming standards.
2013-01-28 Janet Barrett - Modified the AddParameter method to also update exclusions for boolean widgets. References #1452.
2012-11-08 Janet Barrett - Modified the AddParameter method to only update exclusions for list and combobox widgets. Fixes #624.
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.
2010-03-17 Stuart Sides - Added the location of the Qt plugins into the library path
2009-11-19 Kris Becker - Made argc pass by reference since Qt's QApplication/QCoreApplication requires it
2008-07-29 Steven Lambright Fixed memory leaks and naming convention
2008-06-06 Steven Lambright Fixed bug with corrupt parameter history file causing the program to crash
2007-07-19 Steven Lambright Fixed bugs: Command Line not checked but displayed initially and Command Line edit was not read only.
2016-02-08 Ian Humphrey - Changed exit(0) to QApplication's quit(), since this code is within the QApplication's exec event loop.
2007-05-16 Tracie Sucharski - Change cursor to wait while processing.
2010-06-14 Jeannie Walldren - Capitalized getTransform and setTransform to match changes in Chip class
2009-09-11 Kris Becker Minor error in computation of radiometric shift
2009-09-10 Kris Becker Changed AffineThreshHold1 to AffineTranslationTolerance and AffineThreshHold2 to AffineScaleTolerance. Added AffineShearTolerance. Added logging of Gruen parameters.
2009-10-15 Eric Hyer - Added GetStatisticTypes method
2017-06-28 Jesse Mapel - Added a flag to extend the grid past the longitude domain boundary. Fixes #2185.
2017-04-10 Jesse Mapel - Modified to not throw an exception when calculating longitude lines close to 90 or -90 latitude. Fixes #4766.
2016-09-29 Jeannie Backer - Changed Latitude objects that were created with Latitude's mapping group constructor to have enum value Latitude::AllowPastPole. This was done for p_minLat in the GroundGrid constructor and for startLat in the CreateGrid() method. The reason for this is that these objects are copied to initialize another Latitude variable (lat) within for-loops that go past the poles. Thus lat must be allowed to go past the poles. This bug was uncovered when Latitude's virtual setAngle() method was fixed to match the signature of the parent method. Moved implementation of GroundMap() and GetMappingGroup() to the cpp file per ISIS coding standards.
2014-06-06 Kristin Berry - Fixed a bug where lat/lon were swapped in the code. Fixes #2081.
2011-12-08 Steven Lambright - Fixed a bug causing the longitude range to be incorrect. Fixes #607.
2011-02-25 Steven Lambright - Min/Max Lat/Lons do not have to be known in the constructor any more
2008-03-07 Janet Barrett - Moved variables and related methods that pertain to Hapke specific parameters to the PhotoModel class.
2009-12-15 Travis Addair - Moved the SelectFile method back to children.
2009-11-10 Mackenzie Boyd - Refactored to reduce code duplication in children GuiCubeParameter and GuiFileNameParameter, specifically, SelectFile method.
2018-07-27 Kaitlyn Lee - Added signed/unsigned integer handling.
2016-04-21 Makayla Shepherd - Added UnsignedWord handling.
2012-07-02 Steven Lambright and Stuart Sides - Modified to have similar display values after the CubeAttribute refactor that better preserves strings that are passsed into CubeAttributeOutput. One of the strings was also invalid - didn't match any attributes, but was the default so there were no symptoms of a bug. This has been fixed. References #961.
2010-07-19 Jeannie Walldren - Modified SelectFile() method to allow users to view files in the directory. Updated documentation.
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.
2009-11-10 Mackenzie Boyd - Moved SelectFile method up to parent class GuiParameter, also moved member pointers to QToolButton and QLineEdit up.
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.
2007-06-05 Steven Koechle - Corrected problem where output FileName was being opened not saved. Defaulted to output mode if not specified.
2007-05-16 Tracie Sucharski - For files located in CWD, do not include path in the lineEdit.
2011-10-07 Sharmila Prasad - Added message if the file does not have
write permissions and is unable to load it.
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.
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.
2009-11-10 Mackenzie Boyd - Moved SelectFile method up to parent class GuiParameter, also moved member pointers to QToolButton and QLineEdit up.
2017-05-19 Marjorie Hahn - Applied font style and font size from the IsisPreferences file. Fixes #198.
2017-05-16 Cole Neubauer - Fixed Title not showing in Putty/Xming setup. Fixes #4731.
2016-08-15 Adam Paquette - Reset locale after QApplication is instantiated. Fixes #3908.
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.
2012-06-22 Orrin Thomas - Added realLinearRoots, realQuadraticRoots, and realCubicRoots
2015-09-01 Ian Humphrey and Makayla Shepherd - Modified unit test to override Sensor's pure virtual methods.
2011-05-03 Jeannie Walldren - Added destructor and ShutterOpenCloseTimes() method. Updated unitTest.
2019-08-07 Jesse Mapel - Replaced QDate::fromFile call with QLocale::toDate calls to ensure US English is always used. Fixes #3340
2018-04-06 Kaitlyn Lee - Moved method documentation to cpp file and updated it for consistency. Fixes #5230.
2016-06-21 Kris Becker - Properly forward declare QPair as struct not class
2014-07-23 Jeannie Backer - Moved ifndef to top of file to bring class closer to ISIS coding standards and removed include for std::string.
2012-06-04 Steven Lambright and Stuart Sides - Added operator!= and improved unit test to include tests of operator== and operator!=. Fixes #903.
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.
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.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2009-01-07 Steven Lambright - expanded() no longer behaves differently for unit tests
2007-10-03 Steven Koechle - Fixed Temporary() so if a path was specified it will have the cwd put on in front of it.
2005-07-28 Drew Davidson - added new member NewVersion.
2004-05-17 ?????? - Added new member MakeDirectory.
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-01-27 ?????? - Removed the member FullSpecification, because FullSpecification without the cube attributes now does the same thing as FileName.
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.
2010-06-22 Steven Lambright - Improved handling of resolutions
2010-05-06 Steven Lambright - Added Split Lat/Lon functionality
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2010-04-15 Eric Hyer - Now updates parent's invalidInput variable
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
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.
2008-12-05 Christopher Austin - capped the subgrid to 127x127 to prevent segfaults on too high a precision
2008-11-25 Steven Lambright - Added error checking
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2008-06-18 Christopher Austin - Fixed documentation errors
2008-02-29 Steven Lambright - Created SubGrid capabilities, cleaned up Seed methods
2010-11-10 Sharmila Prasad - Updated unittest to accomodate changes in the DefFile
2010-06-10 Sharmila Prasad Updated to accomadate CnetValidMeasure base class
2016-03-02 Ian Humphrey - Updated for coding standards compliance, fixed minor documentation issues, and added to jwbacker's unit test in preparation for adding this class to ISIS. Fixes #2398.
2015-04-22 Jeannie Backer - Fixed typo "wkb" where it should have been "wkt".
2015-03-23 Jeannie Backer - Improved documentation.
2015-03-18 Jeannie Backer - Brought class files closer to ISIS coding standards.
2016-03-04 Kris Becker - Completed the documentation and implmented the equals() method.
2016-03-02 Ian Humphrey - Updated for coding standards compliance. Added to jwbacker's original unit test to prepare for adding this class to ISIS. Fixes #2398.
2015-03-18 Jeannie Backer - Brought class files closer to ISIS coding standards.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2008-06-18 Christopher Austin Fixed Documentation
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!)
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-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.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2015-07-06 David Miller - Modified code to better reflect current Coding Standards. Updated truth data. Fixes #2273
2011-10-02 Kris Becker - Corrected a bug in the Extract(Chip, Affine) method when computing output pixels coordinates.
2011-03-29 Jai Rideout - Added copy constructor and equals operator.
2010-09-16 Jeannie Walldren - Updated unitTest, truth file and test cube to run properly with ShapeModel changes to Sensor class.
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, unitTest.
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-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.
2009-09-01 Travis Addair - Added valid Min/Max pixel value functionality for 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-08-20 Travis Addair - Added Statistics method
2009-08-20 Steven Lambright - Removed local cube pointer and parenthesis operator
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-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-01-19 Steven Koechle - Fixed memory leak
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.
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.
2003-10-15 Jeff Anderson - fixed bad error check in PhysicalBand method.
2003-10-06 Jeff Anderson - added PVL to create method to allow for propagation of Pixel specifications.
2003-05-30 Jeff Anderson - added PhysicalBand method and updated unitTest.
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-16 Stuart Sides - modified schema from astrogeology...isis.astrogeology
2010-04-08 Kris Becker - Added discarding of comment and blank lines
2018-10-18 Kaitlyn Lee - Added "[]" around file names in exception messages. References #5520.
2017-09-22 Cole Neubauer - Fixed documentation. References #4807
2008-06-18 Christopher Austin - Fixed documentation
2007-06-05 Brendan George - Modified to work with QString/StringTools merge
2012-06-22 Orrin Thomas - Added TWOPI and coverted DEG2RAD and RAD2DEG two decimal constants (from division expresions)
2010-11-29 Steven Lambright - Isis version constant removed
2010-05-24 Travis Addair - Added DEG2RAD and RAD2DEG
2010-03-18 Tracie Sucharski - Updated to 3.2.1beta.
2009-03-16 Tracie Sucharski - Updated for release 3.2.0.
2006-05-17 Elizabeth Miller - Removed .xml file and added documentation to .h file
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-02-11 Stuart Sides - Documented and created an object unitTest.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2012-09-20 Steven Lambright - Improved unit test, fixed bug where uninitialized member variables were causing errors to be thrown sometimes. Fixes #1125.
2009-10-14 Eric Hyer Added documentation; Moved from base/apps/cubediff to base/objs;
2007-06-18 Brendan George Fixed error message outputs and unitTest
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.
2012-12-20 Debbie A. Cook - Changed to use TProjection. References #775.
2013-03-27 Jeannie Backer - Added comment in code. References #1248.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2010-09-13 Steven Lambright - Corrected units for SampleResolution and LineResolution
2010-06-07 Mackenzie Boyd - Changed Error keyword so that it is always present when allowErrors is true.
2010-05-25 Mackenzie Boyd - 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-03-25 Mackenzie Boyd - Modified longitude output to have Positive East and West, 360 and 180 longitudes.
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.
2019-04-15 Debbie A. Cook - Added optional bool argument to main GetXY method to allow the bundle adjustment to skip the back of planet test during iterations. Also changed the name of the angle variable to cosangle to be more descriptive. References #2591.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2016-06-27 Ian Humphrey - Updated documentation and coding standards. Fixes #3971.
2014-04-17 Jeannie Backer - Replaced local variable names with more descriptive names. References #1659.
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
2012-10-10 Debbie A. Cook Modified to use new Target class. References Mantis ticket #775 and #1114.
2012-07-06 Debbie A. Cook Updated Spice members to be more compliant with Isis coding standards. References #972.
2011-03-18 Debbie A. Cook Added reference to surface point in GetXY
2011-02-09 Steven Lambright SetGround now uses the Latitude, Longitude and SurfacePoint classes.
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-08-05 Debbie A. Cook Added another version of GetXY to support changes from binary control net upgrade
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.
2009-11-27 Debbie A. Cook Modified virtual method GetXY(lat,lon,radius,lookJ,cudx,cudy)
2009-10-14 Debbie A. Cook Added new virtual method GetXY(lat,lon,radius, lookJ)
2008-07-14 Steven Lambright Added NaifStatus calls
2010-06-10 Jeannie Walldren - Modified to take in user defined tolerance as parameter to allow registration of narrow search chip areas
2010-06-10 Jeannie Walldren - Modified error message and added tolerance to linearity check. Fixed error messages.
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-01-28 Tracie Sucharski - When calculating control points away from 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.
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.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2016-08-17 Tyler Wilson - Added Statistics objects for ObliquePixelResolution,ObliqueSampleResolution, and ObliqueLineResolution. References #476, #4100.
2011-06-14 Travis Addair - Extracted logic from "camstats" application to create this class.
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2008-07-14 Steven Lambright Added NaifStatus calls
2017-08-30 Summer Stapleton - Updated documentation. References #4807.
2016-08-16 Tyler Wilson - Modified the GetPointInfo function to allow developers to specify which order CameraPointInfo fields are output for different file formats (PVL or CSV). This is managed by setting the m_csvOutput flag via the public member function SetCSVOutput. PVL is the default output format, as m_csvOuput is set to false in the constructor. The reason for this is to not to break any scripts processors might be running when outputting files in csv format. Column order is important in this case. References #476,#4100.
2016-07-11 Curtis Rose - Added units to a few of the outputs. References #3979.
2015-10-01 Jeannie Backer - Made improvements to documentation and brought code closer to ISIS coding standards. References #1438
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.
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-07-17 Stuart Sides - Added input file band attribute capabilities.
2011-07-18 Jai Rideout and Steven Lambright - Added unimplemented copy constructor and assignment operator.
2011-06-16 Jai Rideout and Steven Lambright - Refactored to work with the new parent.
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
2018-08-13 Summer Stapleton - Fixed incoming buffer comparison values for unsigned int type in writeIntoRaw(...).
2018-07-20 Tyler Wilson - Added support for unsigned integer special pixel values. in functions writeIntoRaw(...) and writeIntoDouble(...) References #971.
2017-09-22 Cole Neubauer - Fixed documentation. References #4807
2016-08-28 Kelvin Rodriguez - updateLabels now a pure virtual, it had no implementation causing warnings in clang. Part of OS X 10.11 porting. QPair forward declaration now properly claims it as a struct.
2016-06-21 Kris Becker - Properly forward declare QPair as struct not class
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
2014-09-30 Ian Humphrey - Modified read method to correctly access virtual bands when cube dimensions and buffer shape are same size. Fixes #1689.
2014-04-07 Kimberly Oyama and Stuart Sides - Modified the findCubeChunks, writeIntoDouble, and writeIntoRaw methods to handle repeating virtual bands. Fixes #1927.
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.
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.
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.
2011-07-18 Jai Rideout and Steven Lambright - getDataFile() is no longer const, along with readRaw() and writeRaw().
2011-07-18 Jai Rideout and Steven Lambright - Added unimplemented copy constructor and assignment operator.
2011-06-27 Steven Lambright - Added addCachingAlgorithm()
2017-09-22 Cole Neubauer - Fixed documentation. References #4807
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.
2011-07-18 Jai Rideout and Steven Lambright - Added unimplemented copy constructor and assignment operator.
2011-06-16 Jai Rideout and Steven Lambright - Refactored to work with the new parent.
2016-10-13 Ian Humphrey - Updated to correctly calculate center camera angles for band-depedent images. Integrated Moses Milazzo's (moses) changes for correctly calculating camera angles for band-dependent images. Quick documentation and coding standards review (moved inline implementations to cpp). Fixes #1301. @usg s.gov
2015-01-30 Ian Humphrey - Removed unused variable m_data. Deallocated unfreed dynamic memory. Added destructor. Fixes #2082.
2012-02-09 Jeff Anderson - Modified to conform to ISIS coding standards
2012-02-02 Jeff Anderson - Added support for camera parameters such as phase, incidence, etc
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.
2010-02-23 Steven Lambright - Added min2,max2
2009-03-03 Steven Lambright - Added missing secant method call
2008-06-18 Steven Lambright - Fixed documentation
2008-05-12 Steven Lambright - Removed references to CubeInfo
2004-03-03 Stuart Sides - Modified IsisCubeAttributeOutput::Write so min and max don't get written when the pixel type is real.
2004-02-03 Stuart Sides - Refactor for IsisProcess and cube changes
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.
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.
2018-07-27 Kaitlyn Lee - Added "+" in setBands() because without it, setAttributes() was skipping the list of band indices.
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.
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.
2004-02-03 Stuart Sides - Refactor for IsisProcess and cube changes
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.
2016-04-21 Makayla Shepherd - Added cases for UnsignedWord pixel type
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.
2004-03-03 Stuart Sides - Modified IsisCubeAttributeOutput::Write so min and max don't get written when the pixel type is real.
2007-01-05 Jeff Anderson - Fixed bug when reading/writing outside cube
2010-03-22 Steven Lambright - Added a mutex for reading and writing, which makes these methods thread safe.
2009-06-30 Steven Lambright - Added "HasProjection" for uniform projection existance test
2008-12-17 Steven Koechle - BlobDelete method was broken, fixed
2008-12-15 Steven Koechle - Added a method to delete blobs from a cube
2008-08-11 Steven Lambright - Fixed definition of IsisCubeDef, problem pointed out by "novas0x2a" (Support Board Member)
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-06-18 Christopher Austin - Fixed documentation errors
2008-06-11 Steven Lambright - Changed prototype for SetVirtualBands
2008-06-09 Christopher Austin - Improved maximum cube size error message.
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-05-09 Steven Lambright - Added Statistics, Histogram, PutGroup, GetGroup, DeleteGroup, HasGroup conveinience methods. Removed excess references to CubeInfo.
2007-02-07 Tracie Sucharski - Added ReOpen method
2011-03-23 Steven Lambright - Added ClearCache method.
2006-11-28 Jeff Anderson - Fixed detached blob bug
2006-07-10 Elizabeth Miller - Added max size preference
2006-05-17 Elizabeth Miller - Depricated CameraManger to CameraFactory
2006-04-21 Jacob Danton - Modified the WriteLabel method to use the Pvl's format template abilities.
2006-02-24 Kris Becker - Made the destructor virtual to properly allow the class to be inherited.
2005-10-03 Elizabeth Miller - Added error check to Write(blob)
2005-07-18 Elizabeth Ribelin - Fixed bug in method that returns a projection associated with the cube
2005-03-24 Jeff Anderson - Added methods to return a camera or projection associated with the cube.
2004-04-01 Jeff Anderson - fixed bug swapping NULL cache tile for non-native cubes in move method.
2004-03-01 Jeff Anderson - added ability to read Isis 2.1 cube format.
2004-02-17 Jeff Anderson - modified the number of bands in the label if a virtual band list was given.
2004-02-12 Jeff Anderson - added pruning of the band bin group given the virtual band list.
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.
2007-10-11 Stuart Sides - Fixed bug introduced with previous bug fix.
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
2021-02-17 Jesse Mapel - Added hasBlob method to check for any type of BLOB.
2019-06-15 Kristin Berry - Added latLonRange method to return the valid lat/lon rage of the cube. The values in the mapping group are not sufficiently accurate for some purposes.
2018-11-16 Jesse Mapel - Made several methods virtual for mocking.
2018-01-18 Summer Stapleton - Updated error message in ::create() to address when an IsisPreference file cannot be found. Fixes #5145.
2018-01-04 Tracie Sucharski - Allow relative paths that are not "." in the DnFile keyword for ecubs. Changes to ::open to set m_dataFileName for ecubs, and changed ::realDataFileName() to return the absolute path if it is relative. Changed ::realDataFileLabel to call realDataFileName to make sure we get absolute path. Fixes #5276.
2017-09-22 Cole Neubauer - Fixed documentation. References #4807
2017-06-08 Chris Combs - Made "Failed to create" error messages more descriptive. Fixes #833.
2015-09-02 Tyler Wilson - Commented out first call to SetValidRange in the call to the historgram function. Also commented out a call to Histogram::SetBinRange() because this function no longer exists in Histogram. See Ref. #2188.
2015-06-22 Makayla Shepherd - Using putGroup() a group on the label of a read-only cube now throws an error.
2015-01-30 Ian Humphrey - Deallocated copied cubes in unittest. References #2082.
2014-06-20 Ian Humphrey - Added checks to statistics() and histogram() to throw an error if the cube is unopened. Fixes #2085.
2012-12-31 Steven Lambright - Removed 'get' prefix from accessors. Fixes #1356.
2012-11-06 Steven Lambright and Mathew Eis - Fixed (the lack of) deletion of temporary files in the unit test. Fixes #1009.
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-09-17 Steven Lambright - Fixed ASSERT in getRealDataFileName() to be in the correct place.
2012-09-06 Steven Lambright - Improved parsing of ^DnFile in the ecub format and simplified/optimized writeLabels().
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-04-05 Stuart Sides and Steven Lambright - Added new constructor which immediately open the cube.
2012-02-17 Steven Lambright - Made the read() method const. Added mutex lock calls around data file accesses.
2011-07-08 Steven Lambright - projection() and camera() will now return NULL if the cube is not open, instead of crashing, references #161
2011-06-27 Steven Lambright - Added addCachingAlgorithm
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.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
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.
2016-03-07 Tyler Wilson - Corrected documentation, and created a unit test to test most of this classe's methods.
2015-10-12 Kris Becker - Fixed bug in how arguments are scanned and replaced. Once the count of arguments reached above 9, %1 was replaced for %10. Scan for replacements in reverse order fixes this issue.
2015-09-27 Kris Becker - Added copyList() and cloneList() methods.
2015-06-17 Kris Becker - Added ability for users to simplify geometry such that topology is preserved. Keywords that provide numbers of original points, points in geoemtry size and tolerance used can optionally be created in Resources that apply this feature.
2015-05-08 Kris Becker - Added new methods to provide better support for keyword argument replacement with global parameters: getGlobalDefaults(), getGlobals(), getDefinition() and getDefinitionMap(). Removed virtual designation for apply() methods that do not take a globals resource list.
2015-04-30 Kris Becker - Added setName() and setType() methods
2015-03-28 Kris Becker - Added the composite(Resource, Resource) method
2015-03-26 Jeannie Backer - Updated documentation.
2015-04-07 Kristin Berry - Modified applytoIntserectedGeometry to deal
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-02-28 Tracie Sucharski - Moved from the app, smtk, directory, to the base/objs directory path. Updated to new coding standards, added unitTest.
2017-04-20 Makayla Shepherd - Removed the hdf5 code because we are using XML for serialization. Fixes #4795.
2016-07-15 Ian Humphrey - Added constructor that initializes a Statistics object from a PvlGroup. Added toPvl() and fromPvl() methods to allow Statistics serialization/unserialization. References #2282.
2015-12-21 Jeannie Backer - Changed H5::PredType::NATIVE_HBOOL to H5::PredType::NATIVE_INT64 in compoundH5DataType() method. This was done so that MAC OSX will compile.
2015-12-21 Jeannie Backer - Changed compoundH5DataType() method to update offset by using member variabl datatypes directly. This was done so that MAC OSX will compile.
2015-09-03 Jeannie Backer - Added hdf5 read/write capabilities by adding compoundH5DataType() static method.
2017-11-22 Debbie A. Cook Updated call to SetRectangularMatrix
2017-07-25 Debbie A. Cook Added documentation and corrected units for diagonal elements to be km^2 instead of m^2.
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.
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.
2010-11-21 Mackenzie Boyd - Modified UpdateLabels method so so that the units for Scale and PixelResolution keywords are perserved.
2010-05-05 Christopher Austin - Fixed major bug where the strip was not a strip.
2010-04-20 Christopher Austin - adapted for generic/unitless seeding
2010-04-15 Eric Hyer - Now updates parent's invalidInput variable (see PolygonSeeder)
2009-08-05 Travis Addair - Encapsulated group creation for seed definition group
2009-02-01 Steven Lambright - Fixed problem with calculating starting position in the top left corner of the polygon
2008-08-18 Christopher Austin - Upgraded to geos3.0.0
2008-04-17 Steven Lambright - Fixed naming conventions for seeders
2008-02-29 Steven Lambright - Created SubGrid capabilities, cleaned up Seed methods
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
2007-05-09 Tracie Sucharski Changed a single spacing value to a separate value for x and y.
2020-02-27 Kristin Berry - Updated to inherit from Blob so Stretches can be saved and restored from cubes.
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-11-12 Steven Lambright - Changed search algorithm into a binary search replacing a linear search.
2007-03-02 Elizabeth Miller - Added Load and Save methods
2006-05-25 Jacob Danton - Fixed typo in documentation
2005-03-11 Elizabeth Ribelin - Modified unitTest to test all methods in the class
2011-03-25 Debbie A. Cook - Added method GetCenterAngles()
2016-06-28 Ian Humphrey - Updated documentation and coding standards. Added new tests to unit test. Fixes #3972.
2016-02-15 Debbie A. Cook - Programmer notes - Added private method setFrameType to set the frame type. It also loads the planetary constants for a PCK type.
2015-08-05 Debbie A. Cook - Programmer notes - Modified LoadCache, and ComputeAv. Added new methods loadPCFromSpice, loadPCFromTable, toJ2000Partial, poleRaCoefs, poleDecCoefs, pmCoefs, poleRaNutPrecCoefs, poleDecNutPrecCoefs, pmNutPrecCoefs, sysNutPrecConstants, sysNutPrecCoefs, usePckPolynomial, setPckPolynomial(raCoef, decCoef, pmCoef), getPckPolynomial, setEphemerisTimePckPolyFunction, getFrameType and members m_frameType, m_tOrientationAvailable, m_raPole, m_decPole, m_pm, m_raNutPrec, m_decNutPrec, m_pmNutPrec, m_sysNutPrec0, m_sysNutPrec1, m_dscale, m_Tscale to support request for solving for target body parameters. Also added a new enumerated value for Source, PckPolyFunction, and PartialType, WRT_RotationRate.
2015-07-21 Kristin Berry - Added additional NaifStatus::CheckErrors() calls to see if any NAIF errors were signaled. References #2248.
2015-02-20 Jeannie Backer - Improved error messages.
2014-03-11 Stuart Sides - Programmers notes - Fixed a bug in the copy constructor that was going out of array bounds.
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.
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.
2013-03-27 Jeannie Backer - Added methods for MsiCamera. Brought class closer to Isis standards: moved method implementation to cpp file, fixed documentation. References #1248.
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.
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.
2011-07-20 Kris J Becker - Modified SpiceRotation::LoadCache(Table &table) to be reentrant. This mod was necessitated by the Dawn VIR instrument.
2017-12-13 Ken Edmundson - Added "case DYN:" to methods ToReferencePartial and toJ2000Partial. Fixes #5251. This problem was found when trying to bundle M3 images that had been spiceinited with nadir pointing. The nadir frame is defined as a Dynamic Frame by Naif.
2011-02-22 Debbie A. Cook - Corrected Extrapolation method
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)
2010-12-22 Debbie A. Cook Added new method SetFullCacheParameters to upgrade appjit to current instrument Rotation group labels.
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-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
2009-12-03 Debbie A. Cook Modified tests in LoadTimeCache to allow observation to cross segment boundary for LRO
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-10-09 Debbie A. Cook Added angular velocity when it is available
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-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-06-29 Debbie A. Cook Fixed memory overwrite problem in LoadTimeCache when reading a type 3 ck
2009-04-21 Debbie A. Cook Added methods MinimizeCache and LoadTimeCache, variable p_minimizeCache, and enum constants DownsizeStatus
2002-05-08 Jeff Anderson - Added Chebyshev and Best minimum/maximum methods.
2011-06-23 Jeannie Backer - Added QDataStream read(), write() methods and added QDataStream >> and << operators. Replaced std strings with QStrings.
2015-09-01 Tyler Wilson - Made SetValidRange and the destructor virtual. Ref #2188.
2011-06-13 Ken Edmundson - Added Rms method.
2010-03-18 Sharmila Prasad - Error message more meaningful for SetValidRange function
2008-05-06 Steven Lambright - Added AboveRange, BelowRange methods
2007-01-18 Robert Sucharski - Added AddData method for a single double value
2006-03-10 Jacob Danton - Added Z-score method
2006-02-15 Jacob Danton - Added Valid Range options/methods
2005-05-23 Jeff Anderson - Changed to support 2GB+ files
2005-02-17 Deborah Lee Soltesz - Modified file to support Doxygen documentation.
2004-06-28 Jeff Anderson - Added Sum and SumSquare methods.
2004-05-11 Jeff Anderson - Moved Reset, AddData and RemoveData methods into public space.
2014-09-11 Jeannie Backer - Added xml write/read capabilities. Fixed bug in cumPro() method for previously untested lines (case where the given value is closest to the last quantile value). Renamed member variables for clarity.
2014-07-19 Jeannie Backer - Added QDataStream >> and << operator methods. Brought code closer to ISIS standards. Updated unitTest to include these methods.
2010-11-10 Sharmila Prasad - Updated unittest for changes in the deffile
2010-06-10 Sharmila Prasad - Changes to accomodate CnetValidMeasure base class
2007-08-02 Steven Koechle - Removed CompareInterests virtual method.
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.
2021-03-23 Kaitlyn Lee - Added getter function for time bias. Fixes #4129.
2018-04-21 Jesse Mapel - Modified frametype resolution to check if a body centered frame uses a CK or PCK definition. This only occurs for bodies where a pck cannot accurately define for the duration of a mission. The current example is the comet 67P/CHURYUMOV-GERASIMENKO imaged by Rosetta. Some future comet/astroid missions are expected to use a CK defined body fixed reference frame. Fixes #5408.
2012-11-30 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2011-07-02 Jeannie Backer - Moved this code from ObliqueCylindrical class to its own method here.
2010-11-30 Janet Barrett - Added the ability to use the photometric angles from the ellipsoid and the DEM
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2009-05-11 Janet Barrett - Fixed so that the NormModelAlgorithm supporting DEM input is the empty function. DEM input is not yet supported.
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class.
2008-06-18 Steven Lambright Fixed ifndef, removed endlink doxygen command
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2013-12-11 Stuart Sides - Added new member convterProjection. This is for converting GeoTiff projection tags to standard ISIS Mapping lables.
2015-02-10 Jeffrey Covington - Changed default compression to no compression. Added compression parameter to write() method. Fixes #1745.
2013-06-05 Jeannie Backer - Removed "get" prefix from ImageExporter method calls. References #1380.
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.
2011-08-08 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory
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.
2005-02-25 Elizabeth Ribelin - Added 3 static conversion methods: ToHours(), ToDMS(), and ToHMS()
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.
2008-06-19 Steven Lambright - Fixed memory leak
2008-06-12 Christopher Austin - Elaborated error messages.
2008-05-09 Steven Lambright - Added Name(), Version(), IsEquatorialCylindrical() methods
2007-08-14 Steven Lambright - Mapping() fixed: should not return cube specific parameters, because they did not go into making the projection.
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.
2006-07-10 Elizabeth Miller - Fixed bugs in new static method
2006-06-20 Stuart Sides - Added ability to lookup the radii if given a "TargetName" in the mapping group.
2006-04-20 Tracie Sucharski - Fixed bug looking at Target instead of TargetName for sky.
2005-07-22 Jeff Anderson - Added static ToPlanetographic() method
2005-06-24 Jeff Anderson - Tweaked format for DMS and HMS methods
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-24 Jeff Anderson - Fixed bug in eccentricity computation
2004-02-23 Jeff Anderson - Added Eccentricity(), tCompute(), mCompute(), e4Compute(), and phi2Compute() methods
2003-11-04 Jeff Anderson - Added LocalRadius() 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-10-14 Jeff Anderson - Added Scale() and TrueScaleLatitude() methods
2003-09-26 Jeff Anderson - Remove virtual from operator!=
2003-09-26 Jeff Anderson - Added virtual Name, operator==, and operator!= methods
2003-09-26 Jeff Anderson - Added ToWorldX(), ToWorldY(), ToProjectionX(), ToProjectionY(), and Resolution() methods
2003-08-25 Jeff Anderson - Added LatitudeTypeString(), LongitudeDirectionString(), and LongitudeDomainString() methods
2003-05-30 Jeff Anderson - Updated unit test to fix error for optimization
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2019-05-29 Debbie A. Cook Changed test constant from DBL_EPSILON to 1.0e-50 to avoid false positives and negatives in MetersToLongitude, GetLatSigmaDistance, and GetLonSigmaDistance.
2018-10-12 Debbie A. Cook - Initialized local radius in SetRectangularCoordinates
2018-09-20 Debbie A. Cook - Added new methods LatitudeToMeters, MetersToLatitude, LongitudeToMeters, and MetersToLongitude for converting sigmas and corrections at the current SurfacePoint coordinates. References #4649 and #501.
2018-09-06 Debbie A. Cook - Originally added to BundleXYZ branch on 2018-03-07 - Added an additional argument to GetRectangularMatrix and GetSphericalMatrix to specify the units of the matrix. This will allow existing callers to get in m (the default) and bundle adjust software to get in km and minimize conversions. The matrix is held in this object in km to avoid extra conversions during the bundle adjustment. The control net stores the distance values of the matrix in m**2.
2018-09-06 Debbie A. Cook - Originally added to BundleXYZ branch on 2017-11-20 - Added an additional argument to SetRectangularMatrix and SetSphericalMatrix to specify the units of the matrix. This will allow the bundle adjust to set in km and existing software to continue setting in the default units (meters). The matrix will be stored in km in this object to avoid extra conversions during processing.
2018-09-06 Debbie A. Cook - Originally added to BundleXYZ branch on 2017-07-25 - Corrected covar(2,2) units in SetSphericalSigmas, and all diagonal units in SetRectangularSigmas. Corrected spelling of equatorial in comments. Corrected conversion of longitude sigma from meters to radians in SetSphericalSigmasDistance and from radians to meters in GetLonSigmaDistance. Fixed SetRectangularMatrix to take input in km instead of m.
2018-09-06 Debbie A. Cook - Originally added to BundleXYZ branch on 2017-06-25 - Added CoordinateType, CoordUnits, and CoordIndex to support new convenience methods GetCoord, GetSigma, and GetWeight. Also added methods GetXWeight, GetYWeight, GetZWeight, LatToDouble, LonToDouble, DistanceToDouble, DisplacementToDouble,
getCoordSigmaDistance, stringToCoordinateType, and coordinateTypeToString. Fixed comment in GetLocalRadiusWeight method to indicate kilometers instead of meters. References #4649 and #501.
2018-08-15 Debbie A. Cook - Initialized the local radius whenever any SurfacePoint coordinate was changed, removed memory errors, and cleaned up documentation. Changed localRadius member from a pointer to value to reduce extraneous if blocks.
References #5457
2018-06-28 Debbie A. Cook - Removed target body radii and all related methods. Any reference to the major axis (equatorial radius) was replaced with the local radius. Technically I think we should be using the target body minor axis (polar) for the conversion of latitude degrees to/from distance and the local radius of the surface point for conversion of longitude degrees to/from distance. For large bodies the percent error will be small, so we will use the local radius for convenience. For small bodies, any bundle adjustment will likely use rectangular coordinates where degree conversions will not be necessary. Added new member p_localRadius to avoid recalculating when coordinates have not changed. Also corrected the longitude conversion equation in SetSphericalSigmasDistance and GetLonSigmaDistance. References #5457.
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.
2011-04-18 Steven Lambright GetLatSigmaDistance and GetLonSigmaDistance now return appropriate results when the point is invalid but has radii.
2011-03-05 Ken Edmundson Added GetLatWeight, GetLonWeight, GetLocalRadiusWeight, and SetSphericalCoordinates methods for use in BundleAdjust.
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.
2010-12-28 Steven Lambright and Sharmila Prasad Fixed a problem with retreiving longitudes outside of 0-360.
2010-10-20 Debbie A. Cook and Steven Lambright Simplified the class by using new Displacement, Distance, Latitude, Longitude, and Angle objects.
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-09-10 Debbie A. Cook Made ocentric methods specific to units of sigmas (degrees or meters)
2010-08-25 Debbie A. Cook Added more error checking and testing
2021-02-17 Kristin Berry, Jesse Mapel, and Stuart Sides - Added the ability to create a Target without SPICE data and later set the sensor model pointer.
2018-10-02 Debbie A. Cook - Fixed method lookupNaifBodyCode to look up the Naif body code instead of the Naif body frame code. We may need to add a method to look up the Naif body frame code as well. Also moved the try loop attempting to find the radii tagged with the Naif body code ahead of the try loop that attempts to find the radii tagged with the body frame code in the method radiiGroup. Fixed any mention of Naif body frame code that should be Naif body code. These are not the same. Naif tags the body radii keyword with the Naif body code. The Naif body frame code refers to the orientation (SpiceRotation) of the body. References #4649 and #501.
2017-08-14 Stuart Sides - Added the ability to use a target code and the NaifKeywords to find the radii. Added so osirisrex and spicelib v66. References #4947.
2016-05-18 Jeannie Backer - Removed unused lookupNaifBodyCode() method that takes no input parameters (since it was replaced with lookupNaifBodyCode(Pvl)). References #3934.
2016-05-18 Jeannie Backer - Moved TProjection::TargetRadii() methods to Target::radiiGroup() methods. Added overloaded lookupNaifBodyCode(QString) to have a generic static method that takes the TargetName as an input parameter. Added overloaded lookupNaifBodyCode(Pvl) to use the label passed into Target's constructor to find the code if not found using the name or spice pointer provided. References #3934.
2015-07-31 Kristin Berry - Added additional NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-10-04 Jeannie Backer Improved coding standards. References #1178
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.
2007-05-28 Steven Lambright - Added 4 byte float capablilities.
2015-10-04 Jeannie Backer Improved coding standards. References #1178
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.
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.
2007-05-28 Steven Lambright - Added 4 byte floating point capabilities
2005-03-18 Elizabeth Ribelin - Added documentation to the class
2018-08-13 Summer Stapleton - Added a default constructor for logic relating to the overhaul of the mosaic tracking now being handled in a separate tracking cube.
2015-10-04 Jeannie Backer Improved coding standards. Uncommented error throw for operator+=(record) that verifies that the record sizes match. References #1178
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.
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.
2009-02-18 Steven Lambright - Added copy constructor and assignment operator.
2011-02-09 Steven Lambright - Changed name from SetEphemerisTime()
2005-11-29 Debbie A. Cook - Added alternate code for processing instruments without a platform
2009-03-18 Tracie Sucharski - Remove code for old keywords.
2006-02-21 Jeff Anderson/Debbie Cook - Refactor to use SpicePosition and SpiceRotation classes
2006-01-03 Debbie A. Cook - Added loop to allow multiple spacecraft clock kernels (for Viking)
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)
2012-12-04 Kris Becker - Corrected documentation
2012-11-01 Kris Becker - Revised parameter order to computeStateVector to match comments. References #1136.
2012-10-31 Kris Becker - New class implements swapping of observer/target and light time correction to surface. Fixes (mostly) #0909, #1136 and #1223.
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2012-12-04 Kris Becker - Corrected documentation
2012-11-01 Kris Becker - Fixed isLightTimeCorrected() as it was returning exactly opposite what it should be. References #1136.
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.
2015-08-09 Kristin Berry - Updated to get closer to Isis Coding Standards.
2015-06-14 Stuart Sides - Removed global varaiables
2015-06-13 Kristin Berry - Added sections (wavelengths are not all contiguous)
2005-09-20 Jeff Anderson - Added IsSky method
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-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-13 Steven Lambright - Added StartPadding and EndPadding caching capabilties
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
2007-08-10 Steven Lambright - Added support for Nadir keyword in InstrumentPointing group to not be the first element in the PvlKeyword.
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-07-09 Steven Lambright - Frame kernel is now optional, added Extra kernel support.
2007-01-30 Tracie Sucharski - Throw error in the load method before calling furnish if the file does not exist.
2006-04-19 Elizabeth Miller - Added SolarLongitude method
2006-03-31 Elizabeth Miller - Added TargetCenterDistance method
2006-03-28 Jeff Anderson - Refactored using SpiceRotation and SpicePosition classes. Added Tables and nadir kernel information.
2005-09-12 Jeff Anderson - Check for case-insensitive values for TargetName of SKY
2005-02-24 Jeff Anderson - Modified SubSolarPoint and SubSpacecraftPoint to return positive longitudes only
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-03-25 Jeff Anderson - Fixed bug in destructor and added GetString method.
2004-03-25 Jeff Anderson - Modified NaifBodyCode method to convert Jupiter target code of 599 to 5
2004-02-18 Jeff Anderson - Modified to ignore kernel labels which were blank
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.
2003-11-12 Jeff Anderson - Added Target method
2003-11-03 Jeff Anderson - Added SubSolarPoint and SubSpacecraftPoint methods
2003-10-28 Jeff Anderson - Changed SpaceCraft to Spacecraft in labels and method names
2003-10-15 Jeff Anderson - Added requirement for frame kernel in labels
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2014-02-25 Ken Edmundson - operators to read/write matrices to binary disk file and to write matrices to QDebug stream.
2017-08-18 Summer Stapleton, Ian Humphrey, Tyler Wilson - Changed auto_ptr reference to QSharedPointer so this class compiles under C++14.
References #4809.
2012-12-20 Debbie A. Cook - Removed unused Projection.h References #775.
2012-11-22 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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-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.
2008-05-09 Steven Lambright - Added Name, Version methods
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-07 Jeff Anderson - Added plugin routine and file
2003-11-13 Jeff Anderson - Modified constructor to allow for computation of default center longitude using the longitude range.
2003-06-05 Jeff Anderson - Changed SetCoordinate method so it does not adjust the longitude into the longitude domain
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-01-30 Jeff Anderson - Removed WorldMapper argument from the constructor
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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.
2008-05-09 Steven Lambright - Added Name, Version, IsEquatorialCylindrical methods
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-11-13 Jeff Anderson - Modified constructor to allow for computation for default value for CenterLongitude keyword.
2003-09-26 Jeff Anderson - Provided virtual methods for Name and operator==
2003-06-05 Jeff Anderson - Changed SetCoordinate method so it did not adjust longitude into the longitude domain
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2016-08-28 Kelvin Rodriguez - Changed definition of sectionCount to match parent's function to avoid hidden parent virtual function warning. Part of porting to OS X 10.11.
2015-08-09 Kristin Berry - Added documentation, error-checking, updated code to follow standards, made destructor virtual.
2015-06-09 Stuart Sides - Added getSpectel(spectel) and constness
2015-08-09 Kristin Berry - Moved implemention of getters to cpp.
2015-06-09 Stuart Sides - Made pure virtual and added constness
2015-08-04 Kristin Berry - Added copy constructor, copy assignment operator, virtual destructor, and a constructor that takes a Pixel, center, and width.
2015-06-09 Stuart Sides - Added empty constructor and constness
2018-07-18 Tyler Wilson - Added 4-byte unsigned int special pixel values. References #971.
2016-04-20 Jeannie Backer - Added Janet Barret's changes IVALID_MAX4 definition to handle SignedInteger imports.
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.
2008-01-09 Jeannie Walldren - Added new unitTests and new method, StringToPixel()
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2015-12-18 Ken Edmundson - 1) added more detailed documentation; 2) brought closer to ISIS coding standards.
2014-02-25 Ken Edmundson - operators to read/write matrices to binary disk file and to write matrices to QDebug stream.
2015-12-18 Ken Edmundson - 1) added more detailed documentation; 2) brought closer to ISIS coding standards.
2014-02-25 Ken Edmundson - operators to read/write matrices to binary disk file and to write matrices to QDebug stream.
2017-05-09 Ken Edmundson - Added m_startColumn member and mutator/accessor methods to SparseBlockColumnMatrix. Done to eliminate lengthy computation of leading colums and rows. References #4664.
2016-08-10 Jeannie Backer - Replaced boost matrix with Isis::LinearAlgebra::Matrix. References #4163.
2015-12-18 Ken Edmundson - 1) added more detailed documentation; 2) brought up to ISIS coding standards.
2008-06-25 Debbie A. Cook Added members p_velocity, p_cacheVelocity, and p_hasVelocity; also added methods Velocity() and HasVelocity() to support miniRF.
2011-02-17 Debbie A. Cook - Corrected missed problem with degree forced to be 2 and corrected calculation of velocity partial
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-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.
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.
2010-03-19 Debbie A. Cook - Added argument coeffIndex to method Velocity Partial
2009-12-15 Debbie A. Cook - Changed enumerated partial types and argument list for CoordinatePartial and VelocityPartial
2009-11-06 Debbie A. Cook - Added velocity partial derivative method
2009-10-20 Debbie A. Cook - Corrected calculation of extremum in ReloadCache
2009-08-27 Jeannie Walldren - Added documentation.
2009-08-14 Debbie A. Cook - Corrected loop counter in HermiteIndices
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.
2008-06-26 Debbie A. Cook Replaced Naif error handling calls with Isis NaifStatus
2011-02-22 Debbie A. Cook - Corrected Extrapolation method
2008-06-18 Steven Lambright Fixed documentation
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-02-07 Jeannie Walldren Poly1D was changed to PolynomialUnivariate
2008-01-10 Debbie A. Cook The function was changed from Parabola to Poly1D. New methods GetBaseTime and SetOverrideBaseTime were added
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
2007-07-10 Debbie A. Cook Added else to method SetAberrationCorrection to separate error section from the rest of the code
2006-03-23 Jeff Anderson Added check to SetEphemeris to return if the time did not change. Should speed up line scan cameras
2003-12-01 Jeff Anderson Original Version derived from Spice class
2008-12-12 Debbie A. Cook Added method to return frame code
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-06-18 Unknown - Fixed documentation, added NaifStatus calls
2008-02-15 Debbie A. Cook added a new error message to handle the case where the Naif reference frame code is not recognized.
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
2006-10-18 Debbie A. Cook Added method, WrapAngle, to wrap angles around 2 pi
2006-03-23 Jeff Anderson modified SetEphemerisTime to return if the time did not change to improve speed.
2005-12-01 Debbie A. Cook Original Version modified from SpicePosition class by Jeff Anderson
2020-07-01 Kristin Berry - Updated to use ale::States for internal state cache.
2017-08-18 Tyler Wilson, Summer Stapleton, Ian Humphrey - Added opening/closing brackets to SetEphemerisTimePolyFunction() so this class compiles without warnings under C++14. References #4809.
2015-08-25 Kristin Berry - Moved check to make sure a polynomial exists to earlier in LoadHermiteCache. Was failing due to lack of a polynomial with a confusing error message before the check.
2015-07-21 Kristin Berry - Added additional NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-02-20 Jeannie Backer - Improved error messages.
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.
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.
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-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.
2011-05-27 Debbie A. Cook - Renamed old ReloadCache method for converting polynomial functions to Hermite cubic splines to LoadHermiteCache for use with spkwriter.
2011-04-10 Debbie A. Cook - Added GetSource method to support spkwriter.
2011-02-28 Debbie A. Cook - Fixed typo in LoadCache and potential memory problem in SetPolynomial
2011-02-11 Jeannie Walldren - Changed documentation references to SetEphemerisTime() method (these were replaced with references to setTime()). Added missing documentation to new methods.
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.
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-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-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-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-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2011-07-11 Jeff Anderson - Added private copy constructors and operator= methods
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-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-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-03 Jeannie Walldren - Added Isis Disclaimer to files.
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.
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-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.
2010-04-09 Debbie A. Cook - Moved the loading of the "extra" kernel(s) from the middle of the loads to the end.
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-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.
2009-08-21 Kris Becker - Moved the NAIF code methods to public scope.
2009-08-03 Debbie A. Cook - Added tolerance argument to method CreateCache to allow downsizing of instrument position Spice table.
2009-07-01 Debbie A. Cook - Modified to downsize body rotation, and sun position tables when loading cache
2009-06-18 Debbie A. Cook - Modified to downsize instrument rotation table when loading cache
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.
2008-11-28 Debbie A. Cook - Added method hasKernels()
2008-06-25 Debbie A. Cook - Added method InstrumentVelocity to support miniRF
2011-01-05 Debbie A. Cook - Added PolyFunction
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-04-08 Debbie A. Cook - Corrected loop counter in PolyFunction section to only go up to table.Records() - 1
2021-02-17 Kristin Berry, Jesse Mapel, and Stuart Sides - Made several methods virtual, moved several member variables to protected, and added initialization path for a sensor model without SPICE data.
2019-04-16 Kristin Berry - Added a parameter to getClockTime called clockTicks which defaults to false. When set to true, this indicates that the input value is in encoded clock ticks, rather than a full spacecraft clock time string. As such, when used sct2e_c is used to convert to an ET rather than scs2e_c.
2018-06-07 Debbie A Cook - Added BODY_CODE to Naif keywords. This code is used in the target body radii keyword name. Isis retrieves this code from the standard PCK. Because target bodies new to Naif are not included in the standard PCK, missions create a special body-specific PCK to define the new body, including its body code. This PCK is only loaded in spiceinit so the code needs to be saved so that the radii keyword can be created to retrieve the target radii.
2016-10-21 Jeannie Backer - Reorder method signatures and member variable declarations to fit ISIS coding standards. References #4476.
2016-10-19 Kristin Berry - Added exception to Spice::time() to throw if m_et is NULL. Also added isTimeSet(), a function that will return true if m_et is set. References #4476.
2016-05-18 Jeannie Backer and Stuart Sides - Moved the construction of the Target after the NAIF kernels have been loaded or the NAIF keywords have been pulled from the cube labels, so we can find target body codes that are defined in kernels and not just body codes build into spicelib. References #3934
2015-07-21 Kristin Berry - Added additional NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-04-30 Stuart - Added an error check around the NAIF SPICE call scs2e_c in getClockTime. Avoids a segfault. Fixes #2247.
2013-12-17 Janet Barrett - Added the instrumentBodyFixedPosition and instrumentBodyFixedVelocity methods. Fixes #1684.
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.
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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera. Camera is now pure virtual, parent class is FramingCamera.
2008-08-08 Steven Lambright - Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2007-07-11 Steven Koechle - Casted NaifIkCode to int before istring to fix Linux 32bit build error
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-01-30 Elizabeth Ribelin - Renamed String to QString and Time to iTime.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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 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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera. Camera is now pure virtual, parent class is FramingCamera.
2008-08-08 Steven Lambright - Made the unit test work with a Sensor change. Also, now using the new LoadCache(...) method instead of CreateCache(...).
2007-11-17 Debbie A. Cook - Added method SetSolution Method.
2007-09-17 Debbie A. Cook - Added ability to process in observation mode for Lunar Orbiter.
2007-08-25 Debbie A. Cook - Added methods and members to support instrument position solution.
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-05-29 Debbie A. Cook - Added new method iterationSummary and changed points on held images to held instead of ground.
2005-05-30 Jeff Anderson, Debbie A. Cook & Tracie Sucharski - Original version
2018-09-06 Debbie A. Cook and Ken Edmundson - (added to BundleXYZ branch on (2018-05-31). Moved productAlphaAV and control point parameter correction code to BundleControlPoint. Earlier revised errorPropagation to compute the sigmas via the variance/ covariance matrices instead of the sigmas. This should produce more accurate results. References #4649 and #501.
2016-10-28 Ian Humphrey - Added extra newline between Error Propagation: Inverse Blocking and Filling point covariance messages. References #4463.
2016-10-05 Ian Humphrey - Updated to check to see if bundle settings is allowing us to create the inverse matrix correlation file. References #4315.
2016-11-16 Ian Humphrey - Modified catch block to throw the caught exception, so a message box will appear to the user when running jigsaw in GUI mode. Fixes #4483.
2016-10-28 Ian Humphrey - Updated spacing for Error Propagation Complete message. References #4463."
2016-10-25 Ian Humphrey - Spacing and precision for Sigma0 and Elapsed Time match ISIS production's jigsaw std output. References #4463."
2016-09-22 Ian Humphrey - Replaced statusUpdate signal emits with direct calls to outputBundleStats() so the validation messages are printed to stdout. References #4313.
2011-08-04 Debbie A. Cook - Changed error message to indicate it fails with one measure as well as no measures.
2016-10-13 Ian Humphrey - Removed verification of held images in the from list and counting of the number of held images. References #4293.
2011-08-14 Debbie A. Cook - Opt out of network validation for deltack network in order to allow a single measure on a point
2018-09-01 Jeannie Backer - Added documentation, brought closer to coding standards and merged into public repo.
2017-12-27 Jeff Anderson & Victor Silva - Added instrument specific distortion model for Clementine UVVIS.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2016-08-28 Kelvin Rodriguez - Removed unused member variable p_p3 to squash warnings in clang. Part of porting to OS X 10.11
2013-11-24 Stuart Sides - Modified from ApolloMetricDistortionMap
2016-08-01 Kristin Berry - Added to unitTest to test camera model performance on level 2 cubes and to test RA/DEC values. References #2400.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-11 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
2016-08-28 Kelvin Rodriguez - Removed unused member variables to squash warnings in clang. Part of porting to OS X 10.11
2013-11-18 Tracie Sucharski - Added LookDirection method to calculate unit vectors so that old unit vector files are no longer needed.
2011-05-03 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace.
2011-02-09 Steven Lambright - Major changes to camera classes.
2009-04-06 Steven Lambright - Fixed problem that caused double deletion of sky map / ground map.
2013-11-18 Tracie Sucharski - Added this method to VimsSkyMap,so that old unitVector files are no longer needed.
2008-01-03 Tracie Sucharski - Converted Rick'scode rather than using the unitVector files from Rick.
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-16 Tracie Sucharski - Look for unit vectors in the proper directory.
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.
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.
2013-07-24 Tracie Sucharski - Fix bug in camera model which causes a problems finding either north or south poles in images. References #1289.
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.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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 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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera. Camera is now pure virtual, parent class is FramingCamera.
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.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-12 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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 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.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2010-09-16 Steven Lambright - Updated unitTest to not use a DEM.
2016-09-22 Ian Humphrey - Modified validateNetwork() so that validation status messages are logged to stdout. Fixes #4313.
2017-06-08 Makayla Shepherd - Modified imageLists() to close the image cube after adding it to the image list. Fixes #4908.
2017-05-09 Ken Edmundson - Speed improvements and error propagation bug fix. Separated initializations for Normal Equations matrix out of ::initializeCholmodLibraryVariables() into ::initializeNormalEquationsMatrix(). Added m_previousNumberImagePartials to avoid unnecessary resizing of the "coeffImage" matrix in ::computePartials. New m_startColumn member in SparseBlockColumnMatrix eliminates costly computation of leading colums and rows. In ::errorPropagation method, call to get Q matrix from BundleControlPoint was creating a copy instead of getting a reference. References #4664.
2017-05-09 Tracie Sucharski - Fixed an empty pointer in ::imgeLists method.
2017-05-01 Makayla Shepherd - Added imageLists() to track and return the images bundled. Fixes #4818.
2016-12-01 Ian Humphrey - Modified outputBundleStatus()'s printf() call so that there is no longer a -Wformat-security warning.
2016-11-16 Ian Humphrey - Modified solveCholesky() to throw caught exceptions that occur. Removed bundleException(QString) signal. Fixes #4483.
2016-10-28 Ian Humphrey - Modified solveCholesky() and errorPropagation() to change spacing in terminal output, so that it matches production. References #4463.
2016-10-25 Ian Humphrey - Modified iterationSumary() to always output Rejected_Measures keyword, regarldess of outlier rjection being on or off. Fixes #4461. Modified solveCholesky() and computeRejectionLimit() so jigsaw's std out for Rejection Limit, Sigma0, and Elapsed Time match ISIS production's jigsaw std out. Fixes #4463.
2016-10-18 Ian Humphrey - Modified iterationSummary() to always output Rejected_Measures kewyord, regardless of outlier rejection being on or off. Fixes #4461.
2016-10-17 Adam Paquette - Cleaned up terminal output for readability and cohesion Fixes #4263, #4311, #4312.
2016-10-13 Ian Humphrey - Added constructor that takes a ControlNetQsp, so that when jigsaw modifies a control net for a held image, the control net can be passed as a shared pointer. Removed m_pHeldSnList, isHeld(), checkHeldList(), applyHeldList(), two constructors that used heldList parameters. Modified destructor to not delete m_pHeldSnList, since it was removed. Fixes #4293.
2016-10-05 Ian Humphrey - Modified errorPropagation_CHOLMOD() to check bundle settings to see if it should generate the inverseMatrix.dat file. References #4315.
2017-08-09 Summer Stapleton - Added a try/catch around the m_controlNet assignment in each of the constructors to verify valid control net input. Fixes #5068.
2016-08-28 Kelvin Rodriguez - Remvoed useless register keywords to squash warnigns in clang. Part of porting to OS X 10.11.
2016-08-24 Jesse Mapel - Updated documentation and member variable names. Brought closer to ISIS 3 coding standards. Fixes #4183, #4188, #4235.
2016-08-23 Jesse Mapel - Removed output file calls. Apps and objects that use BundleAdjust must call output methods from BundleSolutionInfo. Fixes #4279.
2016-08-18 Jeannie Backer - Removed all references to deprecated solve methods SpeckialK and OldSparse. Fixes #4162.
2016-08-17 Jesse Mapel - Moved all method implementations to the cpp file. Fixes #4185.
2016-08-16 Jesse Mapel - Added error throw when covariance matrices are not symmetric due to unstable data and settings. Fixes #2302.
2016-08-15 Ian Humphrey - Replaced ISIS ControlPoint and ControlMeasure uses with BundleControlPoint and BundleMeasure. No longer need to check if the BundleControlPoint or BundleMeasure is ignored before use, since we only add non-ignored ControlPoints to the BundleControlPoint, and we only add non-ignored ControlMeasures to the BundleControlPoint. Fixes #4173, #4201.
2016-08-15 Jesse Mapel - Moved write methods to BundleSolutionInfo. Changed constructors to always construct a new control network. Fixes #4159.
2016-08-10 Jeannie Backer - Replaced boost vectors and matrices with Isis::LinearAlgebra::Vector and Isis::LinearAlgebra::Matrix, respectively. References #4163.
2016-08-03 Jesse Mapel - Changed BundleObservationVector to a vector of QSharedPointers. Fixes #4150.
2016-07-11 Jeannie Backer - Removed initialize(). Implementation was moved the the bottom of init() method. Fixes #4161.
2016-07-11 Jesse Mapel - Changed m_bundleControlPoints to be a vector of QSharedPointers to BundleControlPoints instead of a BundleControlPointVector. Fixes #4099.
2018-09-30 Debbie A. Cook - Removed methods setRadiansToMeters and radiansToMeters and member variable m_radiansToMeters. References #4649 and #501.
2017-05-30 Debbie A. Cook - Corrected class names in method comments and generalized control point coordinate names. Methods changed: copy constructor, assignment operator, initialize, Also added access methods for coordinate types. References #4649 and #501.
2017-04-27 J Bonn - Updated serialization code and tests.
2017-04-24 Ian Humphrey - Removed pvlObject() method. Commented out m_id serialization for save() (causes segfault in unit test for empty xml). Fixes #4797.
2016-08-15 Jesse Mapel - Added iteration count, radians to meters conversion, observation vector, bundle control point vector, and output control network for write methods in BundleSolutionInfo. Fixes #4159.
2016-08-10 Jeannie Backer - Replaced boost vector with Isis::LinearAlgebra::Vector. References #4163.
2016-07-01 Jesse Mapel - Updated documentation and testing in preparation for merging from IPCE into ISIS. Fixes #3975.
2015-10-14 Jeffrey Covington - Declared BundleResults as a Qt metatype for use with QVariant.
2015-09-03 Jeannie Backer - Added preliminary hdf5 read/write capabilities. Renamed member variables to make names more descriptive.
2014-07-16 Jeannie Backer - Changed pvlGroup() to pvlObject()
2014-07-14 Kimberly Oyama - Added support for correlation matrix.
2019-05-15 Debbie A. Cook - The call to CameraGroundMap::GetXY in method ComputePartials was modified to not check for points on the back side of the planet when computing instrument coordinates during the bundle adjustment. In the future a control net diagnostic program might be useful to detect any points not visible on an image based on the exterior orientation of the image. References #2591.
2018-09-06 Debbie A. Cook - Removed obsolete member variables: m_radiansToMeters, m_metersToRadians, and m_bodyRadii which have been replaced with the local radius of a control point for converting point sigmas to/from radians from/to meters. References #4649 and #501.
2018-09-06 Debbie A. Cook and Ken Edmundson - (added to BundleXYZ branch on (2018-05-31). Moved productAlphaAV and control point parameter correction code to BundleControlPoint. Earlier revised errorPropagation to compute the sigmas via the variance/ covariance matrices instead of the sigmas. This should produce more accurate results. References #4649 and #501.
2018-09-06 Debbie A. Cook - (added to BundleXYZ branch on 2017-09-01) Added BundleSettingsQsp as argument to BundleControlPoint constructor and moved setWeights call from BundleAdjust::init to BundleControlPoint constructor. Don't allow solving for triaxial radii when coordinate type is not Latitudinal. Added new optional argument controlPointCoordType to ControlNet constructor call. References #4649 and #501.
2018-06-18 Makayla Shepherd - Stopped command line output for ipce BundleAdjust. Fixes #4171.
2018-06-14 Christopher Combs - Added getter method to tell if a bundle adjust was aborted. Added emits for status updates to the run widget.
2018-05-22 Ken Edmundson - Modified methods bundleSolveInformation() and solveCholeskyBR() to return raw pointers to a BundleSolutionInfo object. Also modified resultsReady signal to take a raw pointer to a BundleSolutionInfo object. This was done to avoid using a copy constructor in the BundleSolutionInfo class because it is derived from QObject. Note that we ultimately want to return a QSharedPointer instead of a raw pointer.
2018-05-31 Debbie A. Cook - Moved productAlphaAV and control point parameter correction code to BundleControlPoint. Earlier revised errorPropagation to compute the sigmas via the variance/covariance matrices instead of the sigmas. This should produce more accurate results. References #4649 and #501.
2017-09-01 Debbie A. Cook - Added BundleSettingsQsp as argument to BundleControlPoint constructor and moved setWeights call from BundleAdjust::init to BundleControlPoint constructor. Don't allow solving for triaxial radii when coordinate type is not Latitudinal. Added new optional argument controlPointCoordType to ControlNet constructor call. References #4649 and #501.
2009-10-30 Debbie A. Cook - Improved error message in AddPartials.
2011-06-05 Debbie A. Cook - Changed checks for solution type to match change from SPARSE to SPARSE-LU.
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-03-29 Ken Edmundson - Fixed bug in observation mode when solving for spacecraft position and improved output.
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-02-17 Debbie A. Cook - Updated to use new parameter added to SpicePosition, p_timeScale.
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.
2010-12-17 Debbie A. Cook - Merged Ken Edmundson version with system and updated to new binary control net.
2010-08-13 Debbie A. Cook - Changed surface point from lat/lon/radius to body-fixed XYZ.
2010-07-09 Ken Edmundson - Added Folding in solution method (SPECIALK), error propogation, statistical report, etc.
2010-06-18 Debbie A. Cook - Added p_cnetFile as member since it was taken out of ControlNet.
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.
2009-12-14 Debbie A. Cook - Updated SpicePosition enumerated partial type constants.
2011-06-07 Debbie A. Cook - and Tracie Sucharski - Modified point types from Ground to Fixed and from Tie to Free.
2009-10-14 Debbie A. Cook - Modified AddPartials method to use new CameraGroundMap method, GetXY.
2009-08-13 Debbie A. Cook - Corrected calculations of cudx and cudy so that they use the signed focal length also.
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-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.
2008-11-26 Debbie A. Cook - Added check to applyHeldList for Ignored points and measures.
2008-11-22 Debbie A. Cook - Added new call to get timeScale and set for the observation along with basetime.
2008-11-22 Debbie A. Cook - Added code to wrap longitude to keep it in [0.0, 360.0].
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-06-18 Christopher Austin - Fixed ifndef.
2008-04-18 Debbie A. Cook - Added progress for ControlNet.
2008-01-14 Debbie A. Cook - Added code to solve for local radii.
2008-01-11 Debbie A. Cook - Added observation mode functionality for spacecraft position and upgraded ObservationNumber methods for compatability.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2015-09-03 Jeannie Backer - Changed the name of the output correlation matrix file from ["inverseMatrix" + random unique code + ".dat"] to [BundleSettings::outputFilePrefix() + "inverseMatrix.dat"]. So that the prefix can be used to specify the path of the location where the matrix file should be written. Some improvements made to comply with coding standards.
2015-08-17 Jeannie Backer - Updated to be more compliant with ISIS coding standards.
2015-02-20 Jeannie Backer - Updated to be more compliant with ISIS coding standards.
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
2014-09-18 Kimberly Oyama - Added a constructor for running the bunlde in a separate thread.
2014-07-23 Jeannie Backer - Modified to print "N/A" for rejection multiplier if outlier rejection is turned off.
2014-07-14 Kimberly Oyama - Added support for correlation matrix. Covariance matrix is now written to a file and the location is saved as part of the CorrelationMatrix object.
2014-05-16 Jeannie Backer - Added BundleSettings object to constructor inputs. Cleaned and organized code. Updated to be more compliant with ISIS coding standards.
2014-02-25 Ken Edmundson - Speed up and memory improvements to error propagation. References #2031.
2013-12-18 Tracie Sucharski - The ControlNet::GetNumberOfMeasuresInImage was renamed to ControlNet::GetNumberOfValidMeasuresInImage and only returns the number of valid (Ignore= False) measures.
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 - The cout debug statements that appear on screen when updating images were 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.
2012-09-28 Ken Edmundson - Initialized variables for bundle statistic computations. The bundleout.txt file was modifed to show N/A for RMS, Min, Max of Radius Sigmas when not solving for radius. References #783.
2012-05-21 Debbie A. Cook - Added initialization of m_dRejectionMultiplier.
2012-03-26 Orrin Thomas - Added maximum likelihood capabilities.
2012-02-02 Debbie A. Cook - Added SetSolvePolyOverHermite method and members m_bSolvePolyOverHermite and m_positionType.
2011-12-20 Ken Edmundson - Fixes to outlier rejection. Added rejection multiplier member variable, can be set in jigsaw interface.
2011-12-09 Ken Edmundson - Memory leak fix in method cholmodInverse. Need call to "cholmod_free_dense(&x,&m_cholmodCommon)" inside loop.
2011-10-14 Ken Edmundson - Added call to m_pCnet->ClearJigsawRejected() to the init() method to set all measure/point JigsawRejected flags to false prior to bundle.
2011-09-28 Debbie A. Cook - Renamed SPARSE solve method to OLDSPARSE and CHOLMOD to SPARSE.
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 cameraMavtpv_targetBodyp and cameraList. Added this back in (was originally added on 2011-01-19), was deleted somewhere along the line.
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-07-12 Ken Edmundson - Segmentation fault bugfix in OutputHeader method. Previously was attempting to output camera angle sigmas when none had been allocated.
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-06-14 Debbie A. Cook - added method isHeld(int index) for preventing any updates to held images.
2003-02-07 Jeff Anderson - Modified constructor so that it will not start the GUI if the program name is unitTest.
2007-10-04 Steven Koechle - Added -info flag. Debugging option to create a log of system info.
2007-07-12 Steven Koechle - Added -NOGUI flag
2006-01-23 Elizabeth Miller - Renamed -HELP to -WEBHELP and made it accept abbreviations of reserve params
2005-12-21 Elizabeth Miller - Added command line options -BATCHLIST, -SAVE, -ERRLIST, -ONERROR, -PREFERENCE, and -PRINTFILE
2005-10-03 Elizabeth Miller - changed
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
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.
2004-02-26 Jeff Anderson - Modified to allow a parameter to appear multiple times on the command line
2004-02-26 Jeff Anderson - Added command line option -HELP
2003-12-16 Jeff Anderson - Added command line option -LAST and RESTORE=file.par
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
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.
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.
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.
2016-12-28 Kristin Berry - Minor coding standards and documentation updates for checkin.
2017-06-26 Jesse Mapel - Added a new method to set the universal ground point without adjusting for the longitude domain. Fixes #2185.
2012-04-24 Jeannie Backer - Removed prototype for constructor that has been removed from this class. References #775.
2013-04-24 Tracie Sucharski - Added ring plane functionality to methods UniversalLatitude() and UniversalLongitude(). Reference #775.
2012-12-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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-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.
2011-01-25 Eric Hyer - Added SetGround method for Surface Points
2010-10-28 Mackenzie Boyd - Modified error messages in LoadHistory()\
2021-06-05 Kris Becker - Fixed path to ISIS documentation when -WEBHELP is used
2018-04-20 Adam Goins - Modified loadHistory() to print out the last command so that users can see the actual command that the -last arg loads. Fixes #4779.
2016-04-05 Jesse Mapel - Changed bad histroy file error message to reflect that the history file could be for a different application. Fixes #2366
2014-06-18 Ian Humphrey - Finished developing unitTest.cpp and reorganized. Added lacking [at]throws documentation to UserInterface.cpp.
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-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-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-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-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.
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.
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-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2010-07-28 Christopher Austin - Fixed a -LAST issue causing IsisAml to throw an incorrect exception.
2010-07-28 Steven Lambright - Fixed complicated escape sequence cases on array format parsing that have existed for a while now
2010-07-20 Steven Lambright - Array format on the command line is more tolerant to white space now.
2010-05-28 Steven Lambright - History fails silently now
2010-03-26 Sharmila Prasad - Remove the restriction of the number of columns in the batchlist file to 10.
2009-11-19 Kris Becker - Made argc pass by reference since Qt's QApplication/QCoreApplication requires it
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.
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.
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-06-18 Steven Lambright - Fixed documentation
2008-06-06 Steven Lambright - Changed corrupt history file message
2008-04-16 Steven Lambright - Moved parameter verification call
2007-06-29 Steven Lambright - Added Mapping, MappingLatitudes and MappingLongitudes methods.
2005-12-02 Elizabeth Miller - Fixed bug in ellipsiod lat/lon to x/y conversion
2005-09-06 Elizabeth Ribelin - Fixed bug in radians/degrees conversions
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-06-22 Jeff Anderson - Modified Transform method so that it was not const
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2002-11-14 Stuart Sides - Modified documentation after review by Jeff Anderson
2018-07-30 Kaitlyn Lee - Added pixelToSN() and fileNameToIndex().
2018-07-26 Jesse Mapel - Added offset based on minimum unsigned integer value. Renamed methods to better convey output/input meaning.
2018-09-28 Kaitlyn Lee - Removed unnecessary lines of code that were causing build warnings on MacOS 10.13. References #5520.
2017-06-26 Jesse Mapel - Added a new method to set the universal ground point without adjusting for the longitude domain. Fixes #2185.
2016-12-28 Jeannie Backer - Added inLatitudeRange, and inLongitudeRange methods. References #3877
2016-05-25 Jeannie Backer - Updated documentation. References #3877
2016-05-10 Jeannie Backer - Moved TargetRadii() methods to Target class.
2016-04-22 Jeannie Backer - Modified TargetRadii(cubeLab, mapGroup) to look for radii values in the NaifKeywords object of the labels if we fail to find these values elsewhere. Modified constructor to call TargetRadii(cubeLab, mapGroup), which will in turn call TargetRadii(targetName), if needed. Added the private method targetRadii() which is called by the public TargetRadii() methods to find radii values using the given NAIF target code. Fixes #3892
2012-11-18 Debbie A. Cook - Branched Projection into another level of parent classes that inherit from Projection.
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-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-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-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-03-30 Steven Lambright and Stuart Sides - To360Domain() and To180Domain() are now constant time operations. Fixes #656.
2012-03-01 Jeff Anderson - Fixed bug in SetUpperLeftCorner by adding Pvl::Replace when updating the mapping labels
2011-08-11 Steven Lambright - phi2Compute was running out of iterations for vesta (an asteroid). Fixes #279
2011-07-05 Jeannie Backer - Added qCompute() method. Updated documentation.
2010-04-28 Mackenzie Boyd Fixed dereferencing issue in constructor that takes a cube.
2010-04-09 Sharmila Prasad Added an API to check for camera in an image
2009-04-24 Steven Koechle Added a check to SetUniversalGround that makes sure the result is on the cube before returning true.
2007-02-06 Steven Lambright Fixed documentation
2007-02-06 Tracie Sucharski Added SetBand method.
2006-05-17 Elizabeth Miller Depricated CameraManager to CameraFactory
2006-03-31 Elizabeth Miller Added unitTest
2006-03-20 Elizabeth Miller Added camera, projection, and Resolution methods and documentation
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
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-05-03 Jeannie Backer - Added documentation. Moved inclusion of Constants.h to implemenatation file.
2009-08-03 Debbie A. Cook - Added new tolerance argument to CreateCache call to be compatible with update to Spice class
2018-03-14 Adam Goins - Changed cache calculations with LoadCache() call. This fixes an error where VimsCamera caused spiceinit to fail when TargetName == SKY. Fixes #5353.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-11 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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.
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.
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.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2010-08-05 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace wrap. Added NAIF error check to constructor.
2011-02-09 Steven Lambright - Major changes to camera classes.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
2009-04-06 Steven Lambright Fixed problem that caused double deletion of sky map / ground map.
2018-03-14 Adam Goins - Changed cache calculations with LoadCache() call. This fixes an error where VimsCamera caused spiceinit to fail when TargetName == SKY. Fixes #5353.
2011-05-03 Jeannie Walldren - Added NAIF error check.
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.
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-11 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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 ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Cassini namespace wrap with ISISnamespace. Added ISISDisclaimer to files. Added NAIF error check to constructor.
2011-02-09 Steven Lambright - Major changes to camera classes.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2011-05-03 Jeannie Walldren - Updated documentation. Removed Cassini namespace wrap inside Isis namespace.
2011-02-08 Steven Lambright & Debbie Cook, Added WrapWorldToBeClose and refactored to use the Latitude and Longitude classes.
2009-08-06 Tracie Sucharski, Bug in unit vector change made on 2008-02-05, had the incorrect boresight for VIS Hires.
2009-04-06 Steven Lambright Fixed problem that caused double deletion of sky map / ground map.
2008-06-18 Steven Lambright Fixed documentation
2008-02-05 Tracie Sucharski, Replaced unitVector files with Rick McCloskey's code to calculate look direction.
2014-04-08 Tracie Sucharski - Change the sanity check made on 2012-12-03 from lat/lon to xyz.
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.
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.
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-04-18 Tracie Sucharski - Added check for reasonable match when attempting to find closest lat/lon in map arrays.
2008-02-14 Tracie Sucharski, Change imgSamp/imgLine to double so that fractional pixels are used in calculations.
2008-02-05 Tracie Sucharski, Replaced unitVector files with Rick McCloskey's code to calculate look direction
2008-01-02 Tracie Sucharski - Check incoming pixel for validity against edge of pixel not center.
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.
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.
2009-08-06 Tracie Sucharski, Bug in unit vector change made on 2008-02-05, had the incorrect boresight for VIS Hires.
2008-02-05 Tracie Sucharski, Replaced unitVector files with Rick McCloskey's code to calculate look direction.
2007-04-19 Tracie Sucharski, Swap bytes on unit vectors. They are currently LSB binary files. ???Todo:??? Convert unit vectors to text files.
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.
2017-08-22 Cole Neubauer - Added labels for latest Cisscal upgrade
2011-05-03 Jeannie Walldren - Fixed documentation.
2011-05-03 Jeannie Walldren - Fixed documentation of ingroup name and added ISISdisclaimer.
2018-04-16 Jeannie Backer - Improved error message for keyword dependencies.
2018-02-15 Kristin Berry and Summer Stapleton - Updated translate() method to search for multiple values for InputPosition keyword. Fixes #5332
2017-05-26 Makayla Shepherd - Renamed XmlToPvlTranslationManager.
2017-01-25 Jesse Mapel - Created unit test. Fixes #4584.
2017-01-18 Jesse Mapel - Updated documentation and error messages. Fixes #4584.
2017-01-13 Jeannie Backer and Jesse Mapel - Initial Translate and Auto design. Added dependencies for uniquely identifying input elements. Fixes #4584.
2005-02-22 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-09-25 Jeff Anderson - Added Resolution method
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2016-10-27 Jeannie Backer - Moved constructor documentation and destructor to cpp file. References #4476.
2016-10-21 Jesse Mapel and Kristin Berry - Fixed bug in SetDetector() and SetParent() methods so that we now subtract 1/2 pixel from the rateStartLine to calculate the p_parentLine and et variables, respectively. This was needed since rateStartLine is the integer value for the first line that uses the current rate. The integer value indicates the center of the line, vertically, so we subtract 0.5 to get the top of the needed start pixel. References #4476.
2016-10-21 Jesse Mapel - Moved the LineRateChange look up to a separate method. References #4476.
2016-10-19 Jesse Mapel - Added exposureDuration method for accessing a pixel's exposure duration. Updated test. References #4476.
2016-10-18 Kristin Berry - Added new SetParent method to include time offset. Updated test. References #4476.
2012-06-20 Debbie A. Cook, Updated Spice members to be more compliant with Isis
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
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.
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2007-07-11 Steven Koechle - casted NaifIkCode to int before QString to fix problem on Linux 32bit
2007-07-10 Steven Koechle - Removed hardcoding of NAIF Instrument number
2015-10-16 Ian Humphrey - Removed declarations of spacecraft and instrument members and methods and removed implementation of these methods since Camera now handles this. References #2335.
2015-08-11 Ian Humphrey and Makayla Shepherd - Added new data members and methods to get spacecraft and instrument names. Extended unit test to test these methods.
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.
2011-05-03 Jeannie Walldren - Added ShutterOpenCloseTimes() method. Updated unitTest to test for new methods. Updated documentation. Replaced Cassini namespace wrap with ISISnamespace. Added ISISDisclaimer to files. Added NAIF error check to constructor.
2011-02-09 Steven Lambright - Major changes to camera classes documentation.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras
2009-08-28 Steven Lambright - Changed inheritance to no longer inherit directly from Camera
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.
2008-08-08 Steven Lambright Now using the new LoadCache(...) method instead of CreateCache(...).
2007-07-11 Steven Koechle - casted NaifIkCode to int before iString to fix problem on Linux 32bit
2007-07-10 Steven Koechle - Removed hardcoding of NAIF Instrument number
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-01-18 Sharmila Prasad - Added "Average" priority feature, to double the number of mosaic bands to get Count info
2010-10-21 Sharmila Prasad - The BandBin group must be carried thru to the mosaic at creation time regardless of matchbandbin flag
2010-02-25 Sharmila Prasad - Changed stricmp to use IString function "Equal"
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
2008-10-03 Steven Lambright - Fixed problem where member variables could be corrupted
2006-10-20 Stuart Sides - Fixed bug BandBin group did not get copied to the output mosaic.
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
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-09-04 Jeff Anderson - Added SetInputWorkCube method
2003-04-28 Stuart Sides - Modified unitTest.cpp to do a better test
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.
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.
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.
2012-01-20 Debbie A. Cook - Changed to use TProjection instead of Projection. References #775.
2013-03-27 Jeannie Backer - Added programmer comments. References #1248.
2012-10-05 Jeannie Backer - Fixed indentation of history entries. Added caught exception to new thrown exception. Moved method implementation to cpp. References #1169.
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
2011-06-28 Jai Rideout and Steven Lambright - Now uses a different caching algorithm.
2011-01-18 Sharmila Prasad - Added "Average" priority feature, to double the number of mosaic bands to get Count info
2010-10-27 Sharmila Prasad - Read input file attributes
2008-12-08 Steven Lambright - MinimumLatitude,MaximumLatitude, MinimumLongitude,MaximumLongitude keywords no longer required to exist if passed into SetOutputCube
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).
2003-10-23 Jeff Anderson - Modified StartProcess method to use a quadtree mechanism to speed processing of cubes. Essentially it generates an internalized file
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-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-03-31 Stuart Sides - Added false argument to IsisError.report call in the unit test.
2003-02-13 Stuart Sides - Created a unit test for the object.
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.
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.
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-03-27 Jeannie Backer - Added programmer comments. References #1248.
2012-02-24 Steven Lambright - Added Finalize()
2010-02-26 Steven Lambright - Now using a geometry snapper on points before testing if they are inside a polygon inside DoWork(...).
2017-05-19 Christopher Combs - Modified unitTest.cpp to truncate paths before date directory. Allows test to pass when not using the default data area. Fixes #4738.
2015-10-04 Jeannie Backer - Fixed SetMosaicOrigin() method to populate the input images table properly. Fixes #1178
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.
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.
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-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.
2013-03-27 Jeannie Backer - Added documentation and programmer comments. References #1248.
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.
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-01-05 Sharmila Prasad - Fixed #00586 Allow Band Priority with no Tracking
2011-12-30 Sharmila Prasad - Fixed #00587, Disable Tracking for multiband mosaic for ontop or beneath priority
2011-10-20 Sharmila Prasad - Fixes #0000462, allow Band Priority even if Tracking is not enabled
2007-08-29 Steven Koechle - Modified to use new SetSpecialValues method from ProcessImport
2010-11-17 Eric Hyer - Inside ProcessPdsImageLabel method Absolute paths are now supported for the ^IMAGE Keyword
2010-08-27 Steven Lambright - Longitude domain correction added for center and pole longitude keywords in PDS projections
2010-08-23 Steven Lambright - Non-numeric string values for PDS projection rotations are now supported.
2009-12-18 Janet Barrett - Added capability to process JPEG2000 files with a detached PDS label
2009-12-15 Steven Lambright - Hard-coded translation table is now a valid Pvl
2009-07-16 Steven Lambright - Fixed bug where the longitude is misordered
2008-08-08 Steven Lambright - Fixed bug where the longitude keywords could be incorrecty interpretted (minumum longitude and maximum longitude are swapped).
2008-06-13 Steven Lambright - Updated ExtractPdsProjection to change the latitude type to planetocentric if both the planet radii are the same
2008-06-13 Noah Hild - Added support for the FILE object
2008-06-13 Steven Lambright - Updated algorithm to decide domain and calculate correct longitudes in ExtractPdsProjection
2008-05-12 Steven Lambright - Removed references to CubeInfo
2007-10-16 Steven Koechle - Modified TranslatePdsProjection() to not add the min & max lat long keywords if they have null values.
2010-12-09 Sharmila Prasad - Set default offset to be 1 for detatched label and offset not set
2007-08-07 Steven Lambright - Modified to support translating some PDS labels for pds2isis and default longitude domain is now 360.
2007-06-04 Jeff Anderson - Modified to deal with projection conversion generically
2007-05-31 Steven Koechle -Moddified to assume all signed bytes input pixels are actually unsigned.
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-02-08 Brendan George - Fixed TranslateIsis2Instrument to remove the appended z in the StartTime keyword, if present.
2007-01-24 Stuart Sides - Added ability to identify the difference between PDS and ISIS2 files, and process them differently.
2006-11-16 Brendan George - Changed instances of "Foreign" to "Input" and "Native" to "Output"
2006-10-26 Stuart Sides - Added unsigned 16 bit ability
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-06-13 Brendan George - Modified to add OriginalLabel blob automatically, and added a function to allow the user to prevent this.
2005-02-09 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-10 Stuart Sides - Separated PDS capabilities from Import.
2017-06-26 Summer Stapleton - Added functions to identify and report changes to the default projection offsets and multipliers. Fixes #4887.
2008-10-03 Steven Lambright - Fixed problem where return values from SetUniversalGround were not checked
2006-10-20 Stuart Sides - Fixed bug BandBin group did not get copied to the output mosaic.
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
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-09-04 Jeff Anderson - Added SetInputWorkCube method
2003-04-28 Stuart Sides - Modified unitTest.cpp to do a better test
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
2011-01-27 Jai Rideout - Fixed to handle VICAR files that have end labels
2008-06-26 Christopher Austin - Added the termination char to SetVicarFile's buf
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2018-01-19 Christopher Combs - Changed ProcessDataFilePointer call to reflect changes made to voy2isis. Fixes #4345, #4421.
2017-12-20 Summer Stapleton - Modified error message in ProcessImportPds::ProcessLabel() to be more discriptive. Fixes #4883.
2017-05-19 Christopher Combs - Modified unitTest.cpp: changed ReportError method to truncate paths before data directory. Allows test to pass when not using the default data area. Fixes #4738.
2017-05-29 Kristin Berry - Update to the DataTrailer handling code so that its size (DataTrailerBytes) is not inappropriately re-set if we have specified it previously. References #3888.
2017-01-03 Jesse Mapel - Added support for importing combined spectrum images such as from the Hyabusa NIRS. Fixes #4573.
2015-03-10 Tyler Wilson Added to unit test to test opening Galileo NIMS cube files. References #2368.
2015-01-19 Sasha Brownsberger - Made destructor virtual. References #2215.
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.
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.
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.
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.
2012-05-03 Tracie Sucharski - Added a try/catch in SetPdsFile when attempting to read PDS label
2011-04-27 Mackenzie Boyd - Changed ProcessQubeLabels to set BIP for BANDSAMPLELINE axes instead of LINEBANDSAMPLE and added exception for unknown storage order.
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.
2013-03-13 Debbie A. Cook - Modified to differentiate between Project subclasses: TProjection and RingPlaneProjection.
2011-05-23 Jannet Barrett and Steven Lambright - Added m_projPlugin to reduce cost of instantiating Projections.
2011-02-10 Jai Rideout - UpperLeftCornerX and UpperLeftCornerY are now set in projection mapping group via the new SetUpperLeftCorner method in Projection.
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.
2008-06-18 Steven Koechle - Fixed Documentation Error
2007-06-29 Steven Lambright - Removed TrueScaleLatitude keyword from CreateForCube methods, added units to Scale and PixelResolution keywords
2007-03-13 Jeff Anderson - Added new method CreateForCube using a camera
2006-09-07 Elizabeth Miller - Added the bool sizeMatch parameter to CreateForCube()
2006-05-19 Elizabeth Miller - Depricated ProjectionManager and CubeProjection. Renamed ProjectionManager.plugin to Projection.plugin
2006-01-27 Jacob Danton - Renamed PixelMapper to PFPixelMapper
2005-06-22 Elizabeth Ribelin - Merged ProjectionManager and CubeProjection into a single class
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().
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-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-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-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-03-30 Steven Lambright and Stuart Sides - To360Domain() and To180Domain() are now constant time operations. Fixes #656.
2012-03-01 Jeff Anderson - Fixed bug in SetUpperLeftCorner by adding Pvl::Replace when updating the mapping labels
2011-08-11 Steven Lambright - phi2Compute was running out of iterations for vesta (an asteroid). Fixes #279
2011-07-05 Jeannie Backer - Added qCompute() method. Updated documentation.
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.
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.
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-01-31 Jeff Anderson - Added Keywords, Keyword, Groups, Group, and CopyGroup methods
2014-04-17 Jeannie Backer - Added padding to bring closer to ISIS coding standards. References #1659.
2009-12-07 Steven Lambright Increased liklihood that our spacecraft distance correctly minimizes for LRO
2009-11-19 Steven Lambright Removed linear search offset
2008-10-23 Steven Lambright Added optimizations, fixed misc bugs
2016-10-19 Jesse Mapel - Added exposureDuration method for accessing a pixel's exposure duration. Updated documentation and unit test. References #4476.
2016-10-18 Kristin Berry - Added additional SetParent method with time offset. Added detltaT variable to SetFramelet method. Updated unitTest. References #4476.
2014-04-17 Jeannie Backer - Renamed SetFlippedFramelets and SetGeometricallyFlippedFramelets to SetFrameletOrderReversed and SetFrameletsGeometricallyFlipped, respectively. Moved method implementations to cpp file. References #1659.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-06-02 Steven Lambright Fixed framelet detection in the forward direction and inside framelet check in the reverse direction
2008-10-23 Steven Lambright Added optimizations, fixed misc. bugs
2017-09-15 Jesse Mapel - Added constructor from field values
2015-09-01 Ian Humphrey and Makayla Shepherd - Modified unit test to override Sensor's pure virtual methods.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2010-08-04 Jeannie Walldren - Fixed the #ifndef identifier to define PushFrameCamera_h. Updated documentation.
2016-09-02 Tyler Wilson - Fixed a bug in the CreateForCube function because it was producing an unequal number of lines/samples for maps from projections that are symmetric about the prime meridian or the equator. Fixes #2245.
2014-01-16 Kimberly Oyama - Updated the error messages for unsupported projections to include the source of the error. Fixes #988.
2012-10-04 Jeannie Backer - Removed documentation reference to the now non-existant CubeInfo class. No mantis ticket related to this change.
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-03-13 Steven Lambright - Added DisableAutomaticGuiRedraws().
2005-10-03 Elizabeth Miller - Changed
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-29 Jeff Anderson - Added ability to send progress status to the parent process
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2017-05-19 Christopher Combs - Modified unitTest.cpp: now creates unitTest.cub to perform tests on. Allows test to pass when not using the default data area. Fixes #4738.
2011-08-19 Kelvin Rodriguez - Added truth data for OS X 10.11 Part of proting to 10.11.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
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.
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-05-15 Jeff Anderson - Added UniqueCachingAlgorithm to reverse patch algorithm (startProcess)
2012-05-07 Jeff Anderson - Added the forward patch algorithm.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
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).
2008-10-30 Steven Lambright - Fixed problem with definition of class Quad, pointed out by "novus0x2a" (Support Board Member)
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-09-10 Steven Lambright - Made tiling start and end sizes variable
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.
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.
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-23 Jeff Anderson - Added Eccentricity(), tCompute(), mCompute(), e4Compute(), and phi2Compute() methods
2008-05-09 Steven Lambright - Added Name(), Version(), IsEquatorialCylindrical() methods
2007-08-14 Steven Lambright - Mapping() fixed: should not return cube specific parameters, because they did not go into making the projection.
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.
2006-07-10 Elizabeth Miller - Fixed bugs in new static method
2006-06-20 Stuart Sides - Added ability to lookup the radii if given a "TargetName" in the mapping group.
2006-04-20 Tracie Sucharski - Fixed bug looking at Target instead of TargetName for sky.
2005-07-22 Jeff Anderson - Added static ToPlanetographic() method
2005-06-24 Jeff Anderson - Tweaked format for DMS and HMS methods
2005-03-08 Elizabeth Ribelin - Fixed unitTest
2005-02-25 Elizabeth Ribelin - Added 3 static conversion methods: ToHours(), ToDMS(), and ToHMS()
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-24 Jeff Anderson - Fixed bug in eccentricity computation
2003-11-04 Jeff Anderson - Added LocalRadius() 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-10-14 Jeff Anderson - Added Scale() and TrueScaleLatitude() methods
2003-09-26 Jeff Anderson - Remove virtual from operator!=
2003-09-26 Jeff Anderson - Added virtual Name, operator==, and operator!= methods
2003-09-26 Jeff Anderson - Added ToWorldX(), ToWorldY(), ToProjectionX(), ToProjectionY(), and Resolution() methods
2003-08-25 Jeff Anderson - Added LatitudeTypeString(), LongitudeDirectionString(), and LongitudeDomainString() methods
2003-05-30 Jeff Anderson - Updated unit test to fix error for optimization
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-01-30 Jeff Anderson - Add the SetWorldMapper() method and removed setting the mapper from the constructor
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. Replaced parameters minVal and maxVal with minBorderX, minBorderY, maxBorderX, and maxBorderY.
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-01-07 Stuart Sides - Added CreateWorldFile method
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-04-04 Jeff Anderson - Updated documentation for SetInputRange methods
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2006-04-03 Jacob Danton - Rewrote the code to extend ProcessByBrick class
2005-11-28 Jacob Danton - Modified file to allow processing with multiple input and output cubes.
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. Added some documentation to methods.
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.
2015-01-15 Sasha Brownsberger - Added virtual keyword to StartProcess function to ensure successful inheritance between Process and its child classes. References #2215.
2012-02-24 Steven Lambright - Added ProcessCube()
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2011-06-27 Jai Rideout and Steven Lambright - Now uses FilterCachingAlgorithm
2006-12-15 Jeff Anderson - Fixed bug for images with 1 line
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-08-28 Jeff Anderson - Added SetFilterParameters method
2003-06-02 Jeff Anderson - Fixed a bug where line unfolding at the bottom of the cube was always using band 1
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2008-12-17 Steven Lambright - Added calculations for OFFSET and SCALEFACTOR keywords
2008-10-02 Christopher Austin - Fixed LabelSize() and OutputLabel() in accordace to the pds end of line sequence requirement
2008-08-07 Christopher Austin - Added fixed label export capability
2008-05-20 Steven Lambright - Fixed documentation
2006-12-14 Stuart Sides - Modified keword units to be PDS compliant
2018-09-28 Kaitlyn Lee - Added (char) cast to fix implicit conversion. Split up "-(short)32768" into two lines. Fixes build warnings on MacOS 10.13. Updated code up to standards. References #5520.
2017-05-17 Makayla Shepherd - Added setCanGenerateChecksum(), canGenerateChecksum(), and checksum(). Added m_cryptographicHash and m_canGenerateChecksum. This allows an MD5 checksum to be generated when exporting an image. This checksum is generated based on the image data. Fixes #1013.
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
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.
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.
2012-10-04 Jeannie Backer - Added documentation and fixed indentation of history entries. No mantis ticket.
2009-07-27 Steven Lambright - Piecewise stretch backs off to linear if Median() == MINPCT or Median() == MAXPCT
2008-12-17 Steven Lambright - Changed SetOutputRange calls to use constants (i.e. instead of 65535 VALID_MAX2 is used).
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-06-18 Steven Koechle - Fixed Documentation Errors
2008-05-12 Steven Lambright - Removed references to CubeInfo
2007-12-17 Christopher Austin - Added processes for BIL and BIP, leaving BSQ as the default, as well as fixed rounding accuracy.
2006-08-30 Jeff Anderson - Fixed memory leak
2006-05-23 Jacob Danton - Added seperate MIN/MAX values for each input channel
2006-05-15 Jeff Anderson - Fixed bug with multiple input cube support when the programmer didn't set a input minimum/maximum
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-02-27 Jacob Danton - Added Multiple input cube support
2005-06-15 Drew Davidson - Updated to support multi-band output.
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.
2012-02-24 Steven Lambright - Added Finalize() and ProcessCube()
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2020-06-06 Stuart Sides - Closed cube file used to propagte tables.
2018-07-27 Kaitlyn Lee - Added unsigned/signed integer pixel type handling.
2016-11-30 Ian Humphrey - Added second parameter, tableNames, to PropagateTables() to specifiy which tables will be propagated when calling PropagateTables(QString, QList<QString>). A default value of an empty QList is provided to this parameter which will propagate all tables. Updated unitTest to test this change. References #4433.
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
2015-01-15 Sasha Brownsberger - Added virtual keyword to several functions to ensure successful inheritance between Process and its child classes. Fixes #2215.
2011-08-26 Steven Lambright - The NaifKeywords object is now being propagated.
2011-05-07 Sharmila Prasad - 1. Added API SetInputCube(Cube*) to take opened cube
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
2009-10-29 Travis Addair - Added method calculating statistics on all bands of all cubes
2008-05-12 Steven Lambright - Removed references to CubeInfo
2007-07-27 Steven Lambright - Updated AllMatchOrOne and BandMatchOrOne error messages
2007-07-19 Steven Lambright - Fixed memory leak
2007-06-27 Steven Lambright - Added propagation of polygon blobs
2006-09-19 Brendan George - Added WriteHistory function to independently write the history to the cube
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-06-30 Jeff Anderson - Added propagation of blobs
2004-04-17 Stuart Sides - Fixed problem when creating .Isis/history directories on Solaris.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2006-03-29 Jacob Danton Rewrote code to extend ProcessByBrick class.
2011-05-07 Sharmila Prasad - 1. Added API SetInputCube(Cube*) to take opened cube 2. Edited StartProcess using Functors take reference to Functors
2011-04-22 Sharmila Prasad - Extended StartProcess functionality to be able to be called from any Object class by using Functors
2005-02-08 Elizabeth Ribelin - Modified file to support Doxygen documentation
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.
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.
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2017-05-08 Tyler Wilson - Added a call to the virtual method SetBricks inside the functions PreProcessCubeInPlace/PreProcessCube/PreProcessCubes. Fixes #4698.
2016-04-26 Ian Humphrey - Modified BlockingReportProgress() so that it unlocks the local QMutex before it goes out of scope (Qt5 issues a warning if a locked QMutex is destroyed).
2013-03-27 Jeannie Backer - Modified SetBrickSize() code to call existing methods rather than duplicating code. Added SetOutputCube() method.References #1248.
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().
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.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory. Added some documentation to methods.
2011-05-07 Sharmila Prasad - 1. Added API SetInputCube(Cube*) to take opened cube 2. Edited StartProcess using Functors take reference to Functors
2011-04-22 Sharmila Prasad - Extended StartProcess functionality to be able to be called from any Object class by using Functors
2008-06-18 Steven Koechle - Fixed Documentation
2008-01-09 Steven Lambright - Fixed a memory leak
2007-12-14 Steven Lambright - Same band is now forced on input cubes when there are multiple input cubes
2006-08-08 Debbie A. Cook - Added overloaded method SetInputCube
2008-09-16 Christopher Austin - Added error throwing for the setting of special pixel ranges that overlap by adding CheckPixelRange().
2018-07-19 Tyler Wilson - Added support for 4-byte UnsignedInteger special pixel values.
2018-05-01 Jesse Mapel - Changed data suffix and prefix in BIP files. Previously, data suffixes and prefixes were for each band before/after each line. Now, data suffixes and prefixes are before/after each sample. For a RGB, 3-band image with n samples a line of data was previously | Header | R prefix | G prefix | B prefix | R 1 | G 1 | B 1| ... | R n | G n | B n| R suffix | G suffix | B suffix | Trailer |. Now it is | Header | Prefix 1 | R 1 | G 1 | B 1 | Suffix 1 | ... | Prefix n | R n | G n | B n | Suffix n | Trailer |. This change was made to accomodate Rosetta VIRTIS-m calibrated data files and has no impact on other supported BIP files. Fixes #5398.
2017-05-29 Kristin Berry - Added support for data trailers in BIP files and fixed a typo so that DataTrailerBytes() will return the correct value. References #3888.
2016-04-21 Makayla Shepherd - Added UnsignedWord pixel type handling.
2016-04-20 Jeannie Backer - Merged Janet Barret's changes to handle SignedInteger imports. Brought code closer to coding standards.
2016-02-23 Tyler Wilson - Added VAXConversion(...) and IsVAXSpecial(...) routines for importing Galileo NIMS qubs which were originally saved in VAX format. Also added SetSuffixOffset for reading suffix band data from NIMS cubes. References #2368.
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.
2013-03-27 Jeannie Backer - Added programmer comments and documentation. Changed parameter name from "parameter" to "fname" in SetOutputCube() method. References #1248.
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.
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.
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2009-12-14 Janet Barrett - Added capability to import JPEG2000 files.
2008-08-18 Jeannie Walldren - Modified documentation and added method SetFileTrailerBytes().
2008-02-22 Steven Lambright - Fixed a memory leak and improved the way the destructor detects allocated pointers.
2007-11-13 Janet Barrett - Added the ProcessBip capability
2007-10-05 Steven Lambright - Added StartProcess method that passes data back to a function instead of writing it out to a file.
2006-10-26 Stuart Sides - Added unsigned 16 bit ability
2006-04-21 Brendan George - Implemented ProcessBil()
2005-04-08 Leah Dahmer - added missing documentation.
2005-02-09 Elizabeth Ribelin - Modified file to support Doxygen documentation
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.
2004-02-10 Stuart Sides - Added new member AddLabel
2004-02-05 Jeff Anderson - Refactored the class
2004-02-04 Jeff Anderson - Modified SetPdsFile method to allow for SPECTRAL_QUBE objects to handle Themis data.
2003-01-24 Tracie Sucharski - Fixed bug in processing 8bit data. In the Swap method needed to return unsigned char, not char.
2004-01-22 Jeff Anderson - Modified the SetVicarFile method to return the vicar labels internalized in a PVL object.
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.
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.
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-16 Stuart Sides - Added a section for debuging all the parameters which can be set before processing starts.
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-10 Stuart Sides - Added capabilities to get the translation files from the user preferences BASE directory.
2003-10-09 Stuart Sides - Added capabilities for reading PDS files
2003-09-10 Tracie Sucharski - Complete redesign to handle different raw file formats.
2003-05-30 Stuart Sides - Fixed compiler error after -O1 flag was added to g++
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2008-06-09 Tracie Sucharski, Added MinimumLongitude2 and MaximumLongitude2 for Magellan images.
2008-06-06 Tracie Sucharski, Added LineProjectionOffset2 for Magellan images.
2007-07-12 Stuart Sides- Modified to handle units of meters on the pixel resolution
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.
2017-07-07 Jeannie Backer and Kaj Williams - Modified extractFitsLabels() to handle labels with extra image information but no image data. Changed fitsLabel() method name to fitsImageLabel(). Added extraFitsLabel(). Brought code closer to coding standards. Improved documentation and error messages.
2016-04-20 Jeannie Backer - Merged Janet Barret's changes to handle SignedInteger imports. Brought code closer to coding standards.
2015-06-02 Kristin Berry - Added error for use of unsupported BIP organization.
2015-01-15 Sasha Brownsberger - Made destructor virtual. References #2215.
2017-06-04 Adam Paquette - Added GetLabel function and updated StandardPds4Label.
2017-11-21 Kristin Berry - Updated the constructor to add the xml version and encoding to the beginning of the XML file.
2017-11-20 Jeannie Backer - Updated StandardImageImage() to re-order the Array_3D_Image values properly.
2017-11-17 Jesse Mapel - Removed empty FixedImageRoot method.
2017-11-16 Kristin Berry - Updated WritePds4 to put the File information first in the output File_Area_Observational.
2017-11-15 Jesse Mapel - Added translateUnits method to convert units to PDS4 standard format.
2017-11-07 Jeannie Backer - Added code to write data file info into label file. Added code to translate time format and add nil tag if empty.
2017-11-07 Jeannie Backer - Added code to search for target in the Mapping group if no instrument group is found. Added Identification Area tranlations. Added sanity checks to getElement().
2017-11-06 Kristin Berry - Added standardBandBin()
2017-10-31 Jeannie Backer - Added standardInstrument() and displaySettings() translations.
2017-10-18 Jeannie Backer & Makayla Shepherd - Added convenience method getElement and StandardAllMapping method to translate mapping information. See #5202.
2017-09-26 Jesse Mapel - Improved test coverage and documentation. Fixes #5167.
2017-06-08 Marjorie Hahn - Added WritePds4 method to write out the .img and .xml Pds4 data.
2018-02-05 Kristin Berry - Updated WritePds4 to remove the .xml and add a .img if the user inputs something of the form filename.xml as the image output name.
2017-06-02 Makayla Shepherd - Added CreateImageLabel, FixedImageRoot, and StandardImageImage to add hardcoded values to the xml label.
2017-06-02 Adam Paquette - Updated call to translation file to use a translation file in the isis data area.
2017-06-02 Marjorie Hahn - Added global hash seed to force a consistent output (XML attribute order).
2017-06-01 Ian Humphrey - Added XML declaration and updated attributes for Product_Observational tag.
2017-05-31 Ian Humphrey - Added check in StandardPds4Label to thrown an exception if there is no input cube set.
2017-10-18 Makayla Shepard - Removed code associated with completely empty unused file pdsExportAllMapping.trn. References #5202.
2017-05-17 Makayla Shepherd & Ian Humphrey - Added updateChecksumInLabel() to convert the placeholder value to the actual generated checksum value. Modified StreamImageRoot() and FixedImageRoot() to create CHECKSUM placeholder in the labels if we are generating a checksum. Fixes #1013.
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.
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.
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.
2010-07-21 Sharmila Prasad - Fixed error while converting resolution from Meters to Kilometers
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.
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.
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-16 Stuart Sides - Added a section for debuging all the parameters which can be set before processing starts.
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-10 Stuart Sides - Added capabilities to get the translation files from the user preferences BASE directory.
2003-10-09 Stuart Sides - Added capabilities for reading PDS files.
2003-09-10 Tracie Sucharski - Complete redesign to handle different raw file formats.
2003-05-30 Stuart Sides - Fixed compiler error after -O1 flag was added to g++
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-02-13 Stuart Sides - Added a unit test.
2003-01-24 Tracie Sucharski - Fixed bug in processing 8bit data. In the Swap method needed to return unsigned char, not char.
2016-11-30 Ian Humphrey - Modified SetStatCubes(5args) to attach the AlphaCube group to the output cubes if it exists in the passed PVL. References #4433.
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.
2013-09-10 Stuart Sides, Tracie Sucharski - Cleaned up and removed extraneous code. References #1604.
2013-03-27 Jeannie Backer - Added programmer comments. References #1248.
2012-02-24 Steven Lambright - Added Finalize()
2008-08-18 Steven Lambright - Updated to work with geos3.0.0 instead of geos2. Mostly namespace changes.
2008-05-12 Steven Lambright - Removed references to CubeInfo
2019-06-15 Kristin Berry - Added a new addSchema() function for cases in which a schematron file is not available and added setPixelDescription to set a pixel description for the output image.
2019-03-01 Kristin Berry - Added ability to set version_id and title, added Special_Constants to define ISIS special pixel values, fixed east/west bounding coordinates swap bug. Fixes git issue #2635.
2018-06-12 Kristin Berry - Added schema associated with the img class when it is used.
2018-05-16 Christopher Combs - Fixed typo in xml namespaces and changed History attributes to elements. Matches pds validate tool specifations.
2012-02-14 Orrin Thomas - add centerOfMassWeighted routine to support using Selection/Centroid for subpixel registration
2012-11-23 Debbie A. Cook - New RingPlaneProjection child/base class
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-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-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-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-03-30 Steven Lambright and Stuart Sides - To360Domain() and To180Domain() are now constant time operations. Fixes #656.
2012-03-01 Jeff Anderson - Fixed bug in SetUpperLeftCorner by adding Pvl::Replace when updating the mapping labels
2011-08-11 Steven Lambright - phi2Compute was running out of iterations for vesta (an asteroid). Fixes #279
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.
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.
2008-06-19 Steven Lambright - Fixed memory leak
2008-06-12 Christopher Austin - Elaborated error messages.
2008-05-09 Steven Lambright - Added Name(), Version(), IsEquatorialCylindrical() methods
2007-08-14 Steven Lambright - Mapping() fixed: should not return cube specific parameters, because they did not go into making the projection.
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.
2006-07-10 Elizabeth Miller - Fixed bugs in new static method
2006-06-20 Stuart Sides - Added ability to lookup the radii if given a "TargetName" in the mapping group.
2006-04-20 Tracie Sucharski - Fixed bug looking at Target instead of TargetName for sky.
2005-07-22 Jeff Anderson - Added static ToPlanetographic() method
2005-06-24 Jeff Anderson - Tweaked format for DMS and HMS methods
2003-11-26 Jeff Anderson - Modified FrameMounting() methods to allow for fixed frames or time dependent frames
2006-09-07 Debbie A. Cook - Changed back-of-planet test to use emission angle instead of length of vector to surface point
2006-03-31 Elizabeth Miller - Added SpacecraftAltitude() and SolarDistance() methods
2005-09-20 Jeff Anderson - Added tests for trying to intersect the sky
2005-08-24 Jeff Anderson - Make sure LocalSolarTime always return positive hours
2005-06-09 Elizabeth Ribelin - Added LoadEulerMounting() method that accepts a matrix as a parameter
2005-02-25 Jeff Anderson - Added LocalSolarTime() method
2005-02-24 Jeff Anderson - Added SlantDistance() method and made the constructor ignore the ElevationModel keyword if it is null
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
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.
2004-02-18 Jeff Anderson - Fixed a problem with the FrameMounting() methods as the frame kernel is unloaded if a cache is created.
2004-01-20 Jeff Anderson - Added an option to the SetUniversalGround() method to eliminate checks for points on the backside of the target
2003-10-16 Jeff Anderson - Added LoadEulerMounting() and LoadFrameMounting() methods
2003-05-30 Jeff Anderson - Updated unitTest and truth to account for precision due to optimization
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
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-01-24 Janet Barrett - Got rid of extra loop that wasn't needed for the new ray tracing 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).
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.
2009-09-23 Tracie Sucharski - Convert negative longitudes returned my reclat.
2015-03-28 Kris Becker - Added the isEqual() method to test for equality or another resource
2015-03-10 Ian Humphrey - Fixed bug in toPvl() method. The iterator was never being incremented, causing the cnetreader tests to hang.
2015-03-18 Jeannie Backer - Brought class files closer to ISIS coding standards.
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.
2012-02-01 Sharmila Prasad - Remove unused band data member Fixes #00681
2011-08-19 Jeannie Backer - Modified unitTest to use $temporary variable instead of /tmp directory.
2011-05-11 Sharmila Prasad - Use Portal instead of LineMgr to read Line & added API setInputBoundary to reduce subarea of an image
2011-05-10 Sharmila Prasad - Fixed error while setting input bands and moved static members to data members in Average class.
2011-04-15 Sharmila Prasad - Ported the class from "reduce" app to base object class.
2018-09-28 Kaitlyn Lee - Removed unnecessary lines of code that were causing build warnings on MacOS 10.13. Updated code up to standards. References #5520.
2016-08-01 Kristin Berry - Added the ability to extend the range of the initial root bracket in SetUndistortedFocalPlan if the initial range was too narrow. Also added RAs & DECs to the camera model.References #2400.
2016-02-24 Randy Kirk and Janet Barrett - Fixed an issue that caused the sensor model for LRO and Chandrayaan's MiniRF to not be able to calculate and report lat/lon in the LXB mode. References #2400.
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
2010-03-19 Debbie A. Cook - Added comments about the units and corrected slant in SetUndistortedFocalPlane to be in meters instead of km
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
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2009-07-01 Janet Barrett - Corrected the calculations used to convert from line to time and back
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2005-02-25 Elizabeth Ribelin - Added 3 static conversion methods: ToHours(), ToDMS(), and ToHMS()
2005-02-11 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-24 Jeff Anderson - Fixed bug in eccentricity computation
2004-02-23 Jeff Anderson - Added Eccentricity(), tCompute(), mCompute(), e4Compute(), and phi2Compute() methods
2003-11-04 Jeff Anderson - Added LocalRadius() 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-10-14 Jeff Anderson - Added Scale() and TrueScaleLatitude() methods
2003-09-26 Jeff Anderson - Remove virtual from operator!=
2003-09-26 Jeff Anderson - Added virtual Name, operator==, and operator!= methods
2003-09-26 Jeff Anderson - Added ToWorldX(), ToWorldY(), ToProjectionX(), ToProjectionY(), and Resolution() methods
2003-08-25 Jeff Anderson - Added LatitudeTypeString(), LongitudeDirectionString(), and LongitudeDomainString() methods
2003-05-30 Jeff Anderson - Updated unit test to fix error for optimization
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. 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 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.
2016-08-28 Kelvin Rodriguez - Removed several redundant var=var lines causing warnings in clang. Part of porting to OS X 10.11.
2013-05-09 Jeannie Backer - Added comments and documentation. References #775.
2016-02-29 Ian Humphrey - Added Resource class to ISIS. Added unit test, reviewed documentation and coding statndards compliance. Fixes #2406.
2015-09-27 Kris Becker - Refactored to store all Resource data (name, keywords, assets and geometry) in an explicity shared data structure. The status is maintained outside so that Resources can be created to share data, but the active status can be maintained in separate instances. This is quite handy for creating Assets.
2015-05-06 Kris Becker - Removed some methods that are currently not being called to improve code coverage
2015-04-09 Kris Becker - Add Idenitity keyword to Resource upon construction and when callers use setName().
2008-07-08 Steven Lambright - Now uses atexit for destruction
2008-01-09 Steven Lambright - Made Application a friend for destruction purposes
2005-12-28 Elizabeth Miller - Added try/catch block in Write() to catch an error that causes an abort
2017-08-09 Adam Goins - Modified code to be consistent with ISIS coding standards Fixes #3991.
2016-06-02 Ian Humphrey - Removed SpacecraftInstrumentId method prototypes Fixes #3967.
2012-07-12 Tracie Sucharski - Added new method Add, which takes a pre-composed serial number and a filename.
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.
2010-09-09 Sharmila Prasad - Added API to delete serial# off of the list given Serial #
2009-11-05 Jeannie Walldren - Modified number of maximum steps for Progress flag in Constructor
2009-10-20 Jeannie Walldren - Added Progress flag to Constructor
2008-10-30 Steven Lambright - Fixed problem with definition of struct Pair, pointed out by "novus0x2a" (Support Board Member)
2008-01-10 Christopher Austin - Adapted for the new ObservationNumber class.
2006-08-18 Brendan George - Modified to use Expanded FileName on input, allowing for filenames that use environment variables
2006-08-16 Brendan George - Added/fixed error checking in FileNameIndex() and SerialNumber(string filename).
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-06-15 Jeff Anderson - Added GetIndex method
2006-05-31 Tracie Sucharski - Added filename function that uses index instead of serial number.
2006-02-13 Stuart Sides - Added checks to make sure all the serial number items have the same target.
2006-02-10 Jacob Danton - Added SerialNumber function
2007-07-11 Stuart Sides - Fixed bug where the correct index was not returned.
2007-06-04 Tracie Sucharski - Expand filename to include full path before searching list.
2017-08-04 Kristin Berry - Removed checks for a 'CubeSupported' IsisPreferences Pvl Keyword. ISIS Cube DEMs are not supported by Embree and Bullet at this time.
2017-03-23 Kris Becker - Added support for Embree and Bullet models.
2017-06-08 Makayla Shepherd - Added a cube pointer deletion to fix a memory leak. Fixes #4890.
2017-05-19 Christopher Combs - Modified unitTest.cpp: added ReportError method to truncate paths before data directory. Allows test to pass when not using the default data area. Fixes #4738.
2015-03-08 - Jeannie Backer - Added implementation for NAIF DSK models. References #2035.
2014-01-14 - Jeannie Backer - Improved error message. Fixes #1957.
2017-03-23 Kris Becker - added isVisibleFrom() and two intersectSurface() methods to address real occlusions. It is recommended that derived models reimplement this method! Also made setSurfacePoint() & clearSurfacePoint() virtual to give some hope of a consistent internal state in derived models.
2017-05-19 Tyler Wilson - Removed the calculateEllipsoidalSurfaceNormal() function, as this is now being handled in the EllipsoidShape class. References #1028.
2016-06-13 Kelvin Rodriguez - Removed redundant contructor ShapeModel(Target, Pvl). Fixes #2214
2015-10-01 Jeannie Backer - Made improvements to documentation and brought code closer to ISIS coding standards. References #1438
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248
2012-12-21 Debbie A. Cook - Added new members m_hasEllipsoidIntersection and method hasEllipsoidIntersection(). Fixes Mantis ticket #1343
2012-11-14 Jeannie Backer - Removed cout lines left in while testing code. References #1181.
2012-10-31 Ken Edmundson - Added another SetNormal method and fixed original to set the m_hasNormal to true.
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.
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellisoid and the DEM
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2009-05-11 Janet Barrett - Fixed so that the NormModelAlgorithm supporting DEM input is the empty function. DEM input is not yet supported.
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class.
2010-11-30 Janet Barrett - Added ability to use the photometric angles from the ellipsoid or the DEM
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2009-07-09 Debbie A. Cook - Corrected documentation on Resolution() method
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-22 Steven Lambright - The DEM cube now uses a UniqueIOCachingAlgorithm(5). This will probably behave better in all cases. Fixes #364
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-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
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-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-02-08 Jeannie Walldren - Added method parameter documentation.
2011-01-26 Steven Lambright - The LocalRadius methods now return Distance objects and added a LocalRadius() method that uses the Latitude and Longitude classes.
2010-12-07 Steven Lambright - Added LocalRadius(lat,lon) and removed a sqrt from SetLookDirection()
2010-11-09 Eric Hyer - moved some private members to protected section for Camera
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.
2009-09-23 Tracie Sucharski - Convert negative longitudes returned by reclat in SetLookDirection().
2011-12-20 Tracie Sucharski - Added SpacecraftSurfaceVector method which returns the vector between the spacecraft and the surface point in body-fixed.
2009-06-30 Steven Lambright - Added IgnoreElevationModel() and fixed DemRadius()
2009-02-15 Debbie A. Cook - Added virtual Resolution() method
2009-02-06 Debbie A. Cook - Changed the tolerance back to 1e-6 (mm)
2009-02-06 Debbie A. Cook - Changed the tolerance from 1e-6 to 1e-12 for dist**2 (mm)
2008-08-06 Stuart Sides - Modified SetLookDirection() to better handle oblique views. In the past it would oscillate and run out of iterations.
2008-06-18 Debbie A. Cook - Made DemRadius radius public instead of private and added method HasElevationModel()
2008-05-21 Steven Lambright - CubeManager is now used to speed up DEM Cube I/O
2007-11-27 Debbie A. Cook - Added overloaded method SetUniversalGround(lat, lon, radius)
2007-08-24 Debbie A. Cook - Replaced references to m_sB since it was removed from Spice
2007-06-11 Debbie A. Cook - Added alternative method that includes radius
2007-05-18 Jeff Anderson - Modify SpacecraftAltitude() method to use DEM
2006-10-12 Jeff Anderson - Modified the SetLookDirection() method to use the DEM (if available) when computing a ground point
2009-11-05 Jeannie Walldren - Modified number of maximum steps for Progress flag
2009-10-20 Jeannie Walldren - Added Progress flag
2020-03-03 Kristin Berry - Updated to use translation files moved into source. References #3727.
2008-05-18 Steven Lambright Fixed documentation
2008-05-09 Steven Lambright Optimized the FindSerialTranslation method
2008-01-10 Christpher Austin Removed the use of the system default file in FindSerialTranslation() and detached ObservationNumber functionality into its own class
2007-09-13 Steven Koechle Fixed boolean paramaters passed into FindSerialTranslation
2007-09-11 Steven Koechle Added three ComposeObservation methods and made code reusable by seperating existing code into two private methods.
2007-07-09 Steven Lambright Changed missions translation filename from Missions.trn to MissionName2DataDir.trn
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.
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.
2005-08-02 Jeff Anderson added new static methods for serial number composition from a cube or filename
2021-02-17 Kristin Berry, Jesse Mapel, and Stuart Sides - Made several functions virtual and moved look vector member variable to protected. Ensured that m_newLookB always initializes to the same value.
2017-03-23 Kris Becker - Added support for occlusion checks. Modified SetLocalGround(bool backCheck) to make a callback to the ShapeModel::isOccludedFrom() to test for point visability.
2015-10-01 Jeannie Backer - Made improvements to documentation and brought code closer to ISIS coding standards. References #1438
2015-08-11 Ian Humphrey and Makayla Shepherd - Added pure virtual methods to return the long and short spacecraft and instrument names.
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.
2012-10-25 Jeannie Backer - Changed resolution() method to lower camel case. References #1181.
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-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-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
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.
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.
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.
2008-09-30 Christopher Austin - added FormatEOL()
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.
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.
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.
2010-12-09 Steven Lambright - Values ending in '-' no longer fail to be quoted properly
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.
2009-12-17 Steven Lambright - {} are now treated the same as ()
2016-02-28 Jeannie Backer - Changed readKeyListFile() to read the keylist in as an Isis::TextFile. References #2262
2016-02-28 Jeannie Backer - Moved from isisminer app to base class area. Brought closer to ISIS coding standards. Improved documentation. Created unit test. Fixes #2399
2015-03-20 Ian Humphrey - Updated documentation. Modified loadGroups() and added loadGroup() method to correctly load PvlGroups against PvlConstraints.
2015-03-18 Jeannie Backer - Brought class files closer to ISIS coding standards.
2016-02-24 Jeannie Backer - Added unit test. Updated documentation. Fixes #2399
2015-03-20 Ian Humphrey - Updated documentation. Added loadContainer method as helper method to loadContainers to make exluding groups function correctly.
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 - Cleaned up code and fixed bugs arising from moving this class from Qisis and to Isis. Added moc commands to Makefile.
2008-12-10 Jeannie Walldren - Changed namespace from Qisis to Isis
2007-08-20 Brendan George - Added checking to ensure Keyword Name contains no whitespace.
2010-09-27 Sharmila Prasad - API to Validate a Keyword for type and values.
2010-06-25 Steven Lambright - NULLs ('\0') now count as binary.
2010-04-13 Eric Hyer - Added copy constructor. Added assignment operator.
2010-02-04 Travis Addair - Moved the SetCharLimit method to PvlFormat class.
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.
2009-12-07 Steven Lambright - Added stream input operator for reading.
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-08-18 Eric Hyer - Added both SetUnits methods and ASSERT macro.
2008-09-30 Christopher Austin - replaced all std::endl in the << operator as well as writeWithWrap() with PvlFormat.FormatEOL(), and formatted wraps accordingly.
2008-07-10 Steven Lambright - stringEqual is now static, all AddComments methods are public.
2008-07-03 Steven Lambright - Added const functionality.
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.
2006-09-05 Stuart Sides - Added ability to format keywords in different ways using the PvlFormat class.
2006-04-05 Elizabeth Miller - Added AddCommentWrapped() method.
2005-05-18 Jeff Anderson - Fixed minor problems with wrapping code.
2005-04-08 Leah Dahmer - Added the writeWithWrap() method so keyword values will now be wrapped when the length exceeds 80 characters.
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.
2010-09-27 Sharmila Prasad - Added API to Validate a PVLGroup
2010-04-13 Eric Hyer - Added copy constructor Added assignment operator
2008-09-30 Christopher Austin Replaced all std::endl in the << operator with PvlFormat.FormatEOL()
2008-07-02 Steven Lambright Updated to compensate for PvlKeyword no longer being a parent
2008-07-02 Steven Lambright Added const functionality and fixed +=
2004-02-11 Jeff Anderson - Implemented GetUnits method and added AddKeyword method with a NULL value
2010-04-13 Eric Hyer - Added copy constructor
2009-12-17 Steven Lambright - Rewrote read (istream operator)
2008-10-02 Christopher Austin - Replaced all std::endl in the << operator, Write() and Append() with PvlFormat.FormatEOL()
2008-07-10 Steven Lambright - Changed StringEqual to use PvlKeyword::StringEqual
2008-02-27 Stuart Sides - Fixed memory leak in output operator
2007-04-13 Stuart Sides - Added new test for long strings
2006-08-30 Stuart Sides & Brendan George - Added ability to output in PDS format.
2006-04-21 Jacob Danton Added format templates abilities.
2005-03-07 Leah Dahmer - Added missing documentation to class.
2005-02-23 Elizabeth Ribelin - Fixed unitTest
2005-02-14 Elizabeth Ribelin - Modified file to support Doxygen documentation
2004-02-20 Jeff Anderson - Fixed a bug in the Merge method that was unwinding the container pointer too far.
2010-06-25 Steven Lambright - Quicker to give up counting line numbers on error
2004-02-10 Jeff Anderson - Modified parse and write methods to properly handle a single unit on vectors
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-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
2003-12-01 Stuart Sides - Added new occurrence parameter to UseGroup. And added new member GroupOccurrences.
2003-11-06 Jeff Anderson - Added Merge method
2003-11-06 Jeff Anderson - Modify WriteContainer method to put a space between the value and unit of keywords.
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-10-22 Stuart Sides - Added new method Insert.
2003-10-15 Jeff Anderson - Modified write method to place quotes around null parameters (e.g. "")
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-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-08-18 Stuart Sides - Modified so labels with repeated objects, groups and keywords could be read in.
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.
2008-12-15 Jeannie Walldren - Removed unneccesary error catch.
2015-05-15 J Bonn - fixed usage of iterator that had been deleted.
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.
2010-10-18 Sharmila Prasad - Added more options for the keyword validation
2010-09-27 Sharmila Prasad - Validate all the Keywords in a Container and verify the 'Repeat' Option also
2010-04-13 Eric Hyer - Added Copy constructor
2010-01-06 Christopher Austin - Added CleanDuplicateKeywords()
2009-06-01 Kris Becker - Added a new AddKeyword method that provides insert capabilities at iterator positions.
2008-09-30 Christopher Austin Replaced all std::endl in the << operator with PvlFormat.FormatEOL()
2008-07-10 Steven Lambright PvlContainer is no longer a PvlKeyword, but rather has a set of pvl keywords
2008-07-02 Steven Lambright Added const functionality
2006-09-11 Stuart Sides Added formatting ability
2006-05-17 Jacob Danton Added DeleteKeyword by index method
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.
2010-09-27 Sharmila Prasad - Validate a Pvl with the Template Pvl
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.
2015-07-21 Kristin Berry - Added NaifStatus::CheckErrors() to see if any NAIF errors were signaled. References #2248.
2015-02-12 Jeffrey Covington - Added compression parameter to write() method. Fixes #1745.
2013-06-05 Jeannie Backer - Added initialize() method and replaced call to setInput(). Changed ImageExporter calls to new method names, where needed. References #1380.
2018-04-16 Jeannie Backer - Updated documentation and improved coding standards/style.
2017-11-04 Jeannie Backer - Modified Translation input value to make a case insensitive comparison.
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.
2008-07-10 Steven Lambright - Made trnsTbl member into a non-pointer
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.
2007-06-22 Stuart Sides - Added instance parameter to InputGroup member.
2006-08-09 Brendan George - Added IsOptional function as part of support for Optional keyword translations
2005-09-08 Stuart Sides - Modified Translate member to handle translating any input value i.e., "*" to a specific output value (Thanks Kris Becker).
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation.
2003-09-03 Stuart Sides - Modified to work with new isis label format.
2017-10-31 Jeannie Backer - Moved creation of sibling elements in doTranslation() so that this only happens if the translation is succesful.
2017-10-18 Jeannie Backer & Makayla Shepherd - Added convenience methods, addElement and resetElementValue, and made setElementValue static. See #5202.
2017-06-02 Makayla Shepherd - Made setElementValue public.
2017-05-31 Ian Humphrey & Makayla Shepherd - Fixed duplicate root xml element in output xml file.
2017-05-31 Adam Paquette - Added addAttributes method.
2017-05-30 Makayla Shepherd - Renamed p_fLabel to m_inputLabel, and updated documentation.
2017-05-26 Makayla Shepherd & Adam Paquette - Added addSiblings and setElementValue.
2017-05-26 Ian Humphrey & Makayla Shepherd - Added createParentElements.
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.
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
2012-07-06 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-04-11 Janet Barrett - Removed call to SetLookDirection from the SetGround method.
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-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-01-04 Janet Barrett - Added check for valid radius in the SetGround method.
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.
2010-12-17 Debbie A. Cook - Corrected units to kilometers in GetXY
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-08-05 Debbie A. Cook - changed to use Surface point class
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.
2009-11-10 Janet Barrett - Added iteration check to SetFocalPlane to take care of situation where DEM radius does not converge
2009-10-30 Debbie A. Cook - Fixed rotation of velocity vector in SetFocalPlane, SetGround, and ComputeXv
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
2015-09-01 Ian Humphrey and Makayla Shepherd - Modified unit test to override Sensor's pure virtual methods.
2011-05-03 Jeannie Walldren - Added documentation and Isis Disclaimer to files.
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation
2003-08-27 Jeff Anderson - Modified variance method to divide by (n-1)*n instead of n*n
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2003-02-14 Jeff Anderson - Changed unfolding technique to use symmetry as opposed to mirroring (i.e., 32123 not 21123)
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
2005-02-14 Elizabeth Ribelin - Modified file to support Doxygen
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...
2016-08-24 Kelvin Rodriguez - Unit test properly converts indices to strings inside loops when appending to strings. Silences -Wstring-plus-int warnings on Clang. Part of porting to OS X 10.11
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.
2010-09-27 Sharmila Prasad - Validate an Object comparing with the corresponding Template Object
2010-04-13 Eric Hyer - Added copy constructor Added assignment operator
2009-12-28 Steven Lambright Implemented const FindObject
2009-12-17 Steven Lambright Added reading methods
2009-10-28 Travis Addair Fixed bug causing a format template's object comments to not appear in the output
2008-09-30 Christopher Austin Replaced all std::endl in the << operator with PvlFormat.FormatEOL()
2008-07-10 Steven Lambright Compensated for PvlKeyword no longer being a parent
2008-06-18 Steven Lambright Fixed documentation
2007-08-14 Steven Koechle Fixed missing pointers in FindKeyword and HasKeyword
2007-08-11 Stuart Sides Added recursive FindKeyword and HasKeyword
2006-09-11 Stuart Sides Added formatting ability
2006-05-18 Jacob Danton Added DeleteGroup by index
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.
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.
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.
2011-07-07 Sharmila Prasad - While validating keyword, display appropriate error msg when converting string to integer which has a double value.
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 *.
2005-02-15 Elizabeth Ribelin - Modified file to support Doxygen documentation.
2018-04-16 Jeannie Backer - Fixed indentation of history comments and brought code closer to coding standards.
2018-01-10 Christopher Combs - Changed ProcessDataFilePointer call to reflect changes made to voy2isis. Fixes #4345, #4421.
2017-06-13 Adam Paquette - Changed PvlTranslationManager file name to PvlToPvlTranslationManager. Fixes #4901.
2017-01-11 Jeannie Backer - Moved several methods to a generic parent class, LabelTranslationManager. Fixes #4584.
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.
2008-07-10 Steven Lambright - Changed to use new accessors.
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-05-09 Steven Lambright - Added ability to change input label without re-reading the translation file.
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.
2006-11-16 Brendan George - Changed instances of "Foreign" to "Input" and "Native" to "Output".
2006-10-01 Stuart Sides - Fixed bug with Optional keyword. Non-optional keywords were being reported instantly.
2006-08-09 Brendan George - Modified to support Optional keyword translation.
2003-09-25 Stuart Sides - Added the Translate member.
2003-09-03 Stuart Sides - Modified to work with new isis label format.
2010-01-08 Eric Hyer - PvlTokenizer.cpp used EOF without including fstream, breaking this class on recent compilers (I added #include <fstream>).
2009-03-13 Steven Lambright - Inline comments now correctly correlate to the keywords before them on the same line.
2007-04-13 Stuart Sides - Fixed bug where quoted strings broken over more than two lines were not being read correctly.
2006-05-31 Elizabeth Miller - Fixed bug in Load method when a keyword is loaded without a value
2005-02-18 Elizabeth Ribelin - Modified file to support Doxygen documentation
2005-02-16 Jeff Anderson - Modified parsing of comma separated lists to not remove parens or squiggly brackets.
2004-01-22 Jeff Anderson - Removed single quotes when the occur as delimeters inside of array keywords.
2003-10-28 Jeff Anderson - Fixed bug in order to allow for whitespace inside of arrays of strings
2003-05-28 Stuart Sides - Modified so single quotes work the same as double quotes
2003-05-16 Stuart Sides - Modified schema from astrogeology... isis.astrogeology...