X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fviews.h;h=b820eef33f11f1dc5e2935a3b47f1a1c02c3b827;hb=dc5eb7b285e647a99535740a99d73d468a856ba3;hp=9fcf8f8bfe5986b09f6ac6347717dfc1e58706dd;hpb=ba8635d790ee847d9746c6da24b60bd4cb6d9116;p=ctsim.git diff --git a/src/views.h b/src/views.h index 9fcf8f8..b820eef 100644 --- a/src/views.h +++ b/src/views.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: views.h,v 1.42 2001/01/30 07:32:13 kevin Exp $ +** $Id: views.h,v 1.57 2002/05/03 00:40:30 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,7 +35,11 @@ #include "wx/wx.h" #include "docs.h" #include "imagefile.h" +#include "threadrecon.h" + +#if wxUSE_GLCANVAS #include "graph3dview.h" +#endif class ImageFileCanvas; class ImageFileView : public wxView @@ -58,6 +62,7 @@ private: ImageFileCanvas *m_pCanvas; wxMenu* m_pFileMenu; + wxMenu* m_pFilterMenu; bool m_bMinSpecified; bool m_bMaxSpecified; double m_dMinPixel; @@ -87,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); @@ -106,7 +115,10 @@ public: void OnInverseFourier (wxCommandEvent& event); void OnShuffleNaturalToFourierOrder (wxCommandEvent& event); void OnShuffleFourierToNaturalOrder (wxCommandEvent& event); - +#if wxUSE_GLCANVAS + void OnConvert3d (wxCommandEvent& event); +#endif + #ifdef HAVE_FFT void OnFFT (wxCommandEvent& event); void OnIFFT (wxCommandEvent& event); @@ -118,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); @@ -137,6 +151,7 @@ public: #else wxDocChildFrame* getFrame() { return m_pFrame; } #endif + void setInitialClientSize(); wxMenu* getMenuAnalyze() { return m_pMenuAnalyze; } @@ -176,12 +191,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; @@ -193,7 +208,7 @@ private: ProjectionFileCanvas *m_pCanvas; wxMenu* m_pFileMenu; - + int m_iDefaultNX; int m_iDefaultNY; int m_iDefaultFilter; @@ -230,16 +245,25 @@ 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 wxDocChildFrame* getFrame() { return m_pFrame; } #endif ProjectionFileCanvas* getCanvas() { return m_pCanvas; } + void setInitialClientSize(); wxMenu* getFileMenu() { return m_pFileMenu; } @@ -285,16 +309,20 @@ 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_dDefaultFieldOfView; + double m_dDefaultCenterDetectorLength; + double m_dDefaultViewRatio; + double m_dDefaultScanRatio; int m_iDefaultRasterNX; int m_iDefaultRasterNY; int m_iDefaultRasterNSamples; + double m_dDefaultRasterViewRatio; wxWindow* getFrameForChild() #if CTSIM_MDI @@ -337,6 +365,7 @@ public: PhantomCanvas (PhantomFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); virtual ~PhantomCanvas(); + virtual wxSize GetBestSize() const; void setView(PhantomFileView* pView) { m_pView = pView; } virtual void OnDraw(wxDC& dc); @@ -413,6 +442,7 @@ public: virtual ~PlotFileCanvas(); virtual void OnDraw(wxDC& dc); + virtual wxSize GetBestSize() const; void setView (PlotFileView* pView) { m_pView = pView; } @@ -467,6 +497,7 @@ class TextFileCanvas: public wxTextCtrl public: TextFileCanvas (TextFileView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, long style); ~TextFileCanvas (); + virtual wxSize GetBestSize() const; };