OSDN Git Service

Merge branch 'master' of git.sourceforge.jp:/gitroot/eos/base
[eos/base.git] / src / Objects / DataManip / mrcImage / src / mrcImageCopy.c
1 /*
2 # mrcImageCopy.c  1.1
3 # The latest update : 05/08/96 at 17:34:02
4 #
5 #@(#) mrcImageCopy ver 1.1
6 #@(#) Created by 
7 #@(#)
8 #@(#) Usage : mrcImageCopy 
9 #@(#) Attention
10 #@(#)
11 */
12 static char __sccs_id[] = "@(#)mrcImageCopy ver1.1; Date:96/05/08 @(#)";
13 #include <math.h>
14 #include <stdlib.h>
15 #undef DEBUG
16 #include "genUtil.h"
17 #include "../inc/mrcImage.h"
18
19 void
20 lmrcImageCopy(mrcImage* dst, mrcImage* src, mrcImageParaTypeRealCoord to)
21 {
22         mrcImageParaTypeInteger ix, iy, iz;
23         double data;
24         mrcImageParaTypeInteger x, y, z;
25         int k;
26
27         DEBUGPRINT3("to: %g %g %g in lmrcImageCopy\n", to.x, to.y, to.z);
28         DEBUGPRINT3("src: %d %d %d in lmrcImageCopy\n", src->HeaderN.x, src->HeaderN.y, src->HeaderN.z);
29         DEBUGPRINT3("dst: %d %d %d in lmrcImageCopy\n", dst->HeaderN.x, dst->HeaderN.y, dst->HeaderN.z);
30     for(iz=0; iz<src->HeaderN.z; iz++) {
31     for(iy=0; iy<src->HeaderN.y; iy++) {
32     for(ix=0; ix<src->HeaderN.x; ix++) {
33                 x = (int)(ix + to.x + 0.5);
34                 y = (int)(iy + to.y + 0.5);
35                 z = (int)(iz + to.z + 0.5);
36         mrcPixelDataGet(src, ix, iy, iz, &data, mrcPixelRePart, mrcPixelHowNearest);
37         mrcPixelDataSet(dst,  x,  y,  z, data,  mrcPixelRePart);
38     }
39     }
40     }
41 }