r187: *** empty log message ***
[ctsim.git] / src / dialogs.h
index 7298348df77620a0e67fd3afba4372e5d7521769..1cd86e3efb879e37eba1d520ce5d804cfd404437 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: dialogs.h,v 1.10 2000/08/25 15:59:13 kevin Exp $
+**  $Id: dialogs.h,v 1.13 2000/09/02 05:10:39 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
@@ -31,6 +31,7 @@
 
 #include "wx/wx.h"
 #include <string>
+#include "ctsupport.h"
 #include "scanner.h"
 #include "phantom.h"
 #include "procsignal.h"
@@ -46,7 +47,7 @@ class StringValueAndTitleListBox : public wxListBox
  public:
   StringValueAndTitleListBox (wxDialog* pParent, int nChoices, const char* aszTitle[], const char* aszValue[]);
 
-    const char* getSelectionStringValue (void) const;
+    const char* getSelectionStringValue () const;
 
  private:
     const char** m_ppszValues;
@@ -57,9 +58,9 @@ class DialogGetPhantom : public wxDialog
 {
  public:
     DialogGetPhantom (wxFrame* pParent, int iDefaultPhantom = Phantom::PHM_HERMAN);
-    virtual ~DialogGetPhantom (void) {}
+    virtual ~DialogGetPhantom () {}
 
-    const char* getPhantom (void);
+    const char* getPhantom ();
 
  private:
     StringValueAndTitleListBox* m_pListBoxPhantom;
@@ -71,10 +72,10 @@ class DialogGetImageMinMax : public wxDialog
 {
  public:
     DialogGetImageMinMax (wxFrame* pParent, const ImageFile& rImagefile, double dDefaultMin = 0., double dDefaultMax = 0.);
-    virtual ~DialogGetImageMinMax (void);
+    virtual ~DialogGetImageMinMax ();
 
-    double getMinimum (void);
-    double getMaximum (void);
+    double getMinimum ();
+    double getMaximum ();
 
  private:
     wxTextCtrl* m_pTextCtrlMin;
@@ -89,11 +90,11 @@ class DialogGetRasterParameters : public wxDialog
 {
  public:
     DialogGetRasterParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultNSamples = 1);
-    virtual ~DialogGetRasterParameters (void);
+    virtual ~DialogGetRasterParameters ();
 
-    unsigned int getXSize (void);
-    unsigned int getYSize (void);
-    unsigned int getNSamples (void);
+    unsigned int getXSize ();
+    unsigned int getYSize ();
+    unsigned int getNSamples ();
 
  private:
     wxTextCtrl* m_pTextCtrlXSize;
@@ -109,16 +110,18 @@ class DialogGetRasterParameters : public wxDialog
 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);
-    ~DialogGetProjectionParameters (void);
+    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 (void);
-    unsigned int getNView (void);
-    unsigned int getNSamples (void);
-    double getRotAngle (void);
-    double getFieldOfViewRatio (void);
-    double getFocalLengthRatio (void);
-    const char* getGeometry(void);
+    unsigned int getNDet ();
+    unsigned int getNView ();
+    unsigned int getNSamples ();
+    int getTrace ();
+
+    double getRotAngle ();
+    double getFieldOfViewRatio ();
+    double getFocalLengthRatio ();
+    const char* getGeometry();
 
  private:
     wxTextCtrl* m_pTextCtrlNDet;
@@ -129,10 +132,13 @@ class DialogGetProjectionParameters : public wxDialog
     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;
@@ -143,19 +149,20 @@ 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 = 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);
-    unsigned int getYSize(void);
-    const char* getFilterName(void);
-    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);
+    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);
+    virtual ~DialogGetReconstructionParameters ();
+
+    unsigned int getXSize();
+    unsigned int getYSize();
+    const char* getFilterName();
+    double getFilterParam();
+    const char* getFilterMethodName();
+    unsigned int getZeropad();
+    const char* getFilterGenerationName();
+    const char* getInterpName();
+    unsigned int getInterpParam();
+    const char* getBackprojectName();
+    int getTrace ();
 
  private:
     wxTextCtrl* m_pTextCtrlXSize;
@@ -169,21 +176,24 @@ class DialogGetReconstructionParameters : public wxDialog
     StringValueAndTitleListBox* m_pListBoxFilterGeneration;
     StringValueAndTitleListBox* m_pListBoxInterp;
     StringValueAndTitleListBox* m_pListBoxBackproject;
+    StringValueAndTitleListBox* m_pListBoxTrace;
 
     int m_iDefaultXSize;
     int m_iDefaultYSize;
     double m_dDefaultFilterParam;
     int m_iDefaultZeropad;
     int m_iDefaultInterpParam;
+    int m_iDefaultTrace;
 };
 
 class DialogAutoScaleParameters : public wxDialog
 {
  public:
-    DialogAutoScaleParameters (wxFrame* pParent, const ImageFile& rImageFile);
+    DialogAutoScaleParameters (wxFrame* pParent, const ImageFile& rImageFile, double dDefaultScaleFactor = 1.);
     virtual ~DialogAutoScaleParameters() {}
 
     void getMinMax (double* pMin, double* pMax);
+    double getAutoScaleFactor ();
 
  private:
     const ImageFile& m_rImageFile;