📄 rigidreg3dagent.h
字号:
// RigidReg3DAgent.h: interface for the RxRigidReg3DAgent class.//////////////////////////////////////////////////////////////////////////// Title: Header file for 3D Rigid-body Registration//////////////////////////////////////////////////////////////////////////// Author: Helen Hong, 3DMed co. LTD// 138-dong 417-ho Seoul National Univ.// Shinlim-dong, Kwanak-gu, Seoul, Korea// (Email. hlhong@cglab.snu.ac.kr)//// Update : 2002. 9. 5. // Last Update : 2003. 1. 11.////////////////////////////////////////////////////////////////////////#if !defined(AFX_RIGIDREG3DAGENT_H__F98F72F5_1965_4F34_8AE1_4C3E942070A5__INCLUDED_)#define AFX_RIGIDREG3DAGENT_H__F98F72F5_1965_4F34_8AE1_4C3E942070A5__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000class RxRigidReg3DInfo;class RxVolumeInfo;class RxTransform3DInfo;class RxMatrix3D;class RxAutoSample3D;class RxAutoSample3DInfo;class RxDerivateMI3D;class RxxMutualInfoAgent;#include "GlobalRegistPar.h"#include "RxxMutualInfoAgent.h"#include "FusionGlobal.h"class RxRigidReg3DAgent : public RxxMutualInfoAgent{public: RxRigidReg3DAgent(); virtual ~RxRigidReg3DAgent(); ///////////////////////////////////////////////// // member variable /////////////////////////////////////////////////protected: unsigned short *m_pnReferVolume, // reference volume pointer *m_pnFloatVolume; // float volume pointer int m_Repeat; // repetition count variable double m_obj2eye[4][4], // view matrix m_inverse_obj2eye[4][4]; // inverse view matrix RxRigidReg3DInfo *m_pRigidReg3DInfo; // registration information RxTransform3DInfo *m_pTransform; // float transformation RxAutoSample3DInfo *m_sampleA, // sample points A *m_sampleB; // sample points B RxMatrix3D *m_pMatrix3D; // matrix calculation RxAutoSample3D *m_pAutoSample3D; // automatic sampling RxDerivateMI3D *m_pDerivateMI3D; // derivative of mutual information RxxMutualInfoAgent *m_pMIAnalysis; // entropy calculation //////////////////////////////////////////////// // member function ////////////////////////////////////////////////public: BOOL InitRegistration(RxRigidReg3DInfo *RegistInfos,RxTransform3DInfo *TransformInfos); BOOL Registration(RxTransform3DInfo **FloatTrans);protected: BOOL SetInitialParameters(_MODAL_INFO *Refer, _MODAL_INFO *Float); BOOL SetViewingMatrix(); BOOL SameTransformFactor(); BOOL AutomaticConverge(); BOOL NearestNeighbor(double transform[4],int *x,int *y,int *z,unsigned short *val); BOOL TrilinearInterpol(double transform[4],int *x,int *y,int *z,unsigned short *val); BOOL TrilinearInterpolOrigin(double transform[4],int *x,int *y,int *z,unsigned short *val); unsigned short GetIntensity3D(int x,int y,int z); BOOL BoundaryCheck(int *low,int *high,int boundary); BOOL IsValid_MIAnalysis(int valid);};#endif // !defined(AFX_RIGIDREG3DAGENT_H__F98F72F5_1965_4F34_8AE1_4C3E942070A5__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -