r156: *** empty log message ***
[ctsim.git] / src / dialogs.h
1 /*****************************************************************************
2 ** FILE IDENTIFICATION
3 **
4 **   Name:          dialogs.h
5 **   Purpose:       Header file for Dialogs of CTSim program
6 **   Programmer:    Kevin Rosenberg
7 **   Date Started:  July 2000
8 **
9 **  This is part of the CTSim program
10 **  Copyright (C) 1983-2000 Kevin Rosenberg
11 **
12 **  $Id: dialogs.h,v 1.5 2000/07/20 11:17:31 kevin Exp $
13 **
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.
17 **
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.
22 **
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 ******************************************************************************/
27
28
29 #ifndef __DIALOGSH__
30 #define __DIALOGSH__
31
32 #include "wx/wx.h"
33 #include <string>
34
35
36 class DialogGetPhantom : public wxDialog
37 {
38  public:
39     DialogGetPhantom (wxFrame* pParent, const char* szDefaultPhantom);
40     virtual ~DialogGetPhantom (void) {}
41
42     const wxString& getPhantom (void);
43
44  private:
45     wxListBox* m_pListBoxPhantom;
46     wxString m_sDefaultPhantom;
47
48     static const wxString s_asPhantom[];
49     static const wxString s_asPhantomTitle[];
50     static const unsigned int s_iNumPhantom;
51 };
52
53
54 class ImageFile;
55 class DialogGetImageMinMax : public wxDialog
56 {
57  public:
58     DialogGetImageMinMax (wxFrame* pParent, const ImageFile& rImagefile, double dDefaultMin = 0., double dDefaultMax = 0.);
59     virtual ~DialogGetImageMinMax (void);
60
61     double getMinimum (void);
62     double getMaximum (void);
63
64  private:
65     wxTextCtrl* m_pTextCtrlMin;
66     wxTextCtrl* m_pTextCtrlMax;
67
68     double m_dDefaultMin;
69     double m_dDefaultMax;
70 };
71
72
73 class DialogGetRasterParameters : public wxDialog
74 {
75  public:
76     DialogGetRasterParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultNSamples = 1);
77     virtual ~DialogGetRasterParameters (void);
78
79     unsigned int getXSize (void);
80     unsigned int getYSize (void);
81     unsigned int getNSamples (void);
82
83  private:
84     wxTextCtrl* m_pTextCtrlXSize;
85     wxTextCtrl* m_pTextCtrlYSize;
86     wxTextCtrl* m_pTextCtrlNSamples;
87
88     int m_iDefaultXSize;
89     int m_iDefaultYSize;
90     int m_iDefaultNSamples;
91 };
92
93
94 class DialogGetProjectionParameters : public wxDialog
95 {
96  public:
97     DialogGetProjectionParameters (wxFrame* pParent, int iDefaultNDet = 0, int iDefaultNView = 0, int iDefaultNSamples = 1, double dDefaultRotAngle = 1., const char* szDefaultGeometry = NULL);
98     ~DialogGetProjectionParameters (void);
99
100     unsigned int getNDet (void);
101     unsigned int getNView (void);
102     unsigned int getNSamples (void);
103     double getRotAngle (void);
104     const wxString& getGeometry(void);
105
106  private:
107     wxTextCtrl* m_pTextCtrlNDet;
108     wxTextCtrl* m_pTextCtrlNView;
109     wxTextCtrl* m_pTextCtrlNSamples;
110     wxTextCtrl* m_pTextCtrlRotAngle;
111     wxListBox* m_pListBoxGeometry;
112
113     int m_iDefaultNDet;
114     int m_iDefaultNView;
115     int m_iDefaultNSamples;
116     double m_dDefaultRotAngle;
117     wxString m_sDefaultGeometry;
118
119     static const wxString s_asGeometry[];
120     static const wxString s_asGeometryTitle[];
121     static const unsigned int s_iNumGeometry;
122 };
123
124
125 class DialogGetReconstructionParameters : public wxDialog
126 {
127  public:
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);
130
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);
140
141  private:
142     wxTextCtrl* m_pTextCtrlXSize;
143     wxTextCtrl* m_pTextCtrlYSize;
144     wxTextCtrl* m_pTextCtrlZeropad;
145     wxTextCtrl* m_pTextCtrlFilterParam;
146     wxTextCtrl* m_pTextCtrlInterpParam;
147
148     wxListBox* m_pListBoxFilter;
149     wxListBox* m_pListBoxFilterMethod;
150     wxListBox* m_pListBoxInterp;
151     wxListBox* m_pListBoxBackproj;
152
153     int m_iDefaultXSize;
154     int m_iDefaultYSize;
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;
162
163     static const wxString s_asFilter[];
164     static const wxString s_asFilterTitle[];
165     static const unsigned int s_iNumFilter;
166
167     static const wxString s_asFilterMethod[];
168     static const wxString s_asFilterMethodTitle[];
169     static const unsigned int s_iNumFilterMethod;
170
171     static const wxString s_asInterp[];
172     static const wxString s_asInterpTitle[];
173     static const unsigned int s_iNumInterp;
174
175     static const wxString s_asBackproj[];
176     static const wxString s_asBackprojTitle[];
177     static const unsigned int s_iNumBackproj;
178 };
179
180 #endif
181