MrcImage.h
提供: Eospedia
mrcImage.hは、mrcImage型の画像を取り扱うための標準APIです。
クラス名(構造体)
mrcImage |- mrcImageHeader (画像の情報) |- mrcImageTailer (画像の付加的な情報) |- Image (画像)
メンバ
typedef struct mrcImage { mrcImageHeader Header; mrcImageParaTypeInteger BytePerImage; mrcImageParaTypeInteger BytePerBand; mrcImageParaTypeInteger BandPerPixel; mrcImageParaTypeInteger PixelPerImage; mrcStatusType status; char* Image; unsigned char* ImageCharImage; unsigned short* ImageShortImage; unsigned long* ImageLongImage; float* ImageFloatImage; double* ImageDoubleImage; mrcImageTailer* Tailer; mrcImageParaTypeInteger numTailer; /* Swap Bytes */ mrcImageParaTypeInteger flagByteSwap; /* flag CCP4-2000 */ mrcImageParaTypeInteger flagCCP4; mrcImageParaTypeInteger ImageOffset; mrcImageSymmetryOperator* SymmetryOperator; } mrcImage;
/* Image Header */ typedef union mrcImageHeader { unsigned char All[MRC_HEADER]; mrcImageParaTypeInteger Int[MRC_HEADER/4]; mrcImageParaTypeReal Real[MRC_HEADER/4]; _mrcImageHeader Cont; /* Conventional Header */ _mrcImageHeaderCCP4 ContCCP4; /* Current Header */ } mrcImageHeader; typedef struct _mrcImageHeader { mrcImageParaTypeIntegerCoord N; /* Data Numbers */ mrcImageMode Mode; /* Data Type */ mrcImageParaTypeIntegerCoord StartN; /* First in map */ mrcImageParaTypeIntegerCoord M; /* Number of Intervals */ mrcImageParaTypeRealCoord Length; /* Cell Dimensions : Angstrom */ mrcImageParaTypeReal Alpha; /* Cell Angle : Degree */ mrcImageParaTypeReal Beta; mrcImageParaTypeReal Gamma; mrcImageParaTypeInteger MAPC; /* Which Axis Corresponds to Columns */ mrcImageParaTypeInteger MAPR; /* Which Axis Corresponds to Rows */ mrcImageParaTypeInteger MAPS; /* Which Axis Corresponds to Sections */ mrcImageParaTypeReal AMin; /* Minimum Density Value */ mrcImageParaTypeReal AMax; /* Maximum Density Value */ mrcImageParaTypeReal AMean; /* Mean Density Value */ mrcImageParaTypeInteger ISPG; /* Space Group */ mrcImageParaTypeInteger NSYMBT; /* Number of bytes */ mrcImageParaTypeReal EXTRA[MRC_MAX_EXTRA]; /* Extra, user defined storage space */ mrcImageParaTypeReal OriginX; mrcImageParaTypeReal OriginY; mrcImageParaTypeInteger LabelN; char Label[MRC_MAX_LABEL_N][MRC_MAX_LABEL_LEN]; } _mrcImageHeader; /* For CCP4 2000 : Current New */ typedef char mrcImageSymmetryOperator; typedef struct _mrcImageHeaderCCP4 { mrcImageParaTypeIntegerCoord N; /* Data Numbers */ mrcImageMode Mode; /* Data Type */ mrcImageParaTypeIntegerCoord StartN; /* First in map */ mrcImageParaTypeIntegerCoord NI; /* Number of Intervals */ mrcImageParaTypeRealCoord Length; /* Cell Dimensions : Angstrom */ mrcImageParaTypeReal Alpha; /* Cell Angle : Degree */ mrcImageParaTypeReal Beta; mrcImageParaTypeReal Gamma; mrcImageParaTypeInteger MAPC; /* Which Axis Corresponds to Columns */ mrcImageParaTypeInteger MAPR; /* Which Axis Corresponds to Rows */ mrcImageParaTypeInteger MAPS; /* Which Axis Corresponds to Sections */ mrcImageParaTypeReal AMin; /* Minimum Density Value */ mrcImageParaTypeReal AMax; /* Maximum Density Value */ mrcImageParaTypeReal AMean; /* Mean Density Value */ mrcImageParaTypeInteger ISPG; /* Space Group */ mrcImageParaTypeInteger NSYMBT; /* Number of bytes used for storing symmetry operators */ mrcImageParaTypeInteger LSKFLG; /* Flag for Skew transformation */ mrcImageParaTypeReal SKWMAT[9]; /* Skew matrix S */ mrcImageParaTypeReal SKWTRN[3]; /* Skew translation */ mrcImageParaTypeReal EXTRA[MRC_MAX_EXTRA_CCP4]; /* Extra, user defined storage space */ mrcImageParaTypeCharacter MAP[4]; mrcImageParaTypeInteger ARCHST; mrcImageParaTypeReal ARMS; mrcImageParaTypeInteger LabelN; char Label[MRC_MAX_LABEL_N][MRC_MAX_LABEL_LEN]; } _mrcImageHeaderCCP4;
/* Tailer */ /* constant begin */ #define mrcImageTailerMode2DProjection 0 /* constant end */ /* struct begin */ typedef struct _mrcImageTailer { char Code[4]; mrcImageParaTypeInteger Mode; char EulerAngleMode[4]; mrcImageParaTypeReal Rot1; mrcImageParaTypeReal Rot2; mrcImageParaTypeReal Rot3; mrcImageParaTypeInteger Mirror; } _mrcImageTailer; typedef union mrcImageTailer { unsigned char All[MRC_TAILER]; mrcImageParaTypeInteger Int[MRC_TAILER/4]; mrcImageParaTypeReal Real[MRC_TAILER/4]; _mrcImageTailer Cont; } mrcImageTailer;