r547: no message
authorKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 16 Feb 2001 02:39:30 +0000 (02:39 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 16 Feb 2001 02:39:30 +0000 (02:39 +0000)
15 files changed:
ChangeLog
NEWS
doc/ctsim-appendix.tex
doc/ctsim-concepts.tex
doc/ctsim-gui.tex
doc/ctsim.prj
doc/ctsim.tex
msvc/ctsim/ctsim.dsp
msvc/ctsim/ctsim.plg
msvc/ctsimtext/ctsimtext.dsp
src/ctsim.cpp
src/ctsim.h
src/dialogs.cpp
src/graph3dview.cpp
src/views.cpp

index 0049090a2565759239b00cfb6a1f92dbb245fc90..c4f3c8d946c09ddcc9ae91671b221220793f61df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,13 @@
-3.0.0beta2 - Release 2//01
+3.0.0 - Release 2/19/01
 
        * ctsim: Massive update/fix to online help and print manual.
+
+       * ctsim: Added context-sensitive help to dialog boxes
        
        * ctsim: Reformated all dialog boxes, much nicer now.
-
+       
+       * ctsim: Improved accelerator key handling
+       
        * global: Added Hanning filter.
 
        * global: Improved default parameters to that all defaults give
diff --git a/NEWS b/NEWS
index 4a320744636be1a4b687ad4716aec0eb227deb29..078791b63d3b888cf0e5ca487b74cd05b89beb28 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,10 @@
-Version 3.0beta New Features
+Version 3.0 New Features
 
-* 3-d views of Image files
+* Greatly improved dialog boxes
+
+* Online and print manuals with context-sensitive help!
+
+* 3-d rotating views of image files
 
 * Creation of arbitrary filter images
 
@@ -9,7 +13,7 @@ Version 3.0beta New Features
 * All features of command line tools are now in graphical ctsim program!
 
 * Complex-valued image files now supported, lots of image math
- functions added including fourier transformations
+ functions added including Fourier transformations
 
 * Visual and statistical image comparision functions
 
index 9c242d16b8b8314a24b5a294ed872c5ed6d7d16b..a826258e35e415887b2a6c4046eee6a9de106a84 100644 (file)
@@ -8,8 +8,8 @@ Simple Graphics Package was created in 1980 by Kevin Rosenberg and
 is modelled after the hypothetical graphics library described by Foley and van
 Dam\cite{FOLEY82}. It is designed to be platform-independent.
 
-\section{Flowchart}
-
+\section{Transformation Sequence}
+\latexonly{
 \parbox{11cm}{
 \centerline{Master coordinate (MC) level}
 \centerline{$\downarrow$}
@@ -24,6 +24,15 @@ Dam\cite{FOLEY82}. It is designed to be platform-independent.
 \centerline{Clipping against Viewport}
 \centerline{$\downarrow$}
 \centerline{Convert to Physical device coordinates (PDC)}
+}}
+\latexignore{
+\centerline{Master coordinate (MC) level}
+\centerline{Apply \emph{Current transformation matrix}}
+\centerline{World coordinate (WC) level}
+\centerline{Clipping against Window}
+\centerline{Convert to Normalized device coordinates (NDC)}
+\centerline{Clipping against Viewport}
+\centerline{Convert to Physical device coordinates (PDC)}
 }
 
 \section{Functions}%
index 12cdc3f603942ad4ccc1abfe63b1bb3d912e81b7..702c1dd8ae0aef8bc13af89810d465d89f41325c 100644 (file)
@@ -134,7 +134,7 @@ the diameter of the boundary square \latexonly{$p_d$.}
 \latexignore{\emph{Pd}.}
 \latexonly{These relationships are diagrammed in figure~\ref{phantomgeomfig}.}
 \begin{figure}
-\centerline{\image{5cm;0cm}{scangeometry.eps}}
+\centerline{\image{8cm;0cm}{scangeometry.eps}}
 \latexonly{\caption{\label{phantomgeomfig} Phantom Geometry}}
 \end{figure}
 
index 94d02ec1c6076ffc0317771094b42cbdb862c015..c33cffd8f10188e36b52ecfb6e7be1c68ef4e0fd 100644 (file)
@@ -408,20 +408,13 @@ filter and can range from \texttt{0} to \texttt{1}.
 At a setting of \texttt{1}, the Hamming filter is the same as the bandlimit filter.
 At a setting of \texttt{0.54}, the Hamming filter is the same as the Hanning
 window.}
-\end{twocollist}
-
-\begin{twocollist}
 \twocolitem{\textbf{Filter Method}}{Selects the filtering method.
-For large numbers of detectors, \texttt{rfftw} is optimal. For
-smaller numbers of detectors, \texttt{convolution} can be
-faster.
-\begin{itemize}\itemsep=0pt
-\item \texttt{convolution}
-\item \texttt{fourier} - Uses simple Fourier transform.
-\item \texttt{fourier-table} - Optimizes Fourier transform by precalculating trigometric functions.
-\item \texttt{fftw} - Uses complex-valued Fourier transform with the \emph{fftw} library.
-\item \texttt{rfftw} - Uses optimized real/half-complex Fourier transform.
-\end{itemize}
+For large numbers of detectors, the FFT-based filters are preferred whereas for
+smaller numbers of detectors \texttt{convolution} can be
+faster. When \emph{Advanced Options} have been turned off, this menu only shows
+the two basic choices: \texttt{convolution} and \texttt{FFT}. However, when
+\emph{Advanced Options} have been turned on, additional selections are available as
+discussed in the next section.
 }
 \twocolitem{\textbf{Interpolation}}{Interpolation technique.
 \texttt{cubic} is optimal when the
@@ -445,6 +438,17 @@ default to optimal settings and don't need to be adjusted except
 by expert users.
 
 \begin{twocollist}
+\twocolitem{\textbf{Filter Method}}{Selects the filtering method.
+The general comments about this parameter given the previous section still apply.
+With \emph{Advanced Options} on, the full set of filter methods are available:
+\begin{itemize}\itemsep=0pt
+\item \texttt{convolution}
+\item \texttt{fourier} - Uses simple Fourier transform.
+\item \texttt{fourier-table} - Optimizes Fourier transform by precalculating trigometric functions.
+\item \texttt{fftw} - Uses complex-valued Fourier transform with the \emph{fftw} library.
+\item \texttt{rfftw} - Uses optimized real/half-complex Fourier transform.
+\end{itemize}
+}
 \twocolitem{\textbf{Backprojection}}{Selects the backprojection
 technique. A setting of \texttt{idiff} is optimal.
 \begin{itemize}\itemsep=0pt
index ed50acfa15778b68e8e635acdb57a498114acb04..e89e38e953109674e908fdb95432042acc5c3977 100644 (file)
@@ -4,35 +4,38 @@
 1
 1
 ctsim.tex
-17
-0
+18
+3
 0
 
 
-ctsim.tex
-TeX
-402665466 0 104 1 42 1 22 22 1099 609
-ctsim-textui.tex
+ctsim-gui.tex
 TeX
-268447738 0 257 1 258 1 198 198 1275 785
+268447738 2 388 89 388 94 176 176 1253 763
 ctsim-appendix.tex
 TeX
-268447738 0 16 31 12 10 44 44 1121 631
-ctsim-concepts.tex
+12282 0 32 35 122 1 44 44 1121 631
+ctsim-textui.tex
 TeX
-268447738 0 362 1 362 1 110 110 1187 697
-mytitle.sty
-DATA
-273679026 0 16 14 8 13 66 66 1143 653
-ctsim-gui.tex
+12282 5 38 56 38 57 198 198 1275 785
+ctsim-concepts.tex
 TeX
-268447738 0 431 23 431 39 176 176 1253 763
+268447738 5 291 46 291 47 110 110 1187 697
 ctsim-install.tex
 TeX
-268447738 0 45 19 46 62 110 110 1187 697
+268447738 0 15 32 24 22 110 110 1187 697
 ctsim-web.tex
 TeX
-268447739 0 30 18 32 1 88 88 1165 675
+268447739 0 24 50 25 1 88 88 1165 675
+ctsim.tex
+TeX
+402665466 0 98 25 102 1 22 22 1099 609
+tex2rtf.ini
+DATA
+273777330 0 0 1 17 8 22 22 938 609
+mytitle.sty
+DATA
+273679026 0 16 14 8 13 66 66 1143 653
 C:\Program Files\SecureCRT 3.0\download\ct.tex
 TeX
 268439546 0 3 1 600 1 132 132 1048 719
index 145fc6a633ff974206ce469fa642d03ccd815a00..bbad7386f5d38ff2c77b727ae17626271ff03221 100644 (file)
@@ -1,4 +1,4 @@
-\documentclass[letterpaper,12pt]{report}%
+\documentclass[letterpaper,11pt]{report}%
 \usepackage{graphicx}
 \usepackage{texhelp}
 \usepackage{fancyhea}
 \newcommand{\indexit}[1]{#1\index{#1}}%
 \newcommand{\inioption}[1]{{\bf {\tt #1}}\index{#1}}%
 
-\newcommand{\manvernum}[0]{0.5}
+\newcommand{\manvernum}[0]{0.6}
 \newcommand{\manver}[0]{v\manvernum}
-\newcommand{\mandate}[0]{February 15, 2001}
+\newcommand{\mandate}[0]{February 16, 2001}
 \newcommand{\ctsimfooter}{\setfooter{\thepage}{}{}{\small Manual \manver}{\small \mandate}{\thepage}}
 \newcommand{\doublehyphen}[1]{-\,-\texttt{#1}}
 \newcommand{\ctsimvernum}[0]{3.0.0}
 \newcommand{\ctsimver}[0]{CTSim \ctsimvernum}
-\newcommand{\ctsimheadtitle}{\ctsimver Manual}
+\newcommand{\ctsimheadtitle}{\ctsimver\ Manual}
 
 \latexignore{\newcommand{\sqrt}[2]{sqrt(#2)}}
 
index 0b57a6bca6ec80124741b8519d1e4dfc57dbe49f..6d159062db771ad15ae39e47e5431c61f8ef22f9 100644 (file)
@@ -94,115 +94,42 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\..\src\ctsim.cpp
-
-!IF  "$(CFG)" == "ctsim - Win32 Release"
-
-# ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
-# SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ELSEIF  "$(CFG)" == "ctsim - Win32 Debug"
-
 # ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
 # SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ENDIF 
-
 # End Source File
 # Begin Source File
 
 SOURCE=..\..\src\dialogs.cpp
-
-!IF  "$(CFG)" == "ctsim - Win32 Release"
-
-# ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
-# SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ELSEIF  "$(CFG)" == "ctsim - Win32 Debug"
-
 # ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
 # SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ENDIF 
-
 # End Source File
 # Begin Source File
 
 SOURCE=..\..\src\dlgprojections.cpp
-
-!IF  "$(CFG)" == "ctsim - Win32 Release"
-
 # ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
 # SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ELSEIF  "$(CFG)" == "ctsim - Win32 Debug"
-
-# ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
-# SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ENDIF 
-
 # End Source File
 # Begin Source File
 
 SOURCE=..\..\src\dlgreconstruct.cpp
-
-!IF  "$(CFG)" == "ctsim - Win32 Release"
-
-# ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
-# SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ELSEIF  "$(CFG)" == "ctsim - Win32 Debug"
-
 # ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
 # SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ENDIF 
-
 # End Source File
 # Begin Source File
 
 SOURCE=..\..\src\docs.cpp
-
-!IF  "$(CFG)" == "ctsim - Win32 Release"
-
 # ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
 # SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ELSEIF  "$(CFG)" == "ctsim - Win32 Debug"
-
-# ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
-# SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ENDIF 
-
 # End Source File
 # Begin Source File
 
 SOURCE=..\..\src\graph3dview.cpp
-
-!IF  "$(CFG)" == "ctsim - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "ctsim - Win32 Debug"
-
-!ENDIF 
-
 # End Source File
 # Begin Source File
 
 SOURCE=..\..\src\views.cpp
-
-!IF  "$(CFG)" == "ctsim - Win32 Release"
-
 # ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
 # SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ELSEIF  "$(CFG)" == "ctsim - Win32 Debug"
-
-# ADD CPP /D CTSIMVERSION=\"3.0.0alpha5\"
-# SUBTRACT CPP /D CTSIMVERSION=\"3.0.0beta1\"
-
-!ENDIF 
-
 # End Source File
 # End Group
 # Begin Group "Header Files"
@@ -210,6 +137,10 @@ SOURCE=..\..\src\views.cpp
 # PROP Default_Filter "h;hpp;hxx;hm;inl"
 # Begin Source File
 
+SOURCE="..\..\src\ctsim-map.h"
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\ctsim.h
 # End Source File
 # Begin Source File
index 144f863b4a3ad99e969e01accdf75187cb3cdcd7..a8c688a0753e55df43d0b50da0f79e75203b691a 100644 (file)
@@ -3,60 +3,16 @@
 <pre>
 <h1>Build Log</h1>
 <h3>
---------------------Configuration: libctsim - Win32 Release--------------------
+--------------------Configuration: ctsim - Win32 Release--------------------
 </h3>
 <h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP472.tmp" with contents
-[
-/nologo /G6 /MT /W3 /GR /GX /O2 /I "\wx2.2.5\src\png" /I "\wx2.2.5\src\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2.2.5\include" /D "NDEBUG" /D "HAVE_STRING_H" /D "HAVE_GETOPT_H" /D "WIN32" /D "_MBCS" /D "_LIB" /D "MSVC" /D "HAVE_FFTW" /D "HAVE_PNG" /D "HAVE_SGP" /D "HAVE_WXWINDOWS" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /Fp"Release/libctsim.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c 
-"C:\ctsim\libctsim\filter.cpp"
-]
-Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP472.tmp" 
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP473.tmp" with contents
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP51C.tmp" with contents
 [
-/nologo /out:"Release\libctsim.lib" 
-.\Release\array2dfile.obj
-.\Release\backprojectors.obj
-.\Release\clip.obj
-.\Release\consoleio.obj
-.\Release\dlgezplot.obj
-.\Release\ezplot.obj
-.\Release\ezset.obj
-.\Release\ezsupport.obj
-.\Release\filter.obj
-.\Release\fnetorderstream.obj
-.\Release\fourier.obj
-.\Release\getopt.obj
-.\Release\getopt1.obj
-.\Release\globalvars.obj
-.\Release\hashtable.obj
-.\Release\imagefile.obj
-.\Release\interpolator.obj
-.\Release\mathfuncs.obj
-.\Release\phantom.obj
-.\Release\plotfile.obj
-.\Release\pol.obj
-.\Release\procsignal.obj
-.\Release\projections.obj
-.\Release\reconstruct.obj
-.\Release\scanner.obj
-.\Release\sgp.obj
-.\Release\strfuncs.obj
-.\Release\syserror.obj
-.\Release\trace.obj
-.\Release\transformmatrix.obj
-.\Release\xform.obj
+/nologo /G6 /MT /W3 /GR /GX /O2 /I "..\..\..\fftw-2.1.3\fftw" /I "\wx2.2.5\include" /I "\wx2.2.5\src\png" /I "\wx2.2.5\src\zlib" /I "..\..\include" /I "..\..\getopt" /I "..\..\..\fftw-2.1.3\rfftw" /D "NDEBUG" /D "__WXWIN__" /D "__WXMSW__" /D "HAVE_SGP" /D "HAVE_PNG" /D "HAVE_WXWINDOWS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_STRING_H" /D "HAVE_FFTW" /D "HAVE_RFFTW" /D "HAVE_GETOPT_H" /D "MSVC" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D CTSIMVERSION=\"3.0.0alpha5\" /FR"Release/" /Fp"Release/ctsim.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c 
+"C:\ctsim\src\dialogs.cpp"
 ]
-Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP473.tmp"
-<h3>Output Window</h3>
-Compiling...
-filter.cpp
-Creating library...
-<h3>
---------------------Configuration: ctsim - Win32 Release--------------------
-</h3>
-<h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP474.tmp" with contents
+Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP51C.tmp" 
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP51D.tmp" with contents
 [
 wsock32.lib tiff.lib jpeg.lib png.lib zlib.lib xpm.lib comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib htmlhelp.lib /nologo /subsystem:windows /incremental:no /pdb:"Release/ctsim.pdb" /machine:I386 /out:"Release/ctsim.exe" /libpath:"\wx2.2.5\lib" 
 .\Release\ctsim.obj
@@ -77,8 +33,10 @@ wsock32.lib tiff.lib jpeg.lib png.lib zlib.lib xpm.lib comctl32.lib kernel32.lib
 \wx2.2.5\lib\zlib.lib
 \wx2.2.5\lib\tiff.lib
 ]
-Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP474.tmp"
+Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP51D.tmp"
 <h3>Output Window</h3>
+Compiling...
+dialogs.cpp
 Linking...
 LINK : warning LNK4089: all references to "WSOCK32.dll" discarded by /OPT:REF
 
index 3886091c0b1e4412c462c77859f60364655d351c..3b6c3240c3cc74e24ae12e9f579f5c7e516c9658 100644 (file)
@@ -92,10 +92,6 @@ SOURCE=..\..\tools\ctsimtext.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\libctsupport\cubicinterp.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=..\..\tools\if1.cpp
 # End Source File
 # Begin Source File
index 246d2d1bdf4ff603f07a86acccb73f6b95864774..35ab913bd63e2680c3b015a826da5db52c1c84a0 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: ctsim.cpp,v 1.78 2001/02/16 00:28:41 kevin Exp $
+**  $Id: ctsim.cpp,v 1.79 2001/02/16 02:36:18 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
@@ -72,7 +72,7 @@
 #endif
 #endif
 
-static const char* rcsindent = "$Id: ctsim.cpp,v 1.78 2001/02/16 00:28:41 kevin Exp $";
+static const char* rcsindent = "$Id: ctsim.cpp,v 1.79 2001/02/16 02:36:18 kevin Exp $";
 
 struct option CTSimApp::ctsimOptions[] = 
 {
@@ -291,7 +291,6 @@ BEGIN_EVENT_TABLE(MainFrame, wxDocParentFrame)
 EVT_MENU(MAINMENU_FILE_PREFERENCES, MainFrame::OnPreferences)
 EVT_MENU(MAINMENU_HELP_ABOUT, MainFrame::OnAbout)
 EVT_MENU(MAINMENU_HELP_CONTENTS, MainFrame::OnHelpContents)
-EVT_MENU(MAINMENU_HELP_TOPICS, MainFrame::OnHelpTopics)
 EVT_BUTTON(IDH_DLG_RASTERIZE, MainFrame::OnHelpButton)
 EVT_BUTTON(IDH_DLG_PROJECTIONS, MainFrame::OnHelpButton)
 EVT_BUTTON(IDH_DLG_RECONSTRUCTION, MainFrame::OnHelpButton)
@@ -369,7 +368,6 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const
        
        wxMenu* help_menu = new wxMenu;
        help_menu->Append (MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-       help_menu->Append (MAINMENU_HELP_TOPICS, "&Topics\tCtrl-T");
 #if defined(CTSIM_WINHELP) && (defined(DEBUG) || defined(_DEBUG))
        help_menu->Append (MAINMENU_HELP_SECONDARY, "&Secondary Help");
 #endif
@@ -406,7 +404,6 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const
        
        wxAcceleratorEntry accelEntries[15];
        accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
-       accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
        accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
        accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
 #ifndef CTSIM_MDI
@@ -537,11 +534,6 @@ CTSimApp::getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector<Imag
        }
 }
 
-void 
-MainFrame::OnHelpTopics (wxCommandEvent& event)
-{
-       showHelp (event.GetId());
-}
 
 void 
 MainFrame::OnHelpContents (wxCommandEvent& event)
@@ -576,14 +568,6 @@ MainFrame::showHelp (int commandID)
 #endif
                break;
                
-       case MAINMENU_HELP_TOPICS:
-#ifdef CTSIM_WINHELP
-               m_winHelp.DisplaySection (IDH_INTRODUCTION);
-#else
-               m_htmlHelp.DisplayIndex();
-#endif
-               break;
-               
        default:
 #ifdef CTSIM_WINHELP
     m_winHelp.DisplaySection (commandID);
index bb91b857eeb3b36ac2e49db606077d486ff587fc..16799eb96c05904e544a8a86bd0305636fdba531 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctsim.h,v 1.46 2001/02/16 00:28:41 kevin Exp $
+**  $Id: ctsim.h,v 1.47 2001/02/16 02:36:18 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
@@ -135,7 +135,6 @@ public:
   void showHelp (int commandID);
 
   void OnAbout (wxCommandEvent& event);
-  void OnHelpTopics (wxCommandEvent& event);
   void OnHelpContents (wxCommandEvent& event);
   void OnCreatePhantom (wxCommandEvent& event);
   void OnPreferences (wxCommandEvent& event);
@@ -263,7 +262,6 @@ enum {
     MAINMENU_WINDOW_BASE = 500,
     MAINMENU_HELP_ABOUT = 600,
     MAINMENU_HELP_CONTENTS,
-    MAINMENU_HELP_TOPICS,
 #if defined(CTSIM_WINHELP) && (defined(DEBUG) || defined(_DEBUG))
     MAINMENU_HELP_SECONDARY,
 #endif
index d2fae8cedbe34f441b402dbea27c197691643964..11cb30c7b949a632a741b71f41f7b5dc96f00d47 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: dialogs.cpp,v 1.33 2001/02/16 00:28:41 kevin Exp $
+**  $Id: dialogs.cpp,v 1.34 2001/02/16 02:36:18 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
@@ -782,10 +782,27 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow*
   m_pRadioBoxFilter->SetSelection (iDefaultFilterID);
   pGridSizer->Add (m_pRadioBoxFilter, 0, wxALL | wxALIGN_LEFT | wxEXPAND);
   
-  m_pRadioBoxFilterMethod = new StringValueAndTitleRadioBox (this, _T("Filter Method"), ProcessSignal::getFilterMethodCount(), ProcessSignal::getFilterMethodTitleArray(), ProcessSignal::getFilterMethodNameArray());
-  m_pRadioBoxFilterMethod->SetSelection (iDefaultFilterMethodID);
-  pGridSizer->Add (m_pRadioBoxFilterMethod, 0, wxALL | wxALIGN_LEFT | wxEXPAND);
-  
+  if (theApp->getAdvancedOptions()) {
+    m_pRadioBoxFilterMethod = new StringValueAndTitleRadioBox (this, _T("Filter Method"), ProcessSignal::getFilterMethodCount(), ProcessSignal::getFilterMethodTitleArray(), ProcessSignal::getFilterMethodNameArray());
+    m_pRadioBoxFilterMethod->SetSelection (iDefaultFilterMethodID);
+    pGridSizer->Add (m_pRadioBoxFilterMethod, 0, wxALL | wxALIGN_LEFT | wxEXPAND);
+  } else {
+#if HAVE_FFTW
+    static const char* aszFilterMethodTitle[] = {"Convolution", "FFT"};
+    static const char* aszFilterMethodName[] = {"convolution", "rfftw"};
+#else
+    static const char* aszFilterMethodTitle[] = {"Convolution", "Fourier"};
+    static const char* aszFilterMethodName[] = {"convolution", "fourier-table"};
+#endif
+      m_pRadioBoxFilterMethod = new StringValueAndTitleRadioBox (this, _T("Filter Method"), 2, aszFilterMethodTitle, aszFilterMethodName);
+#if HAVE_FFTW
+      m_pRadioBoxFilterMethod->SetSelection (1);
+#else
+      m_pRadioBoxFilterMethod->SetSelection (0);
+#endif
+      pGridSizer->Add (m_pRadioBoxFilterMethod, 0, wxALL | wxALIGN_LEFT | wxEXPAND);
+  }
+
   if (theApp->getAdvancedOptions()) {
     m_pRadioBoxFilterGeneration = new StringValueAndTitleRadioBox (this, _T("Filter Generation"), ProcessSignal::getFilterGenerationCount(), ProcessSignal::getFilterGenerationTitleArray(), ProcessSignal::getFilterGenerationNameArray());
     m_pRadioBoxFilterGeneration->SetSelection (iDefaultFilterGenerationID);
index 71ae71b77e79471b421d4b49874278fed0344bbc..a391599a8012089e0cb04627db8cffb70d3942c2 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: graph3dview.cpp,v 1.12 2001/02/08 22:38:23 kevin Exp $
+**  $Id: graph3dview.cpp,v 1.13 2001/02/16 02:36:18 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
@@ -772,7 +772,6 @@ Graph3dFileView::CreateChildFrame (wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -784,23 +783,18 @@ Graph3dFileView::CreateChildFrame (wxDocument *doc, wxView *view)
   subframe->SetMenuBar(menu_bar);
   
   subframe->Centre(wxBOTH);
-  
-  wxAcceleratorEntry accelEntries[12];
-  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
-  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
-  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
-  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
-  accelEntries[4].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
-  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('R'), GRAPH3D_VIEW_SURFACE);
-  accelEntries[6].Set (wxACCEL_CTRL, static_cast<int>('L'), GRAPH3D_VIEW_COLOR);
-  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('G'), GRAPH3D_VIEW_LIGHTING);
-  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('M'), GRAPH3D_VIEW_SMOOTH);
-  accelEntries[9].Set (wxACCEL_CTRL, static_cast<int>('E'), GRAPH3D_VIEW_SCALE_MINMAX);
-  accelEntries[10].Set (wxACCEL_CTRL, static_cast<int>('A'), GRAPH3D_VIEW_SCALE_AUTO);
-  accelEntries[11].Set (wxACCEL_CTRL, static_cast<int>('U'), GRAPH3D_VIEW_SCALE_FULL);
-  wxAcceleratorTable accelTable (12, accelEntries);
+
+  wxAcceleratorEntry accelEntries[7];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('R'), GRAPH3D_VIEW_SURFACE);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('L'), GRAPH3D_VIEW_COLOR);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('G'), GRAPH3D_VIEW_LIGHTING);
+  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('M'), GRAPH3D_VIEW_SMOOTH);
+  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('E'), GRAPH3D_VIEW_SCALE_MINMAX);
+  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('A'), GRAPH3D_VIEW_SCALE_AUTO);
+  accelEntries[6].Set (wxACCEL_CTRL, static_cast<int>('U'), GRAPH3D_VIEW_SCALE_FULL);
+  wxAcceleratorTable accelTable (7, accelEntries);
   subframe->SetAcceleratorTable (accelTable);
-  
+
   return subframe;
 }
 
index a9b97815d62e2e72ae9ab39b66c38c570165421b..306ce5b8c2405d4659409e429911a7e3ecb7aeaf 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.104 2001/02/14 18:39:47 kevin Exp $
+**  $Id: views.cpp,v 1.105 2001/02/16 02:36:18 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
@@ -911,7 +911,6 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -927,22 +926,15 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   subframe->Centre(wxBOTH);
   
-  wxAcceleratorEntry accelEntries[11];
-  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
-  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
-  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('W'), wxID_CLOSE);
-  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
-  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
-  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
-  accelEntries[6].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
-  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('A'), IFMENU_VIEW_SCALE_AUTO);
-  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('U'), IFMENU_VIEW_SCALE_FULL);
-  accelEntries[9].Set (wxACCEL_CTRL, static_cast<int>('E'), IFMENU_VIEW_SCALE_MINMAX);
+  wxAcceleratorEntry accelEntries[4];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('A'), IFMENU_VIEW_SCALE_AUTO);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('U'), IFMENU_VIEW_SCALE_FULL);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('E'), IFMENU_VIEW_SCALE_MINMAX);
 #if wxUSE_GLCANVAS
-  accelEntries[10].Set (wxACCEL_CTRL, static_cast<int>('3'), IFMENU_IMAGE_CONVERT3D);
-  wxAcceleratorTable accelTable (11, accelEntries);
+  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('3'), IFMENU_IMAGE_CONVERT3D);
+  wxAcceleratorTable accelTable (4, accelEntries);
 #else
-  wxAcceleratorTable accelTable (10, accelEntries);
+  wxAcceleratorTable accelTable (3, accelEntries);
 #endif
 
   subframe->SetAcceleratorTable (accelTable);
@@ -2091,7 +2083,6 @@ PhantomFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -2103,16 +2094,10 @@ PhantomFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   subframe->SetMenuBar(menu_bar);
   subframe->Centre(wxBOTH);
   
-  wxAcceleratorEntry accelEntries[8];
-  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
-  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
-  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
-  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
-  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
-  accelEntries[5].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
-  accelEntries[6].Set (wxACCEL_CTRL, static_cast<int>('J'), PHMMENU_PROCESS_PROJECTIONS);
-  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('R'), PHMMENU_PROCESS_RASTERIZE);
-  wxAcceleratorTable accelTable (8, accelEntries);
+  wxAcceleratorEntry accelEntries[2];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('J'), PHMMENU_PROCESS_PROJECTIONS);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('R'), PHMMENU_PROCESS_RASTERIZE);
+  wxAcceleratorTable accelTable (2, accelEntries);
   subframe->SetAcceleratorTable (accelTable);
   
   return subframe;
@@ -2511,7 +2496,6 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -2524,19 +2508,12 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   subframe->SetMenuBar(menu_bar);  
   subframe->Centre(wxBOTH);
   
-  wxAcceleratorEntry accelEntries[11];
-  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
-  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
-  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('W'), wxID_CLOSE);
-  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
-  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
-  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
-  accelEntries[6].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
-  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('L'), PJMENU_CONVERT_POLAR);
-  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('I'), PJMENU_CONVERT_FFT_POLAR);
-  accelEntries[9].Set (wxACCEL_CTRL, static_cast<int>('R'), PJMENU_RECONSTRUCT_FBP);
-  accelEntries[10].Set (wxACCEL_CTRL, static_cast<int>('E'), PJMENU_RECONSTRUCT_FOURIER);
-  wxAcceleratorTable accelTable (11, accelEntries);
+  wxAcceleratorEntry accelEntries[4];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('L'), PJMENU_CONVERT_POLAR);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('I'), PJMENU_CONVERT_FFT_POLAR);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('R'), PJMENU_RECONSTRUCT_FBP);
+  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('E'), PJMENU_RECONSTRUCT_FOURIER);
+  wxAcceleratorTable accelTable (4, accelEntries);
   subframe->SetAcceleratorTable (accelTable);
   
   return subframe;
@@ -2838,7 +2815,6 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -2850,18 +2826,11 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   subframe->SetMenuBar(menu_bar);
   subframe->Centre(wxBOTH);
   
-  wxAcceleratorEntry accelEntries[10];
-  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
-  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
-  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('W'), wxID_CLOSE);
-  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
-  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
-  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
-  accelEntries[6].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
-  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('E'), PLOTMENU_VIEW_SCALE_MINMAX);
-  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('A'), PLOTMENU_VIEW_SCALE_AUTO);
-  accelEntries[9].Set (wxACCEL_CTRL, static_cast<int>('U'), PLOTMENU_VIEW_SCALE_FULL);
-  wxAcceleratorTable accelTable (10, accelEntries);
+  wxAcceleratorEntry accelEntries[3];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('E'), PLOTMENU_VIEW_SCALE_MINMAX);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('A'), PLOTMENU_VIEW_SCALE_AUTO);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('U'), PLOTMENU_VIEW_SCALE_FULL);
+  wxAcceleratorTable accelTable (3, accelEntries);
   subframe->SetAcceleratorTable (accelTable);
   
   return subframe;
@@ -3091,7 +3060,6 @@ TextFileView::CreateChildFrame (wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -3101,16 +3069,7 @@ TextFileView::CreateChildFrame (wxDocument *doc, wxView *view)
   
   subframe->SetMenuBar(menu_bar);
   subframe->Centre(wxBOTH);
-  
-  wxAcceleratorEntry accelEntries[5];
-  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
-  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
-  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('W'), wxID_CLOSE);
-  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
-  accelEntries[4].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
-  wxAcceleratorTable accelTable (5, accelEntries);
-  subframe->SetAcceleratorTable (accelTable);
-  
+    
   return subframe;
 }