1 /*****************************************************************************
5 ** Purpose: Header file for Dialogs of CTSim program
6 ** Programmer: Kevin Rosenberg
7 ** Date Started: July 2000
9 ** This is part of the CTSim program
10 ** Copyright (C) 1983-2000 Kevin Rosenberg
12 ** $Id: dialogs.h,v 1.5 2000/07/20 11:17:31 kevin Exp $
14 ** This program is free software; you can redistribute it and/or modify
15 ** it under the terms of the GNU General Public License (version 2) as
16 ** published by the Free Software Foundation.
18 ** This program is distributed in the hope that it will be useful,
19 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
20 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 ** GNU General Public License for more details.
23 ** You should have received a copy of the GNU General Public License
24 ** along with this program; if not, write to the Free Software
25 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 ******************************************************************************/
36 class DialogGetPhantom : public wxDialog
39 DialogGetPhantom (wxFrame* pParent, const char* szDefaultPhantom);
40 virtual ~DialogGetPhantom (void) {}
42 const wxString& getPhantom (void);
45 wxListBox* m_pListBoxPhantom;
46 wxString m_sDefaultPhantom;
48 static const wxString s_asPhantom[];
49 static const wxString s_asPhantomTitle[];
50 static const unsigned int s_iNumPhantom;
55 class DialogGetImageMinMax : public wxDialog
58 DialogGetImageMinMax (wxFrame* pParent, const ImageFile& rImagefile, double dDefaultMin = 0., double dDefaultMax = 0.);
59 virtual ~DialogGetImageMinMax (void);
61 double getMinimum (void);
62 double getMaximum (void);
65 wxTextCtrl* m_pTextCtrlMin;
66 wxTextCtrl* m_pTextCtrlMax;
73 class DialogGetRasterParameters : public wxDialog
76 DialogGetRasterParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultNSamples = 1);
77 virtual ~DialogGetRasterParameters (void);
79 unsigned int getXSize (void);
80 unsigned int getYSize (void);
81 unsigned int getNSamples (void);
84 wxTextCtrl* m_pTextCtrlXSize;
85 wxTextCtrl* m_pTextCtrlYSize;
86 wxTextCtrl* m_pTextCtrlNSamples;
90 int m_iDefaultNSamples;
94 class DialogGetProjectionParameters : public wxDialog
97 DialogGetProjectionParameters (wxFrame* pParent, int iDefaultNDet = 0, int iDefaultNView = 0, int iDefaultNSamples = 1, double dDefaultRotAngle = 1., const char* szDefaultGeometry = NULL);
98 ~DialogGetProjectionParameters (void);
100 unsigned int getNDet (void);
101 unsigned int getNView (void);
102 unsigned int getNSamples (void);
103 double getRotAngle (void);
104 const wxString& getGeometry(void);
107 wxTextCtrl* m_pTextCtrlNDet;
108 wxTextCtrl* m_pTextCtrlNView;
109 wxTextCtrl* m_pTextCtrlNSamples;
110 wxTextCtrl* m_pTextCtrlRotAngle;
111 wxListBox* m_pListBoxGeometry;
115 int m_iDefaultNSamples;
116 double m_dDefaultRotAngle;
117 wxString m_sDefaultGeometry;
119 static const wxString s_asGeometry[];
120 static const wxString s_asGeometryTitle[];
121 static const unsigned int s_iNumGeometry;
125 class DialogGetReconstructionParameters : public wxDialog
128 DialogGetReconstructionParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, const char* szDefaultFilterName = NULL, double dDefaultFilterParam = 1., const char* szDefaultFilterMethodName = NULL, int iDefaultZeropad = 3, const char* szDefaultInterpName = NULL, int iDefaultInterpParam = 1, const char* szDefaultBackprojName = NULL);
129 virtual ~DialogGetReconstructionParameters (void);
131 unsigned int getXSize(void);
132 unsigned int getYSize(void);
133 const wxString& getFilterName(void);
134 double getFilterParam(void);
135 const wxString& getFilterMethodName(void);
136 unsigned int getZeropad(void);
137 const wxString& getInterpName(void);
138 unsigned int getInterpParam(void);
139 const wxString& getBackprojName(void);
142 wxTextCtrl* m_pTextCtrlXSize;
143 wxTextCtrl* m_pTextCtrlYSize;
144 wxTextCtrl* m_pTextCtrlZeropad;
145 wxTextCtrl* m_pTextCtrlFilterParam;
146 wxTextCtrl* m_pTextCtrlInterpParam;
148 wxListBox* m_pListBoxFilter;
149 wxListBox* m_pListBoxFilterMethod;
150 wxListBox* m_pListBoxInterp;
151 wxListBox* m_pListBoxBackproj;
155 double m_dDefaultFilterParam;
156 int m_iDefaultZeropad;
157 int m_iDefaultInterpParam;
158 wxString m_sDefaultFilterName;
159 wxString m_sDefaultFilterMethodName;
160 wxString m_sDefaultInterpName;
161 wxString m_sDefaultBackprojName;
163 static const wxString s_asFilter[];
164 static const wxString s_asFilterTitle[];
165 static const unsigned int s_iNumFilter;
167 static const wxString s_asFilterMethod[];
168 static const wxString s_asFilterMethodTitle[];
169 static const unsigned int s_iNumFilterMethod;
171 static const wxString s_asInterp[];
172 static const wxString s_asInterpTitle[];
173 static const unsigned int s_iNumInterp;
175 static const wxString s_asBackproj[];
176 static const wxString s_asBackprojTitle[];
177 static const unsigned int s_iNumBackproj;