r1018: *** empty log message ***
[ctsim.git] / src / views.h
index 14a7e0c93913d80b271d0391408b722c42231c7d..40cc6fde0f03285f0da50b64420ef61fac7cd225 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: views.h,v 1.45 2001/02/08 06:25:07 kevin Exp $
+**  $Id: views.h,v 1.56 2001/09/24 09:40:42 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
@@ -35,6 +35,7 @@
 #include "wx/wx.h"
 #include "docs.h"
 #include "imagefile.h"
+#include "threadrecon.h"
 
 #if wxUSE_GLCANVAS
 #include "graph3dview.h"
@@ -61,6 +62,7 @@ private:
   
   ImageFileCanvas *m_pCanvas;
   wxMenu* m_pFileMenu;
+  wxMenu* m_pFilterMenu;
   bool m_bMinSpecified;
   bool m_bMaxSpecified;
   double m_dMinPixel;
@@ -90,6 +92,10 @@ public:
   void OnUpdate(wxView *sender, wxObject *hint = NULL);
   bool OnClose (bool deleteWindow = true);
   
+  void OnEditCopy (wxCommandEvent& event);
+  void OnEditCut (wxCommandEvent& event);
+  void OnEditPaste (wxCommandEvent& event);
+
   void OnRevert (wxCommandEvent& event);
   void OnExport (wxCommandEvent& event);  
   void OnProperties (wxCommandEvent& event);
@@ -124,6 +130,8 @@ public:
   
   void OnMagnitude (wxCommandEvent& event);
   void OnPhase (wxCommandEvent& event);
+  void OnReal (wxCommandEvent& event);
+  void OnImaginary (wxCommandEvent& event);
   
   void OnScaleAuto (wxCommandEvent& event);
   void OnScaleMinMax (wxCommandEvent& event);
@@ -182,12 +190,12 @@ public:
 class ProjectionFileCanvas;
 class ProjectionFileView : public wxView
 {
+private:
   DECLARE_DYNAMIC_CLASS(ProjectionFileView)
     
-    wxMemoryDC m_memoryDC;
+  wxMemoryDC m_memoryDC;
   wxBitmap m_bitmap;
   
-private:
   ProjectionFileCanvas *CreateCanvas (wxFrame* parent);
 #if CTSIM_MDI
   wxDocMDIChildFrame* m_pFrame;
@@ -199,7 +207,7 @@ private:
   
   ProjectionFileCanvas *m_pCanvas;
   wxMenu* m_pFileMenu;
-  
+
   int m_iDefaultNX;
   int m_iDefaultNY;
   int m_iDefaultFilter;
@@ -236,10 +244,18 @@ public:
   bool OnClose (bool deleteWindow = true);
   void OnProperties (wxCommandEvent& event);
   void OnReconstructFBP (wxCommandEvent& event);
+  void OnReconstructFBPRebin (wxCommandEvent& event);
   void OnReconstructFourier (wxCommandEvent& event);
+  void OnConvertRectangular (wxCommandEvent& event);
   void OnConvertPolar (wxCommandEvent& event);
   void OnConvertFFTPolar (wxCommandEvent& event);
-  
+  void OnPlotTThetaSampling (wxCommandEvent& event);
+  void OnPlotHistogram (wxCommandEvent& event);
+  void OnConvertParallel (wxCommandEvent& event);
+  void OnArtifactReduction (wxCommandEvent& event);
+
+  void doReconstructFBP (const Projections& rProj, bool bRebinToParallel);
+
 #if CTSIM_MDI
   wxDocMDIChildFrame* getFrame() { return m_pFrame; }
 #else
@@ -291,11 +307,13 @@ private:
   
   int m_iDefaultNDet;
   int m_iDefaultNView;
+  int m_iDefaultOffsetView;
   int m_iDefaultNSample;
   int m_iDefaultGeometry;
   int m_iDefaultTrace;
   double m_dDefaultRotation;
   double m_dDefaultFocalLength;
+  double m_dDefaultCenterDetectorLength;
   double m_dDefaultViewRatio;
   double m_dDefaultScanRatio;