OSDN Git Service

Merge branch 'master' of git.sourceforge.jp:/gitroot/eos/base
author中野沙紀 <nakanosaki@nakanosaki-no-Mac-mini.local>
Fri, 18 Mar 2016 06:24:20 +0000 (15:24 +0900)
committer中野沙紀 <nakanosaki@nakanosaki-no-Mac-mini.local>
Fri, 18 Mar 2016 06:24:20 +0000 (15:24 +0900)
1  2 
src/Objects/DataManip/mrcImage/src/lmrcFFTCentralSection.c

@@@ -85,7 -85,8 +85,8 @@@ lmrcImageFFTCentralSectionPut(mrcImage
                        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