Filter Library | Camera | Interface Physics |
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 */