発生している問題・エラーメッセージ
Amideを用いて3次元画像を2次元画像に投影するプログラムを作成しています。コンパイルはできるのですが実行するとコアダンプが発生してしまいます。
初心者なのでなるべくかみ砕いて説明していただけるとありがたいです。
該当のソースコード
c
1#include<stdio.h> 2#include<stdlib.h> 3#define nx 128 4#define ny 128 5#define nz 128 6 7#define MASS_ATT_TISSUE 0.2264 8#define DENSITY_TISSUE 1.06 9 10#define BMASS_ATT_TISSUE 0.4242 11#define BDENSITY_TISSUE 1.92 12#define PIXEL 0.25 13 14int main(void){ 15 16 int i,j,k; 17 FILE *fp; 18 19 float att_tis; 20 float batt_tis; 21 float img_att[nz][ny][nx]; 22 float proj_att[ny][nx]; 23 float att_tis_pix; 24 float batt_tis_pix; 25 26 att_tis=MASS_ATT_TISSUE*DENSITY_TISSUE; 27 att_tis_pix=att_tis*PIXEL; 28 29 batt_tis=BMASS_ATT_TISSUE*BDENSITY_TISSUE; 30 batt_tis_pix=batt_tis*PIXEL; 31 32 for(i=0;i<nx;i++){ 33 for(j=0;j<ny;j++){ 34 for(k=0;k<nz;k++){ 35 img_att[k][j][i]=0; 36 } 37 } 38 } 39 40 float x0,y0,a,b; 41 float X,Y; 42 43 //3D作成 44 45 for(k=0;k<nz;k++){ 46 47 x0=64;y0=64; 48 a=56;b=40; 49 for(i=0;i<nx;i++){ 50 for(j=0;j<ny;j++){ 51 X=((float)i-x0)*((float)i-x0)/(a*a); 52 Y=((float)j-y0)*((float)j-y0)/(b*b); 53 if(X+Y <= 1){ 54 img_att[k][j][i]=att_tis_pix; 55 } 56 } 57 } 58 59 } 60 61 for(k=4;k<nz;k++){ 62 63 x0=40;y0=64; 64 a=20;b=24; 65 for(i=0;i<nx;i++){ 66 for(j=0;j<ny;j++){ 67 X=((float)i-x0)*((float)i-x0)/(a*a); 68 Y=((float)j-y0)*((float)j-y0)/(b*b); 69 if(X+Y <= 1){ 70 img_att[k][j][i]=0; 71 } 72 } 73 } 74 x0=88;y0=64; 75 a=20;b=24; 76 for(i=0;i<nx;i++){ 77 for(j=0;j<ny;j++){ 78 X=((float)i-x0)*((float)i-x0)/(a*a); 79 Y=((float)j-y0)*((float)j-y0)/(b*b); 80 if(X+Y <= 1){ 81 img_att[k][j][i]=0; 82 } 83 } 84 } 85 } 86 87 88 89 //投影 90 for(k=0;k<nz;k++){ 91 for(j=0;j<ny;j++){ 92 for(i=0;i<nx;i++){ 93 proj_att[k][i]+=img_att[k][j][i]; 94 } 95 } 96 } 97 98 fp=fopen("proj_3DCT.raw","wb"); 99 if(fp == NULL) 100 { 101 printf("File open error\n"); 102 exit(1); 103 } 104 for(j=0;j<ny;j++) 105 { 106 fwrite(proj_att[j],sizeof(float),nx,fp); 107 } 108 fclose(fp); 109 110 return 0; 111} 112
コアダンプが発生するソースコードの位置は分かりますか? または、proj_3DCT.raw というファイルが公開されているなら、こちらで試してみますけど…。
回答4件
あなたの回答
tips
プレビュー