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

📄 median3d.c

📁 seismic software,very useful
💻 C
字号:
#include <su.h>char *sdoc ="MEDIAN3D - smooth a 3D dataset with a median filter\n\n""median3d in= out= [n1= n2= n3=] w1= w2= w3= dim=\n\n""in= out=		files, float arrays[n3][n2][n1]\n""n1= n2= n3=		array dimensions\n""w1= w2= w3=		median window dimensions, should be odd numbers\n""dim=			=1 w's are lines, three passes\n""			=2 w's are planes, three passes\n""			=3 w's define a sub-cube, one pass\n";int main (int argc , char **argv) {int n1, n2, n3, w1, w2, w3, dim, one=1, vgrid, infd, outfd;float *in, *out, *buf;char *infile, *outfile;initargs (argc,argv);askdoc (1);if (getparstring ("in",&infile) == 0) err ("in= missing");if ((infd = open (infile,0)) < 0) err ("cant open in=%s",infile);if (getparstring ("out",&outfile) == 0) err ("out= missing");if ((outfd = creat (outfile,0664)) < 0) err ("cant create out=%s",outfile);if (getvgrid (infd,&n1,&n2,&n3)) {	vgrid = 1;	}else	{	vgrid = 0;	if (getparint("n1",&n1) == 0) err ("n1= missing");	if (getparint("n2",&n2) == 0) err ("n2= missing");	if (getparint("n3",&n3) == 0) err ("n3= missing");	}if (getparint("w1",&w1) == 0) err ("w1= missing");if (getparint("w2",&w2) == 0) err ("w2= missing");if (getparint("w3",&w3) == 0) err ("w3= missing");if (getparint("dim",&dim) == 0) err ("dim= missing");if (dim < 1 || dim > 3) err ("dim=1,2,3");in = (float*) malloc (n1*n2*n3*4);out = (float*) malloc (n1*n2*n3*4);buf = (float*) malloc (w1*w2*w3*4);read (infd,in,n1*n2*n3*4);switch (dim) {case 1:	medfilter_ (in,out,buf,&n1,&n2,&n3,&w1,&one,&one);	medfilter_ (out,in,buf,&n1,&n2,&n3,&one,&w2,&one);	medfilter_ (in,out,buf,&n1,&n2,&n3,&one,&one,&w3);	break;case 2:	medfilter_ (in,out,buf,&n1,&n2,&n3,&w1,&w2,&one);	medfilter_ (out,in,buf,&n1,&n2,&n3,&w1,&one,&w3);	medfilter_ (in,out,buf,&n1,&n2,&n3,&one,&w2,&w3);	break;case 3:	medfilter_ (in,out,buf,&n1,&n2,&n3,&w1,&w2,&w3);	break;	}write (outfd,out,n1*n2*n3*4);if (vgrid) putvgrid (outfd,n1,n2,n3);}

⌨️ 快捷键说明

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