2 # mrc2ascii : $Revision$
15 #define GLOBAL_DECLARATION
16 #include "../inc/config.h"
24 typedef struct lmrc2asciiInfo {
29 typedef enum lmrc2asciiMode {
35 extern void lmrc2ascii(FILE* fpt, mrcImage* in, int mode);
37 main(int argc, char* argv[])
43 argCheck(&info, argc, argv);
46 DEBUGPRINT("Program Start\n");
47 mrcFileRead(&in, info.In, "in main", 0);
49 lmrc2ascii(info.fptOut, &in, info.mode);
57 fprintf(stderr, "----- Additional Usage -----\n");
58 fprintf(stderr, "-m \n");
59 fprintf(stderr, " 0: A\n");
60 fprintf(stderr, " 1: nm\n");
61 fprintf(stderr, " +16: Length is Sampling x N\n");
62 fprintf(stderr, " +32: Use start\n");
63 fprintf(stderr, " +64: Integer\n");
68 lmrc2ascii(FILE* fpt, mrcImage* in, int mode)
72 float offsetx, offsety, offsetz;
77 lx = in->HeaderLength.x/in->HeaderN.x;
78 ly = in->HeaderLength.y/in->HeaderN.y;
79 lz = in->HeaderLength.z/in->HeaderN.z;
81 lx = in->HeaderLength.x;
82 ly = in->HeaderLength.y;
83 lz = in->HeaderLength.z;
91 offsetx = in->HeaderStartN.x*lx;
92 offsety = in->HeaderStartN.y*ly;
93 offsetz = in->HeaderStartN.z*lz;
100 for(iz=0; iz<in->HeaderN.z; iz++) {
102 for(iy=0; iy<in->HeaderN.y; iy++) {
104 for(ix=0; ix<in->HeaderN.x; ix++) {
106 mrcPixelDataGet(in, ix, iy, iz, &data, mrcPixelRePart, mrcPixelHowNearest);
108 fprintf(fpt, "%10d %10d %10d %10d\n", (int)x, (int)y, (int)z, (int)data);
110 fprintf(fpt, "%15.6f %15.6f %15.6f %15.6f\n", x, y, z, data);