⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jjskeleton.h

📁 3D reconstruction, medical image processing from colons, using intel image processing for based clas
💻 H
字号:
#include "FusionGlobal.h"#include "maskvolume.h"typedef	struct HeapNodeInformation {	float				time;	short				x;	short				y;	short				z;	unsigned short		pointer;} Node;class JJSkeleton{private:	float*					m_pLongDistanceMap;	float*					m_pDistanceMapFromPS;	float*					m_pDistanceMapFromPS_FAST_WAVE;	unsigned char*			m_pPointType;	unsigned short*			m_pClusterGraph;	unsigned short			m_nClusterMapping[65535];	Node					m_ExtremePoint[65535];	unsigned int*			pTable;	RxMaskVolume*			m_pVesselVolume;	RxMaskVolume*			m_pVesselEdge;	RxMaskVolume*			m_pSkeleton;	Node					m_arrHeap[1000000];	unsigned long			m_lHeapLength;		float					m_fVel;	float					m_fMaxDistanceMapFromPS;	short					m_PS_X;	short					m_PS_Y;	short					m_PS_Z;	short					m_nClusterIndex;	unsigned short			m_GraphLink[65535][20];	short					m_GL_Index[65535];	unsigned short*			m_pLabel;	unsigned short			m_nObjectID[200];	unsigned short			m_nObjectNum;public:	short					m_VolX;	short					m_VolY;	short					m_VolZ;	short					m_OffsetX;	short					m_OffsetY;	short					m_OffsetZ;	Node					m_ControlPoint[2000];	Node					m_BranchPoint[2000];	unsigned long			m_nExtremeNum;	unsigned long			m_nBranchNum;private:	void HeapInitialization(void);	Node HeapRemoveMin(void);	void HeapInsert(Node NewNode);	void HeapModify(Node NewNode);	BOOL HeapSearch(Node SearchNode);	BOOL HeapEmpty(void);		void Iteration_ORD_1(short nDistanceMapMode);	float solve_ORD_1(int i1, int j1, int k1, int i2, int j2, int k2, int i3, int j3, int k3, float sol, short nDistanceMapMode);	void FindPointSource(short nObjectLabel);	void PropagateFromPS(short nObjectLabel);	void PropagateFromPS_FAST_WAVE(short nObjectLabel);	void BuildClusterGraph(void);	void ExtractCenterline(void);	void BuildCGLink(unsigned short nParent, unsigned short nChild);	void SetNode(short nSeed_X, short nSeed_Y, short nSeed_Z, short nDistance, short nClusterIndex);	void VisualizeSkeleton(void);	inline float minimum(float num1, float num2);	void FindConnectedComponent(void);	int MapFillingWithSortedLabel(unsigned int *pTable, unsigned short *pMap, int nImageSize);	int FindFinalLabel(unsigned int *pTable, unsigned short nNowLabel);	void SetLabelByState(unsigned short *pMap, int nWidth, int nHeight, int nDepth, int x, int y, int z, int *nLabel, int nState, unsigned int *pTable);	int GetState(unsigned short *pMap, int nWidth, int nHeight, int nDepth, int x, int y, int z);	enum {		COMP_NONE	= 0,		COMP_X		= 10,		COMP_Y		= 20,		COMP_Z		= 30,		COMP_NEW	= 40,		COMP_SAME	= 50,		COMP_DIFF_XY= 60,		COMP_DIFF_YZ= 70,		COMP_DIFF_ZX= 80,		COMP_DIFF_XYZ=90,		COMP_DIFF =100,	};public:	JJSkeleton();	~JJSkeleton();	void Initialization(void);	void SetParameter(RxMaskVolume* pVesselEdge, RxMaskVolume* pVesselVolume, RxMaskVolume* pSkeleton, int minX, int maxX, int minY, int maxY, int minZ, int maxZ, BOOL bRef);	void Skeletonization(void);	int GetConnectedComponent(int nWidth, int nHeight, int nDepth);	int RemoveSmallComponent(unsigned char *pMap, int nWidth, int nHeight, int nDepth);};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -