intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình xử lý ảnh y tế Tập 3 P6

Chia sẻ: Cinny Cinny | Ngày: | Loại File: PDF | Số trang:9

68
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mắt cảm nhận ánh sáng xung quanh chúng ta và chuyển chúng thành các xung điện, sau đó đưa về bộ nhớ qua các dây thần kinh. Tại phía sau của mắt, một lưới dây thần kinh từ giác mạc tạo thành các dây thần kinh cảm quang

Chủ đề:
Lưu

Nội dung Text: Giáo trình xử lý ảnh y tế Tập 3 P6

  1. printf("Enter file name -->"); scanf("%s",file_name); ind=access(file_name,0); } } fptr=fopen(file_name,"w"); /* Assigning memory to *net, *z, *delta. */ net=(float *)malloc(Nt*sizeof(float)); y=(float *)malloc(Nt*sizeof(float)); delta=(float *)malloc(Nt*sizeof(float)); printf("\nEnter file - name containing training data - ->"); scanf("%s",file_name2); fptr2=fopen(file_name2,"r"); if(fptr2==NULL) { printf("file %s does not exist. ", file_name); exit(1); } /* Determining the size of the data.*/ M=0; ind=1; while(1) { for(i=0;i
  2. xp=(float *)malloc((M*NL[0])*sizeof(float)); d=(int *)malloc((M*NL[L-1])*sizeof(int)); /* Reading in the data. */ for(i=0; i
  3. q=0.0; for(k=0; k
  4. } extern float *df,*w,*net; extern *NL,*NL; #define fd(i) y[i]*(1.0-y[i]) /* Define derivative. */ void dfun(float *w, float *df, int N) { int i,j,k,m,n,Nt1,Nt2,Nt3,ii; float E,error,sum; /* Initialize derivative vector. */ for(i=0;i
  5. y[m]=1.0/(1.0+E); } Nt1+=NL[n]; Nt2+=NL[n-1]; } Nt1=0; for(i=1; i
  6. Nt2+=NL[m]; Nt3+=NL[m+1]; } } /*k-loop*/ } #include #include #include #include void conj_grad( float (*)(float *), void(*)(float *, float*, int), float *, int, float ,float, int ); float f( float, float (*)(float *),float *, float *, float *, int); float fun(float *); void dfun(float*, float*,int); void bracket(float , float , float *,float *,float (*)(float *), float *, float *, float *, int); float Brent(float, float, float (*)(float *),float, float *,float *, float *, int ); /* Conjugate gradient method. fun:is a subprogram that returns the value of the function to be minimized. The arguments are: vector of variables, number of variables. dfun:is subprogram that provides the gradients. Arguments: variables, gradients, number of variables. x[]: contain the variables. An initial value need to be supplied. N: number of variables. eps1: overall convergence criteria. eps2: line search convergence criteria. no_iter: Maximum number of iterations. */ #define ESC 0x1B 305
  7. float EPS; /*square-root of machine epsilon. */ void conj_grad( float (*fun)(float *), void (*dfun)(float *, float *, int), float *x, int N, float eps1, float eps2, int no_iter) { float *df,*dfp,*xt,*S,q,astar,sum,test,sum1,sum2; int i,j,iter; float a,b,tol1; EPS=1.0; do { EPS/=2.0; tol1=1.0+EPS; } while(tol1>1.0); EPS=(float)sqrt((double)EPS); df=(float *)malloc(N*sizeof(float)); dfp=(float *)malloc(N*sizeof(float)); S=(float *)malloc(N*sizeof(float)); xt=(float *)malloc(N*sizeof(float)); dfun(x,df,N); for(i=0;i
  8. test +=(float)fabs((float)df[i]); if(test < eps1) { printf("\nConvergence by gradient test."); break; } /* If df*S
  9. printf(" Error function=%f at iteration # %- 5d",q,iter); } printf("\nNumber of iterations = %d \n",iter); free(S); free(xt); } /* Function evaluation for line search. */ float f( float alpha, float (*fun)(float *),float *x, float *xt, float *S, int N) { int i; float q; for(i=0;i=y0) { dx=-dx; x1=x0+dx; 308
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0