averager = linfo.rmax;
}
DEBUGPRINT1("r: %g \n",averager);
- av=lmrcImage3DPadfilamentCalcavr(in ,averager);
+ if(linfo.flagr) {
+ av=lmrcImage3DPadfilamentCalcavr(in, averager);
+ } else {
+ av=lmrcImage3DPadfilamentCalcavr(in, -1);
+ }
} else {
av=linfo.v;
}
case 1:
case 2:
if (!linfo.flagv){
- av = lmrcImage3DPadfilamentCalcavr(in, linfo.rmax+linfo.w);
+ if(linfo.flagr) {
+ av = lmrcImage3DPadfilamentCalcavr(in, linfo.rmax+linfo.w);
+ } else {
+ av = lmrcImage3DPadfilamentCalcavr(in, -1);
+ }
DEBUGPRINT1("r: %g \n",averager);
fprintf(stdout,"av: %g \n",av);
} else {
switch(mode){
case 0:
if (!linfo.flagv){
- av=lmrcImage3DPadCalcavr(in, linfo.rmax);
+ if(linfo.flagr) {
+ av=lmrcImage3DPadCalcavr(in, linfo.rmax);
+ } else {
+ av=lmrcImage3DPadCalcavr(in, -1);
+ }
} else {
av=linfo.v;
}
case 1:
case 2:
if (!linfo.flagv) {
- av=lmrcImage3DPadCalcavr(in ,linfo.rmax+linfo.w);
+ if(linfo.flagr) {
+ av=lmrcImage3DPadCalcavr(in ,linfo.rmax+linfo.w);
+ } else {
+ av=lmrcImage3DPadCalcavr(in ,-1);
+ }
} else {
av=linfo.v;
}
double cx,cy,cz,r2,sum,data,av;
/* begin */
- n=0;
- sum=0;
- cx=(in->HeaderN.x-1)*0.5;
- cy=(in->HeaderN.y-1)*0.5;
- cz=(in->HeaderN.z-1)*0.5;
- for (z=0;z<in->HeaderN.z;z++){
- for (y=0;y<in->HeaderN.y;y++){
- for (x=0;x<in->HeaderN.x;x++){
- r2=SQR(x-cx)+SQR(y-cy)+SQR(z-cz);
- if (SQR(rmax) <= r2 && r2<SQR(rmax+1)) {
- mrcPixelDataGet(in ,x ,y ,z ,&data, mrcPixelRePart, mrcPixelHowNearest);
- sum+=data;
- n++;
+ if(0<=rmax) {
+ n=0;
+ sum=0;
+ cx=(in->HeaderN.x-1)*0.5;
+ cy=(in->HeaderN.y-1)*0.5;
+ cz=(in->HeaderN.z-1)*0.5;
+ for (z=0;z<in->HeaderN.z;z++){
+ for (y=0;y<in->HeaderN.y;y++){
+ for (x=0;x<in->HeaderN.x;x++){
+ r2=SQR(x-cx)+SQR(y-cy)+SQR(z-cz);
+ if (SQR(rmax) <= r2 && r2<SQR(rmax+1)) {
+ mrcPixelDataGet(in ,x ,y ,z ,&data, mrcPixelRePart, mrcPixelHowNearest);
+ sum+=data;
+ n++;
+ }
}
- }
- }
- }
- av=sum/n;
+ }
+ }
+ av=sum/n;
+ } else {
+ n=0;
+ sum=0;
+ for (z=0;z<in->HeaderN.z;z++){
+ for (y=0;y<in->HeaderN.y;y++){
+ for (x=0;x<in->HeaderN.x;x++){
+ if( z==0||z==in->HeaderN.z-1
+ ||y==0||y==in->HeaderN.y-1
+ ||x==0||x==in->HeaderN.x-1) {
+ sum+=data;
+ n++;
+ }
+ }
+ }
+ }
+ av=sum/n;
+ }
return(av);
}