Filter Library | Camera | Interface Physics |
#include <FilterDlg_LinearRegression.h>
Inheritance diagram for CFilterDlg_LinearRegression:
Linear regression filtering may take a relatively long time. This is especially the case with areas larger than say 7x7 and for images larger than the modest 200x100 pixels2 of Nacra images.
The user interface acknowledges this fact and provides the user with two operation modes:
Furthermore the user interface ensures one-time computation. When the user changes settings on the dialog, and then changes them back to what they where, this is recognized and the dialog shows that the result does not need to be computed again by disabling the Apply button. Of course, if Direct Update is active the result is computed at each change of a setting.
Definition at line 63 of file FilterDlg_LinearRegression.h.
Public Member Functions | |
BOOL | ApplyFilter (bool force=false) |
apply the filter provided certain conditions are met. | |
Protected Types | |
typedef CHashBuilder::ValueType | HashType |
the hash type. | |
Protected Member Functions | |
virtual void | DoDataExchange (CDataExchange *pDX) |
Dialog Data Exchange (DDX) / Dialog Data Validation (DDV) support. | |
virtual BOOL | OnInitDialog () |
initialize the dialog | |
afx_msg void | OnChangeSizeX () |
update SizeX (ensure its odd) | |
afx_msg void | OnChangeSizeY () |
update SizeY (ensure its odd) | |
afx_msg void | OnCheckAlgorithm () |
check the algorithm | |
afx_msg void | OnTimeAlgorithm () |
time performance | |
afx_msg void | OnChangeTheta () |
theta for A.cos(t) etc. | |
afx_msg void | OnChangeFactor () |
scaling factor | |
afx_msg void | OnDeltaposSizeXY (NMHDR *pNMHDR, LRESULT *pResult) |
xy-spinner changed | |
afx_msg void | OnDeltaposSpinfactor (NMHDR *pNMHDR, LRESULT *pResult) |
the factor spinner changed: | |
afx_msg void | OnHScroll (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar) |
theta scrollbar changed. | |
afx_msg void | OnSelchangeParam () |
parameter selection changed | |
afx_msg void | OnApplyFilter () |
apply button pressen | |
afx_msg void | OnFilterDirect () |
direct update checkbox changed | |
void | UpdateControls (CScanFilterLinearRegressionPtr pFilter) |
handle enabling and disabling of controls. | |
BOOL | DialogChanged () |
true if the settings on the dialog changed. | |
HashType | ComputeHash () |
compute the hash of the dialog's settings. | |
Private Types | |
enum | { IDD = IDD_FILTERDLG_LINEARREGRESSION } |
Private Attributes | |
CIntegerEdit | c_txtSizeY |
x-size integer edit control | |
CIntegerEdit | c_txtSizeX |
x-size integer edit control | |
CComboBox | c_cbParameter |
the Linear Regression parameter (combination) | |
CIntegerEdit | c_txtTheta |
theta integer edit control | |
CSliderCtrl | c_scTheta |
theta slider control | |
CRealEdit | c_txtFactor |
x-factor real edit control | |
CNumSpinCtrl | c_spnSizeX |
x-size spin control | |
CNumSpinCtrl | c_spnSizeY |
y-size spin control | |
CSpinButtonCtrl | c_spnSizeXY |
x- and y size spin control | |
CNumSpinCtrl | c_spnFactor |
factor spin control | |
CString | m_csAlgorithm |
algorithm related output | |
CButton | c_btnApply |
apply filter | |
CButton | c_chkDirect |
direct update (no apply required) | |
CButton | c_btnOK |
terminate dialog and keep result | |
HashType | m_lastHash |
hash of settings last applied |