Isis 3 Programmer Reference
ControlMeasureEditWidget.h
1#ifndef ControlMeasureEditWidget_h
2#define ControlMeasureEditWidget_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12// This is the only include allowed in this file!
13#include <QWidget>
14
15
16class QCheckBox;
17class QDial;
18class QDoubleSpinBox;
19class QHBoxLayout;
20class QLabel;
21class QLCDNumber;
22class QListWidget;
23class QPalette;
24class QPushButton;
25class QRadioButton;
26class QScrollBar;
27class QString;
28class QTimer;
29class QToolButton;
30class QVBoxLayout;
31
32namespace Isis {
33 class AutoReg;
34 class Chip;
35 class ChipViewport;
36 class ControlMeasure;
37 class ControlNet;
38 class ControlPoint;
39 class Cube;
40 class CubeViewport;
41 class SerialNumberList;
42 class Stretch;
43 class Tool;
44 class UniversalGroundMap;
45
175 Q_OBJECT
176
177 public:
178 ControlMeasureEditWidget(QWidget *parent = 0, bool allowLeftMouse = false,
179 bool useGeometry = true);
187 return m_templateFileName;
188 };
189 void allowLeftMouse(bool allowMouse);
190
191 void setLeftPosition(double sample, double line);
192 void setRightPosition(double sample, double line);
193
194 signals:
195 void updateLeftView(double sample, double line);
196 void updateRightView(double sample, double line);
197 void measureSaved();
198 void newControlNetwork(ControlNet *);
199 void setTemplateFailed(QString);
200 void stretchChipViewport(Stretch *, CubeViewport *);
201
202 public slots:
203 bool setTemplateFile(QString);
204 void setPoint(ControlPoint *editPoint, SerialNumberList *snList);
205 void setLeftMeasure(ControlMeasure *leftMeasure,
206 Cube *leftCube, QString pointId);
207 void setRightMeasure(ControlMeasure *rightMeasure,
208 Cube *rightCube, QString pointId);
209 void colorizeSaveButton();
210 void refreshChips();
211 void saveChips();
212
213 protected slots:
214
215 private slots:
216
217 void setNoGeom();
218 void setGeom();
219 void setRotate();
220 void setCircle(bool);
221 void setZoomLink(bool);
222
223 void findPoint();
224 void registerPoint();
225 void saveMeasure();
226 void updateLeftPositionLabel(double zoomFactor);
227 void updateRightGeom();
228 void updateRightPositionLabel(double zoomFactor);
229
230 void blinkStart();
231 void blinkStop();
232 void changeBlinkTime(double interval);
233 void updateBlink();
234
235 void showBlinkExtension();
236 void blinkStartRight();
237 void blinkStopRight();
238 void changeBlinkTimeRight(double interval);
239 void updateBlinkRight();
240
241
242 private:
243 void createMeasureEditor(QWidget *parent);
244
247
255 QRadioButton *m_nogeom;
256 QRadioButton *m_geom;
257 QToolButton *m_rightZoomIn;
258 QToolButton *m_rightZoomOut;
259 QToolButton *m_rightZoom1;
260
262 QTimer *m_timer;
263 QList<ChipViewport *> m_blinkList;
264 unsigned char m_blinkIndex;
265
266 QDial *m_dial;
267 QLCDNumber *m_dialNumber;
268 QDoubleSpinBox *m_blinkTimeBox;
269
270 bool m_circle;
271 QScrollBar *m_slider;
272
273 QPushButton *m_autoReg;
276 QLabel *m_goodFit;
279
280 QPushButton *m_saveMeasure;
282
285
294
296 QString m_pointId;
297
299 bool m_geomIt;
301
302
303
307 QListWidget *m_blinkListWidget;
308
309
310 QDoubleSpinBox *m_blinkTimeBoxRight;
312 QTimer *m_timerRight;
313 QList<ChipViewport *> m_blinkChipViewportListRight;
314 unsigned char m_blinkIndexRight;
315
316 };
317};
318
319#endif
Auto Registration class.
Definition AutoReg.h:167
A small chip of data used for pattern matching.
Definition Chip.h:86
Viewport for Isis Chips.
QPushButton * m_autoReg
Button to auto-register the measure.
QLCDNumber * m_dialNumber
The current amount of rotation (in degrees)
QTimer * m_timer
Timer on the blinking.
ControlPoint * m_editPoint
The control point currently being edited.
void saveChips()
Slot to save registration chips to files and fire off qview.
QToolButton * m_rightZoomIn
Button for zooming in right chip viewport.
QLabel * m_rightLatLonPosition
Label for right chip viewport's current lat/lon.
void setRightPosition(double sample, double line)
Set the tack position of the measure in the right ChipViewport.
QList< ChipViewport * > m_blinkChipViewportListRight
List of viewports to blink through.
QLabel * m_leftLatLonPosition
Label for left chip viewport's current lat/lon.
void updateLeftPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of left measure.
ChipViewport * m_rightView
Right ChipViewport.
QLabel * m_rightSampLinePosition
Label for right chip viewport's current sample/line.
UniversalGroundMap * m_leftGroundMap
UniversalGroundMap for left cube.
void setCircle(bool)
Turn circle widgets on/off.
void setZoomLink(bool)
Turn linking of zoom on or off.
void setLeftMeasure(ControlMeasure *leftMeasure, Cube *leftCube, QString pointId)
Set the measure displayed in the left ChipViewport.
QLabel * m_leftZoomFactor
Label for left chip viewport's zoom factor.
SerialNumberList * m_serialNumberList
The serial numbers for each measure of m_editpoint.
int m_rotation
Amount to rotate right chip viewport TODO Is this used??
void colorizeSaveButton()
Turn "Save Measure" button text to red.
bool m_autoRegAttempted
Whether or not auto-registration has been attempted.
void findPoint()
Find point from left ChipViewport in the right ChipViewport.
ChipViewport * m_leftView
Left ChipViewport.
QPushButton * m_saveMeasure
Button to save the current measure.
void allowLeftMouse(bool allowMouse)
Set the option that allows mouse movements in the left ChipViewport.
void blinkStop()
Slot to stop blink function.
QTimer * m_timerRight
Timer for tracking image blink time.
QList< ChipViewport * > m_blinkList
List of chip viewports to blink.
bool m_linkZoom
Link zoom factors between chip viewports.
bool m_autoRegShown
Whether or not the auto-reg extension is shown.
void blinkStartRight()
Slot to start blink function for advanced blink functionality.
QDoubleSpinBox * m_blinkTimeBox
The current blink step (in seconds)
void updateBlinkRight()
Slot to cause the blink to happen coinciding with the timer.
void setPoint(ControlPoint *editPoint, SerialNumberList *snList)
Set the Control Point for this widget.
void updateRightPositionLabel(double zoomFactor)
Update sample/line, lat/lon and zoom factor of right measure.
Cube * m_rightCube
Right chip viewport's Cube.
QString m_pointId
Associated control point id of the right measure.
void createMeasureEditor(QWidget *parent)
Design the MeasureEdit widget.
bool m_geomIt
Apply geometry to the right chip viewport.
QString m_templateFileName
Registration template filename.
void updateBlink()
Slot to cause the blink to happen coinciding with the timer.
QRadioButton * m_nogeom
Radio button to remove geometry/rotation for right chip viewport.
void changeBlinkTime(double interval)
Set blink rate.
bool m_timerOn
Indicates if the blink timer is on.
bool m_circle
Whether or not to draw circle in center of the right chip viewport.
unsigned char m_blinkIndexRight
Index of image being blinked.
ControlMeasureEditWidget(QWidget *parent=0, bool allowLeftMouse=false, bool useGeometry=true)
Constructs a ControlMeasureEditWidget widget.
QPalette m_saveDefaultPalette
Default color palette for the Save button.
QDoubleSpinBox * m_blinkTimeBoxRight
Input for time between image blinks.
ControlMeasure * m_rightMeasure
Right ControlMeasure.
QLabel * m_oldPosition
The old sample and line before registering.
AutoReg * m_autoRegFact
Created AutoReg.
QWidget * m_autoRegExtension
Widget that shows after registering a measure.
void blinkStart()
Slot to start blink function.
QWidget * m_blinkExtension
Widget for selecting images and timing to blink through them.
QToolButton * m_rightZoom1
Button for 1:1 zoom on right chip viewport.
void updateRightGeom()
Slot to update the geomed right ChipViewport for zoom operations.
bool setTemplateFile(QString)
Allows user to choose a new template file by opening a window from which to select a filename.
void registerPoint()
Sub-pixel register point in right chipViewport with point in left.
void blinkStopRight()
Slot to stop blink function.
QToolButton * m_rightZoomOut
Button for zooming out right chip viewport.
QLabel * m_leftSampLinePosition
Label for left chip viewport's current sample/line.
bool m_timerOnRight
Timer is on for right viewport.
void changeBlinkTimeRight(double interval)
Set blink rate.
void saveMeasure()
Save control measure under the crosshair in right ChipViewport.
bool m_useGeometry
Whether or not to allow geometry/rotation on right chip viewport.
UniversalGroundMap * m_rightGroundMap
UniversalGroundMap for right cube.
QRadioButton * m_geom
Radio button to apply geometry/rotation to right chip viewport.
ControlMeasure * m_leftMeasure
Left ControlMeasure.
unsigned char m_blinkIndex
Index of the chip to load in the left chip viewport.
void setLeftPosition(double sample, double line)
Set the tack position of the measure in the left ChipViewport.
void setRightMeasure(ControlMeasure *rightMeasure, Cube *rightCube, QString pointId)
Set the measure displayed in the right ChipViewport.
QScrollBar * m_slider
Slider that controls the size of the center circle.
QLabel * m_rightZoomFactor
Label for right chip viewport's zoom factor.
QListWidget * m_blinkListWidget
List of images being blinked through.
QLabel * m_goodFit
The goodness of fit value after registering.
QString templateFileName()
Returns the template filename used for auto-registration.
bool m_allowLeftMouse
Whether or not to allow mouse events on left chip viewport.
Cube * m_leftCube
Left chip viewport's Cube.
a control measurement
a control network
Definition ControlNet.h:258
A single control point.
IO Handler for Isis Cubes.
Definition Cube.h:168
Widget to display Isis cubes for qt apps.
Serial Number list generator.
Pixel value mapper.
Definition Stretch.h:58
Universal Ground Map.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16