📄 ctlib.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 + -