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

📄 maxprojection.c

📁 超声波成像算法
💻 C
字号:
/***************************************************************************/
/*	                	                                                   */
/*	    嶰師尦夋憸僨乕僞偺2師尦暯柺傊偺嵟戝抣搳塭傪媮傔傞                  */
/*	    MaxProjection.c				                                       */                         
/*	    			2001/ 9/21                                             */
/***************************************************************************/

#include "Reconst.h"
#include "GuoShuqiang.h"
double MaxProjection(int nx,int ny,int nz,char *select, double *a, char *fname)
/*	堷悢丗
/*		int nx,ny,nz丗嶰師尦夋憸偺悺朄
/*		char *select丗抐柺傪巜掕偡傞丂xy,xz,yz偺3庬椶
/*		double a[]	丗(ix,iy,iz)偼a[ny*nz*ix+nz*iy+iz]偱傾僋僙僗
/*		char *fname	丗彂偒崬傒僼傽僀儖柤傪巜掕
/************************************************************/
{
	int i,i1,i2,i3, i1b,i2b, 
		w1,w2,w3, n1,n2,n3,nw;
	double max=0.0,amax=0.0, *prj;
	char fname0[STRLEN+10];	

	int GsqCount;

	if(select=="xy"){
		w1=ny*nz;	w2=nz;	w3=1;
		n1=nx;		n2=ny;	n3=nz;
	}
	if(select=="xz"){
		w1=ny*nz;	w2=1;	w3=nz;
		n1=nx;		n2=nz;	n3=ny;
	}
	if(select=="yz"){
		w1=nz;		w2=1;	w3=ny*nz;
		n1=ny;		n2=nz;	n3=nx;
	}
	for(i=0;i<nx*ny*nz;i++){
		if(max<a[i])max=a[i];
	}

	/**************妔****************/

		if(select=="xy")
		{
			GsqDataCount=nx*ny;
		}
		else if(select=="xz")
		{
			GsqDataCount=nx*nz;
		}
		else
		{
			GsqDataCount=ny*nz;
		}
		GsqRowCount=n2;
		FlatData = (double *)malloc(GsqDataCount*sizeof(double));

	/**************妔****************/
	
	nw=n2;
	if(n2>255) nw=255;
	prj=alloc_d(n2);
	strcpy(fname0,fname);
	strcat(fname0, "_");
	strcat(fname0,select);
	CsvFileOpen(fname0);
		
	for(i1=0;i1<n1;i1++){
		i1b=i1*w1;
		for(i2=0;i2<n2;i2++){
			i2b=i2*w2;
			amax=0.0;
			for(i3=0;i3<n3;i3++){
				i=i1b+i2b+w3*i3;
				if(amax < a[i]/max) amax=a[i]/max;
			}
			prj[i2]=amax;
		}
		CsvFileWrite(nw,prj,fname0);

		/**************妔****************/

		for(GsqCount=0;GsqCount<GsqRowCount;GsqCount++)
		{
			*(FlatData+i1*GsqRowCount+GsqCount)=prj[GsqCount];
		}

		/**************妔****************/

	}
	//TwoDimensionArrayAllOutput(64,256,FlatData);
	//OneDimensionArrayOutput(FlatData,GsqDataCount);
	return amax;
}


⌨️ 快捷键说明

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