IMAGIC(API)
From EosPedia
DataManip/IMAGIC is API.
constant
#define IMAGIC_HEADER (1024) #define IMAGIC_HEADER4 (256)
struct
typedef char ImagicParaTypeChar; typedef int ImagicParaTypeInteger; typedef float ImagicParaTypeReal;
typedef struct _ImagicHeader { ImagicParaTypeInteger IMN; // 1, Image Location Number (1, 2, 3 ...) ImagicParaTypeInteger IFOL; // 2, Number of Images Following (0, 1, ...) only of importance in the first location ImagicParaTypeInteger IERROR; // 3, Error code for this image during IMAGIC-5 run ImagicParaTypeInteger NHFR; // 4, Number of Header Records per image (=1 current) ImagicParaTypeInteger NMONTH; // 5, creation month ImagicParaTypeInteger NDAY; // 6, creation day ImagicParaTypeInteger NYEAR; // 7, creation year ImagicParaTypeInteger NHOUR; // 8, creation hour ImagicParaTypeInteger NMINUT; // 9, creation minute ImagicParaTypeInteger NSEC; // 10, creation second ImagicParaTypeInteger NPIX2; // 11, image size in BYTES as seen from the program IDAT1(13)*IDAT1(89) ImagicParaTypeInteger NPIXEL; // 12, total number of image elements ImagicParaTypeInteger IXLP; // 13, number of lines per image (for 1D data IYLP1=1) : x-size ImagicParaTypeInteger IYLP; // 14, number of pixels per line : y-size ImagicParaTypeChar TYPE[4]; // 15, 4 characters determining the image type: // REAL(float),INTG(short),PACK(byte),COMP(2float),RECO(complex with 0 in imaginary) ImagicParaTypeInteger IXOLD; // 16, top left X co-ordinate before CUT-IMAGE boxing ImagicParaTypeInteger IYOLD; // 17, top left Y co-ordinate before CUT-IMAGE boxing ImagicParaTypeReal AVDENS; // 18, average density in image ImagicParaTypeReal SIGMA; // 19, standard deviation of densities ImagicParaTypeReal VARIAN; // 20, variance of densities ImagicParaTypeReal OLDAVD; // 21, old average density of this image ImagicParaTypeReal DENSMAX; // 22, highest density in image ImagicParaTypeReal DENSMIN; // 23, minimal density in image ImagicParaTypeInteger COMPLEX; // 24, label indicating that data are always complex ImagicParaTypeReal CXLENGTH; // 25, cell dimension in Angstr. MRC(12) ImagicParaTypeReal CYLENGTH; // 26, cell dimension in Angstr. MRC(11) ImagicParaTypeReal CZLENGTH; // 27, cell dimension in Angstr. MRC(13) ImagicParaTypeReal CALPHA; // 28, cell angle alpha. MRC(14) ImagicParaTypeReal CBETA; // 29, cell angle beta. MRC(15) ImagicParaTypeChar NAME[80]; // 30-49, coded NAME/TITLE of the image ImagicParaTypeReal CGAMMA; // 50, cell angle gamma. MRC(16) ImagicParaTypeInteger MAPC; // 51, axis corresponding to columns. MRC(17) (1,2,3 for X, Y, Z) ImagicParaTypeInteger MAPR; // 52, axis corresponding to rows. MRC(18) (1,2,3 for X, Y, Z) ImagicParaTypeInteger MAPS; // 53, axis corresponding to section. MRC(19) (1,2,3 for X, Y, Z) ImagicParaTypeInteger ISPG; // 54, space group MRC(23) ImagicParaTypeInteger NXSTART; // 55, number of 1st column in map MRC(6) ImagicParaTypeInteger NYSTART; // 56, number of 1st row in map MRC(5) ImagicParaTypeInteger NZSTART; // 57, number of 1st section in map MRC(7) ImagicParaTypeInteger NXINTV; // 58, number of intervals along X MRC(9) ImagicParaTypeInteger NYINTV; // 59, number of intervals along Y MRC(8) ImagicParaTypeInteger NZINTV; // 60, number of intervals along Z MRC(10) } ImagicHeader;
typedef union ImagicHeader { unsigned char All[IMAGIC_HEADER]; IDAT1 IDAT1[IMAGIC_HEADER4]; DAT1 DAT1[IMAGIC_HEADER4]; ImagicHeader Header; } ImagicHeader;
typedef struct Imagic { } IMAGIC;