亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gx.c

?? vc編寫的3D圖形
?? C
字號:
/**********************  gx.c  ******************************


	Three Dimensional Reconstruction Of Medical
	Images from Serial Slices - CT, MRI, Ultrasound


   This program processess a set of slices images (scans) for one
   patient. It outputs two sets of files containing nine predefined 
   views of bony surfaces. One set contains distance values and 
   the other gradient values.

   The distance values are used as 3-D spatial topographic surface
   coordinate maps for geometrical analysis of the scanned object.

   The gradient values are used for rendering the surface maps on
   CRT displays for subjective viewing where perception of small
   surface details is important.

	Daniel Geist, B.S.
	Michael W. Vannier, M.D.

	Mallinckrodt Institute of Radiology
	Washington University School of Medicine
	510 S. Kingshighway Blvd.
	St. Louis, Mo. 63110

	This program may be copied and used freely for any
	non-commercial purpose with acknowledgement of the
	developers and inclusion of this notice.

   
*********************************************************/

#include <stdio.h>
#include <math.h>
#define DZ    3.0
#define DX    1.0
#define DY    1.0
#define PI    3.141592653

int outfile,ZMAX,FIRSTSLICE,LASTSLICE,THRESHOLD,
RIGHTMID,LEFTMID,TOPINT,midslice,midline;
int short buffer[3][3][256];

/*            standard 18 output files ( 9 views x 2) */
char *fnamein="ctbild.000",*fgll="gll.out",*fdll="dll.out";
succ(i)
int i;
{
    return(i==2?0:i+1);
}
prev(i)
int i;
{
    return(i==0?2:i-1);
}
setfilename(filenum)
int filenum;
{
    fnamein[7]=filenum/100+'0';
    fnamein[8]=(filenum%100)/10+'0';
    fnamein[9]='0'+filenum%10;
}
readline(filenum,line,bufslice,bufline)
int filenum,line,bufslice,bufline;
{
    FILE *fn;
    setfilename(filenum);
    fn=fopen(fnamein,"rb");
    fseek(fn,(long)512*(line+1),SEEK_SET);
    fread(buffer[bufslice][bufline],1,512,fn);
    fclose(fn);
}
readsection(firstfile,bufslice,bufline,line)
int firstfile,bufslice,bufline,line;
{
    int file;
    for(file=firstfile;file<firstfile+3;file++){
        readline(file,line,bufslice,bufline);
        bufslice=(bufslice==2)?0:bufslice+1;
    }
}
readblock(firstfile)
int firstfile;
{
    int file,i;
    FILE *fn;
    for(file=firstfile,i=0;i<3;i++,file++){
        setfilename(file);
        fn=fopen(fnamein,"rb");
        fseek(fn,(long)512,SEEK_SET);
        fread(buffer[i],1,1536,fn);
        fclose(fn);
    }
}
/******************* VAR1X ****************************/
/*place of change on x axis reference to point (positive search) */
double var1x(x,y,z,zero)
int x,y,z,zero;
{
    int i;
    double delta1,delta;
    i=x;
    while((buffer[z][y][i]>=THRESHOLD)&&(i>0))i--;
    if(buffer[z][y][i]>=THRESHOLD)return(DX*(i-x));
    while((buffer[z][y][i]<THRESHOLD)&&(i<255))i++;
    if(buffer[z][y][i]<THRESHOLD)return(DX*(i-x));
    else {
        delta1=THRESHOLD-buffer[z][y][i];
        delta=buffer[z][y][i]-buffer[z][y][i-1];
        return((delta1/delta+i-x)*DX);
    }
}
/**************** GETGRADX ***************************************/
/* grad=  2048*(normalized @F/@x of surface func F)              */
/*****************************************************************/
unsigned char getgradx(func,x,y,slice,limit)
int func,x,y,slice,limit;
{
    double sy[2],sz[2],gx,gy,gz;
    unsigned char gxint;
    /* get x and y components of gradient */
    sz[0]=var1x(x,y,prev(slice),limit);
    sz[1]=var1x(x,y,succ(slice),limit);
    gz=(sz[1]-sz[0])/(2*DZ);
    sy[0]=var1x(x,prev(y),slice,limit);
    sy[1]=var1x(x,succ(y),slice,limit);
    gy=(sy[1]-sy[0])/(2*DY);
    /*compute gx - normalized x component of gradient */
    gx=1/sqrt(1+gz*gz+gy*gy);
    gxint=256*gx+0.5;      /*scale gx by 256 */
    return(gxint);
}

/**********************************************************/
/**** MAIN ***** MAIN ***** MAIN ***** MAIN ***** MAIN ****/
/**********************************************************/
main()
{
    int x,y,z,i,j,k,r;
    FILE *fg,*fd;
    unsigned char lined[256],lineg[256];
    midslice=1;   
    /* first get some parameters from user */
    printf("Enter Starting scan number: ");
    scanf("%d",&FIRSTSLICE);
    printf("Enter ending scan number: ");
    scanf("%d",&LASTSLICE);
    ZMAX=LASTSLICE-FIRSTSLICE+1;
    printf("Enter threshold number: ");
    scanf("%d",&THRESHOLD);
    THRESHOLD+=1024;
    /*creat files for first pass */
    fd=fopen(fdll,"wb");
    fg=fopen(fgll,"wb");
    printf(" opened %d %d \n",fg,fd);
    /* read first 3 scans */
    readblock(FIRSTSLICE);

    /* first pass on scan data (forward) */
    printf("Begining computation of REAR,LEFT,REAR,and LEFT-MID views\n");
    for(z=FIRSTSLICE+1;z<LASTSLICE;z++){                 /*for each slice */
        for(i=0;i<256;i++){
            lineg[i]=0;
            lined[i]=0;
        }
        midline=1;
        for(y=1;y<255;y++){ /*for each line*/
            for(x=1;(x<255)&&(buffer[midslice][midline][x]<THRESHOLD);x++);
            if(x<255){
                lineg[y]=getgradx(0,x,midline,midslice,0);
                lined[y]=255-x;
            }
            if(y<254) readsection(z-1,0,prev(midline),y+2);
            midline=succ(midline);
        }
        fwrite(lineg,1,256,fg);
        fwrite(lined,1,256,fd);
        printf("did slice %d\n",z);
        if(z<LASTSLICE-1) readblock(z);
    }
    fclose(fg);
    fclose(fd);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品福利在线一区二区三区| 日韩女优毛片在线| jizz一区二区| 风流少妇一区二区| 成人免费视频app| 成人免费毛片a| 成人午夜碰碰视频| 风间由美一区二区av101 | 国产精品综合久久| 国产一区二区不卡| 大尺度一区二区| 成人午夜激情影院| 91视频91自| 欧美日韩综合一区| 欧美人动与zoxxxx乱| 日韩一区二区三区四区| 欧美电影免费观看高清完整版在 | 日韩精品乱码免费| 日韩国产高清影视| 精品一区二区三区免费毛片爱 | 成人a免费在线看| 99久久婷婷国产精品综合| 色婷婷久久99综合精品jk白丝| 日本韩国一区二区三区视频| 欧美日韩免费不卡视频一区二区三区 | 不卡视频一二三四| 日本国产一区二区| 欧美日韩高清在线| 26uuu亚洲综合色欧美| 国产精品久久毛片av大全日韩| 亚洲国产精品传媒在线观看| 亚洲天天做日日做天天谢日日欢| 午夜日韩在线电影| 国产尤物一区二区| 99久久久久久| 日韩欧美精品三级| 国产欧美精品一区二区色综合 | 日韩电影在线一区| 国产福利视频一区二区三区| 91老师国产黑色丝袜在线| 欧美精品久久99久久在免费线 | 亚洲影视在线观看| 免费看欧美美女黄的网站| 国产在线精品一区二区三区不卡 | 国产婷婷一区二区| 一区二区三区成人| 精品亚洲aⅴ乱码一区二区三区| 盗摄精品av一区二区三区| 欧美巨大另类极品videosbest | 免费在线看成人av| 成人激情av网| 日韩午夜中文字幕| 综合在线观看色| 免费高清在线视频一区·| 99久久久久免费精品国产| 日韩欧美在线网站| 亚洲狼人国产精品| 狠狠色丁香久久婷婷综合丁香| 色呦呦网站一区| 日韩欧美中文字幕精品| 中文字幕一区视频| 日韩精品视频网站| 91美女福利视频| 日韩欧美国产精品一区| 亚洲精品欧美激情| 精品一区二区三区av| 欧美午夜精品久久久久久超碰 | 一区二区三区在线视频观看 | 99这里只有久久精品视频| 欧美一级在线视频| 一区二区三区在线视频免费| 国产高清无密码一区二区三区| 欧美高清dvd| 一区二区三区资源| 成人免费看视频| 久久蜜桃香蕉精品一区二区三区| 亚洲另类中文字| 极品销魂美女一区二区三区| 在线精品亚洲一区二区不卡| 久久免费偷拍视频| 男女激情视频一区| 欧美少妇一区二区| 亚洲丝袜精品丝袜在线| 国产在线播放一区三区四| 欧美一级理论片| 亚洲图片欧美色图| 在线观看日韩一区| 中文字幕一区二区三区不卡在线 | 一本大道久久a久久精二百| 久久久不卡网国产精品二区| 奇米四色…亚洲| 欧美色综合影院| 亚洲最大色网站| 在线观看亚洲专区| 一区二区三区在线视频免费| heyzo一本久久综合| 中文字幕第一区| 国产一区二区精品久久| 26uuu亚洲综合色欧美| 国产精品99久久久| www成人在线观看| 国产米奇在线777精品观看| 色一情一伦一子一伦一区| 亚洲免费av高清| 91偷拍与自偷拍精品| 亚洲老司机在线| 欧美写真视频网站| 亚洲第一精品在线| 欧美日韩国产综合一区二区| 亚洲国产日韩在线一区模特 | 亚洲超碰97人人做人人爱| 91精彩视频在线| 亚洲免费在线视频| 91丨九色丨蝌蚪丨老版| 中文字幕一区二区三区四区| 成人福利视频网站| 亚洲精品亚洲人成人网在线播放| 欧美午夜影院一区| 日韩专区一卡二卡| 欧美一区二区私人影院日本| 久久精品国产澳门| 久久久久久97三级| 一本大道久久a久久综合| 亚洲国产综合视频在线观看| 91精品欧美一区二区三区综合在| 另类小说综合欧美亚洲| 国产日本欧洲亚洲| 91啪在线观看| 午夜国产精品一区| 日韩欧美一区在线| 国产不卡视频一区二区三区| 国产精品不卡视频| 欧美色老头old∨ideo| 麻豆91在线播放| 欧美精品一区二区三区蜜臀| 成人精品亚洲人成在线| 亚洲欧美激情小说另类| 欧美巨大另类极品videosbest | 精品无码三级在线观看视频| 国产亚洲欧美色| 色婷婷久久99综合精品jk白丝| 日本在线观看不卡视频| 国产午夜久久久久| 在线观看亚洲专区| 国产一区 二区| 亚洲在线视频网站| 精品国产乱码91久久久久久网站| 北条麻妃国产九九精品视频| 玉米视频成人免费看| 日韩精品中文字幕一区| 成人精品视频一区| 三级欧美韩日大片在线看| 亚洲国产成人在线| 精品视频123区在线观看| 激情久久久久久久久久久久久久久久| 国产精品久久久久久久久久免费看 | 免费久久99精品国产| 欧美极品另类videosde| 欧美日韩国产美| 暴力调教一区二区三区| 麻豆视频观看网址久久| 亚洲激情自拍偷拍| 久久丝袜美腿综合| 欧美日韩国产区一| 成人深夜福利app| 精彩视频一区二区| 亚洲第一成年网| 国产精品久久久久久久久晋中| 欧美性受xxxx黑人xyx性爽| 国产精品1区2区| 日韩电影在线一区| 夜夜爽夜夜爽精品视频| 欧美国产视频在线| 精品国产123| 欧美高清视频一二三区 | 99精品视频一区二区三区| 麻豆成人综合网| 午夜国产精品一区| 亚洲一线二线三线视频| 亚洲婷婷综合久久一本伊一区| 国产亚洲女人久久久久毛片| 日韩美女主播在线视频一区二区三区| 色妹子一区二区| 成人动漫视频在线| 国产毛片精品视频| 毛片av中文字幕一区二区| 亚洲综合成人网| 亚洲人精品午夜| 国产欧美日韩麻豆91| 欧美精品一区二区三区蜜臀| 欧美一区二区黄| 欧美欧美欧美欧美| 日本电影欧美片| 91视视频在线观看入口直接观看www| 国产91清纯白嫩初高中在线观看| 久草精品在线观看| 久久99精品久久久久久国产越南| 天堂成人国产精品一区| 午夜精品久久久久久不卡8050| 亚洲精品午夜久久久|