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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gx.c

?? 3DMEDLIB - 三維醫學圖像開發源程序庫及范例
?? 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);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品超碰97尤物18| 国产一区二区三区四| 国产一区二区三区黄视频| 从欧美一区二区三区| 国产精品全国免费观看高清| 成人黄色av电影| 亚洲色图视频网| 欧美男男青年gay1069videost| 蜜臀a∨国产成人精品| 国产欧美日韩亚州综合| 7777精品伊人久久久大香线蕉经典版下载 | 久久色.com| 欧美日韩视频第一区| 国精品**一区二区三区在线蜜桃| **网站欧美大片在线观看| 日韩三级电影网址| 色欧美片视频在线观看 | 精品一区二区在线播放| 日韩一区欧美小说| 久久先锋资源网| 国产91精品免费| 日韩精品一区二区三区老鸭窝| 亚洲综合色噜噜狠狠| 2欧美一区二区三区在线观看视频| 91精品综合久久久久久| 一区二区三区中文字幕在线观看| 国产91精品一区二区麻豆亚洲| 欧美日韩精品一区二区天天拍小说 | 亚洲黄色录像片| 不卡电影一区二区三区| 亚洲精品你懂的| 在线观看欧美黄色| 午夜精品福利视频网站| 欧美群妇大交群中文字幕| 九九视频精品免费| 在线不卡欧美精品一区二区三区| 久久九九久久九九| 欧美草草影院在线视频| 国产一区不卡精品| 中文字幕一区二区三区视频 | 麻豆极品一区二区三区| 久久99国产乱子伦精品免费| 欧美日韩色一区| 91成人免费在线视频| 色婷婷av一区二区三区软件| 99re视频精品| 色综合天天综合网天天看片| 色综合一区二区三区| 91女人视频在线观看| 色综合久久中文综合久久97| 亚洲精品一线二线三线| 国产成人综合在线观看| 免费人成网站在线观看欧美高清| 国产精品美女久久久久久久久| 欧美日韩一级黄| 国产成人精品综合在线观看| 中文字幕中文字幕一区二区 | 亚洲精品午夜久久久| 97se亚洲国产综合自在线| 国产精品亚洲一区二区三区在线| 一区二区三区欧美激情| 亚洲午夜久久久| 免费观看在线综合色| 激情综合亚洲精品| 成人开心网精品视频| 91啦中文在线观看| 亚洲视频在线一区二区| 日日嗨av一区二区三区四区| 亚洲综合久久久久| 亚洲精品一区二区三区精华液| 国产亚洲1区2区3区| 亚洲女爱视频在线| 亚洲一区二区三区四区在线| 秋霞成人午夜伦在线观看| 国产一区中文字幕| 成人激情免费网站| 91成人网在线| 2020日本不卡一区二区视频| 国产精品久久久久久久久晋中| 亚洲午夜久久久久久久久电影院| 免费成人深夜小野草| 成人的网站免费观看| 欧美日韩国产影片| 国产欧美日韩亚州综合| 亚洲高清视频在线| 国产成人a级片| 欧美嫩在线观看| 中文字幕不卡在线观看| 亚洲va国产va欧美va观看| 国产精一区二区三区| 欧美专区亚洲专区| 久久精品人人做人人综合| 亚洲无人区一区| 秋霞电影一区二区| 国产亚洲成年网址在线观看| 亚洲一区二区三区四区不卡| 国产很黄免费观看久久| 欧美日韩国产高清一区二区 | 日韩二区在线观看| 高清国产一区二区| 欧美一区二区三区爱爱| 成人app软件下载大全免费| 欧美专区在线观看一区| 2017欧美狠狠色| 另类小说综合欧美亚洲| 在线视频综合导航| 亚洲欧美国产三级| 国产激情一区二区三区桃花岛亚洲| 99久久精品国产毛片| www久久久久| 午夜一区二区三区视频| 国产aⅴ精品一区二区三区色成熟| 欧美日韩精品系列| 亚洲国产一区二区a毛片| 91老师片黄在线观看| 亚洲欧美电影院| 国产人久久人人人人爽| 亚洲欧洲av色图| av一二三不卡影片| 日韩一区二区视频| 亚洲精品国产视频| 91久久一区二区| 欧美一区二区在线看| 日韩一级片网址| 一区二区三区成人| 91久久精品日日躁夜夜躁欧美| 欧美成人精品福利| 精品国产一区a| 久久超碰97人人做人人爱| 久久99蜜桃精品| 欧美自拍偷拍一区| 国产精品电影一区二区| 一区二区三区在线观看国产| 91啪亚洲精品| 欧美韩国日本综合| 韩国精品免费视频| 日韩亚洲欧美高清| 伊人色综合久久天天| 国产精品夫妻自拍| 国产精品一卡二| 国产欧美一区二区三区鸳鸯浴| 国产另类ts人妖一区二区| 中文字幕一区二区在线观看| av成人免费在线| 亚洲精品综合在线| 欧美亚洲高清一区二区三区不卡| 亚洲国产日日夜夜| 欧美日韩国产首页| 91麻豆蜜桃一区二区三区| 在线精品国精品国产尤物884a| 欧美在线不卡一区| 欧美伊人久久久久久久久影院| 日韩美女视频19| 91成人在线精品| 亚洲欧美经典视频| 欧美日韩和欧美的一区二区| 午夜av区久久| 91精品国产色综合久久| 久久成人免费网| 日韩精品中文字幕一区二区三区 | 亚洲大型综合色站| 欧美麻豆精品久久久久久| 亚洲主播在线观看| 51午夜精品国产| 欧美日韩综合在线免费观看| 天堂成人国产精品一区| 色婷婷精品久久二区二区蜜臂av| 一区二区三区色| 日韩无一区二区| 韩国av一区二区三区四区| 国产精品国产三级国产普通话蜜臀 | 国产风韵犹存在线视精品| 久久久久久9999| 成人黄色片在线观看| 五月天精品一区二区三区| 69p69国产精品| 91在线免费播放| 不卡一区中文字幕| 天堂蜜桃一区二区三区| 国产精品美女一区二区| 精品国产一二三区| 精品国内二区三区| 91精品视频网| 欧美一区二区三区在线电影| 欧美日韩国产一级片| 日本黄色一区二区| av不卡一区二区三区| 色国产精品一区在线观看| 丁香另类激情小说| 蜜桃视频免费观看一区| 国产一区中文字幕| 国产传媒日韩欧美成人| 盗摄精品av一区二区三区| 777a∨成人精品桃花网| 精品福利一区二区三区| 中文字幕中文字幕一区| 久久午夜羞羞影院免费观看| 欧美日韩国产综合一区二区三区 | 狠狠色狠狠色综合日日91app| 亚洲国产乱码最新视频|