<H2>Information from source codes</H2>
</A>
<PRE>
-../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:
</PRE>
<HR>
<A NAME="include">
/* */
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);
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");
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]++;
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; i<threadNum; i++) {
}
// Perform Filtering
lmrcImageRhoFiltering2(out, linfo->CounterForWeight, 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);
}
mrcImageParaTypeReal gx, gy, gz;
mrcImageParaTypeReal g3x, g3y, g3z;
floatVector v;
- int index;
+ int index3d;
+ int index2d;
floatVectorInit(&v, 4);
v.data[3] = 1.0;
tmpzy = Matrix[1][2]*v.data[1];
for(x=0; x<out->HeaderN.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];
//mrcPixelDataGet(out, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
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);
+ 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) {
}
}
// mrcPixelDataSet(out, x, y, z, data + projdata, mrcPixelRePart);
- out->ImageFloatImage[index] = data + projdata;
+ out->ImageFloatImage[index3d] = data + projdata;
}
}
}