Filter Library Camera Interface Physics

ScanFilterMean.h

00001 /*
00002  * ScanFilterMean.h - mean image filter.
00003  *
00004  * This file is part of the Camera Filter Library.
00005  * Computer Aided Measurement Environment for Realtime Atomic imaging (Camera)
00006  *
00007  * Copyright (C) 2004-2005, Leiden Probe Microscopy.
00008  * Copyright (C) 2004-2005, Universiteit Leiden.
00009  *
00010  * Authors: M. Seynen (original), Martin J. Moene
00011  *
00012  * $Id: ScanFilterMean.h 363 2006-03-09 13:21:27Z moene $
00013  */
00014 
00015 #ifndef CFL_SCANFILTERMEAN_H
00016 #define CFL_SCANFILTERMEAN_H
00017 
00018 #if _MSC_VER > 1000
00019 #pragma once
00020 #endif // _MSC_VER > 1000
00021 
00022 #include <cfl/ScanFilterRank.h>         // for base class
00023 
00024 /**
00025  * \addtogroup cfl_filtermean Mean Filter
00026  * \brief mean filter.
00027  *
00028 
00029 <h3>Purpose</h3>
00030 
00031 <h3>Description</h3>
00032 
00033 <h3>Algorithm</h3>
00034 
00035 
00036 \f[
00037    \textrm{B} = \textrm{A}
00038 \f]
00039 
00040 <h3>Examples</h3>
00041 Try to find some interesting pictures for most filters.
00042 
00043 <h3>Contact</h3>
00044 Dipl.phys. M.J. Rost<br>
00045 Huygens Laboratorium<br>
00046 Universiteit Leiden<br>
00047 Niels Bohrweg 2<br>
00048 2333 CA Leiden, The Netherlands<br>
00049 <br>
00050 Tel: +31 71 5275600<br>
00051 Fax: +31 71 5275404<br>
00052 <br>
00053 E-mail: rost@physics.LeidenUniv.nl<br>
00054 Web: http://www.geocities.com/marcel_rost/<br>
00055 
00056  *
00057  * @{
00058  */
00059 
00060 DECLARE_CLASS( CScanFilterMean );         // create various types
00061 
00062 /**
00063  * \brief mean filter.
00064  *
00065  */
00066 class CScanFilterMean : public CScanFilterRank
00067 {
00068    /**
00069     * its dialog class.
00070     */
00071    friend class CFilterDlg_Mean;
00072 
00073 public:
00074    ///
00075    /// \name Construction
00076    /// @{
00077 
00078    /**
00079     * default constructor: setup filter to run without dialog;
00080     * see also CScanFilterNull::CScanFilterNull().
00081     */
00082    CScanFilterMean();
00083 
00084    /// @}
00085    /// \name Camera--Filter Interface
00086    /// @{
00087 
00088    /**
00089     * create filter dialog and pre Apply() filter to view result;
00090     * see also CScanFilterNull::RunModeless().
00091     */
00092    virtual BOOL RunModeless( CWnd *pParentWnd, CDocument *pDoc );
00093 
00094    /**
00095     * check parameters, take care of a properly sized output buffer,
00096     * set its name and copy filter parameters and process;
00097     * see also CScanFilterNull::Apply().
00098     */
00099    virtual BOOL Apply();
00100 
00101    /// @}
00102    /// \name Predicates
00103    /// @{
00104 
00105    /// @}
00106    /// \name Accessors
00107    /// @{
00108 
00109    /// @}
00110    /// \name Mutators
00111    /// @{
00112 
00113    /// @}
00114 
00115 protected:
00116    /**
00117     * store or retrieve the object's settings; see also CScanFilterNull::Serialize().
00118     */
00119 //   virtual void Serialize(CArchive& ar); // provided by base class 
00120    DECLARE_SERIAL(CScanFilterMean)
00121 
00122    /**
00123     * the filter name.
00124     */
00125    virtual const char* GetFilterName() const
00126    {
00127       return m_lpcsFilterName;
00128    }
00129 
00130 public:
00131    /**
00132     * the filter name.
00133     */
00134    static LPCTSTR m_lpcsFilterName;
00135 
00136    /**
00137     * the class short filtername.
00138     */
00139    static LPCTSTR m_lpcsShortFilterName;
00140 };
00141 
00142 /// @} cfl_filtermean
00143 
00144 #endif // CFL_SCANFILTERMEAN_H
00145 
00146 /*
00147  * end of file
00148  */

Camera Filter Library documentation © 2004-2007 by Leiden Probe Microscopy