X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2FObjects%2FDataManip%2FmrcImage%2Fsrc%2FlmrcImageSamplingUnitChange.c;fp=src%2FObjects%2FDataManip%2FmrcImage%2Fsrc%2FlmrcImageSamplingUnitChange.c;h=c887e3ec170127314afd82f3bab872d2fd3bc5a3;hb=f3301d578111efc137d5219f129e3f113d54535a;hp=3fe4bb514920af30fef19b571b58c764c32b60b9;hpb=221ca635457400b72fcb4a90748f286532a58720;p=eos%2Fbase.git diff --git a/src/Objects/DataManip/mrcImage/src/lmrcImageSamplingUnitChange.c b/src/Objects/DataManip/mrcImage/src/lmrcImageSamplingUnitChange.c index 3fe4bb5149..c887e3ec17 100755 --- a/src/Objects/DataManip/mrcImage/src/lmrcImageSamplingUnitChange.c +++ b/src/Objects/DataManip/mrcImage/src/lmrcImageSamplingUnitChange.c @@ -35,21 +35,33 @@ lmrcImageSamplingUnitChange(mrcImage* out, mrcImage* in, lmrcImageSamplingUnitCh ky = in->HeaderLength.y/out->HeaderLength.y; kz = in->HeaderLength.z/out->HeaderLength.z; - out->HeaderN.x = in->HeaderN.x*kx; - out->HeaderN.y = in->HeaderN.y*ky; - out->HeaderN.z = in->HeaderN.z*kz; + if(1HeaderN.x) { + out->HeaderN.x = in->HeaderN.x*kx; + } else { + out->HeaderN.x = 1; + } + if(1HeaderN.y) { + out->HeaderN.y = in->HeaderN.y*ky; + } else { + out->HeaderN.y = 1; + } + if(1HeaderN.z) { + out->HeaderN.z = in->HeaderN.z*kz; + } else { + out->HeaderN.z = 1; + } out->HeaderStartN.x = in->HeaderStartN.x*in->HeaderLength.x/out->HeaderLength.x; out->HeaderStartN.y = in->HeaderStartN.y*in->HeaderLength.y/out->HeaderLength.y; out->HeaderStartN.z = in->HeaderStartN.z*in->HeaderLength.z/out->HeaderLength.z; mrcInit(out, NULL); + for(z=0; zHeaderN.z; z++) { + for(y=0; yHeaderN.y; y++) { for(x=0; xHeaderN.x; x++) { - for(y=0; yHeaderN.y; y++) { - for(z=0; zHeaderN.z; z++) { - mrcPixelDataGet(in, x/kx, y/ky, z/kz, &data, mrcPixelRePart, info.SamplingMethodMode); - mrcPixelDataSet(out, x, y, z, data, mrcPixelRePart); - } - } + mrcPixelDataGet(in, x/kx, y/ky, z/kz, &data, mrcPixelRePart, info.SamplingMethodMode); + mrcPixelDataSet(out, x, y, z, data, mrcPixelRePart); + } + } } }