OSDN Git Service

bug fixed: v2.3.5.p0161
authorTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Fri, 3 Jul 2015 03:33:39 +0000 (12:33 +0900)
committerTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Fri, 3 Jul 2015 03:33:39 +0000 (12:33 +0900)
      2     Memory Allocation

src/Objects/DataManip/transform/src/lmrc2Dto3D.c
src/Objects/DataManip/transform/src/lmrc3Dto2D.c

index 727a136..b31ff1c 100755 (executable)
@@ -60,6 +60,7 @@ lmrcImage2Dto3DSingle(mrcImage* out, mrcImage* counter, int counterNum, mrcImage
        DEBUGPRINT("Start lmrcImage2Dto3DSingle\n")
        if(NULL!=in) {
                tmp.Header    = prj.Header    = in->Header;
+               tmp.HeaderMode = prj.HeaderMode = mrcFloatImage;
                tmp.HeaderN.z = prj.HeaderN.z = 1;
                mrcInit(&tmp, NULL); mrcInit(&prj, NULL); 
 
@@ -163,6 +164,7 @@ lmrcImage2Dto3DSingle(mrcImage* out, mrcImage* counter, int counterNum, mrcImage
                        if(linfo->flagDouble) {
                                /* Preparing Rho Filtering */
                                DEBUGPRINT("Start RhoFiltering2\n");
+                               linfo->rhoInfo.Rmax = linfo->Rmax;
                                lmrcImageRhoFiltering2(out, counter, counterNum, Matrix, &linfo->rhoInfo, 0);
                                DEBUGPRINT("End RhoFiltering2\n");
                                prj = tmp;
@@ -526,7 +528,7 @@ lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* out, mrcImage* prj, lmrc2Dto3D
                        if( -0.5<=prjx && prjx<prj->HeaderN.x-0.5
                          &&-0.5<=prjy && prjy<prj->HeaderN.y-0.5) {
                                data = out->ImageFloatImage[index];
-                               mrcPixelDataGet(prj, prjx, prjy, 0.0, &projdata, mrcPixelRePart, linfo->InterpolationMode);
+                               //mrcPixelDataGet(prj, prjx, prjy, 0.0, &projdata, mrcPixelRePart, linfo->InterpolationMode);
                                if(linfo->flagDouble && linfo->rhoInfo.flagThicknessWeight) {
                                        normz = fabs(tmpz/g3z); 
                                        if(normz < 0.9) {
index ba0f0d3..b699158 100755 (executable)
@@ -126,8 +126,9 @@ lmrcImage3Dto2DSingle(mrcImage* out2D, mrcImage* in3D,
                        }
                        sum+=data;
                }
-               out2D->ImageFloatImage[(int)(prjx+prjy*out2D->HeaderN.x+llinfo->section*out2D->HeaderN.x*out2D->HeaderN.y)] = sum/max;
+               out2D->ImageFloatImage[(int)(prjx+prjy*out2D->HeaderN.x)] = sum/max;
                //mrcPixelDataSet(out2D, prjx,  prjy, llinfo->section, sum/max, mrcPixelRePart);
+               //mrcPixelDataSet(out2D, prjx,  prjy, 0, sum/max, mrcPixelRePart);
        }
        }
 }