\hypertarget{classEControlPanel}{
\subsection{EControlPanel Class Reference}
\label{classEControlPanel}\index{EControlPanel@{EControlPanel}}
}


Control panel for running 3B plugin and providing interactive update.  


\subsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classEControlPanel_a502200a9ac44dcb54bc60f08661bdeac}{windowOpened} (WindowEvent e)
\item 
void \hyperlink{classEControlPanel_a62356db679b7fb5ef8f8540f4a8da240}{windowClosed} (WindowEvent e)
\item 
void \hyperlink{classEControlPanel_aa08265ee2a982e2a765cc132632c8c47}{windowDeactivated} (WindowEvent e)
\item 
void \hyperlink{classEControlPanel_a31c3f8e145db9369a7b1fae2bc6893c6}{windowActivated} (WindowEvent e)
\item 
void \hyperlink{classEControlPanel_ac21f07d9dd67d500f768c3608d80af73}{windowDeiconified} (WindowEvent e)
\item 
void \hyperlink{classEControlPanel_a398975bfb05ee8f1f164b9e65b3673a0}{windowIconified} (WindowEvent e)
\item 
void \hyperlink{classEControlPanel_a63335d5dc9e42a2671bccd308d971710}{windowClosing} (WindowEvent e)
\item 
void \hyperlink{classEControlPanel_a1e7983e5966d62d0e99ac17f9ab3745e}{issue\_\-stop} ()
\item 
synchronized void \hyperlink{classEControlPanel_a75173181ffec10cd35b2eaa5b4697b85}{append} (final ArrayList$<$ \hyperlink{classSpot}{Spot} $>$ p, int its)
\item 
void \hyperlink{classEControlPanel_abdf025a152cf7017fa4da681d98f0c03}{send\_\-update\_\-canvas\_\-event} ()
\item 
void \hyperlink{classEControlPanel_a3b4ffc00fbcac94c5df5bf2153709560}{die} (final String s)
\item 
void \hyperlink{classEControlPanel_a55dea63199eb400d0b9b4602860b4362}{send\_\-status\_\-text\_\-message} (final String s)
\item 
void \hyperlink{classEControlPanel_a3fa7ba1752359da6e55f54f6e3d4e26c}{send\_\-time\_\-text\_\-message} (final String s)
\end{DoxyCompactItemize}
\subsubsection*{Package Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classEControlPanel_a71d203c89a0e0da074419b1cfb2f847c}{EControlPanel} (Rectangle roi\_\-, double ps\_\-, String filename\_\-, \hyperlink{classThreeBRunner}{ThreeBRunner} tbr\_\-)
\item 
void \hyperlink{classEControlPanel_ab7c477aa928510d903ddd4b4cdc41323}{export\_\-reconstruction\_\-as\_\-ij} ()
\end{DoxyCompactItemize}
\subsubsection*{Package Attributes}
\begin{DoxyCompactItemize}
\item 
JButton \hyperlink{classEControlPanel_aca0937d44fe9a7b7e61cf67f90cddb04}{exportButton}
\item 
JButton \hyperlink{classEControlPanel_a38ffa2f0efcd276ea0f93c9484723011}{closeButton}
\item 
JLabel \hyperlink{classEControlPanel_acc841959e1713a02de2c45e94124ce5a}{time\_\-msg}
\end{DoxyCompactItemize}
\subsubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
GridBagConstraints \hyperlink{classEControlPanel_a7d63094c185885891a73d29b3a845416}{canvas\_\-pos} ()
\item 
GridBagConstraints \hyperlink{classEControlPanel_a72e9f22bdff05fc1bdb27f032091983b}{status\_\-pos} ()
\item 
GridBagConstraints \hyperlink{classEControlPanel_aa6ad8517f61a140f4e0fa332179bd51a}{time\_\-pos} ()
\item 
GridBagConstraints \hyperlink{classEControlPanel_a5d676ae7c55cc874c03d77ca91f2329d}{buttons\_\-pos} ()
\item 
GridBagConstraints \hyperlink{classEControlPanel_a3aa907eaf71e99189f58f8aeee545d90}{pixel\_\-size\_\-pos} ()
\item 
GridBagConstraints \hyperlink{classEControlPanel_ac40b3122bb00a4e07c79bf2e0f3b55ef}{blur\_\-pos} ()
\item 
void \hyperlink{classEControlPanel_a36fd94df78f408eae23b8990e613415b}{set\_\-status} (String s)
\item 
void \hyperlink{classEControlPanel_aa28ff2fd6bd144bd3944445c9a0a0d4c}{set\_\-time} (String s)
\item 
synchronized void \hyperlink{classEControlPanel_a135b95a541974d0672a5ac66903cd4a8}{update\_\-canvas} ()
\item 
synchronized FloatProcessor \hyperlink{classEControlPanel_a980be69b571a5bc354b4e6f8d0dfa4b4}{reconstruct} ()
\end{DoxyCompactItemize}
\subsubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
ImagePlus \hyperlink{classEControlPanel_a8cef33bb4ccab2354fd85b5948cdae17}{linear\_\-reconstruction}
\item 
ImageCanvas \hyperlink{classEControlPanel_a5d1b7babc1e37fed2c5ea16dd2bc5968}{canvas}
\item 
JButton \hyperlink{classEControlPanel_a3ae830fdca1181ee4964cc8578f36572}{stopButton}
\item 
Color \hyperlink{classEControlPanel_a4d6543602bb6c0055b2dc6e37311bf26}{exportButtonColor}
\item 
JLabel \hyperlink{classEControlPanel_a1b5665c04095115fd218f1e80557ba4e}{status}
\item 
\hyperlink{classFloatSliderWithBox}{FloatSliderWithBox} \hyperlink{classEControlPanel_a4f74a128bf715e2f42c470eaa4854c59}{blur\_\-fwhm}
\item 
\hyperlink{classFloatSliderWithBox}{FloatSliderWithBox} \hyperlink{classEControlPanel_abe0df73b845f1322cad446ffd47aab95}{reconstructed\_\-pixel\_\-size}
\item 
Panel \hyperlink{classEControlPanel_a71d673dde24c4fecff6bab86ff903ad4}{complete}
\item 
JPanel \hyperlink{classEControlPanel_a10164c0942a9383d84b831052b4735ed}{buttons}
\item 
\hyperlink{classThreeBRunner}{ThreeBRunner} \hyperlink{classEControlPanel_ac36ef77224ee59bd42365f897a0bdb27}{tbr}
\item 
ArrayList$<$ \hyperlink{classSpot}{Spot} $>$ \hyperlink{classEControlPanel_ac1ae258af9f6d45dd9262ffe0b0006f8}{pts}
\item 
Rectangle \hyperlink{classEControlPanel_aeac90d02e94b7ef5fedaa8ca3ec80371}{roi}
\item 
double \hyperlink{classEControlPanel_a3cb8cc11303c091bdf451cb06f5beaf8}{zoom} = 0.01
\item 
double \hyperlink{classEControlPanel_ad7616019f29805721ce5eb5e01fa605a}{reconstruction\_\-blur\_\-fwhm} = .5
\item 
double \hyperlink{classEControlPanel_a59af9e9c8d07e5a3d3bfc21b45deebc3}{pixel\_\-size\_\-in\_\-nm}
\item 
String \hyperlink{classEControlPanel_aa42039fbc01ad784740efc758b9bb7d3}{filename}
\item 
int \hyperlink{classEControlPanel_aff9957a81412c8e35d2b55115a009cd1}{iterations} = 0
\end{DoxyCompactItemize}


\subsubsection{Detailed Description}
Control panel for running 3B plugin and providing interactive update. 

Definition at line 888 of file three\_\-B.java.



\subsubsection{Constructor \& Destructor Documentation}
\hypertarget{classEControlPanel_a71d203c89a0e0da074419b1cfb2f847c}{
\index{EControlPanel@{EControlPanel}!EControlPanel@{EControlPanel}}
\index{EControlPanel@{EControlPanel}!EControlPanel@{EControlPanel}}
\paragraph[{EControlPanel}]{\setlength{\rightskip}{0pt plus 5cm}EControlPanel::EControlPanel (
\begin{DoxyParamCaption}
\item[{Rectangle}]{roi\_\-, }
\item[{double}]{ps\_\-, }
\item[{String}]{filename\_\-, }
\item[{{\bf ThreeBRunner}}]{tbr\_\-}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, package\mbox{]}}}}
\label{classEControlPanel_a71d203c89a0e0da074419b1cfb2f847c}


Definition at line 918 of file three\_\-B.java.



References FloatSliderWithBox::addChangeListener(), blur\_\-fwhm, blur\_\-pos(), buttons, buttons\_\-pos(), canvas, canvas\_\-pos(), closeButton, complete, exportButton, exportButtonColor, filename, linear\_\-reconstruction, pixel\_\-size\_\-in\_\-nm, pixel\_\-size\_\-pos(), pts, reconstruct(), reconstructed\_\-pixel\_\-size, ThreeBRunner::register(), roi, set\_\-status(), set\_\-time(), FloatSliderWithBox::setFormat(), FloatSliderWithBox::setUnits(), status, status\_\-pos(), stopButton, tbr, time\_\-msg, and time\_\-pos().


\begin{DoxyCode}
    {
        //Constract superclass
        super(filename_);

        tbr = tbr_;
        filename=filename_;

        roi = roi_;
        pixel_size_in_nm = ps_;
        pts = new ArrayList<Spot>();

    
        //Now generate the dialog box
        complete = new Panel(new GridBagLayout());

        //Create the image viewer
        linear_reconstruction = new ImagePlus();
        linear_reconstruction.setProcessor(reconstruct());
        canvas = new ImageCanvas(linear_reconstruction);
        
        //Make the image scrollable. This seems to work, if the correct cargo-cul
      ting
        //is performed with the gridbaglayout fill constraints. I don't really un
      derstand why.
        ScrollPane scroll = new ScrollPane();
        scroll.add(canvas);
        complete.add(scroll, canvas_pos());

        //Create the status message
        status = new JLabel();
        if(tbr != null)
            set_status("Running.");
        else
            set_status("Using loaded data.");
        complete.add(status, status_pos());
        
        //Create the ETA massage
        time_msg = new JLabel();
        if(tbr != null)
            set_time("unknown");
        else
            set_time("not running");
        complete.add(time_msg, time_pos());
        

        
        //The two control sliders
        blur_fwhm = new FloatSliderWithBox("Reconstruction blur FWHM", 0, 150, 10
      0.0, 5, false);
        blur_fwhm.setUnits("nm").setFormat("%5.1f");
        blur_fwhm.addChangeListener(new SomethingChanges(this));
        complete.add(blur_fwhm, blur_pos());

        reconstructed_pixel_size = new FloatSliderWithBox("Reconstructed pixel si
      ze", 1, 300, 10.0, 5, true);
        reconstructed_pixel_size.setUnits("nm").setFormat("%5.1f");
        reconstructed_pixel_size.addChangeListener(new SomethingChanges(this));
        complete.add(reconstructed_pixel_size, pixel_size_pos());

        //The button bar
        buttons = new JPanel();
        
        exportButton = new JButton("Export...");
        exportButton.addActionListener(new ExportButtonListener(this));
        buttons.add(exportButton);
        exportButtonColor = exportButton.getBackground();
        
        //No point in having a stop button if this is just a viewer
        if(tbr != null)
        {
            stopButton = new JButton("Stop");
            stopButton.addActionListener(new StopButtonListener(this));
            buttons.add(stopButton);
        }

        closeButton = new JButton("Close");
        closeButton.addActionListener(new CloseButtonListener(this));
        buttons.add(closeButton);


        complete.add(buttons, buttons_pos());

        getContentPane().add(complete);
        
        //This class knows how to handle window close events.
        //Don't close the window by default, so we can try to bring up a 
        //confirmation dialog.
        addWindowListener(this);
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        

        //Cargo culting...
        pack();
        setVisible(true);
        validate();


        //Start the 3B thread, if we have one to run.
        if(tbr != null)
        {
            tbr.register(this);
            Thread t = new Thread(tbr);
            t.start();
        }
    }
\end{DoxyCode}


\subsubsection{Member Function Documentation}
\hypertarget{classEControlPanel_a7d63094c185885891a73d29b3a845416}{
\index{EControlPanel@{EControlPanel}!canvas\_\-pos@{canvas\_\-pos}}
\index{canvas\_\-pos@{canvas\_\-pos}!EControlPanel@{EControlPanel}}
\paragraph[{canvas\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}GridBagConstraints EControlPanel::canvas\_\-pos (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_a7d63094c185885891a73d29b3a845416}


Definition at line 1022 of file three\_\-B.java.



Referenced by EControlPanel().


\begin{DoxyCode}
    {
        GridBagConstraints g = new GridBagConstraints();
        g.gridx = 0;
        g.gridy = 0;
        g.fill = GridBagConstraints.BOTH;
        g.weightx=100;
        g.weighty=100;
        return g;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a72e9f22bdff05fc1bdb27f032091983b}{
\index{EControlPanel@{EControlPanel}!status\_\-pos@{status\_\-pos}}
\index{status\_\-pos@{status\_\-pos}!EControlPanel@{EControlPanel}}
\paragraph[{status\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}GridBagConstraints EControlPanel::status\_\-pos (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_a72e9f22bdff05fc1bdb27f032091983b}


Definition at line 1033 of file three\_\-B.java.



Referenced by EControlPanel().


\begin{DoxyCode}
    {
        GridBagConstraints g = new GridBagConstraints();
        g.gridx = 0;
        g.gridy = 1;
        g.anchor = GridBagConstraints.FIRST_LINE_START;
        g.fill = GridBagConstraints.BOTH;
        return g;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_aa6ad8517f61a140f4e0fa332179bd51a}{
\index{EControlPanel@{EControlPanel}!time\_\-pos@{time\_\-pos}}
\index{time\_\-pos@{time\_\-pos}!EControlPanel@{EControlPanel}}
\paragraph[{time\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}GridBagConstraints EControlPanel::time\_\-pos (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_aa6ad8517f61a140f4e0fa332179bd51a}


Definition at line 1043 of file three\_\-B.java.



Referenced by EControlPanel().


\begin{DoxyCode}
    {
        GridBagConstraints g = new GridBagConstraints();
        g.gridx = 0;
        g.gridy = 2;
        g.anchor = GridBagConstraints.FIRST_LINE_START;
        g.fill = GridBagConstraints.BOTH;
        return g;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a5d676ae7c55cc874c03d77ca91f2329d}{
\index{EControlPanel@{EControlPanel}!buttons\_\-pos@{buttons\_\-pos}}
\index{buttons\_\-pos@{buttons\_\-pos}!EControlPanel@{EControlPanel}}
\paragraph[{buttons\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}GridBagConstraints EControlPanel::buttons\_\-pos (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_a5d676ae7c55cc874c03d77ca91f2329d}


Definition at line 1052 of file three\_\-B.java.



Referenced by EControlPanel().


\begin{DoxyCode}
    {
        GridBagConstraints g = new GridBagConstraints();
        g.gridx = 0;
        g.gridy = 5;
        g.fill = GridBagConstraints.BOTH;
        return g;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a3aa907eaf71e99189f58f8aeee545d90}{
\index{EControlPanel@{EControlPanel}!pixel\_\-size\_\-pos@{pixel\_\-size\_\-pos}}
\index{pixel\_\-size\_\-pos@{pixel\_\-size\_\-pos}!EControlPanel@{EControlPanel}}
\paragraph[{pixel\_\-size\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}GridBagConstraints EControlPanel::pixel\_\-size\_\-pos (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_a3aa907eaf71e99189f58f8aeee545d90}


Definition at line 1061 of file three\_\-B.java.



Referenced by EControlPanel().


\begin{DoxyCode}
    {
        GridBagConstraints g = new GridBagConstraints();
        g.gridx = 0;
        g.gridy = 4;
        g.anchor = GridBagConstraints.FIRST_LINE_START;
        g.fill = GridBagConstraints.BOTH;
        return g;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_ac40b3122bb00a4e07c79bf2e0f3b55ef}{
\index{EControlPanel@{EControlPanel}!blur\_\-pos@{blur\_\-pos}}
\index{blur\_\-pos@{blur\_\-pos}!EControlPanel@{EControlPanel}}
\paragraph[{blur\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}GridBagConstraints EControlPanel::blur\_\-pos (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_ac40b3122bb00a4e07c79bf2e0f3b55ef}


Definition at line 1071 of file three\_\-B.java.



Referenced by EControlPanel().


\begin{DoxyCode}
    {
        GridBagConstraints g = new GridBagConstraints();
        g.gridx = 0;
        g.gridy = 3;
        g.anchor = GridBagConstraints.FIRST_LINE_START;
        g.fill = GridBagConstraints.BOTH;
        return g;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a36fd94df78f408eae23b8990e613415b}{
\index{EControlPanel@{EControlPanel}!set\_\-status@{set\_\-status}}
\index{set\_\-status@{set\_\-status}!EControlPanel@{EControlPanel}}
\paragraph[{set\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::set\_\-status (
\begin{DoxyParamCaption}
\item[{String}]{s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_a36fd94df78f408eae23b8990e613415b}


Definition at line 1081 of file three\_\-B.java.



References status.



Referenced by EControlPanel(), and send\_\-status\_\-text\_\-message().


\begin{DoxyCode}
    {
        status.setText("Status: " + s);
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_aa28ff2fd6bd144bd3944445c9a0a0d4c}{
\index{EControlPanel@{EControlPanel}!set\_\-time@{set\_\-time}}
\index{set\_\-time@{set\_\-time}!EControlPanel@{EControlPanel}}
\paragraph[{set\_\-time}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::set\_\-time (
\begin{DoxyParamCaption}
\item[{String}]{s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_aa28ff2fd6bd144bd3944445c9a0a0d4c}


Definition at line 1086 of file three\_\-B.java.



References time\_\-msg.



Referenced by EControlPanel(), and send\_\-time\_\-text\_\-message().


\begin{DoxyCode}
    {
        time_msg.setText("Estimated time: " + s);
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a135b95a541974d0672a5ac66903cd4a8}{
\index{EControlPanel@{EControlPanel}!update\_\-canvas@{update\_\-canvas}}
\index{update\_\-canvas@{update\_\-canvas}!EControlPanel@{EControlPanel}}
\paragraph[{update\_\-canvas}]{\setlength{\rightskip}{0pt plus 5cm}synchronized void EControlPanel::update\_\-canvas (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_a135b95a541974d0672a5ac66903cd4a8}


Generic redraw function which recomputes the reconstruction. 

this is a synchronized method since it makes use of the shared writable array of points. 

Definition at line 1094 of file three\_\-B.java.



References blur\_\-fwhm, canvas, ThreeBGlobalConstants::critical\_\-iterations, exportButton, exportButtonColor, FloatSliderWithBox::getValue(), iterations, linear\_\-reconstruction, pixel\_\-size\_\-in\_\-nm, reconstruct(), reconstructed\_\-pixel\_\-size, reconstruction\_\-blur\_\-fwhm, and zoom.



Referenced by send\_\-update\_\-canvas\_\-event().


\begin{DoxyCode}
    {
        reconstruction_blur_fwhm = blur_fwhm.getValue();
        zoom = pixel_size_in_nm / reconstructed_pixel_size.getValue();

        linear_reconstruction.setProcessor(reconstruct());
        linear_reconstruction.updateImage();
        linear_reconstruction.updateAndRepaintWindow();
        canvas.repaint();   
        //Update the canvas size and viewport to prevent funny things with zoomin
      g.
        canvas.setDrawingSize(linear_reconstruction.getWidth(), 
      linear_reconstruction.getHeight());
        canvas.setSourceRect(new Rectangle(linear_reconstruction.getWidth(), 
      linear_reconstruction.getHeight()));
        //validate();
        //pack();

        if(iterations >= ThreeBGlobalConstants.critical_iterations)
        {
            exportButton.setBackground(exportButtonColor);
        }
        else
        {
            exportButton.setBackground(Color.RED);
        }

    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a502200a9ac44dcb54bc60f08661bdeac}{
\index{EControlPanel@{EControlPanel}!windowOpened@{windowOpened}}
\index{windowOpened@{windowOpened}!EControlPanel@{EControlPanel}}
\paragraph[{windowOpened}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::windowOpened (
\begin{DoxyParamCaption}
\item[{WindowEvent}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a502200a9ac44dcb54bc60f08661bdeac}


Definition at line 1123 of file three\_\-B.java.


\begin{DoxyCode}
{ }
\end{DoxyCode}
\hypertarget{classEControlPanel_a62356db679b7fb5ef8f8540f4a8da240}{
\index{EControlPanel@{EControlPanel}!windowClosed@{windowClosed}}
\index{windowClosed@{windowClosed}!EControlPanel@{EControlPanel}}
\paragraph[{windowClosed}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::windowClosed (
\begin{DoxyParamCaption}
\item[{WindowEvent}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a62356db679b7fb5ef8f8540f4a8da240}


Definition at line 1124 of file three\_\-B.java.


\begin{DoxyCode}
{}
\end{DoxyCode}
\hypertarget{classEControlPanel_aa08265ee2a982e2a765cc132632c8c47}{
\index{EControlPanel@{EControlPanel}!windowDeactivated@{windowDeactivated}}
\index{windowDeactivated@{windowDeactivated}!EControlPanel@{EControlPanel}}
\paragraph[{windowDeactivated}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::windowDeactivated (
\begin{DoxyParamCaption}
\item[{WindowEvent}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_aa08265ee2a982e2a765cc132632c8c47}


Definition at line 1125 of file three\_\-B.java.


\begin{DoxyCode}
{ }
\end{DoxyCode}
\hypertarget{classEControlPanel_a31c3f8e145db9369a7b1fae2bc6893c6}{
\index{EControlPanel@{EControlPanel}!windowActivated@{windowActivated}}
\index{windowActivated@{windowActivated}!EControlPanel@{EControlPanel}}
\paragraph[{windowActivated}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::windowActivated (
\begin{DoxyParamCaption}
\item[{WindowEvent}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a31c3f8e145db9369a7b1fae2bc6893c6}


Definition at line 1126 of file three\_\-B.java.


\begin{DoxyCode}
{ }
\end{DoxyCode}
\hypertarget{classEControlPanel_ac21f07d9dd67d500f768c3608d80af73}{
\index{EControlPanel@{EControlPanel}!windowDeiconified@{windowDeiconified}}
\index{windowDeiconified@{windowDeiconified}!EControlPanel@{EControlPanel}}
\paragraph[{windowDeiconified}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::windowDeiconified (
\begin{DoxyParamCaption}
\item[{WindowEvent}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_ac21f07d9dd67d500f768c3608d80af73}


Definition at line 1127 of file three\_\-B.java.


\begin{DoxyCode}
{ }
\end{DoxyCode}
\hypertarget{classEControlPanel_a398975bfb05ee8f1f164b9e65b3673a0}{
\index{EControlPanel@{EControlPanel}!windowIconified@{windowIconified}}
\index{windowIconified@{windowIconified}!EControlPanel@{EControlPanel}}
\paragraph[{windowIconified}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::windowIconified (
\begin{DoxyParamCaption}
\item[{WindowEvent}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a398975bfb05ee8f1f164b9e65b3673a0}


Definition at line 1128 of file three\_\-B.java.


\begin{DoxyCode}
{ }
\end{DoxyCode}
\hypertarget{classEControlPanel_a63335d5dc9e42a2671bccd308d971710}{
\index{EControlPanel@{EControlPanel}!windowClosing@{windowClosing}}
\index{windowClosing@{windowClosing}!EControlPanel@{EControlPanel}}
\paragraph[{windowClosing}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::windowClosing (
\begin{DoxyParamCaption}
\item[{WindowEvent}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a63335d5dc9e42a2671bccd308d971710}


Send a stop message to the thread if the window is closed. 



Definition at line 1131 of file three\_\-B.java.



References ThreeBRunner::has\_\-stopped(), ThreeBRunner::stop\_\-thread(), and tbr.


\begin{DoxyCode}
    {
        if(tbr != null && !tbr.has_stopped())
        {
            int confirmed = JOptionPane.showConfirmDialog(null, "3B still running
      ! Closing will terminate the run. Really close?", "User Confirmation", JOptionPan
      e.YES_NO_OPTION);

            if (confirmed == JOptionPane.YES_OPTION)
            {
                dispose();
                tbr.stop_thread();
            }

        }
        else
        {
            //OK to close
            dispose();
        }
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_ab7c477aa928510d903ddd4b4cdc41323}{
\index{EControlPanel@{EControlPanel}!export\_\-reconstruction\_\-as\_\-ij@{export\_\-reconstruction\_\-as\_\-ij}}
\index{export\_\-reconstruction\_\-as\_\-ij@{export\_\-reconstruction\_\-as\_\-ij}!EControlPanel@{EControlPanel}}
\paragraph[{export\_\-reconstruction\_\-as\_\-ij}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::export\_\-reconstruction\_\-as\_\-ij (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, package\mbox{]}}}}
\label{classEControlPanel_ab7c477aa928510d903ddd4b4cdc41323}


Generate a fresh ImageJ image in a standard imageJ window, so that ti can be manipulated using the usual ImageJ commands. 

The image is size calibrated, so scalebars are easy to add. 

Definition at line 1154 of file three\_\-B.java.



References filename, FloatSliderWithBox::getValue(), linear\_\-reconstruction, and reconstructed\_\-pixel\_\-size.



Referenced by ExportButtonListener::actionPerformed().


\begin{DoxyCode}
    {
        ImageProcessor export = linear_reconstruction.getProcessor().duplicate();
      
        ImagePlus export_win = new ImagePlus(filename + " reconstruction", export
      );
        export_win.getCalibration().pixelWidth = reconstructed_pixel_size.
      getValue();
        export_win.getCalibration().pixelHeight = reconstructed_pixel_size.
      getValue();
        export_win.getCalibration().setXUnit("nm");
        export_win.getCalibration().setYUnit("nm");
        export_win.show();
        export_win.updateAndDraw();
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a980be69b571a5bc354b4e6f8d0dfa4b4}{
\index{EControlPanel@{EControlPanel}!reconstruct@{reconstruct}}
\index{reconstruct@{reconstruct}!EControlPanel@{EControlPanel}}
\paragraph[{reconstruct}]{\setlength{\rightskip}{0pt plus 5cm}synchronized FloatProcessor EControlPanel::reconstruct (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classEControlPanel_a980be69b571a5bc354b4e6f8d0dfa4b4}


Compute a brand new reconstruction. 



Definition at line 1167 of file three\_\-B.java.



References pixel\_\-size\_\-in\_\-nm, pts, reconstruction\_\-blur\_\-fwhm, roi, and zoom.



Referenced by EControlPanel(), and update\_\-canvas().


\begin{DoxyCode}
    {
        //Reconstruct an image which is based around the ROI in size
        int xoff = (int)roi.x;
        int yoff = (int)roi.y;

        int xsize = (int)Math.ceil(roi.width * zoom);
        int ysize = (int)Math.ceil(roi.height * zoom);
        
        //New blank image set to zero
        FloatProcessor reconstructed = new FloatProcessor(xsize, ysize);

        for(int i=0; i < pts.size(); i++)
        {
            
            //Increment the count 
            int xc = (int)Math.floor((pts.get(i).x-xoff) * zoom + 0.5);
            int yc = (int)Math.floor((pts.get(i).y-yoff) * zoom + 0.5);
            float p = reconstructed.getPixelValue(xc, yc);
            reconstructed.putPixelValue(xc, yc, p+1);
        }

        double blur_sigma = reconstruction_blur_fwhm / (2 * Math.sqrt(2 * Math.lo
      g(2))) * zoom / pixel_size_in_nm;

        (new GaussianBlur()).blurGaussian(reconstructed, blur_sigma, blur_sigma, 
      0.005);
        return reconstructed;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a1e7983e5966d62d0e99ac17f9ab3745e}{
\index{EControlPanel@{EControlPanel}!issue\_\-stop@{issue\_\-stop}}
\index{issue\_\-stop@{issue\_\-stop}!EControlPanel@{EControlPanel}}
\paragraph[{issue\_\-stop}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::issue\_\-stop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a1e7983e5966d62d0e99ac17f9ab3745e}


Definition at line 1196 of file three\_\-B.java.



References ThreeBRunner::stop\_\-thread(), stopButton, and tbr.



Referenced by StopButtonListener::actionPerformed().


\begin{DoxyCode}
    {
        if(tbr != null)
            tbr.stop_thread();
        stopButton.setEnabled(false);
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a75173181ffec10cd35b2eaa5b4697b85}{
\index{EControlPanel@{EControlPanel}!append@{append}}
\index{append@{append}!EControlPanel@{EControlPanel}}
\paragraph[{append}]{\setlength{\rightskip}{0pt plus 5cm}synchronized void EControlPanel::append (
\begin{DoxyParamCaption}
\item[{final ArrayList$<$ {\bf Spot} $>$}]{p, }
\item[{int}]{its}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a75173181ffec10cd35b2eaa5b4697b85}


Callback issued by the runnre thread which appends the latest set of points to the array. 

This is synchronized since it involves the shared writable array of points. 

Definition at line 1208 of file three\_\-B.java.



References iterations, and pts.



Referenced by ThreeBLoader::run(), and ThreeBRunner::send\_\-new\_\-points().


\begin{DoxyCode}
    {
        for(int i=0; i < p.size(); i++)
            pts.add(p.get(i));

        iterations = its;
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_abdf025a152cf7017fa4da681d98f0c03}{
\index{EControlPanel@{EControlPanel}!send\_\-update\_\-canvas\_\-event@{send\_\-update\_\-canvas\_\-event}}
\index{send\_\-update\_\-canvas\_\-event@{send\_\-update\_\-canvas\_\-event}!EControlPanel@{EControlPanel}}
\paragraph[{send\_\-update\_\-canvas\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::send\_\-update\_\-canvas\_\-event (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_abdf025a152cf7017fa4da681d98f0c03}


Callback for causing a recomputation of the reconstruction. 

This is a safe method for telling the class to recompute and redraw the reconstruction. It can be called from anywhere, but ensures that the redraw happens in the GUI thread. 

Definition at line 1220 of file three\_\-B.java.



References update\_\-canvas().



Referenced by ThreeBLoader::run(), ThreeBRunner::send\_\-new\_\-points(), and SomethingChanges::stateChanged().


\begin{DoxyCode}
    {
        SwingUtilities.invokeLater(
            new Runnable() {
                final public void run() {
                        update_canvas();
                    }
                }
        );
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a3b4ffc00fbcac94c5df5bf2153709560}{
\index{EControlPanel@{EControlPanel}!die@{die}}
\index{die@{die}!EControlPanel@{EControlPanel}}
\paragraph[{die}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::die (
\begin{DoxyParamCaption}
\item[{final String}]{s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a3b4ffc00fbcac94c5df5bf2153709560}


Callback which causes a fatal termination of the 3B control panel. 

This is generally caused by something changing such that the error condition was not seen in the Java code, but was seen in C++. Ought never to be called. 

Definition at line 1235 of file three\_\-B.java.



Referenced by ThreeBRunner::die().


\begin{DoxyCode}
    {
        SwingUtilities.invokeLater(
            new Runnable() {
                final public void run() {
                        ij.IJ.showStatus("3B run terminated due to an error.\n");
      
                        JOptionPane.showMessageDialog(null, "Error: "+s, "Fatal e
      rror", JOptionPane.ERROR_MESSAGE);
                        dispose();
                    }
                }
        );
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a55dea63199eb400d0b9b4602860b4362}{
\index{EControlPanel@{EControlPanel}!send\_\-status\_\-text\_\-message@{send\_\-status\_\-text\_\-message}}
\index{send\_\-status\_\-text\_\-message@{send\_\-status\_\-text\_\-message}!EControlPanel@{EControlPanel}}
\paragraph[{send\_\-status\_\-text\_\-message}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::send\_\-status\_\-text\_\-message (
\begin{DoxyParamCaption}
\item[{final String}]{s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a55dea63199eb400d0b9b4602860b4362}


Callback to update the status message safely. 



Definition at line 1249 of file three\_\-B.java.



References set\_\-status().



Referenced by ThreeBLoader::run(), ThreeBRunner::run(), and ThreeBRunner::send\_\-message\_\-string().


\begin{DoxyCode}
    {
        SwingUtilities.invokeLater(
            new Runnable(){
                final public void run() {
                        set_status(s);
                    }
                }
        );
    }
\end{DoxyCode}
\hypertarget{classEControlPanel_a3fa7ba1752359da6e55f54f6e3d4e26c}{
\index{EControlPanel@{EControlPanel}!send\_\-time\_\-text\_\-message@{send\_\-time\_\-text\_\-message}}
\index{send\_\-time\_\-text\_\-message@{send\_\-time\_\-text\_\-message}!EControlPanel@{EControlPanel}}
\paragraph[{send\_\-time\_\-text\_\-message}]{\setlength{\rightskip}{0pt plus 5cm}void EControlPanel::send\_\-time\_\-text\_\-message (
\begin{DoxyParamCaption}
\item[{final String}]{s}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classEControlPanel_a3fa7ba1752359da6e55f54f6e3d4e26c}


Callback to update the status message safely. 



Definition at line 1262 of file three\_\-B.java.



References set\_\-time().



Referenced by ThreeBRunner::send\_\-new\_\-points().


\begin{DoxyCode}
    {
        SwingUtilities.invokeLater(
            new Runnable(){
                final public void run() {
                        set_time(s);
                    }
                }
        );
    }
\end{DoxyCode}


\subsubsection{Member Data Documentation}
\hypertarget{classEControlPanel_a8cef33bb4ccab2354fd85b5948cdae17}{
\index{EControlPanel@{EControlPanel}!linear\_\-reconstruction@{linear\_\-reconstruction}}
\index{linear\_\-reconstruction@{linear\_\-reconstruction}!EControlPanel@{EControlPanel}}
\paragraph[{linear\_\-reconstruction}]{\setlength{\rightskip}{0pt plus 5cm}ImagePlus {\bf EControlPanel::linear\_\-reconstruction}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a8cef33bb4ccab2354fd85b5948cdae17}


Definition at line 890 of file three\_\-B.java.



Referenced by EControlPanel(), export\_\-reconstruction\_\-as\_\-ij(), and update\_\-canvas().

\hypertarget{classEControlPanel_a5d1b7babc1e37fed2c5ea16dd2bc5968}{
\index{EControlPanel@{EControlPanel}!canvas@{canvas}}
\index{canvas@{canvas}!EControlPanel@{EControlPanel}}
\paragraph[{canvas}]{\setlength{\rightskip}{0pt plus 5cm}ImageCanvas {\bf EControlPanel::canvas}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a5d1b7babc1e37fed2c5ea16dd2bc5968}


Definition at line 891 of file three\_\-B.java.



Referenced by EControlPanel(), and update\_\-canvas().

\hypertarget{classEControlPanel_a3ae830fdca1181ee4964cc8578f36572}{
\index{EControlPanel@{EControlPanel}!stopButton@{stopButton}}
\index{stopButton@{stopButton}!EControlPanel@{EControlPanel}}
\paragraph[{stopButton}]{\setlength{\rightskip}{0pt plus 5cm}JButton {\bf EControlPanel::stopButton}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a3ae830fdca1181ee4964cc8578f36572}


Definition at line 892 of file three\_\-B.java.



Referenced by EControlPanel(), and issue\_\-stop().

\hypertarget{classEControlPanel_aca0937d44fe9a7b7e61cf67f90cddb04}{
\index{EControlPanel@{EControlPanel}!exportButton@{exportButton}}
\index{exportButton@{exportButton}!EControlPanel@{EControlPanel}}
\paragraph[{exportButton}]{\setlength{\rightskip}{0pt plus 5cm}JButton {\bf EControlPanel::exportButton}\hspace{0.3cm}{\ttfamily  \mbox{[}package\mbox{]}}}}
\label{classEControlPanel_aca0937d44fe9a7b7e61cf67f90cddb04}


Definition at line 892 of file three\_\-B.java.



Referenced by EControlPanel(), and update\_\-canvas().

\hypertarget{classEControlPanel_a38ffa2f0efcd276ea0f93c9484723011}{
\index{EControlPanel@{EControlPanel}!closeButton@{closeButton}}
\index{closeButton@{closeButton}!EControlPanel@{EControlPanel}}
\paragraph[{closeButton}]{\setlength{\rightskip}{0pt plus 5cm}JButton {\bf EControlPanel::closeButton}\hspace{0.3cm}{\ttfamily  \mbox{[}package\mbox{]}}}}
\label{classEControlPanel_a38ffa2f0efcd276ea0f93c9484723011}


Definition at line 892 of file three\_\-B.java.



Referenced by EControlPanel().

\hypertarget{classEControlPanel_a4d6543602bb6c0055b2dc6e37311bf26}{
\index{EControlPanel@{EControlPanel}!exportButtonColor@{exportButtonColor}}
\index{exportButtonColor@{exportButtonColor}!EControlPanel@{EControlPanel}}
\paragraph[{exportButtonColor}]{\setlength{\rightskip}{0pt plus 5cm}Color {\bf EControlPanel::exportButtonColor}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a4d6543602bb6c0055b2dc6e37311bf26}


Definition at line 893 of file three\_\-B.java.



Referenced by EControlPanel(), and update\_\-canvas().

\hypertarget{classEControlPanel_a1b5665c04095115fd218f1e80557ba4e}{
\index{EControlPanel@{EControlPanel}!status@{status}}
\index{status@{status}!EControlPanel@{EControlPanel}}
\paragraph[{status}]{\setlength{\rightskip}{0pt plus 5cm}JLabel {\bf EControlPanel::status}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a1b5665c04095115fd218f1e80557ba4e}


Definition at line 894 of file three\_\-B.java.



Referenced by EControlPanel(), and set\_\-status().

\hypertarget{classEControlPanel_acc841959e1713a02de2c45e94124ce5a}{
\index{EControlPanel@{EControlPanel}!time\_\-msg@{time\_\-msg}}
\index{time\_\-msg@{time\_\-msg}!EControlPanel@{EControlPanel}}
\paragraph[{time\_\-msg}]{\setlength{\rightskip}{0pt plus 5cm}JLabel {\bf EControlPanel::time\_\-msg}\hspace{0.3cm}{\ttfamily  \mbox{[}package\mbox{]}}}}
\label{classEControlPanel_acc841959e1713a02de2c45e94124ce5a}


Definition at line 894 of file three\_\-B.java.



Referenced by EControlPanel(), and set\_\-time().

\hypertarget{classEControlPanel_a4f74a128bf715e2f42c470eaa4854c59}{
\index{EControlPanel@{EControlPanel}!blur\_\-fwhm@{blur\_\-fwhm}}
\index{blur\_\-fwhm@{blur\_\-fwhm}!EControlPanel@{EControlPanel}}
\paragraph[{blur\_\-fwhm}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FloatSliderWithBox} {\bf EControlPanel::blur\_\-fwhm}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a4f74a128bf715e2f42c470eaa4854c59}


Definition at line 895 of file three\_\-B.java.



Referenced by EControlPanel(), and update\_\-canvas().

\hypertarget{classEControlPanel_abe0df73b845f1322cad446ffd47aab95}{
\index{EControlPanel@{EControlPanel}!reconstructed\_\-pixel\_\-size@{reconstructed\_\-pixel\_\-size}}
\index{reconstructed\_\-pixel\_\-size@{reconstructed\_\-pixel\_\-size}!EControlPanel@{EControlPanel}}
\paragraph[{reconstructed\_\-pixel\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FloatSliderWithBox} {\bf EControlPanel::reconstructed\_\-pixel\_\-size}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_abe0df73b845f1322cad446ffd47aab95}


Definition at line 896 of file three\_\-B.java.



Referenced by EControlPanel(), export\_\-reconstruction\_\-as\_\-ij(), and update\_\-canvas().

\hypertarget{classEControlPanel_a71d673dde24c4fecff6bab86ff903ad4}{
\index{EControlPanel@{EControlPanel}!complete@{complete}}
\index{complete@{complete}!EControlPanel@{EControlPanel}}
\paragraph[{complete}]{\setlength{\rightskip}{0pt plus 5cm}Panel {\bf EControlPanel::complete}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a71d673dde24c4fecff6bab86ff903ad4}


Definition at line 898 of file three\_\-B.java.



Referenced by EControlPanel().

\hypertarget{classEControlPanel_a10164c0942a9383d84b831052b4735ed}{
\index{EControlPanel@{EControlPanel}!buttons@{buttons}}
\index{buttons@{buttons}!EControlPanel@{EControlPanel}}
\paragraph[{buttons}]{\setlength{\rightskip}{0pt plus 5cm}JPanel {\bf EControlPanel::buttons}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a10164c0942a9383d84b831052b4735ed}


Definition at line 899 of file three\_\-B.java.



Referenced by EControlPanel().

\hypertarget{classEControlPanel_ac36ef77224ee59bd42365f897a0bdb27}{
\index{EControlPanel@{EControlPanel}!tbr@{tbr}}
\index{tbr@{tbr}!EControlPanel@{EControlPanel}}
\paragraph[{tbr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ThreeBRunner} {\bf EControlPanel::tbr}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_ac36ef77224ee59bd42365f897a0bdb27}


Definition at line 901 of file three\_\-B.java.



Referenced by EControlPanel(), issue\_\-stop(), and windowClosing().

\hypertarget{classEControlPanel_ac1ae258af9f6d45dd9262ffe0b0006f8}{
\index{EControlPanel@{EControlPanel}!pts@{pts}}
\index{pts@{pts}!EControlPanel@{EControlPanel}}
\paragraph[{pts}]{\setlength{\rightskip}{0pt plus 5cm}ArrayList$<${\bf Spot}$>$ {\bf EControlPanel::pts}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_ac1ae258af9f6d45dd9262ffe0b0006f8}


Definition at line 902 of file three\_\-B.java.



Referenced by append(), EControlPanel(), and reconstruct().

\hypertarget{classEControlPanel_aeac90d02e94b7ef5fedaa8ca3ec80371}{
\index{EControlPanel@{EControlPanel}!roi@{roi}}
\index{roi@{roi}!EControlPanel@{EControlPanel}}
\paragraph[{roi}]{\setlength{\rightskip}{0pt plus 5cm}Rectangle {\bf EControlPanel::roi}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_aeac90d02e94b7ef5fedaa8ca3ec80371}


Definition at line 905 of file three\_\-B.java.



Referenced by EControlPanel(), and reconstruct().

\hypertarget{classEControlPanel_a3cb8cc11303c091bdf451cb06f5beaf8}{
\index{EControlPanel@{EControlPanel}!zoom@{zoom}}
\index{zoom@{zoom}!EControlPanel@{EControlPanel}}
\paragraph[{zoom}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf EControlPanel::zoom} = 0.01\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a3cb8cc11303c091bdf451cb06f5beaf8}


Definition at line 906 of file three\_\-B.java.



Referenced by reconstruct(), and update\_\-canvas().

\hypertarget{classEControlPanel_ad7616019f29805721ce5eb5e01fa605a}{
\index{EControlPanel@{EControlPanel}!reconstruction\_\-blur\_\-fwhm@{reconstruction\_\-blur\_\-fwhm}}
\index{reconstruction\_\-blur\_\-fwhm@{reconstruction\_\-blur\_\-fwhm}!EControlPanel@{EControlPanel}}
\paragraph[{reconstruction\_\-blur\_\-fwhm}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf EControlPanel::reconstruction\_\-blur\_\-fwhm} = .5\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_ad7616019f29805721ce5eb5e01fa605a}


Definition at line 908 of file three\_\-B.java.



Referenced by reconstruct(), and update\_\-canvas().

\hypertarget{classEControlPanel_a59af9e9c8d07e5a3d3bfc21b45deebc3}{
\index{EControlPanel@{EControlPanel}!pixel\_\-size\_\-in\_\-nm@{pixel\_\-size\_\-in\_\-nm}}
\index{pixel\_\-size\_\-in\_\-nm@{pixel\_\-size\_\-in\_\-nm}!EControlPanel@{EControlPanel}}
\paragraph[{pixel\_\-size\_\-in\_\-nm}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf EControlPanel::pixel\_\-size\_\-in\_\-nm}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_a59af9e9c8d07e5a3d3bfc21b45deebc3}


Definition at line 910 of file three\_\-B.java.



Referenced by EControlPanel(), reconstruct(), and update\_\-canvas().

\hypertarget{classEControlPanel_aa42039fbc01ad784740efc758b9bb7d3}{
\index{EControlPanel@{EControlPanel}!filename@{filename}}
\index{filename@{filename}!EControlPanel@{EControlPanel}}
\paragraph[{filename}]{\setlength{\rightskip}{0pt plus 5cm}String {\bf EControlPanel::filename}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_aa42039fbc01ad784740efc758b9bb7d3}


Definition at line 911 of file three\_\-B.java.



Referenced by EControlPanel(), and export\_\-reconstruction\_\-as\_\-ij().

\hypertarget{classEControlPanel_aff9957a81412c8e35d2b55115a009cd1}{
\index{EControlPanel@{EControlPanel}!iterations@{iterations}}
\index{iterations@{iterations}!EControlPanel@{EControlPanel}}
\paragraph[{iterations}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf EControlPanel::iterations} = 0\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classEControlPanel_aff9957a81412c8e35d2b55115a009cd1}


Definition at line 915 of file three\_\-B.java.



Referenced by append(), and update\_\-canvas().



The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
\hyperlink{three__B_8java}{three\_\-B.java}\end{DoxyCompactItemize}
