11#include "GUIDialogSheet.h"
20 class CInternalDialogKernel;
54 enum class EKernelSettingRow : int32_t
87 CGUIDialogKernel(int32_t i32KernelWidth, int32_t i32KernelHeight, CWnd* pParent =
nullptr);
308 virtual const CResult SetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col,
const double& f64Value);
320 virtual const CResult SetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col,
const float& f32Value);
330 virtual double GetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col);
441 DeclareGetClassType();
445 virtual BOOL PreTranslateMessage(MSG* pMsg)
override;
446 virtual void OnOK()
override;
447 virtual void OnCancel()
override;
448 virtual const CResult AddPresetLayout();
450 virtual const CResult ConvertKernelArrayToString(
454 virtual const CResult ConvertKernelArrayToString(
458 virtual const CResult ConvertStringToKernelArray(
460 int32_t& i32ImageChannelOut, int32_t& i32KernelWidthOut, int32_t& i32KernelHeightOut,
463 virtual const CResult ConvertStringToKernelArray(
465 int32_t& i32ImageChannelOut, int32_t& i32KernelWidthOut, int32_t& i32KernelHeightOut,
468 virtual const CResult InternalSetKernel(int32_t i32SelectedChannel,
470 virtual const CResult InternalSetKernel(int32_t i32SelectedChannel,
472 virtual const CResult InternalSetKernel(
474 virtual const CResult InternalSetKernel(
476 virtual const CResult InternalSetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col,
const double& f64Value);
477 virtual const CResult InternalSetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col,
const float& f32Value);
479 virtual const CResult InternalSetImageChannel(int32_t i32ImageChannel);
480 virtual const CResult InternalSetKernelSize(int32_t i32KernelWidth, int32_t i32KernelHeight);
481 virtual const CResult InternalSetKernelWidth(int32_t i32KernelWidth);
482 virtual const CResult InternalSetKernelHeight(int32_t i32KernelHeight);
483 virtual const CResult InternalSetSameKernelOnEachChannel(
bool bSameKernelOnEachChannel);
485 virtual bool IsKernelArrayInitialized();
486 virtual bool InitKernelArray();
487 virtual bool FillKernelArray();
488 virtual bool FillDialogKernelTable(int32_t i32SelectedChannel);
490 virtual bool SetImageChannelOnDialog(int32_t i32ImageChannel);
491 virtual bool SetKernelWidthOnDialog(int32_t i32KernelWidth);
492 virtual bool SetKernelHeightOnDialog(int32_t i32KernelHeight);
493 virtual bool SetSelectedChannelOnDialog(int32_t i32SelectedChannel);
494 virtual bool SetCheckBoxSameKernelOnEachChannelOnDialog(BOOL bCheck);
496 virtual bool OnKernelSizeChanged();
497 virtual bool OnImageChannelChanged(int32_t i32ImageChannel);
498 virtual bool OnChannelSelected(int32_t i32SelectedChannel);
499 virtual bool OnCheckBoxSameKernelClicked(BOOL bCheck);
505 virtual bool CalcLayoutSizeOfKernelValue(int32_t& i32Width, int32_t& i32Height, int32_t i32MinWidth = 576, int32_t i32MinHeight = 287);
506 virtual bool AdjustLayout()
override;
508 DECLARE_MESSAGE_MAP()
509 LRESULT OnLoadButtonClicked(WPARAM wParam, LPARAM lParam);
510 LRESULT OnSaveButtonClicked(WPARAM wParam, LPARAM lParam);
511 afx_msg
void OnSize(UINT nType,
int cx,
int cy);
512 afx_msg
void OnEndSheetInPlaceEdit(NMHDR* pNMHDR, LRESULT* pResult);
515 int32_t m_i32ImageChannel;
516 int32_t m_i32KernelWidth;
517 int32_t m_i32KernelHeight;
518 uint8_t m_u8DecimalPlace;
520 Base::CFLString<
wchar_t> m_strFormatStringFloat;
522 double m_f64DefaultKernelFillValue;
524 bool m_bKernelArrayInitialized;
525 bool m_bSameKernelOnEachChannel;
529 CGUIGridLayout* m_pGridKernelIO;
530 CGUIGridLayout* m_pGridDecimalPlace;
531 CGUIGridLayout* m_pGridKernelSetting;
532 CGUIGridLayout* m_pGridKernel;
534 Base::CFLArray< Base::CFLArray< Base::CFLArray<
double> > > m_flaKernel;
536 CInternalDialogKernel* m_pInternal;
537 friend class CInternalDialogKernel;
Template type 의 배열 클래스.
Definition RangeTree.h:19
Template type 의 문자열 클래스
Definition INIUtilities.h:20
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
Definition GUIDialogKernel.h:51
virtual const CResult SetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col, const float &f32Value)
다이얼로그에 커널 배열을 특정 채널, 행, 열 위치에 대해 float 타입으로 지정하는 함수로, 다이얼로그에 채워지는 값을 지정할 수 있습니다.
static const CResult ConvertStringToKernelArray(Base::CFLString< wchar_t > &flstrKernel, Base::CFLArray< Base::CFLArray< float > > &flaReturn)
문자열을 CFLArray<CFLArray<float>> 형태의 커널로 변환하는 함수
virtual const CResult SetKernelHeight(int32_t i32KernelHeight)
커널의 높이를 지정하는 함수
virtual double GetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col)
사용자가 다이얼로그에 입력한 커널 값을 얻어 오는 함수
static const CResult ConvertStringToKernelArray(Base::CFLString< wchar_t > &flstrKernel, Base::CFLArray< Base::CFLArray< double > > &flaReturn)
문자열을 CFLArray<CFLArray<double>> 형태의 커널로 변환하는 함수
virtual EKernelType GetKernelType() const
다이얼로그의 커널 입력 타입을 반환
CGUIDialogKernel(int32_t i32KernelWidth, int32_t i32KernelHeight, CWnd *pParent=nullptr)
초기화 생성자
static const CResult ConvertStringToKernelArray(Base::CFLString< wchar_t > &flstrKernel, Base::CFLArray< Base::CFLArray< Base::CFLArray< float > > > &flaReturn)
문자열을 CFLArray<CFLArray<float>> 형태의 커널로 변환하는 함수
virtual void SetKernelType(EKernelType eKernelType)
다이얼로그의 커널 입력 타입을 지정
virtual const CResult GetKernel(Base::CFLArray< Base::CFLArray< Base::CFLArray< float > > > &flaKernel)
사용자가 다이얼로그에 입력한 커널 배열을 float 타입으로 얻어 오는 함수로, 순서는 채널, Row, Column 입니다. 예를 들어 0채널의 row = 3,...
virtual const CResult SetDecimalPlace(uint8_t u8DecimalPlace=3)
좌표의 소수점 표시 자릿수를 설정합니다. 소수점 둘째 자리까지 표시하려면(예 : 0.01, 2.54 등) 2 를 인자로 전달합니다. 가능한 값의 범위는 0~20입니다.
virtual int32_t GetKernelHeight() const
커널의 높이를 얻어 오는 함수
CGUIDialogKernel(const CGUIDialogKernel &rhs)
복사 생성자(레퍼런스)
virtual uint8_t GetDecimalPlace() const
좌표의 소수점 표시 자릿수를 얻어 옵니다. 소수점 둘째 자리까지 표시하도록 설정된 경우(예 : 0.01, 2.54 등) 2를 반환합니다.
virtual const CResult SetKernel(const Base::CFLArray< Base::CFLArray< Base::CFLArray< double > > > &flaKernel)
다이얼로그에 커널 배열을 특정 채널에 대해 double 타입으로 지정하는 함수로, 다이얼로그 초기 팝업 시 채워지는 값을 미리 지정할 수 있습니다.
virtual const CResult SetKernel(int32_t i32SelectedChannel, const Base::CFLArray< Base::CFLArray< float > > &flaKernel)
다이얼로그에 커널 배열을 특정 채널에 대해 float 타입으로 지정하는 함수로, 다이얼로그에 채워지는 값을 지정할 수 있습니다.
virtual const CResult SetGUIKernelPreviewRange(int32_t i32StartPosX, int32_t i32StartPosY, int32_t i32Width, int32_t i32Height)
다이얼로그의 커널 입력 창에서 미리보기 및 편집할 커널의 범위를 지정합니다.예를 들어 1023x1023 사이즈 커널에서 x=1001, y=1001 로 지정하고 width = 2,...
virtual const CResult SetKernel(const Base::CFLArray< Base::CFLArray< Base::CFLArray< float > > > &flaKernel)
다이얼로그에 커널 배열을 특정 채널에 대해 float 타입으로 지정하는 함수로, 다이얼로그 초기 팝업 시 채워지는 값을 미리 지정할 수 있습니다.
virtual int32_t GetKernelWidth() const
커널의 너비를 얻어 오는 함수
virtual bool IsSameKernelOnEachChannel() const
모든 채널에 대해 동일한 커널을 적용하는지 각 채널에 각각의 커널을 지정하는지 여부를 얻어 오는 함수
virtual int32_t GetImageChannel() const
지정한 이미지 채널을 얻어 오는 함수
virtual BOOL OnInitDialog() override
다이얼로그 초기화 함수
virtual void SetSameKernelOnEachChannel(bool bSameKernelOnEachChannel)
모든 채널에 대해 동일한 커널을 적용할지 각 채널에 각각의 커널을 지정할지 여부를 지정하는 함수
virtual const CResult Load(const wchar_t *pWcsFileNameWithPath)
.dat 또는 .ini 확장자의 커널 파일 로드
static const CResult ConvertStringToKernelArray(Base::CFLString< wchar_t > &flstrKernel, Base::CFLArray< Base::CFLArray< Base::CFLArray< double > > > &flaReturn)
문자열을 CFLArray<CFLArray<double>> 형태의 커널로 변환하는 함수
virtual const CResult SetKernelSize(int32_t i32KernelWidth, int32_t i32KernelHeight)
커널의 너비와 높이를 지정하는 함수
virtual const CResult Save(const wchar_t *pWcsFileNameWithPath)
.dat 또는 .ini 확장자의 커널 파일 저장
virtual const CResult SetImageChannel(int32_t i32ImageChannel)
이미지 채널을 지정하는 함수
virtual const CResult GetKernel(int32_t i32SelectedChannel, Base::CFLArray< Base::CFLArray< float > > &flaKernel)
사용자가 다이얼로그에 입력한 커널 배열을 특정 채널에 대해 float 타입으로 얻어 오는 함수
virtual const CResult GetKernel(Base::CFLArray< Base::CFLArray< Base::CFLArray< double > > > &flaKernel)
사용자가 다이얼로그에 입력한 커널 배열을 double 타입으로 얻어 오는 함수로, 순서는 채널, Row, Column 입니다. 예를 들어 0채널의 row = 3,...
virtual const CResult SetKernelWidth(int32_t i32KernelWidth)
커널의 너비를 지정하는 함수
static CGUIDialogKernel * CreateModelessDialog(EKernelType eKernelType, int32_t i32KernelWidth, int32_t i32KernelHeight)
Modeless dialog 를 생성하는 함수
virtual const CResult GetKernel(int32_t i32SelectedChannel, Base::CFLArray< Base::CFLArray< double > > &flaKernel)
사용자가 다이얼로그에 입력한 커널 배열을 특정 채널에 대해 double 타입으로 얻어 오는 함수
CGUIDialogKernel(CWnd *pParent=nullptr)
초기화 생성자
virtual const CResult SetKernel(int32_t i32SelectedChannel, const Base::CFLArray< Base::CFLArray< double > > &flaKernel)
다이얼로그에 커널 배열을 특정 채널에 대해 double 타입으로 지정하는 함수로, 다이얼로그에 채워지는 값을 지정할 수 있습니다.
virtual const CResult SetKernelValue(int32_t i32SelectedChannel, int32_t i32Row, int32_t i32Col, const double &f64Value)
다이얼로그에 커널 배열을 특정 채널, 행, 열 위치에 대해 double 타입으로 지정하는 함수로, 다이얼로그에 채워지는 값을 지정할 수 있습니다.
virtual const CResult SetDefaultKernelFillValue(double f64DefaultKernelValue)
커널의 기본 값을 지정하는 함수로, 지정한 값이 기본으로 다이얼로그의 입력 창에 입력됩니다.
virtual ~CGUIDialogKernel()
기본 소멸자
EKernelType
커널 입력 형식
Definition GUIDialogKernel.h:30
@ EKernelType_UserDefined
사용자가 커널을 입력하는 형태
Definition GUIDialogKernel.h:35
@ EKernelType_Predefined
미리 정의된 커널을 이용하는 형태
Definition GUIDialogKernel.h:41