-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds the ability to bundle adjust CSM images #4537
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Updates for linking and compiling * Starting virtual functions
* Add virtuals to AbstractBundleObservation and get compiling again * Remove function from parent * Get existing jigsaw tests passing * Remove unneeded functions from BundleObservation * Clean up a bit more * Clean up BundleObservation and AbstractBundleObservation more * Remove unneeded BodyRotation * Add target body solve back into bundle adjusment calc * Remove debug output * Removed unneeded memeber variables BundleObservation Co-authored-by: Kristin Berry <kberry@gyro.wr.usgs.gov>
* Now compiling * Updated CSMCamera tests and docs
…bservation and add Csm camera type to Camera enum
* Creates Serial Numbers using CSM label information * Updated second SerialNumberList:add function to accommodate CSM label
* In progress * Added tests and Pvl support * Add missing 'y' to docs Co-authored-by: Kristin Berry <kberry@usgs.gov>
* Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Imagecoeff migrated into BundleObservation class working * Get base level working for all coeffs in ISIS * Fix accidental move into if statement to get tests passing again * Updated RHS for CsmBundleObservation to work * Adds point3D support to CSM Camera observations and also adds ground Partials member function to CSMCamera * Draft of sensor partials code * Add docs, some fixes based on review requests * move computation of weights and observation values to bundle observations * Add observationvalue function to CsmBundleObservation and move the weighting that it is possible to to the observation classes * Make CSMSolveSet an optional parameter to get jigsaw tests passing again * cleanup * Move observation weights into MLE if block Co-authored-by: Kristin Berry <kberry@gyro.wr.usgs.gov>
* Added test for CSM bundleOutputString * Passing unit test and updates to bundleOutputString * Addressed PR feedback
* CSM CSV output * Small test clean-up * typo fix * obs header fix * Remove param list from bo * Added debug output * Now reurning * Fixed unit test * xml save test update * Clean up bundleresults unit test output * Fixed qfile member * Fixed old path * Changed header to use param names * Making separate csvs * Added reverse on obs by instId * Trying to fix multiple sensors * Fixed images header * More debug * removed debug outs * Added terrible imageindex search * Added held config fix * Updated for observation test * Updated jigsaw test makefiles * Updated with new tests
* Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Imagecoeff migrated into BundleObservation class working * Get base level working for all coeffs in ISIS * Fix accidental move into if statement to get tests passing again * Updated RHS for CsmBundleObservation to work * Adds point3D support to CSM Camera observations and also adds ground Partials member function to CSMCamera * Draft of sensor partials code * Add docs, some fixes based on review requests * move computation of weights and observation values to bundle observations * Add observationvalue function to CsmBundleObservation and move the weighting that it is possible to to the observation classes * Make CSMSolveSet an optional parameter to get jigsaw tests passing again * cleanup * Move observation weights into MLE if block * Added isis vs. csm support to Bundle Observation Vector class to allow jigsaw to proceed past the setup stage for csm networks * Comment cleanup * Fix failing unit tests * Add docs * Updated based on feedback with potentially temporary fix to get unit tests passing * Update tests a bit * Aligned signature definitions and cleaned up * remove unneeded functions * More comment cleanup Co-authored-by: Kristin Berry <kberry@gyro.wr.usgs.gov>
* Converted jigsaw scconfig tests. * Added jigsaw radar test * Updated tests to reflect PR #4446 changes & removed makefile tests * Updates to scconfig tests
* Added cam type checks * checking csm partials * Debug partials * debug corrections * Fixed index * Scaled ground partials * Updated param comparison * Removed debug out
* Update csm bundlout to have correct spacing for paramter names * Reverted unintential change Co-authored-by: Kristin Berry <kberry@gyro.wr.usgs.gov>
* Add latitudinal partials for CSM * Added test Co-authored-by: Jesse Mapel <jmapel@usgs.gov>
* Added cms index list error * Added CSMCameraTests for partials * Observation clean-up * Cleaned up vector
* rename BundleObservation classes * omit changes to sip wrappers
* Updated to get new isd/state form to test jigsaw parsing * Add functional image-to-ground, ground-to-image, and isd-parsing to TestCsmModel * Remove temporary csminit test changes * Updated variable name for clarity
…ng (#4526) * remove sip wrappers * remove deprecated formatBundleOutputString * remove more sip code and formatBundleOutputString
* Removed debug couts * Added csmnetwork test fixture * Added a test for CSM test network * Adjusted trig functions + added deg/rad conversions * Initial CSMNetwork data * Uncommented code * Removed network path and control network from CSMNetwork fixture * Removed temporary path from csv comparison * Adjusted spacing + responded to PR feedback Co-authored-by: Austin Sanders <arsanders@ugs.gov>
* Added the ability to update CSM model state in jigsaw * Added missing function docs * Updated CSM jigsaw test to check apply * Wrangled up an F
kaitlyndlee
reviewed
Jun 28, 2021
isis/src/control/objs/BundleUtilities/BundleObservationVector.cpp
Outdated
Show resolved
Hide resolved
kaitlyndlee
reviewed
Jun 28, 2021
isis/src/control/objs/CsmBundleObservation/CsmBundleObservation.cpp
Outdated
Show resolved
Hide resolved
kaitlyndlee
reviewed
Jun 28, 2021
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just those two typos, otherwise looks good!
@kaitlyndlee Fixed the typos |
kaitlyndlee
approved these changes
Jun 28, 2021
This was referenced Dec 14, 2021
13 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR merges in the csmbundle feature branch which adds the ability to bundle adjust CSM images (images that have gone through csminit and use a CSM camera model). This is primarily a change to jigsaw application and the Bundle* classes. These changes ARE API BREAKING as we have had to modify the API of several classes, primarily the BundleObservation class.
Due to the more variable nature of CSM model parameters, this also changes how jigsaw's images.csv is output. Each different sensor has its own images.csv file. So if you bundle adjust some LRO NAC pairs and Apollo Metric images, you would get 3 images.csv files:
This allows for use to actually have true headers in the images.csv as opposed to the mangled headers we get currently when doing per-sensor solves with jigsaw's scconfig option.
This PR also handles a number of other jigsaw related things:
We also checked several control network generation and editing applications for compatibility with CSM. We did not encounter issues with any of the following applications:
Related Issue
Fixes #4410
Motivation and Context
This is a major improvement in CSM functionality in ISIS. Now, users can perform bundle adjustments in ISIS and then export the updated CSM state strings to other SETs for further processing.
How Has This Been Tested?
We hand tested everything with a demo CTX network using USGSCSM. All new functions are fully unitTested using a new Mock CSM fixture and jigsaw has had a CSM specific test that bundle adjusts a fully synthetic data set.
Screenshots (if appropriate):
Types of changes
Checklist:
Licensing
This project is mostly composed of free and unencumbered software released into the public domain, and we are unlikely to accept contributions that are not also released into the public domain. Somewhere near the top of each file should have these words: