Loading isis/src/control/objs/BundleUtilities/BundleObservationVector.cpp +23 −17 Original line number Diff line number Diff line Loading @@ -2,7 +2,9 @@ #include <QDebug> #include "BundlePolynomialContinuityConstraint.h" #include "BundleObservation.h" #include "Camera.h" #include "IException.h" namespace Isis { Loading Loading @@ -141,7 +143,7 @@ namespace Isis { append(bundleObservation); // initialize exterior orientation (spice) for all BundleImages in BundleObservation // bundleObservation->initializeExteriorOrientation(); bundleObservation->initializeExteriorOrientation(); // update observation number to observation ptr map m_observationNumberToObservationMap.insertMulti(observationNumber, bundleObservation); Loading @@ -150,6 +152,26 @@ namespace Isis { m_imageSerialToObservationMap.insertMulti(bundleImage->serialNumber(), bundleObservation); } // set body rotation if solving for target body parameters if (bundleSettings->solveTargetBody()) { std::vector<Angle> raCoefs = bundleSettings->bundleTargetBody()->poleRaCoefs(); std::vector<Angle> decCoefs = bundleSettings->bundleTargetBody()->poleDecCoefs(); std::vector<Angle> pmCoefs = bundleSettings->bundleTargetBody()->pmCoefs(); bundleImage->camera()->bodyRotation()->setPckPolynomial(raCoefs, decCoefs, pmCoefs); } // initialize piecewise polynomial continuity constraints for time-dependent sensors if // necessary if (bundleObservation->numberPolynomialPositionSegments() > 1 || bundleObservation->numberPolynomialPointingSegments() > 1) { BundlePolynomialContinuityConstraintQsp polyConstraint = BundlePolynomialContinuityConstraintQsp( new BundlePolynomialContinuityConstraint(bundleObservation)); bundleObservation->setContinuityConstraints(polyConstraint); } return bundleObservation; } Loading Loading @@ -293,22 +315,6 @@ namespace Isis { } /** * Initializes the body rotations for the contained BundleObservations. * * @return bool Returns true upon successful initialization */ bool BundleObservationVector::setBodyRotation() { int nObservations = size(); for (int i = 0; i < nObservations; i++) { BundleObservationQsp observation = at(i); observation->setBodyRotation(); } return true; } /** * Compute vtpv, the weighted sum of squares of constrained image parameter residuals. * Loading isis/src/control/objs/BundleUtilities/BundleObservationVector.h +1 −1 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ namespace Isis { * int numberPolynomialPointingSegments() * int numberPolynomialSegments() * @history 2018-02-12 Ken Edmundson Renamed initializeBodyRotation method to setBodyRotation. * @history 2018-11-29 Ken Edmundson Modified addNew method. Removed setBodyRotation method. */ class BundleObservationVector : public QVector<BundleObservationQsp> { Loading Loading @@ -100,7 +101,6 @@ namespace Isis { BundleObservationQsp observationByCubeSerialNumber(QString cubeSerialNumber); bool initializeExteriorOrientation(); bool setBodyRotation(); double vtpvContribution(); Loading Loading
isis/src/control/objs/BundleUtilities/BundleObservationVector.cpp +23 −17 Original line number Diff line number Diff line Loading @@ -2,7 +2,9 @@ #include <QDebug> #include "BundlePolynomialContinuityConstraint.h" #include "BundleObservation.h" #include "Camera.h" #include "IException.h" namespace Isis { Loading Loading @@ -141,7 +143,7 @@ namespace Isis { append(bundleObservation); // initialize exterior orientation (spice) for all BundleImages in BundleObservation // bundleObservation->initializeExteriorOrientation(); bundleObservation->initializeExteriorOrientation(); // update observation number to observation ptr map m_observationNumberToObservationMap.insertMulti(observationNumber, bundleObservation); Loading @@ -150,6 +152,26 @@ namespace Isis { m_imageSerialToObservationMap.insertMulti(bundleImage->serialNumber(), bundleObservation); } // set body rotation if solving for target body parameters if (bundleSettings->solveTargetBody()) { std::vector<Angle> raCoefs = bundleSettings->bundleTargetBody()->poleRaCoefs(); std::vector<Angle> decCoefs = bundleSettings->bundleTargetBody()->poleDecCoefs(); std::vector<Angle> pmCoefs = bundleSettings->bundleTargetBody()->pmCoefs(); bundleImage->camera()->bodyRotation()->setPckPolynomial(raCoefs, decCoefs, pmCoefs); } // initialize piecewise polynomial continuity constraints for time-dependent sensors if // necessary if (bundleObservation->numberPolynomialPositionSegments() > 1 || bundleObservation->numberPolynomialPointingSegments() > 1) { BundlePolynomialContinuityConstraintQsp polyConstraint = BundlePolynomialContinuityConstraintQsp( new BundlePolynomialContinuityConstraint(bundleObservation)); bundleObservation->setContinuityConstraints(polyConstraint); } return bundleObservation; } Loading Loading @@ -293,22 +315,6 @@ namespace Isis { } /** * Initializes the body rotations for the contained BundleObservations. * * @return bool Returns true upon successful initialization */ bool BundleObservationVector::setBodyRotation() { int nObservations = size(); for (int i = 0; i < nObservations; i++) { BundleObservationQsp observation = at(i); observation->setBodyRotation(); } return true; } /** * Compute vtpv, the weighted sum of squares of constrained image parameter residuals. * Loading
isis/src/control/objs/BundleUtilities/BundleObservationVector.h +1 −1 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ namespace Isis { * int numberPolynomialPointingSegments() * int numberPolynomialSegments() * @history 2018-02-12 Ken Edmundson Renamed initializeBodyRotation method to setBodyRotation. * @history 2018-11-29 Ken Edmundson Modified addNew method. Removed setBodyRotation method. */ class BundleObservationVector : public QVector<BundleObservationQsp> { Loading Loading @@ -100,7 +101,6 @@ namespace Isis { BundleObservationQsp observationByCubeSerialNumber(QString cubeSerialNumber); bool initializeExteriorOrientation(); bool setBodyRotation(); double vtpvContribution(); Loading