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

📄 ctlib.h

📁 本源码经过上机调试,是CT算法在TI的CCS下编程 可以在DSP硬件和软件仿真条件下运行,同时对CT算法在ARM,MIPS,PC,FPGA等上实现都有借鉴意义.搞CT等重建算法的人值得一看
💻 H
字号:
/*
*  Copyright 2006 by OCT lab.
*  Author: Lihui.
*  2006.12.13  
*  Version: 1.0 
*/
/*======CTLib.h=======*/

#ifndef __CTLIB_H
#define __CTLIB_H

#include "math.h"
#define PI  3.1415
#define NP_MAX 4
#define RPV_MAX 5
#define RECONMN_MAX 5

//////////////////////////////////////////////////////////////////////////

/*
//////////////////////////////////////////////////////////////////////////
//函数说明 CTart()
void CTart(float *p,float **W,float *F,int K,int S,int M,int N,int Nadj,float RelaxFactor);//ART算法*
//end  CTart()
*/
//////////////////////////////////////////////////////////////////////////
//函数说明 CTsirt()
void CTsirt(float *P,float *W,float *F,int K,int S,int M,int N,int Nadj,float RelaxFactor);//SIRT算法*
//end  CTsirt()
///////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
//CTMert()两投影方向的最大熵重建算法
void CTMert(float *P,float *F,int N);
//end
/////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////
//函数说明matrix operation

void VectorDotMul(float *m1,float *m2,float *mo,int Nc);//向量对应元素相乘
float VectorSum(float *m,int Nc);//向量元素求和*
float VectorMulA(float *m1,float *m2,int Nc);//向量内积*
void VectorMulB(float *m1,float *m2,float *mo,int Nc);//向量叉乘
void MatrixMul(float *m1,float *m2,float *mo,int Nr,int Nc);//矩阵相乘
void MVMul(float *m1,float *m2,float *mo,int Nr,int Nc);//MatrixMul() M×N矩阵和N维向量矩阵相乘得M维向量
void MatrixTrans(float *m1,float *m2,int M,int N);//MatrixTrans()矩阵转置
void VectorSum2(float *m1,float *m2,float *mo,int Nc,int mod);//向量对应元素相加减*0 +;1 -
void VectorNumMul(float *m1,float num,float *mo,int Nc,int mod);//向量对应元素与常数相乘除*
int mod(int n1,int n2);//n1除去n2的整数倍后所余整数,used in CTart() only*
float maxv(float *Vector,int N);//求向量中的最大值
float maxv2(float *Matrix,int M,int N);//求二维向量中的最大值
float minv(float *Vector,int N);//求向量中的最小值
void absv(float *Vector,int N);//向量元素取绝对值
//end matrix operation
///////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////
//函数说明投影矩阵CTw()
void CTw(float *W,int K,int S,int M,int N);//*
float sinc(float x);//*
float sec(float x);//*
//end 函数说明投影矩阵CTw()
/////////////////////////////////////////////////////////////////////////////


/*
///////////////////////////////////////////////////////////
//函数说明CTsimpson()

void CTsimpson(float *p,int K,int S);//二元simpson积分法*


float Agauss(float x,float y);//被积函数Agauss*


void origF(float *Fo,int M,int N);

//end函数说明CTsimpson()
/////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////
//函数说明error analysis
float Eaver(float *Fo,float *Fr,int J);//平均相对误差
float Emax(float *Fo,float *Fr,int J);//最大相对误差
float Esqrt(float *Fo,float *Fr,int J);//均方根误差
//end函数说明end error analysis
//////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////
//函数说明单色测温公式TOneColor()
void TOneColor(float **F,float Wavelength,double Parameter,int H,int J);
//end函数说明endTOneColor()
////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
//函数说明双波长测温TTwoColor()
void TTwoColor(float **F,float **FWav1,float **FWav2,double Parameter2,int H,int J);
//end函数说明TTwoColor()
////////////////////////////////////////////////////////////

*/
#endif /* __CTLIB_H */

⌨️ 快捷键说明

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