r184: *** empty log message ***
[ctsim.git] / src / dialogs.h
index 6dcc2988cd5f5379114f045b8a741b67d64708e4..7298348df77620a0e67fd3afba4372e5d7521769 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: dialogs.h,v 1.8 2000/07/28 08:28:08 kevin Exp $
+**  $Id: dialogs.h,v 1.10 2000/08/25 15:59:13 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -33,6 +33,7 @@
 #include <string>
 #include "scanner.h"
 #include "phantom.h"
+#include "procsignal.h"
 #include "filter.h"
 
 // CLASS StringValueAndTitleListBox
@@ -108,13 +109,15 @@ class DialogGetRasterParameters : public wxDialog
 class DialogGetProjectionParameters : public wxDialog
 {
  public:
-    DialogGetProjectionParameters (wxFrame* pParent, int iDefaultNDet = 0, int iDefaultNView = 0, int iDefaultNSamples = 1, double dDefaultRotAngle = 1., int iDefaultGeometry = Scanner::GEOMETRY_PARALLEL);
+    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);
     ~DialogGetProjectionParameters (void);
 
     unsigned int getNDet (void);
     unsigned int getNView (void);
     unsigned int getNSamples (void);
     double getRotAngle (void);
+    double getFieldOfViewRatio (void);
+    double getFocalLengthRatio (void);
     const char* getGeometry(void);
 
  private:
@@ -122,6 +125,8 @@ class DialogGetProjectionParameters : public wxDialog
     wxTextCtrl* m_pTextCtrlNView;
     wxTextCtrl* m_pTextCtrlNSamples;
     wxTextCtrl* m_pTextCtrlRotAngle;
+    wxTextCtrl* m_pTextCtrlFocalLength;
+    wxTextCtrl* m_pTextCtrlFieldOfView;
 
     StringValueAndTitleListBox* m_pListBoxGeometry;
 
@@ -129,6 +134,8 @@ class DialogGetProjectionParameters : public wxDialog
     int m_iDefaultNView;
     int m_iDefaultNSamples;
     double m_dDefaultRotAngle;
+    double m_dDefaultFocalLength;
+    double m_dDefaultFieldOfView;
 };
 
 
@@ -136,7 +143,7 @@ class DialogGetProjectionParameters : public wxDialog
 class DialogGetReconstructionParameters : public wxDialog
 {
  public:
-    DialogGetReconstructionParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultFilterID = SignalFilter::FILTER_ABS_BANDLIMIT, double dDefaultFilterParam = 1., int iDefaultFilterMethodID = SignalFilter::FILTER_METHOD_CONVOLUTION, int iDefaultZeropad = 3, int iDefaultInterpID = Backprojector::INTERP_LINEAR, int iDefaultInterpParam = 1, int iDefaultBackprojectID = Backprojector::BPROJ_IDIFF3);
+    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);
     virtual ~DialogGetReconstructionParameters (void);
 
     unsigned int getXSize(void);
@@ -145,6 +152,7 @@ class DialogGetReconstructionParameters : public wxDialog
     double getFilterParam(void);
     const char* getFilterMethodName(void);
     unsigned int getZeropad(void);
+    const char* getFilterGenerationName(void);
     const char* getInterpName(void);
     unsigned int getInterpParam(void);
     const char* getBackprojectName(void);
@@ -158,6 +166,7 @@ class DialogGetReconstructionParameters : public wxDialog
 
     StringValueAndTitleListBox* m_pListBoxFilter;
     StringValueAndTitleListBox* m_pListBoxFilterMethod;
+    StringValueAndTitleListBox* m_pListBoxFilterGeneration;
     StringValueAndTitleListBox* m_pListBoxInterp;
     StringValueAndTitleListBox* m_pListBoxBackproject;
 
@@ -168,5 +177,20 @@ class DialogGetReconstructionParameters : public wxDialog
     int m_iDefaultInterpParam;
 };
 
+class DialogAutoScaleParameters : public wxDialog
+{
+ public:
+    DialogAutoScaleParameters (wxFrame* pParent, const ImageFile& rImageFile);
+    virtual ~DialogAutoScaleParameters() {}
+
+    void getMinMax (double* pMin, double* pMax);
+
+ private:
+    const ImageFile& m_rImageFile;
+
+    wxTextCtrl* m_pTextCtrlStdDevFactor;
+    wxListBox* m_pListBoxCenter;
+};
+
 #endif