Isis Developer Reference
JigsawSetupDialog.h
Go to the documentation of this file.
1 #ifndef JigsawSetupDialog_h
2 #define JigsawSetupDialog_h
3 
4 #include <QDialog>
5 
6 #include "BundleSettings.h"
7 
8 namespace Ui {
9  class JigsawSetupDialog;
10 }
11 
12 class QComboBox;
13 class QItemSelection;
14 class QTableWidget;
15 class QTableWidgetItem;
16 
17 namespace Isis {
19  class Project;
20  class ProjectItem;
21  class Control;
22 
97  class JigsawSetupDialog : public QDialog {
98  Q_OBJECT
99 
100  public:
101 // explicit JigsawSetupDialog(Project* project, QWidget *parent = 0);
102  explicit JigsawSetupDialog(Project* project,
103  bool useLastSettings = true,
104  bool readOnly = false,
105  QWidget *parent = 0);
107 
108  Control *selectedControl(); // TODO: return const references ???
109  QString selectedControlName(); // TODO: return const references ???
110  QString outputControlName(); // TODO: return const references ???
111  BundleSettingsQsp bundleSettings(); // TODO: return const references ???
112 
113  void loadSettings(const BundleSettingsQsp settings);
114  void selectControl(const QString &controlName);
115 
116  private slots:
117 
118  void on_pointRadiusSigmaCheckBox_toggled(bool checked);
119  //void on_projectItemSelectionChanged(const QList<ProjectItem *> selectedItems);
120  //void on_outlierRejectionCheckBox_toggled(bool checked);
121 
122  // general tab
123  // void on_positionComboBox_currentIndexChanged(int index);
124  // void on_pointingComboBox_currentIndexChanged(int index);
125  void on_inputControlNetCombo_currentTextChanged(const QString &arg1);
126 
127  // general tab - line edit validators
128  void on_pointLatitudeSigmaLineEdit_textChanged(const QString &arg1);
129  void on_pointLongitudeSigmaLineEdit_textChanged(const QString &arg1);
130  void on_pointRadiusSigmaLineEdit_textChanged(const QString &arg1);
131 
132  void on_outlierRejectionMultiplierLineEdit_textChanged(const QString &arg1);
133  void on_maximumLikelihoodModel1QuantileLineEdit_textChanged(const QString &arg1);
134  void on_maximumLikelihoodModel2QuantileLineEdit_textChanged(const QString &arg1);
135  void on_maximumLikelihoodModel3QuantileLineEdit_textChanged(const QString &arg1);
136 
137  void on_sigma0ThresholdLineEdit_textChanged(const QString &arg1);
138  void on_maximumIterationsLineEdit_textChanged(const QString &arg1);
139 
140  // general tab - outlier rejection exclusivity lock/unlocks
141  void on_maximumLikelihoodModel1ComboBox_currentIndexChanged(int index);
142  void on_maximumLikelihoodModel2ComboBox_currentIndexChanged(int index);
143  void on_maximumLikelihoodModel3ComboBox_currentIndexChanged(int index);
144  void on_outlierRejectionCheckBox_stateChanged(int arg1);
145 
146  // target body tab
147  void on_poleRaCheckBox_stateChanged(int arg1);
148  void on_poleRaVelocityCheckBox_stateChanged(int arg1);
149  void on_poleDecCheckBox_stateChanged(int arg1);
150  void on_poleDecVelocityCheckBox_stateChanged(int arg1);
151  void on_spinRateCheckBox_stateChanged(int arg1);
152  void on_primeMeridianOffsetCheckBox_stateChanged(int arg1);
153  void on_radiiButtonGroupClicked(int arg1);
154  void on_aRadiusLineEdit_textChanged(const QString &arg1);
155  void on_targetBodyComboBox_currentIndexChanged(int index);
156  void on_spkSolveDegreeSpinBox_valueChanged(int arg1);
157  void on_ckSolveDegreeSpinBox_valueChanged(int arg1);
158  void on_rightAscensionLineEdit_textChanged(const QString &arg1);
159  void on_declinationLineEdit_textChanged(const QString &arg1);
160  void on_rightAscensionVelocityLineEdit_textChanged(const QString &arg1);
161  void on_declinationVelocityLineEdit_textChanged(const QString &arg1);
162  void on_spinRateLineEdit_textChanged(const QString &arg1);
163  void on_primeMeridianOffsetLineEdit_textChanged(const QString &arg1);
164 
165  void on_applySettingsPushButton_clicked();
166 
167  void on_positionComboBox_currentIndexChanged(const QString &arg1);
168  void on_pointingComboBox_currentIndexChanged(const QString &arg1);
169 
170  void updateSolveSettingsSigmaTables(const QComboBox *solveOptionComboBox,
171  QTableWidget *table);
172  void validateSigmaValue(QTableWidgetItem *);
173  void validateSigmaTables();
174 
175 
176  public slots:
177  void slotTextChanged(const QString &text);
178  void checkIsValid();
179  void treeViewSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
180 
181 
182 
183  private:
184  void makeReadOnly();
185  void fillFromSettings(const BundleSettingsQsp settings);
186  void showTargetParametersGroupBox();
187  void hideTargetParametersGroupBox();
188  void updateBundleObservationSolveSettings(BundleObservationSolveSettings &boss);
189 
190  void createObservationSolveSettingsTreeView();
191 
192  private:
193  Ui::JigsawSetupDialog *m_ui;
194  Project *m_project;
195  BundleSettingsQsp m_bundleSettings;
196  };
197 };
198 #endif // JigsawSetupDialog_h
Isis::ProjectItemModel
Provides access to data stored in a Project through Qt's model-view framework.
Definition: ProjectItemModel.h:132
Isis::BundleTargetBody::TriaxialRadiusC
@ TriaxialRadiusC
Definition: BundleTargetBody.h:82
Isis::Angle::Degrees
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
Isis::BundleTargetBody::TriaxialRadiusA
@ TriaxialRadiusA
Definition: BundleTargetBody.h:80
BundleObservationSolveSettings.h
Isis::BundleTargetBody::PoleDec
@ PoleDec
Definition: BundleTargetBody.h:74
ProjectItem.h
Isis::SpiceRotation::BPC
@ BPC
Isis specific code for binary pck.
Definition: SpiceRotation.h:283
Isis::JigsawSetupDialog::loadSettings
void loadSettings(const BundleSettingsQsp settings)
Loads the passed bundle settings into the setup dialog.
Definition: JigsawSetupDialog.cpp:691
QWidget
Isis::BundleObservationSolveSettings::instrumentPositionSolveOption
InstrumentPositionSolveOption instrumentPositionSolveOption() const
Accesses the instrument position solve option.
Definition: BundleObservationSolveSettings.cpp:1133
Isis::BundleObservationSolveSettings::spkDegree
int spkDegree() const
Accesses the degree of the polynomial fit to the original camera position (spkDegree).
Definition: BundleObservationSolveSettings.cpp:1143
Cube.h
Isis::JigsawSetupDialog::selectControl
void selectControl(const QString &controlName)
Selects a control in the control network combo box by trying to find an item with the matching name.
Definition: JigsawSetupDialog.cpp:705
MaximumLikelihoodWFunctions.h
Isis::SortFilterProxyModel::setSelectedItems
void setSelectedItems(QList< ProjectItem * > selected)
Definition: SortFilterProxyModel.cpp:22
Isis::BundleObservationSolveSettings::aprioriPointingSigmas
QList< double > aprioriPointingSigmas() const
Accesses the a priori pointing sigmas.
Definition: BundleObservationSolveSettings.cpp:945
QList< Image * >
Project.h
SortFilterProxyModel.h
Isis::Directory::model
ProjectItemModel * model()
Gets the ProjectItemModel for this directory.
Definition: Directory.cpp:1091
Isis::ProjectItem::image
Image * image() const
Returns the Image stored in the data of the item.
Definition: ProjectItem.cpp:476
Isis::FileName::name
QString name() const
Returns the name of the file excluding the path and the attributes in the file name.
Definition: FileName.cpp:162
Isis::ProjectItemModel::selectedBOSSImages
QList< ProjectItem * > selectedBOSSImages()
ProjectItemModel::selectedBOSSImages.
Definition: ProjectItemModel.cpp:177
SpecialPixel.h
Isis::FileName
File name manipulation and expansion.
Definition: FileName.h:100
Isis::JigsawSetupDialog::JigsawSetupDialog
JigsawSetupDialog(Project *project, bool useLastSettings=true, bool readOnly=false, QWidget *parent=0)
Definition: JigsawSetupDialog.cpp:32
Isis::Camera::GetCameraType
virtual CameraType GetCameraType() const =0
Returns the type of camera that was created.
Isis::ControlList
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
Definition: ControlList.h:44
Isis::IsNullPixel
bool IsNullPixel(const double d)
Returns if the input pixel is null.
Definition: SpecialPixel.h:235
BundleSettings.h
Isis::BundleTargetBody::TriaxialRadiusB
@ TriaxialRadiusB
Definition: BundleTargetBody.h:81
JigsawSetupDialog.h
Isis::JigsawSetupDialog
Definition: JigsawSetupDialog.h:97
Isis::JigsawSetupDialog::~JigsawSetupDialog
~JigsawSetupDialog()
Definition: JigsawSetupDialog.cpp:310
Isis::ProjectItem::child
ProjectItem * child(int row) const
Returns the child item at a given row.
Definition: ProjectItem.cpp:1179
Isis::BundleObservationSolveSettings::ckDegree
int ckDegree() const
Accesses the degree of polynomial fit to original camera angles (ckDegree).
Definition: BundleObservationSolveSettings.cpp:903
Isis::BundleObservationSolveSettings::setInstrumentId
void setInstrumentId(QString instrumentId)
Sets the instrument id for this observation.
Definition: BundleObservationSolveSettings.cpp:407
Image.h
Isis::Control
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:66
BundleTargetBody.h
QSharedPointer< TargetBody >
Isis::JigsawSetupDialog::selectedControl
Control * selectedControl()
Definition: JigsawSetupDialog.cpp:725
Isis::BundleObservationSolveSettings::addObservationNumber
void addObservationNumber(QString observationNumber)
Associates an observation number with these solve settings.
Definition: BundleObservationSolveSettings.cpp:429
Isis::ProjectItemModel::itemFromIndex
ProjectItem * itemFromIndex(const QModelIndex &index)
Returns the ProjectItem corresponding to a given QModelIndex.
Definition: ProjectItemModel.cpp:401
QStringList
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Isis::BundleTargetBody::VelocityPM
@ VelocityPM
Definition: BundleTargetBody.h:78
Isis::BundleTargetBody::TargetRadiiSolveMethod
TargetRadiiSolveMethod
Enumeration that defines how to solve for target radii.
Definition: BundleTargetBody.h:64
IString.h
QComboBox
Isis::Distance
Distance measurement, usually in meters.
Definition: Distance.h:34
Isis::Project
The main project for ipce.
Definition: Project.h:289
Isis::BundleSettings::Sigma0
@ Sigma0
The value of sigma0 will be used to determine that the bundle adjustment has converged.
Definition: BundleSettings.h:198
Isis::Project::directory
Directory * directory() const
Returns the directory associated with this Project.
Definition: Project.cpp:1229
ProjectItemProxyModel.h
Isis::FileName::baseName
QString baseName() const
Returns the name of the file without the path and without extensions.
Definition: FileName.cpp:145
Isis::Distance::Kilometers
@ Kilometers
The distance is being specified in kilometers.
Definition: Distance.h:45
Isis::Camera::LineScan
@ LineScan
Line Scan Camera.
Definition: Camera.h:360
Isis::BundleObservationSolveSettings::observationNumbers
QSet< QString > observationNumbers() const
Returns a list of observation numbers associated with these solve settings.
Definition: BundleObservationSolveSettings.cpp:452
Isis::ProjectItem::isImageList
bool isImageList() const
Returns true if an ImageList is stored in the data of the item.
Definition: ProjectItem.cpp:657
Isis::JigsawSetupDialog::bundleSettings
BundleSettingsQsp bundleSettings()
Definition: JigsawSetupDialog.cpp:514
Isis::Distance::Meters
@ Meters
The distance is being specified in meters.
Definition: Distance.h:43
Isis::BundleObservationSolveSettings::instrumentPointingSolveOption
InstrumentPointingSolveOption instrumentPointingSolveOption() const
Accesses the instrument pointing solve option.
Definition: BundleObservationSolveSettings.cpp:883
Isis::SortFilterProxyModel
Definition: SortFilterProxyModel.h:38
Isis::BundleObservationSolveSettings::aprioriPositionSigmas
QList< double > aprioriPositionSigmas() const
Accesses the a priori position sigmas.
Definition: BundleObservationSolveSettings.cpp:1185
Isis::BundleObservationSolveSettings::InstrumentPointingSolveOption
InstrumentPointingSolveOption
Options for how to solve for instrument pointing.
Definition: BundleObservationSolveSettings.h:126
Isis::ProjectItem::isImage
bool isImage() const
Returns true if an Image is stored in the data of the item.
Definition: ProjectItem.cpp:646
Isis::MaximumLikelihoodWFunctions::stringToModel
static MaximumLikelihoodWFunctions::Model stringToModel(QString modelName)
Definition: MaximumLikelihoodWFunctions.cpp:367
Isis::ProjectItemModel::selectedItems
QList< ProjectItem * > selectedItems()
Returns a list of the selected items of the internal selection model.
Definition: ProjectItemModel.cpp:158
Isis::JigsawSetupDialog::slotTextChanged
void slotTextChanged(const QString &text)
Definition: JigsawSetupDialog.cpp:1130
Isis::BundleObservationSolveSettings::AnglesVelocityAcceleration
@ AnglesVelocityAcceleration
Solve for pointing angles, their velocities and their accelerations.
Definition: BundleObservationSolveSettings.h:131
Isis::BundleSettingsQsp
QSharedPointer< BundleSettings > BundleSettingsQsp
Definition for a BundleSettingsQsp, a shared pointer to a BundleSettings object.
Definition: BundleSettings.h:404
Isis::Image::cube
Cube * cube()
Get the Cube pointer associated with this display property.
Definition: Image.cpp:287
Isis::SpiceRotation::UNKNOWN
@ UNKNOWN
Isis specific code for unknown frame type.
Definition: SpiceRotation.h:277
Isis::BundleObservationSolveSettings::solvePositionOverHermite
bool solvePositionOverHermite() const
Whether or not the polynomial for solving will be fit over an existing Hermite spline.
Definition: BundleObservationSolveSettings.cpp:1175
Isis::BundleTargetBodyQsp
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
Definition: BundleTargetBody.h:187
Isis::BundleTargetBody::VelocityPoleDec
@ VelocityPoleDec
Definition: BundleTargetBody.h:75
Isis::JigsawSetupDialog::checkIsValid
void checkIsValid()
Definition: JigsawSetupDialog.cpp:1121
Isis::BundleObservationSolveSettings::spkSolveDegree
int spkSolveDegree() const
Accesses the degree of thecamera position polynomial being fit to in the bundle adjustment (spkSolveD...
Definition: BundleObservationSolveSettings.cpp:1154
Isis::Project::targetBodies
TargetBodyList targetBodies()
Return TargetBodyList in Project.
Definition: Project.cpp:2194
Isis::BundleSettings
Container class for BundleAdjustment settings.
Definition: BundleSettings.h:125
Isis::BundleTargetBody
This class is used to represent a target body in a bundle and how to solve for it.
Definition: BundleTargetBody.h:52
Isis::Image
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
Isis::ProjectItemModel::findItemData
ProjectItem * findItemData(const QVariant &data, int role=Qt::UserRole+1)
Returns the first item found that contains the given data in the given role or a null pointer if no i...
Definition: ProjectItemModel.cpp:290
Isis::Angle
Defines an angle and provides unit conversions.
Definition: Angle.h:45
Isis::BundleObservationSolveSettings::setInstrumentPositionSettings
void setInstrumentPositionSettings(InstrumentPositionSolveOption option, int spkDegree=2, int spkSolveDegree=2, bool positionOverHermite=false, double positionAprioriSigma=-1.0, double velocityAprioriSigma=-1.0, double accelerationAprioriSigma=-1.0, QList< double > *additionalPositionSigmas=nullptr)
Sets the instrument pointing settings.
Definition: BundleObservationSolveSettings.cpp:1050
Isis::JigsawSetupDialog::selectedControlName
QString selectedControlName()
Definition: JigsawSetupDialog.cpp:735
Isis::Project::bundleSolutionInfo
QList< BundleSolutionInfo * > bundleSolutionInfo()
Return BundleSolutionInfo objects in Project.
Definition: Project.cpp:2223
Camera.h
Ui
Definition: JigsawRunWidget.h:15
Isis::Null
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Isis::JigsawSetupDialog::treeViewSelectionChanged
void treeViewSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Definition: JigsawSetupDialog.cpp:1735
Isis::Project::controls
QList< ControlList * > controls()
Return controls in project.
Definition: Project.cpp:2038
Isis::Cube::camera
Camera * camera()
Return a camera associated with the cube.
Definition: Cube.cpp:1451
Isis::BundleTargetBody::PM
@ PM
Definition: BundleTargetBody.h:77
Isis::BundleObservationSolveSettings::ckSolveDegree
int ckSolveDegree() const
Accesses the degree of the camera angles polynomial being fit to in the bundle adjustment (ckSolveDeg...
Definition: BundleObservationSolveSettings.cpp:914
Control.h
Isis::BundleTargetBody::VelocityPoleRA
@ VelocityPoleRA
Definition: BundleTargetBody.h:72
Isis::BundleTargetBody::MeanRadius
@ MeanRadius
Definition: BundleTargetBody.h:83
QDialog
Isis::BundleObservationSolveSettings
This class is used to modify and manage solve settings for 1 to many BundleObservations.
Definition: BundleObservationSolveSettings.h:82
Isis::SurfacePoint::Latitudinal
@ Latitudinal
Planetocentric latitudinal (lat/lon/rad) coordinates.
Definition: SurfacePoint.h:140
Isis::JigsawSetupDialog::outputControlName
QString outputControlName()
Definition: JigsawSetupDialog.cpp:891
Isis::BundleObservationSolveSettings::setInstrumentPointingSettings
void setInstrumentPointingSettings(InstrumentPointingSolveOption option, bool solveTwist, int ckDegree=2, int ckSolveDegree=2, bool solvePolynomialOverExisting=false, double anglesAprioriSigma=-1.0, double angularVelocityAprioriSigma=-1.0, double angularAccelerationAprioriSigma=-1.0, QList< double > *additionalPointingSigmas=nullptr)
Sets the instrument pointing settings.
Definition: BundleObservationSolveSettings.cpp:791
Isis::BundleObservationSolveSettings::solveTwist
bool solveTwist() const
Accesses the flag for solving for twist.
Definition: BundleObservationSolveSettings.cpp:893
Isis::BundleObservationSolveSettings::solvePolyOverPointing
bool solvePolyOverPointing() const
Whether or not the solve polynomial will be fit over the existing pointing polynomial.
Definition: BundleObservationSolveSettings.cpp:935
BundleSolutionInfo.h
Isis::Image::observationNumber
QString observationNumber()
Returns the observation number of the Cube.
Definition: Image.cpp:349
Isis::BundleTargetBody::PoleRA
@ PoleRA
Definition: BundleTargetBody.h:71
Isis::BundleObservationSolveSettings::InstrumentPositionSolveOption
InstrumentPositionSolveOption
Options for how to solve for instrument position.
Definition: BundleObservationSolveSettings.h:160
Isis::SortFilterProxyModel::setSourceModel
void setSourceModel(ProjectItemModel *newSourceModel)
Definition: SortFilterProxyModel.cpp:38
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ProjectItem
Represents an item of a ProjectItemModel in Qt's model-view framework.
Definition: ProjectItem.h:134