1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
/*LICENSE_START*/
/*
* Copyright 1995-2002 Washington University School of Medicine
*
* http://brainmap.wustl.edu
*
* This file is part of CARET.
*
* CARET is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CARET is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with CARET; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*LICENSE_END*/
#ifndef __GUI_MULTIRESOLUTION_MORPHING_DIALOG_H__
#define __GUI_MULTIRESOLUTION_MORPHING_DIALOG_H__
#include "WuQDialog.h"
#include "BrainModelSurfaceMorphing.h"
#include "BrainModelSurfaceMultiresolutionMorphing.h"
class GuiBrainModelSelectionComboBox;
class QComboBox;
class QLineEdit;
class QCheckBox;
class QSpinBox;
class QDoubleSpinBox;
class QTextEdit;
/// Dialog for multiresolution morphing
class GuiMultiresolutionMorphingDialog : public WuQDialog {
Q_OBJECT
public:
/// constructor
GuiMultiresolutionMorphingDialog(QWidget* parent,
BrainModelSurfaceMultiresolutionMorphing* morphObjectIn,
const bool parametersOnlyModeIn);
/// Destructor
~GuiMultiresolutionMorphingDialog();
private slots:
/// called when OK/Cancel buttons pressed
void done(int r);
/// called when combo box item is selected
void slotNumberOfCyclesSpinBox();
/// called when combo box item is selected
void slotEditCycleSpinBox();
/// called when edit cycle combo box item is highlighted before selection made
void slotEditCycleSpinBoxOldValue();
/// called when save button pressed
void slotSaveButton();
/// called when open button pressed
void slotOpenButton();
private:
/// read parameters from the dialog and place in morphing object
void readParametersFromDialog();
/// load parameters from the morphing object into the dialog
void loadParametersIntoDialog();
/// create the iterations section
QWidget* createCyclesSection();
/// create the levels section
QWidget* createLevelsSection();
/// create the iterations section
QWidget* createIterationsSection();
/// create the parameters section
QWidget* createParametersSection();
/// create the misc section
QWidget* createMiscSection();
/// create file open/save section
QWidget* createFileOpenSaveSection();
/// create the surface section
QWidget* createSurfaceSection();
/// create the smoothing section
QWidget* createSmoothingSection();
/// reference surface combo box
GuiBrainModelSelectionComboBox* referenceSurfaceComboBox;
/// morphing surface combo box
GuiBrainModelSelectionComboBox* morphingSurfaceComboBox;
/// number of cycles spin box
QComboBox* numberOfCyclesComboBox;
/// edit cycle spin box
QComboBox* editCycleComboBox;
/// iterations spin boxes
QSpinBox* iterationsSpinBoxes[MultiResolutionMorphingCycle::MAXIMUM_NUMBER_OF_LEVELS];
/// linear force float spin box
QDoubleSpinBox* linearForceDoubleSpinBox;
/// angular force float spin box
QDoubleSpinBox* angularForceDoubleSpinBox;
/// step size float spin box
QDoubleSpinBox* stepSizeDoubleSpinBox;
/// smoothing strength float spin box
QDoubleSpinBox* smoothingStrengthDoubleSpinBox;
/// smoothing edge iterations spin box
QSpinBox* smoothingIterationsSpinBox;
/// smoothing iterations spin box
QSpinBox* smoothEdgesEverySpinBox;
/// delete temporary files check box
QCheckBox* deleteTempFilesCheckBox;
/// smooth out overlap check box
QCheckBox* smoothOutOverlapCheckBox;
/// smooth out crossovers check box
QCheckBox* smoothOutCrossoversCheckBox;
/// point spherical tiles outward check box
QCheckBox* pointSphericalTilesOutwardCheckBox;
/// align to central sulcus check box
QCheckBox* alignSurfaceCheckBox;
/// name of central sulcus for alignment
QLineEdit* cesLandmarkNameLineEdit;
/// only display and process parameters with no morphing
bool parametersOnlyMode;
/// the multiresolution morphing object
BrainModelSurfaceMultiresolutionMorphing* morphObject;
/// the type of morphing
BrainModelSurfaceMorphing::MORPHING_SURFACE_TYPE morphingSurfaceType;
};
#endif // __GUI_MULTIRESOLUTION_MORPHING_DIALOG_H__
|