+
+class DialogGetRasterParameters : public wxDialog
+{
+ public:
+ DialogGetRasterParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultNSamples = 1);
+ virtual ~DialogGetRasterParameters ();
+
+ unsigned int getXSize ();
+ unsigned int getYSize ();
+ unsigned int getNSamples ();
+
+ private:
+ wxTextCtrl* m_pTextCtrlXSize;
+ wxTextCtrl* m_pTextCtrlYSize;
+ wxTextCtrl* m_pTextCtrlNSamples;
+
+ int m_iDefaultXSize;
+ int m_iDefaultYSize;
+ int m_iDefaultNSamples;
+};
+
+
+class DialogGetProjectionParameters : public wxDialog
+{
+ public:
+ DialogGetProjectionParameters (wxFrame* pParent, int iDefaultNDet = 0, int iDefaultNView = 0, int iDefaultNSamples = 1, double dDefaultRotAngle = 1., double dDefaultFocalLength = 1, double dDefaultFieldOfView = 1., int iDefaultGeometry = Scanner::GEOMETRY_PARALLEL, int iDefaultTrace = Trace::TRACE_NONE);
+ ~DialogGetProjectionParameters ();
+
+ unsigned int getNDet ();
+ unsigned int getNView ();
+ unsigned int getNSamples ();
+ int getTrace ();
+
+ double getRotAngle ();
+ double getFieldOfViewRatio ();
+ double getFocalLengthRatio ();
+ const char* getGeometry();
+
+ private:
+ wxTextCtrl* m_pTextCtrlNDet;
+ wxTextCtrl* m_pTextCtrlNView;
+ wxTextCtrl* m_pTextCtrlNSamples;
+ wxTextCtrl* m_pTextCtrlRotAngle;
+ wxTextCtrl* m_pTextCtrlFocalLength;
+ wxTextCtrl* m_pTextCtrlFieldOfView;
+
+ StringValueAndTitleListBox* m_pListBoxGeometry;
+ StringValueAndTitleListBox* m_pListBoxTrace;
+
+ int m_iDefaultNDet;
+ int m_iDefaultNView;
+ int m_iDefaultNSamples;
+ int m_iDefaultTrace;
+ int m_iDefaultGeometry;
+ double m_dDefaultRotAngle;
+ double m_dDefaultFocalLength;
+ double m_dDefaultFieldOfView;
+};
+
+
+#include "backprojectors.h"
+class DialogGetReconstructionParameters : public wxDialog\r
+{\r
+ public:\r
+ DialogGetReconstructionParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultFilterID = SignalFilter::FILTER_ABS_BANDLIMIT, double dDefaultFilterParam = 1., int iDefaultFilterMethodID = ProcessSignal::FILTER_METHOD_CONVOLUTION, int iDefaultFilterGeneration = ProcessSignal::FILTER_GENERATION_INVALID, int iDefaultZeropad = 3, int iDefaultInterpID = Backprojector::INTERP_LINEAR, int iDefaultInterpParam = 1, int iDefaultBackprojectID = Backprojector::BPROJ_IDIFF3, int iDefaultTrace = Trace::TRACE_NONE);\r
+ virtual ~DialogGetReconstructionParameters ();\r
+\r
+ unsigned int getXSize();\r
+ unsigned int getYSize();\r
+ const char* getFilterName();\r
+ double getFilterParam();\r
+ const char* getFilterMethodName();\r
+ unsigned int getZeropad();\r
+ const char* getFilterGenerationName();\r
+ const char* getInterpName();\r
+ unsigned int getInterpParam();\r
+ const char* getBackprojectName();\r
+ int getTrace ();\r
+\r
+ private:\r
+ wxTextCtrl* m_pTextCtrlXSize;\r
+ wxTextCtrl* m_pTextCtrlYSize;\r
+ wxTextCtrl* m_pTextCtrlZeropad;\r
+ wxTextCtrl* m_pTextCtrlFilterParam;\r
+ wxTextCtrl* m_pTextCtrlInterpParam;\r
+\r
+ StringValueAndTitleListBox* m_pListBoxFilter;\r
+ StringValueAndTitleListBox* m_pListBoxFilterMethod;\r
+ StringValueAndTitleListBox* m_pListBoxFilterGeneration;\r
+ StringValueAndTitleListBox* m_pListBoxInterp;\r
+ StringValueAndTitleListBox* m_pListBoxBackproject;\r
+ StringValueAndTitleListBox* m_pListBoxTrace;\r
+\r
+ int m_iDefaultXSize;\r
+ int m_iDefaultYSize;\r
+ double m_dDefaultFilterParam;\r
+ int m_iDefaultZeropad;\r
+ int m_iDefaultInterpParam;\r
+ int m_iDefaultTrace;\r
+};\r
+\r
+
+class DialogGetFilterParameters : public wxDialog\r
+{\r
+ public:\r
+ DialogGetFilterParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultFilterID = SignalFilter::FILTER_BANDLIMIT, double dDefaultFilterParam = 1., double dDefaultBandwidth = 1., int iDefaultDomain = SignalFilter::DOMAIN_SPATIAL);\r
+ virtual ~DialogGetFilterParameters ();\r
+\r
+ unsigned int getXSize();\r
+ unsigned int getYSize();\r
+ const char* getFilterName();\r
+ const char* getDomainName();\r
+ double getFilterParam();\r
+ double getBandwidth();\r
+\r
+ private:\r
+ wxTextCtrl* m_pTextCtrlXSize;\r
+ wxTextCtrl* m_pTextCtrlYSize;\r
+ wxTextCtrl* m_pTextCtrlFilterParam;\r
+ wxTextCtrl* m_pTextCtrlBandwidth;\r
+\r
+ StringValueAndTitleListBox* m_pListBoxFilter;\r
+ StringValueAndTitleListBox* m_pListBoxDomain;\r
+\r
+ int m_iDefaultXSize;\r
+ int m_iDefaultYSize;\r
+ double m_dDefaultFilterParam;\r
+ double m_dDefaultBandwidth;\r
+ int m_iDefaultDomain;\r
+};\r
+\r
+class DialogAutoScaleParameters : public wxDialog
+{
+ public:
+ DialogAutoScaleParameters (wxFrame* pParent, double mean, double mode, double median, double stddev, double dDefaultScaleFactor = 1.);
+ virtual ~DialogAutoScaleParameters() {}
+
+ bool getMinMax (double* pMin, double* pMax);
+ double getAutoScaleFactor ();
+
+ private:
+ const double m_dMean;\r
+ const double m_dMode;
+ const double m_dMedian;\r
+ const double m_dStdDev;\r
+
+ wxTextCtrl* m_pTextCtrlStdDevFactor;
+ wxListBox* m_pListBoxCenter;
+};
+