当前位置: 首页 > 工具软件 > FAI > 使用案例 >

关于fai值导入程序的思考

仇征
2023-12-01
	for (int i = 0; i < depth; i++){
		for (int j = 0; j < height; j++){
			for (int k = 0; k < width; k++){
				h_fai[i][j][k] = 1.0;
			}
		}
	}
思考发现,改变i,j,k循环顺序的话,实际导入fai值的逻辑会改变
(思考ele%d.txt不同导入顺序后文件内容的含义变化)
		if (n % 100 == 99){
			Status = cudaMemcpy2D(h_app, element_num*sizeof(float), dev_app, pitch, element_num*sizeof(float), compute_count, cudaMemcpyDeviceToHost);//每100步更新一次h_app
			if (Status != cudaSuccess){
				fprintf(stderr, "MemcpyDtH_p: %s\n", cudaGetErrorString(Status));//dev_app按照第1步,1-128号阵元获取的声压信号,第2步....保存信号
			}
			char name[10];
			for (int j = 0; j<element_num; j++){
				sprintf(name, "ele%d.txt", j);
				FILE *ele = fopen(name, "wb");// 输出到elej.txt是按第j个阵元从第compute_count步到第1步获取的声压保存信号
				for (int i = compute_count - 1; i >= 0; i--){
					fprintf(ele, "%f\n", h_app[i][j]);
				}
				fclose(ele);
			}
		}
所以,方便起见,按照ijk的顺序导入CT值才是符合我们逻辑预期的CT方向,
即x方向插入(堆叠)每一片fai值,y方向插入每一行fai值,Z方向插入每个点fai值
 类似资料: