From b873e4388fc6148720d6df4103a1c8787cea03a0 Mon Sep 17 00:00:00 2001 From: Takuo Yasunaga Date: Sun, 12 Jul 2015 13:14:43 +0900 Subject: [PATCH] bug fixed: lmrc2Dto3D --- Integration/2DClustering/Makefile | 3 +- include/eosBayes.h | 5 ++ src/Objects/DataManip/transform/doc/transform.html | 61 ---------------------- src/Objects/DataManip/transform/src/lmrc2Dto3D.c | 18 ++++--- src/Tools/Config/Define.inc | 1 + src/Tools/Makefile | 6 ++- .../src/mrcImageUnsharpening.c | 2 +- .../mrcImageUnsharpening/src/test/Makefile | 0 src/Tools/rec3d/mrc2Dto3D/src/test/Makefile | 4 +- 9 files changed, 28 insertions(+), 72 deletions(-) mode change 120000 => 100755 src/Tools/Makefile mode change 100644 => 100755 src/Tools/mrcImage/mrcImageUnsharpening/src/test/Makefile diff --git a/Integration/2DClustering/Makefile b/Integration/2DClustering/Makefile index 98054243d7..4ae6574684 100644 --- a/Integration/2DClustering/Makefile +++ b/Integration/2DClustering/Makefile @@ -8,6 +8,7 @@ # xxxx.roi # Makefile.config # + include Makefile.config .SUFFIXES: .roi .preshrink .pad .padlst .log .logIn @@ -16,7 +17,7 @@ include Makefile.config # Menu:: - @echo "------------ How to use this Makefile-------------------" + @echo "------------ How to use this Makefile -------------------" @echo "make Init" @echo "make ALLROIS" @echo "make Pad" diff --git a/include/eosBayes.h b/include/eosBayes.h index 868174ee09..17e6798907 100644 --- a/include/eosBayes.h +++ b/include/eosBayes.h @@ -19,5 +19,10 @@ typedef struct eosBayes { eosBayesDistribution* likelihood; } eosBayes; +extern void eosBayesInit(eosBayes* b, int numDistribution, int numLikelihood, int mode); +extern void eosBayesDistributionInit(eosBayes* b, int mode); +extern void eosBayesDistributionInit0(eosBayesDistribution* d, int mode); +extern void eosBayesEstimation(eosBayesDistribution* d, int mode); +extern void eosBayesWrite(FILE* fpt, eosBayesDistribution* d, int mode); #endif /* EOS_BAYES_H */ diff --git a/src/Objects/DataManip/transform/doc/transform.html b/src/Objects/DataManip/transform/doc/transform.html index 053b4bf1ab..0096d7178c 100644 --- a/src/Objects/DataManip/transform/doc/transform.html +++ b/src/Objects/DataManip/transform/doc/transform.html @@ -3,67 +3,6 @@

Information from source codes

-../src/lAllCommonLineCalculation.c:
-
-../src/lAngularWeightCalculation.c:
-
-../src/lCommonLineCalculation.c:
-
-../src/lCommonLineDataSetInPlaneRotation.c:
-
-../src/lCommonLinesDataSet.c:
-
-../src/lDescartesIntoPolar.c:
-
-../src/lEvaluateCorrelationMapwithCommonLine.c:
-
-../src/lFETOrientationSearchByAnnealing.c:
-
-../src/lFETOrientationSearchByFeatureAlignment.c:
-
-../src/lFETOrientationSearchByFeatureAlignmentInitSet.c:
-
-../src/lFETOrientationSearchByFeatureAlignmentSphere.c:
-
-../src/lFETmapOrientationSearchBySimultaneousFitting.c:
-
-../src/lFETsmallMapSetCreate_forSimultaneousMinimization.c:
-
-../src/lInitialDataFileRead.c:
-
-../src/lJcalulation.c:
-
-../src/lLcalculation.c:
-
-../src/lPlaneRotationAngleSet.c:
-
-../src/lllDataSeparationInfoPrint.c:
-
-../src/lllDataSeparationInfoRead.c:
-
-../src/lllDataSeparationInfoSet.c:
-
-../src/lllDatarMaxLimitForSeparation.c:
-
-../src/lllExtract.c:
-
-../src/lllExtractCtfinfFileCreate.c:
-
-../src/lllExtractWithSeparation.c:
-
-../src/lllExtractdYEstimate.c:
-
-../src/lmrc2Dto3D.c:
-
-../src/lmrc2Dto3DSIRT.c:
-
-../src/lmrc3Dto2D.c:
-
-../src/lmrcImageFileListAndEulerAngleDataRead.c:
-
-../src/lmrcImageOneLineGet.c:
-
-../src/lmrcImageSinogramCorrelationAdditionalWeight.c:
 

diff --git a/src/Objects/DataManip/transform/src/lmrc2Dto3D.c b/src/Objects/DataManip/transform/src/lmrc2Dto3D.c index efaa6adcf9..a586339a65 100755 --- a/src/Objects/DataManip/transform/src/lmrc2Dto3D.c +++ b/src/Objects/DataManip/transform/src/lmrc2Dto3D.c @@ -235,6 +235,7 @@ lmrcImage2Dto3DSingle(mrcImage* out, mrcImage* counter, int counterNum, mrcImage /* */ DEBUGPRINT("Backprojection Start\n"); + DEBUGPRINT1("prj: %f\n", prj.ImageFloatImage[prj.HeaderN.x/2 + prj.HeaderN.y/2*prj.HeaderN.x]); switch(linfo->mode) { case mrc2Dto3DModeSimpleBackProjection: { /* Backprojection */ lmrc2Dto3DSimpleBackProjectionForEach(out, &prj, linfo, Matrix, mode); @@ -258,6 +259,7 @@ lmrcImage2Dto3DSingle(mrcImage* out, mrcImage* counter, int counterNum, mrcImage break; } } + DEBUGPRINT1("out: %f\n", out->ImageFloatImage[out->HeaderN.x/2 + out->HeaderN.y/2*out->HeaderN.x + out->HeaderN.z/2*out->HeaderN.x*out->HeaderN.y]); DEBUGPRINT("Backprojection End\n"); mrcImageFree(&prj, "in lmrc2Dto3DSingle"); @@ -366,7 +368,9 @@ lmrc2Dto3D(mrcImage* out, mrcImage* in, lmrc2Dto3DInfo* linfo, long mode) eosPThreadCreate(&pthread, iThread, (void*)lmrcImage2Dto3DSingleForPThread, &(pthreadArg[iThread]), 0); //lmrcImage2Dto3DSingleForPThread(&(pthreadArg[iThread])); } else { + DEBUGPRINT("No threading: lmrcImage2Dto3DSingle\n"); lmrcImage2Dto3DSingle(out, &(counter[iThread]), threadCounter[iThread], in, i, linfo, mode); + DEBUGPRINT1("out before filter: %f\n", out->ImageFloatImage[out->HeaderN.x/2 + out->HeaderN.y/2*out->HeaderN.x + out->HeaderN.z/2*out->HeaderN.x*out->HeaderN.y]); } threadCounter[iThread]++; @@ -385,7 +389,7 @@ lmrc2Dto3D(mrcImage* out, mrcImage* in, lmrc2Dto3DInfo* linfo, long mode) if(linfo->flagDouble && linfo->mode==mrc2Dto3DModeFilteredBackProjection) { /* Perform RhoFiltering */ #ifdef DEBUG - //mrcFileWrite(out, "/tmp/RawDataforDebug.mrc3d", "in main", 0); + mrcFileWrite(out, "/tmp/RawDataforDebug.mrc3d", "in main", 0); mrcFileWrite(&(counter[0]), "/tmp/counter0", "in main", 0); #endif for(i=0, j=0; iCounterForWeight, threadNum, Matrix, &linfo->rhoInfo, 1); + DEBUGPRINT1("out after filter: %f\n", out->ImageFloatImage[out->HeaderN.x/2 + out->HeaderN.y/2*out->HeaderN.x + out->HeaderN.z/2*out->HeaderN.x*out->HeaderN.y]); } else { lmrcImageDividedByReal(out, numProjection); } @@ -482,7 +487,8 @@ lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* out, mrcImage* prj, lmrc2Dto3D mrcImageParaTypeReal gx, gy, gz; mrcImageParaTypeReal g3x, g3y, g3z; floatVector v; - int index; + int index3d; + int index2d; floatVectorInit(&v, 4); v.data[3] = 1.0; @@ -507,7 +513,7 @@ lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* out, mrcImage* prj, lmrc2Dto3D tmpzy = Matrix[1][2]*v.data[1]; for(x=0; xHeaderN.x; x++) { - index = x + y*out->HeaderN.x + z*out->HeaderN.x*out->HeaderN.y; + index3d = x + y*out->HeaderN.x + z*out->HeaderN.x*out->HeaderN.y; v.data[0] = x-g3x; tmpxx = Matrix[0][0]*v.data[0]; tmpyx = Matrix[0][1]*v.data[0]; @@ -527,8 +533,8 @@ lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* out, mrcImage* prj, lmrc2Dto3D //mrcPixelDataGet(out, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest); if( -0.5<=prjx && prjxHeaderN.x-0.5 &&-0.5<=prjy && prjyHeaderN.y-0.5) { - data = out->ImageFloatImage[index]; - //mrcPixelDataGet(prj, prjx, prjy, 0.0, &projdata, mrcPixelRePart, linfo->InterpolationMode); + data = out->ImageFloatImage[index3d]; + mrcPixelDataGet(prj, prjx, prjy, 0.0, &projdata, mrcPixelRePart, linfo->InterpolationMode); if(linfo->flagDouble && linfo->rhoInfo.flagThicknessWeight) { normz = fabs(tmpz/g3z); if(normz < 0.9) { @@ -540,7 +546,7 @@ lmrc2Dto3DFilteredBackProjectionForEach(mrcImage* out, mrcImage* prj, lmrc2Dto3D } } // mrcPixelDataSet(out, x, y, z, data + projdata, mrcPixelRePart); - out->ImageFloatImage[index] = data + projdata; + out->ImageFloatImage[index3d] = data + projdata; } } } diff --git a/src/Tools/Config/Define.inc b/src/Tools/Config/Define.inc index cec3e03660..c5f25d33a6 100755 --- a/src/Tools/Config/Define.inc +++ b/src/Tools/Config/Define.inc @@ -600,3 +600,4 @@ WORLDNAME=Tools WORLDNAME=Tools WORLDNAME=Tools WORLDNAME=Tools +WORLDNAME=Tools diff --git a/src/Tools/Makefile b/src/Tools/Makefile deleted file mode 120000 index 80a2401a7d..0000000000 --- a/src/Tools/Makefile +++ /dev/null @@ -1 +0,0 @@ -/Users/tacyas/Eos/src/Config/Template/ToolsHomeTemplate.Dir/Makefile \ No newline at end of file diff --git a/src/Tools/Makefile b/src/Tools/Makefile new file mode 100755 index 0000000000..ad841104b1 --- /dev/null +++ b/src/Tools/Makefile @@ -0,0 +1,5 @@ +include ../Config/Define.inc +include Config/Define.inc +include .Source + +include Config/Target.inc diff --git a/src/Tools/mrcImage/mrcImageUnsharpening/src/mrcImageUnsharpening.c b/src/Tools/mrcImage/mrcImageUnsharpening/src/mrcImageUnsharpening.c index cf98495f81..54594f7351 100755 --- a/src/Tools/mrcImage/mrcImageUnsharpening/src/mrcImageUnsharpening.c +++ b/src/Tools/mrcImage/mrcImageUnsharpening/src/mrcImageUnsharpening.c @@ -15,7 +15,7 @@ #define GLOBAL_DECLARATION #include "../inc/config.h" -#define DEBUG +#undef DEBUG #include "genUtil.h" #include "mrcImage.h" diff --git a/src/Tools/mrcImage/mrcImageUnsharpening/src/test/Makefile b/src/Tools/mrcImage/mrcImageUnsharpening/src/test/Makefile old mode 100644 new mode 100755 diff --git a/src/Tools/rec3d/mrc2Dto3D/src/test/Makefile b/src/Tools/rec3d/mrc2Dto3D/src/test/Makefile index b9f558b6eb..9e5e8a426c 100755 --- a/src/Tools/rec3d/mrc2Dto3D/src/test/Makefile +++ b/src/Tools/rec3d/mrc2Dto3D/src/test/Makefile @@ -11,12 +11,12 @@ help: exec: @echo "----- Execution Check -----" - time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.mrc2d3d -o data/test.mrc2d3d.mrc3d -Double -CounterThreshold 1 -WeightMode 3 -m 1 -InterpolationMode 2 -DoubleCounter data/test.mrc2d3d.mrc3d.counter 2> /dev/null + time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.mrc2d3d -o data/test.mrc2d3d.mrc3d.1 -Double -CounterThreshold 1 -WeightMode 3 -m 1 -InterpolationMode 2 -DoubleCounter data/test.mrc2d3d.mrc3d.counter.1 2> /dev/null time ~/Eos/bin/$(OSTYPE)/$(OBJECTNAME) -i data/test.mrc2d3d -o data/test.mrc2d3d.mrc3d -Double -CounterThreshold 1 -WeightMode 3 -m 1 -InterpolationMode 2 -DoubleCounter data/test.mrc2d3d.mrc3d.counter 2> /dev/null exec2: @echo "----- Execution Check 2-----" - time ../$(OSTYPE)/$(OBJECTNAME) -i data/test2.mrc2d3d -o data/test2.mrc2d3d.mrc3d -Double -CounterThreshold 1 -WeightMode 3 -m 1 -InterpolationMode 2 -DoubleCounter data/test2.mrc2d3d.mrc3d.counter 2> /dev/null + time ../$(OSTYPE)/$(OBJECTNAME) -i data/test2.mrc2d3d -o data/test2.mrc2d3d.mrc3d.2 -Double -CounterThreshold 1 -WeightMode 3 -m 1 -InterpolationMode 2 -DoubleCounter data/test2.mrc2d3d.mrc3d.counter.2 2> /dev/null time ~/Eos/bin/$(OSTYPE)/$(OBJECTNAME) -i data/test2.mrc2d3d -o data/test2.mrc2d3d.mrc3d -Double -CounterThreshold 1 -WeightMode 3 -m 1 -InterpolationMode 2 -DoubleCounter data/test2.mrc2d3d.mrc3d.counter 2> /dev/null exec-pthread: -- 2.11.0