re3d = 0;
im3d = 0;
}
- phaseShift = -2*M_PI*(linfo->TransX*X2d/in->HeaderN.x + linfo->TransY*Y2d/in->HeaderN.y);
+ phaseShift = 2*M_PI*(-linfo->TransX*X2d/in->HeaderN.x - linfo->TransY*Y2d/in->HeaderN.y);
+
re2d = re3d*cos(phaseShift) - im3d*sin(phaseShift);
im2d = re3d*sin(phaseShift) + im3d*cos(phaseShift);
mrcPixelDataGet(in, X2d, Y2d, 0, &re2d0, mrcPixelRePart, linfo->InterpMode);
mrcPixelDataGet(in, X2d, Y2d, 0, &im2d0, mrcPixelImPart, linfo->InterpMode);
- if(re2d0 == 0 && im2d0 == 0){
- re3d0 = 0;
- im3d0 = 0;
- } else{
- re3d = re2d+re2d0*probability;
- im3d = im2d+im2d0*probability;
+ re3d = re2d+re2d0*probability;
+ im3d = im2d+im2d0*probability;
- re3d0 = re3d*cos(-phaseShift) - im3d*sin(-phaseShift);
- im3d0 = re3d*sin(-phaseShift) + im3d*cos(-phaseShift);
-
- if((-volFT->HeaderN.x/2)-0.5 < X3d && X3d < (volFT->HeaderN.x/2)-0.5
- &&(-volFT->HeaderN.y/2)-0.5 < Y3d && Y3d < (volFT->HeaderN.y/2)-0.5
- &&(-volFT->HeaderN.z/2)-0.5 < Z3d && Z3d < (volFT->HeaderN.z/2)-0.5) {
- mrcPixelDataSet(volFT, X3d, Y3d, Z3d, re3d0, mrcPixelRePart);
- mrcPixelDataSet(volFT, X3d, Y3d, Z3d, im3d0, mrcPixelImPart);
- }
-
- if((-volFT->HeaderN.x/2)-0.5 < X3d && X3d < (volFT->HeaderN.x/2)-0.5
- &&(-volFT->HeaderN.y/2)-0.5 < Y3d && Y3d < (volFT->HeaderN.y/2)-0.5
- &&(-volFT->HeaderN.z/2)-0.5 < Z3d && Z3d < (volFT->HeaderN.z/2)-0.5) {
- mrcPixelDataGet(count, X3d, Y3d, Z3d, &counter, mrcPixelRePart, linfo->InterpMode);
-// if(re3d0!=0 || im3d0!=0){
-// if((re3d - (re2d+re2d0*probability)) != 0){
- mrcPixelDataSet(count, X3d, Y3d, Z3d, counter+1, mrcPixelRePart);
-// }
- }
- }
+ re3d0 = re3d*cos(-phaseShift) - im3d*sin(-phaseShift);
+ im3d0 = re3d*sin(-phaseShift) + im3d*cos(-phaseShift);
+
+ if((-volFT->HeaderN.x/2)+0.5 < X3d && X3d < (volFT->HeaderN.x/2)-0.5
+ &&(-volFT->HeaderN.y/2)+0.5 < Y3d && Y3d < (volFT->HeaderN.y/2)-0.5
+ &&(-volFT->HeaderN.z/2)+0.5 < Z3d && Z3d < (volFT->HeaderN.z/2)-0.5) {
+ mrcPixelDataSet(volFT, X3d, Y3d, Z3d, re3d0, mrcPixelRePart);
+ mrcPixelDataSet(volFT, X3d, Y3d, Z3d, im3d0, mrcPixelImPart);
+ }
+
+ if((-volFT->HeaderN.x/2)+0.5 < X3d && X3d < (volFT->HeaderN.x/2)-0.5
+ &&(-volFT->HeaderN.y/2)+0.5 < Y3d && Y3d < (volFT->HeaderN.y/2)-0.5
+ &&(-volFT->HeaderN.z/2)+0.5 < Z3d && Z3d < (volFT->HeaderN.z/2)-0.5) {
+ mrcPixelDataGet(count, X3d, Y3d, Z3d, &counter, mrcPixelRePart, linfo->InterpMode);
+ mrcPixelDataSet(count, X3d, Y3d, Z3d, counter+probability, mrcPixelRePart);
}
}
+ }
lmrcImageFFTCenterChange(volFT, 0);
-
- if(!IsFT(volFT, "lmrcFFTCentralSectionGet", 0)){
- mrcImageFree(volFT, 0);
- memoryFree(volFT);
- }
}
void