#include <math.h>
/* struct begin */
+
+typedef enum lmrcImageWindowingInfoMode {
+ lmrcImageWindowingInfoModeCosWindowFixed=0,
+ lmrcImageWindowingInfoModeCosWindowYVariable=1,
+ lmrcImageWindowingInfoModeCosWindowXYVariable=2,
+ lmrcImageWindowingInfoModeRectangleWindow=3,
+ lmrcImageWindowingInfoModeHanningWindow=4,
+ lmrcImageWindowingInfoModeHammingWindow=5,
+ lmrcImageWindowingInfoModeBlackmanWindow=6,
+ lmrcImageWindowingInfoModeDolphChebyshevWindow=7,
+ lmrcImageWindowingInfoModeKaiserWindow=8,
+ lmrcImageWindowingInfoModeDownToAverage=0x10,
+} lmrcImageWindowingInfoMode;
+
+
typedef struct lmrcImageWindowingInfo {
- long flagWy;
+ long flagWy;
float Wy;
long flagWx;
float Wx;
- long flagWyMax;
+ long flagWyMax;
float WyMax;
long flagWxMax;
/* prototype begin */
extern void lmrcImageWindowing(mrcImage* dst, mrcImage* src,
lmrcImageWindowingInfo* info, long mode);
+
+extern void lmrcImageWindowingModePrint(FILE* fpt);
/* prototype end */
#endif
<H2>Information from source codes</H2>
</A>
<PRE>
-../src/fftn.c:
-
-../src/lmrcFETnormalizeBySD.c:
-
-../src/lmrcFFTExpression.c:
-
-../src/lmrcFFTFGconj.c:
-
-../src/lmrcFFTFxG.c:
-
-../src/lmrcFFTInfo.c:
-
-../src/lmrcImage3DPad.c:
-
-../src/lmrcImage3DWindowing.c:
-
-../src/lmrcImageAddValue.c:
-
-../src/lmrcImageAsProbability.c:
-
-../src/lmrcImageAverage.c:
-
-../src/lmrcImageBandPassFilter.c:
-
-../src/lmrcImageBilateralFilter.c:
-
-../src/lmrcImageBinarization.c:
-
-../src/lmrcImageBottomHatTransform.c:
-
-../src/lmrcImageBoundaryInfo.c:
-
-../src/lmrcImageCTFCompensation.c:
-
-../src/lmrcImageCTFDetermination.c:
-
-../src/lmrcImageCTFObservation.c:
-
-../src/lmrcImageCTFSN.c:
-
-../src/lmrcImageCVE.c:
-
-../src/lmrcImageCalcArea.c:
-
-../src/lmrcImageCenterGet.c:
-
-../src/lmrcImageCentre.c:
-
-../src/lmrcImageClosing.c:
-
-../src/lmrcImageClusterAnalysis.c:
-
-../src/lmrcImageCommonLine.c:
-
-../src/lmrcImageConnection.c:
-
-../src/lmrcImageConnectivityNumberCalc.c:
-
-../src/lmrcImageContourSurface.c:
-
-../src/lmrcImageContraction.c:
-
-../src/lmrcImageCorrelation.c:
- $lmrcImageEuclidDistanceCalc: Calculate Euclid distance between two images $
- $arg: in1: input mrcImage1 $
- $arg: in2: input mrcImage2 $
- $arg: mode: input int $
- $mode: 0 Sum of SQR $
- $mode: 1 Distance $
- $return: EuclidDistance $
-
-../src/lmrcImageCorrelationPVM.c:
-
-../src/lmrcImageCorrelationWithCTFCompensation.c:
-
-../src/lmrcImageCorrelationinSpace.c:
-
-../src/lmrcImageCrystalCreate.c:
-
-../src/lmrcImageDataMaxAndMinGetByImage.c:
-
-../src/lmrcImageDataStraightCopy.c:
-
-../src/lmrcImageDeconvolution.c:
-
-../src/lmrcImageDensity.c:
-
-../src/lmrcImageDensityInverse.c:
-
-../src/lmrcImageDensityNormalizationByImage.c:
-
-../src/lmrcImageDifferential.c:
-
-../src/lmrcImageDilation.c:
-
-../src/lmrcImageDistanceConversion.c:
-
-../src/lmrcImageEdge.c:
-
-../src/lmrcImageEdgeAverage.c:
-
-../src/lmrcImageEdgeEnhancement.c:
-
-../src/lmrcImageErosion.c:
-
-../src/lmrcImageFFT.c:
-
-../src/lmrcImageFOMCalc.c:
-
-../src/lmrcImageFeatureExtraction.c:
-
-../src/lmrcImageFeatureExtractionCoOccurrence.c:
-
-../src/lmrcImageFeatureExtractionRunLength.c:
-
-../src/lmrcImageFilterCreate.c:
-
-../src/lmrcImageFirstNoiseReductionByRelaxation.c:
-
-../src/lmrcImageFloating.c:
-
-../src/lmrcImageFourierPowerSpectrum.c:
-
-../src/lmrcImageFourierShellCorrelation.c:
-
-../src/lmrcImageHighPassFilter.c:
-
-../src/lmrcImageHighlighting.c:
-
-../src/lmrcImageLabeling.c:
-
-../src/lmrcImageLogicalOperation.c:
-
-../src/lmrcImageLowPassFilter.c:
-
-../src/lmrcImageMasking.c:
-
-../src/lmrcImageMaxDataGet.c:
-
-../src/lmrcImageMirroring.c:
- $lmrcImageMirroring: (mrcImage* out, mrcImage* in, lmrcImageMirroring mode) $
-
-../src/lmrcImageModeChange.c:
-
-../src/lmrcImageModelCreate.c:
-
-../src/lmrcImageMontageCreate.c:
-
-../src/lmrcImageMorphology.c:
-
-../src/lmrcImageMove.c:
-
-../src/lmrcImageMultiCTFCompensation.c:
-
-../src/lmrcImageMultiplying.c:
-
-../src/lmrcImageNegativeLaplacian.c:
-
-../src/lmrcImageNormalizing.c:
-
-../src/lmrcImageOneLineSimilarityCalc.c:
-
-../src/lmrcImageOpening.c:
-
-../src/lmrcImagePad.c:
-
-../src/lmrcImagePartImageSegmentation.c:
-
-../src/lmrcImagePixelSummationOfProbabilityGetByImage.c:
-
-../src/lmrcImagePosterization.c:
-
-../src/lmrcImagePrewitt.c:
-
-../src/lmrcImageProjection.c:
-
-../src/lmrcImageProportionalDensityLevelSetByImage.c:
-
-../src/lmrcImageROI2D.c:
-
-../src/lmrcImageROI3D.c:
-
-../src/lmrcImageROInotChangeHeaderLength.c:
-
-../src/lmrcImageRadialDistribution.c:
-
-../src/lmrcImageRhoFiltering.c:
-
-../src/lmrcImageRoberts.c:
-
-../src/lmrcImageRotation.c:
-
-../src/lmrcImageSSDA.c:
-
-../src/lmrcImageSamplingUnitChange.c:
-
-../src/lmrcImageSecondNoiseReductionByRelaxation.c:
-
-../src/lmrcImageSecondNoiseReductionByRelaxationDijDimensionSet.c:
-
-../src/lmrcImageSecondNoiseReductionByRelaxationDijValueCalculate.c:
-
-../src/lmrcImageSecondNoiseReductionByRelaxationDijValueSet.c:
-
-../src/lmrcImageSecondNoiseReductionByRelaxationQValueSet.c:
-
-../src/lmrcImageSecondNoiseReductionByRelaxationRValueSet.c:
-
-../src/lmrcImageShapePCA.c:
-
-../src/lmrcImageShift.c:
-
-../src/lmrcImageShrink.c:
-
-../src/lmrcImageSigmaCalculate.c:
-
-../src/lmrcImageSinogram.c:
-
-../src/lmrcImageSinogramCorrelation.c:
-
-../src/lmrcImageSinogramFFT.c:
-
-../src/lmrcImageSmoothing.c:
-
-../src/lmrcImageSobel.c:
-
-../src/lmrcImageSolventFlattening.c:
-
-../src/lmrcImageSphere.c:
-
-../src/lmrcImageSplit.c:
-
-../src/lmrcImageStack.c:
-
-../src/lmrcImageStudentCalculate.c:
-
-../src/lmrcImageSubtractionCalc.c:
-
-../src/lmrcImageSummationCalculate.c:
-
-../src/lmrcImageSymmetryFind.c:
-
-../src/lmrcImageTfunction.c:
-
-../src/lmrcImageTopHatTransform.c:
-
-../src/lmrcImageTrans.c:
-
-../src/lmrcImageTransformDescartesIntoPolar.c:
-
-../src/lmrcImageTriming.c:
-
-../src/lmrcImageVolumeCalc.c:
-
-../src/lmrcImageWindowing.c:
-
-../src/lmrcImagesFTest.c:
-
-../src/lmrcImagesStatDataGet.c:
-
-../src/lmrcImagesTTest.c:
-
-../src/lmrcImagesVarianceAnalysis.c:
-
-../src/lmrcImagesVarianceMap.c:
-
-../src/lmrcSinogramFET.c:
-
-../src/lmrcSinogramFETPCA.c:
-
-../src/lmrcSinogramFETcalcWeight.c:
-
-../src/lmrcSinogramFETcorrelationMap.c:
-
-../src/lmrcSinogramFETnormalizedMap.c:
-
-../src/lmrcSinogramFETreferredCorrelation.c:
-
-../src/lmrcSinogramFETsmoothParameterMatching.c:
-
-../src/mrcImageCheckFFT.c:
-
-../src/mrcImageCheckSameSize.c:
-
-../src/mrcImageCopy.c:
-
-../src/mrcImageDataSet.c:
-
-../src/mrcImageError.c:
-
-../src/mrcImageGet.c:
-
-../src/mrcImageGetPixels.c:
-
-../src/mrcImageInfo.c:
-
-../src/mrcImageInit.c:
-
-../src/mrcImageOperation.c:
-
-../src/mrcImagePVM.c:
-
-../src/mrcImagePrint.c:
-
-../src/mrcImageRead.c:
-
-../src/mrcImageSectionGet.c:
-
-../src/mrcImageSectionSet.c:
-
-../src/mrcImageSet.c:
-
-../src/mrcImageTailer.c:
-
-../src/mrcImageToIntImage.c:
-
-../src/mrcImageUtil.c:
-
-../src/mrcImageUtilityforVariance.c:
-
-../src/mrcImageWrite.c:
-
-../src/mrcImageWrite2.c:
-
-../src/mrcImagefuncmin.c:
-
-../src/mrcRefUtil.c:
</PRE>
<HR>
<A NAME="include">
static char __sccs_id[] = "%Z%lmrcImageWindowing ver%I%; Date:%D% %Z%";
+#include <stdlib.h>
#include <math.h>
#define DEBUG
#include "genUtil.h"
extern void __lmrcImageWindowingMode0(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
extern void __lmrcImageWindowingMode1(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
extern void __lmrcImageWindowingMode2(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
+extern void __lmrcImageWindowingRectangleWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
+extern void __lmrcImageWindowingHanningWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
+extern void __lmrcImageWindowingHammingWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
+extern void __lmrcImageWindowingHammingWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
+extern void __lmrcImageWindowingBlackmanWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
+extern void __lmrcImageWindowingDolphChebyshevWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
+extern void __lmrcImageWindowingKaiserWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode);
void
lmrcImageWindowing(mrcImage* dst, mrcImage* src,
info->Offset = 0;
break;
}
- case 0x10: {
+ case lmrcImageWindowingInfoModeDownToAverage: {
info->Offset = src->HeaderAMean;
break;
}
}
}
switch(mode&0xf) {
- case 0: {
- __lmrcImageWindowingMode0(dst, src, info, mode>>16);
+ case lmrcImageWindowingInfoModeCosWindowFixed: {
+ __lmrcImageWindowingMode0(dst, src, info, mode);
break;
}
- case 1: {
- __lmrcImageWindowingMode1(dst, src, info, mode>>16);
+ case lmrcImageWindowingInfoModeCosWindowYVariable: {
+ __lmrcImageWindowingMode1(dst, src, info, mode);
break;
}
- case 2: {
- __lmrcImageWindowingMode2(dst, src, info, mode>>16);
+ case lmrcImageWindowingInfoModeCosWindowXYVariable: {
+ __lmrcImageWindowingMode2(dst, src, info, mode);
break;
}
+ case lmrcImageWindowingInfoModeRectangleWindow: {
+ __lmrcImageWindowingRectangleWindow(dst, src, info, mode);
+ break;
+ }
+ case lmrcImageWindowingInfoModeHanningWindow: {
+ __lmrcImageWindowingHanningWindow(dst, src, info, mode);
+ break;
+ }
+ case lmrcImageWindowingInfoModeHammingWindow: {
+ __lmrcImageWindowingHammingWindow(dst, src, info, mode);
+ break;
+ }
+ case lmrcImageWindowingInfoModeBlackmanWindow: {
+ __lmrcImageWindowingBlackmanWindow(dst, src, info, mode);
+ break;
+ }
+/*
+ case lmrcImageWindowingInfoModeDolphChebyshevWindow: {
+ __lmrcImageWindowingDolphChebyshevWindow(dst, src, info, mode);
+ break;
+ }
+ case lmrcImageWindowingInfoModeKaiserWindow: {
+ __lmrcImageWindowingKaiserWindow(dst, src, info, mode);
+ break;
+ }
+*/
default: {
- fprintf(stderr, "Not supported mode : %ld\n", mode>>16);
+ fprintf(stderr, "Not supported mode : %ld\n", mode);
break;
}
}
void
lmrcImageWindowingModePrint(FILE* fpt)
{
- fprintf(stderr, "0: 90% windowing: fixed. \n");
- fprintf(stderr, "1: Wy: Settings: variable.\n");
- fprintf(stderr, "2: WxMax and Wx \n");
- fprintf(stderr, " WyMax and Wy Settings: variables\n");
- fprintf(stderr, " x/Nx < WxMax or 1-WxMax < x/Nx : 0 \n");
- fprintf(stderr, " WxMax < x/Nx < Wx or 1-Wx < x/Nx < 1-WxMax : cos window \n");
- fprintf(stderr, " Wx < x/Nx < 1-Wx : 1\n");
- fprintf(stderr, " Wy and WyMax are also used for windowing in the similar manner.\n");
- fprintf(stderr, "+0 : To Zero. \n");
- fprintf(stderr, "+16: Contrast down around mean. \n");
+ fprintf(fpt, "%d: Cos Window (Fixed)\n", lmrcImageWindowingInfoModeCosWindowFixed);
+ fprintf(fpt, " 90%% windowing: fixed. \n");
+ fprintf(fpt, "%d: Cos Window (Y-variable)\n", lmrcImageWindowingInfoModeCosWindowYVariable);
+ fprintf(fpt, " Wy: Settings: variable.\n");
+ fprintf(fpt, "%d: Cos Window XY-variable\n", lmrcImageWindowingInfoModeCosWindowXYVariable);
+ fprintf(fpt, " WxMax and Wx \n");
+ fprintf(fpt, " WyMax and Wy Settings: variables\n");
+ fprintf(fpt, " x/Nx < WxMax or 1-WxMax < x/Nx : 0 \n");
+ fprintf(fpt, " WxMax < x/Nx < Wx or 1-Wx < x/Nx < 1-WxMax : cos window \n");
+ fprintf(fpt, " Wx < x/Nx < 1-Wx : 1\n");
+ fprintf(fpt, " Wy and WyMax are also used for windowing in the similar manner.\n");
+ fprintf(fpt, "+0 : To Zero. \n");
+ fprintf(fpt, "%d: Rectangle Window\n", lmrcImageWindowingInfoModeRectangleWindow);
+ fprintf(fpt, "%d: Hanning Window\n", lmrcImageWindowingInfoModeHanningWindow);
+ fprintf(fpt, "%d: Hamming Window\n", lmrcImageWindowingInfoModeHammingWindow);
+ fprintf(fpt, "%d: Blackman Window\n", lmrcImageWindowingInfoModeBlackmanWindow);
+/*
+ fprintf(fpt, "%d: Dolph-Chebyshev Window\n", lmrcImageWindowingInfoModeDolphChebyshevWindow);
+ fprintf(fpt, "%d: Kaiser Window\n", lmrcImageWindowingInfoModeKaiserWindow);
+*/
+ fprintf(fpt, "+0 : To Zero. \n");
+ fprintf(fpt, "+%d: Contrast down around mean.\n", lmrcImageWindowingInfoModeDownToAverage);
}
+
void
__lmrcImageWindowingMode0(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode)
{
double weighty;
if(src->HeaderN.z!=1) {
- fprintf(stderr, "Not supported N.z : %ld\n", src->HeaderN.z);
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
return;
}
- for(x=0; x<src->HeaderN.x; x++) {
- for(y=0; y<src->HeaderN.y; y++) {
+ for(y=0; y<src->HeaderN.y; y++) {
+ for(x=0; x<src->HeaderN.x; x++) {
mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
if(0.1*src->HeaderN.x < x && x < 0.9*src->HeaderN.x) {
double data;
if(src->HeaderN.z!=1) {
- fprintf(stderr, "Not supported N.z : %ld\n", src->HeaderN.z);
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
return;
}
- for(x=0; x<src->HeaderN.x; x++) {
- for(y=0; y<src->HeaderN.y; y++) {
+ for(y=0; y<src->HeaderN.y; y++) {
+ for(x=0; x<src->HeaderN.x; x++) {
mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
if(info->flagWy) {
if(src->HeaderN.y/info->Wy < y) {
- data = src->HeaderAMean;
+ data = info->Offset;
}
}
double Wx, Wy, WxMax, WyMax;
if(src->HeaderN.z!=1) {
- fprintf(stderr, "Not supported N.z : %ld\n", src->HeaderN.z);
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
return;
}
}
Wy *= src->HeaderN.y;
DEBUGPRINT4("Wx %f %f Wy %f %f\n",Wx, WxMax, Wy, WyMax );
- for(x=0; x<src->HeaderN.x; x++) {
- for(y=0; y<src->HeaderN.y; y++) {
+ for(y=0; y<src->HeaderN.y; y++) {
+ for(x=0; x<src->HeaderN.x; x++) {
mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
if(x < WxMax || src->HeaderN.x-WxMax < x) {
}
}
+
+void
+__lmrcImageWindowingRectangleWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode)
+{
+ mrcImageParaTypeReal x, y, z;
+ double data;
+ double weightx, weighty;
+ double WxMin, WxMax;
+ double WyMin, WyMax;
+
+ if(src->HeaderN.z!=1) {
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
+ return;
+ }
+
+ WxMin = src->HeaderN.x*info->Wx;
+ WxMax = src->HeaderN.x*(1-info->Wx);
+ WyMin = src->HeaderN.y*info->Wy;
+ WyMax = src->HeaderN.y*(1-info->Wy);
+
+ for(x=0; x<src->HeaderN.x; x++) {
+ for(y=0; y<src->HeaderN.y; y++) {
+ if(x<WxMin || WxMax <x
+ ||y<WyMin || WyMax <y) {
+ data = info->Offset;
+ } else {
+ mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
+ }
+ mrcPixelDataSet(dst, x, y, 0.0, data, mrcPixelMag);
+ }
+ }
+}
+
+
+void
+__lmrcImageWindowingHanningWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode)
+{
+ mrcImageParaTypeReal x, y, z;
+ mrcImageParaTypeReal rx, ry, rz;
+ double data;
+ double weightx, weighty;
+ double WxMin, WxMax, Wx;
+ double WyMin, WyMax, Wy;
+
+ if(src->HeaderN.z!=1) {
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
+ return;
+ }
+
+ Wx = 1.0 - 2*info->Wx;
+ WxMin = src->HeaderN.x*info->Wx;
+ WxMax = src->HeaderN.x*(1-info->Wx);
+
+ Wy = 1.0 - 2*info->Wy;
+ WyMin = src->HeaderN.y*info->Wy;
+ WyMax = src->HeaderN.y*(1-info->Wy);
+
+ for(x=0; x<src->HeaderN.x; x++) {
+ rx = (x-(src->HeaderN.x-1)/2)/(src->HeaderN.x*Wx);
+ for(y=0; y<src->HeaderN.y; y++) {
+ ry = (y-(src->HeaderN.y-1)/2)/(src->HeaderN.y*Wy);
+
+ if(x<WxMin || WxMax <x
+ ||y<WyMin || WyMax <y) {
+ data = info->Offset;
+ } else {
+ weightx = 0.5+0.5*cos(2*M_PI*(rx));
+ weighty = 0.5+0.5*cos(2*M_PI*(ry));
+ mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
+ data = weightx*weighty*(data - info->Offset) + info->Offset;
+ }
+ mrcPixelDataSet(dst, x, y, 0.0, data, mrcPixelMag);
+ }
+ }
+}
+
+void
+__lmrcImageWindowingHammingWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode)
+{
+ mrcImageParaTypeReal x, y, z;
+ mrcImageParaTypeReal rx, ry, rz;
+ double data;
+ double weightx, weighty;
+ double WxMin, WxMax, Wx;
+ double WyMin, WyMax, Wy;
+
+ if(src->HeaderN.z!=1) {
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
+ return;
+ }
+
+ Wx = 1.0 - 2*info->Wx;
+ WxMin = src->HeaderN.x*info->Wx;
+ WxMax = src->HeaderN.x*(1-info->Wx);
+
+ Wy = 1.0 - 2*info->Wy;
+ WyMin = src->HeaderN.y*info->Wy;
+ WyMax = src->HeaderN.y*(1-info->Wy);
+
+ for(x=0; x<src->HeaderN.x; x++) {
+ rx = (x-(src->HeaderN.x-1)/2)/(src->HeaderN.x*Wx);
+ for(y=0; y<src->HeaderN.y; y++) {
+ ry = (y-(src->HeaderN.y-1)/2)/(src->HeaderN.y*Wy);
+
+ if(x<WxMin || WxMax <x
+ ||y<WyMin || WyMax <y) {
+ data = info->Offset;
+ } else {
+ weightx = 0.54+0.46*cos(2*M_PI*(rx));
+ weighty = 0.54+0.46*cos(2*M_PI*(ry));
+ mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
+ data = weightx*weighty*(data - info->Offset) + info->Offset;
+ }
+ mrcPixelDataSet(dst, x, y, 0.0, data, mrcPixelMag);
+ }
+ }
+}
+
+
+void
+__lmrcImageWindowingBlackmanWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode)
+{
+ mrcImageParaTypeReal x, y, z;
+ mrcImageParaTypeReal rx, ry, rz;
+ double data;
+ double weightx, weighty;
+ double WxMin, WxMax, Wx;
+ double WyMin, WyMax, Wy;
+
+ if(src->HeaderN.z!=1) {
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
+ return;
+ }
+
+ Wx = 1.0 - 2*info->Wx;
+ WxMin = src->HeaderN.x*info->Wx;
+ WxMax = src->HeaderN.x*(1-info->Wx);
+
+ Wy = 1.0 - 2*info->Wy;
+ WyMin = src->HeaderN.y*info->Wy;
+ WyMax = src->HeaderN.y*(1-info->Wy);
+
+ for(x=0; x<src->HeaderN.x; x++) {
+ rx = (x-(src->HeaderN.x-1)/2)/(src->HeaderN.x*Wx);
+ for(y=0; y<src->HeaderN.y; y++) {
+ ry = (y-(src->HeaderN.y-1)/2)/(src->HeaderN.y*Wy);
+
+ if(x<WxMin || WxMax <x
+ ||y<WyMin || WyMax <y) {
+ data = info->Offset;
+ } else {
+ weightx = 0.42+0.5*cos(2*M_PI*(rx))+0.08*cos(4*M_PI*(rx));
+ weighty = 0.42+0.5*cos(2*M_PI*(ry))+0.08*cos(4*M_PI*(ry));
+ mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
+ data = weightx*weighty*(data - info->Offset) + info->Offset;
+ }
+ mrcPixelDataSet(dst, x, y, 0.0, data, mrcPixelMag);
+ }
+ }
+}
+
+
+void
+__lmrcImageWindowingDolphChebychevWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode)
+{
+ mrcImageParaTypeReal x, y, z;
+ mrcImageParaTypeReal rx, ry, rz;
+ double data;
+ double weightx, weighty;
+ double WxMin, WxMax, Wx;
+ double WyMin, WyMax, Wy;
+
+ fprintf(stderr, "Not supported yet\n");
+ exit(EXIT_FAILURE);
+
+ if(src->HeaderN.z!=1) {
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
+ return;
+ }
+
+ Wx = 1.0 - 2*info->Wx;
+ WxMin = src->HeaderN.x*info->Wx;
+ WxMax = src->HeaderN.x*(1-info->Wx);
+
+ Wy = 1.0 - 2*info->Wy;
+ WyMin = src->HeaderN.y*info->Wy;
+ WyMax = src->HeaderN.y*(1-info->Wy);
+
+ for(x=0; x<src->HeaderN.x; x++) {
+ rx = (x-(src->HeaderN.x-1)/2)/(src->HeaderN.x*Wx);
+ for(y=0; y<src->HeaderN.y; y++) {
+ ry = (y-(src->HeaderN.y-1)/2)/(src->HeaderN.y*Wy);
+
+ if(x<WxMin || WxMax <x
+ ||y<WyMin || WyMax <y) {
+ data = info->Offset;
+ } else {
+ weightx = 1;
+ weighty = 1;
+ mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
+ data = weightx*weighty*(data - info->Offset) + info->Offset;
+ }
+ mrcPixelDataSet(dst, x, y, 0.0, data, mrcPixelMag);
+ }
+ }
+}
+
+
+void
+__lmrcImageWindowingKaiserWindow(mrcImage* dst, mrcImage* src, lmrcImageWindowingInfo* info, long mode)
+{
+ mrcImageParaTypeReal x, y, z;
+ mrcImageParaTypeReal rx, ry, rz;
+ double data;
+ double weightx, weighty;
+ double WxMin, WxMax, Wx;
+ double WyMin, WyMax, Wy;
+
+
+ fprintf(stderr, "Not supported yet\n");
+ exit(EXIT_FAILURE);
+
+ if(src->HeaderN.z!=1) {
+ fprintf(stderr, "Not supported N.z : %d\n", src->HeaderN.z);
+ return;
+ }
+
+ Wx = 1.0 - 2*info->Wx;
+ WxMin = src->HeaderN.x*info->Wx;
+ WxMax = src->HeaderN.x*(1-info->Wx);
+
+ Wy = 1.0 - 2*info->Wy;
+ WyMin = src->HeaderN.y*info->Wy;
+ WyMax = src->HeaderN.y*(1-info->Wy);
+
+ for(x=0; x<src->HeaderN.x; x++) {
+ rx = (x-(src->HeaderN.x-1)/2)/(src->HeaderN.x*Wx);
+ for(y=0; y<src->HeaderN.y; y++) {
+ ry = (y-(src->HeaderN.y-1)/2)/(src->HeaderN.y*Wy);
+
+ if(x<WxMin || WxMax <x
+ ||y<WyMin || WyMax <y) {
+ data = info->Offset;
+ } else {
+ weightx = 1;
+ weighty = 1;
+ mrcPixelDataGet(src, x, y, 0.0, &data, mrcPixelMag, mrcPixelHowNearest);
+ data = weightx*weighty*(data - info->Offset) + info->Offset;
+ }
+ mrcPixelDataSet(dst, x, y, 0.0, data, mrcPixelMag);
+ }
+ }
+}
+
+
#include <math.h>
/* struct begin */
+
+typedef enum lmrcImageWindowingInfoMode {
+ lmrcImageWindowingInfoModeCosWindowFixed=0,
+ lmrcImageWindowingInfoModeCosWindowYVariable=1,
+ lmrcImageWindowingInfoModeCosWindowXYVariable=2,
+ lmrcImageWindowingInfoModeRectangleWindow=3,
+ lmrcImageWindowingInfoModeHanningWindow=4,
+ lmrcImageWindowingInfoModeHammingWindow=5,
+ lmrcImageWindowingInfoModeBlackmanWindow=6,
+ lmrcImageWindowingInfoModeDolphChebyshevWindow=7,
+ lmrcImageWindowingInfoModeKaiserWindow=8,
+ lmrcImageWindowingInfoModeDownToAverage=0x10,
+} lmrcImageWindowingInfoMode;
+
+
typedef struct lmrcImageWindowingInfo {
- long flagWy;
+ long flagWy;
float Wy;
long flagWx;
float Wx;
- long flagWyMax;
+ long flagWyMax;
float WyMax;
long flagWxMax;
/* prototype begin */
extern void lmrcImageWindowing(mrcImage* dst, mrcImage* src,
lmrcImageWindowingInfo* info, long mode);
+
+extern void lmrcImageWindowingModePrint(FILE* fpt);
/* prototype end */
#endif
WORLDNAME=Tools
WORLDNAME=Tools
WORLDNAME=Tools
+WORLDNAME=Tools
"-i","-i[nput]","InputDataFile","Essential","1","1","In","inFile","NULL"
"-o","-o[utput]","OutputDataFile","Essential","1","1","Out","outFile","NULL"
"-W","-W[indowing]","Windowsing Size:","Optional","4","1","Wx","Real","0.1","2","WxMax","Real","0.0","3","Wy","Real","0.1","1","WyMax","Real","0.0"
+"-Wx","-W[indowing]x","Windowsing Size:","Optional","1","1","WX","Real","0.1"
+"-Wy","-W[indowing]y","Windowsing Size:","Optional","1","1","WY","Real","0.1"
"-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
"-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0"
+++ /dev/null
-include ../../../Config/Define.inc
-include ../../Config/Define.inc
-include ../Config/Define.inc
-include Config/Define.inc
-
-all:
- cd src; make all; cd ..
-
-install:
- cd src; make install; cd ..
-
-
-putSF:
- if [ -f private ] ; \
- then \
- echo "$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME) is private"; \
- else \
- cvs -z4 -d:ext:$$USER@$$EOS_SOURCEFORGE commit || cvs -z4 -d:ext:$$USER@$$EOS_SOURCEFORGE import src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME); \
- fi
-
-put:
- cd src; make put; cd ..
-
-clean:
- cd src; make clean; cd ..
-
-depend:
- cd src; make depend; cd ..
-
-check:
- @if [ ! -d $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) ] ; then \
- echo making directory; \
- mkdir -p $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE); \
- fi
- ln -sf ../../../../../hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) src/$(OSTYPE);
- @$(RM) src/Makefile
- @echo "New src/Makefile"
- @$(CP) ../../../Config/Template/$(WORLDNAME)Template.Dir/src/Makefile src/Makefile
- @cd src; touch $(OSTYPE)/.Depend; make depend
-
-cvsupdate::
- cvs -d $(EOS_CVSROOT) update -d
-
-cvscommit::
- cvs -d $(EOS_CVSROOT) commit
-
-backup:
- @cd ../../../..; \
- echo $(OBJECTNAME) ; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config ; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
- tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile
-
-backup-all:
- @cd ../../../..; \
- echo $(OBJECTNAME) ; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config ; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
- tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile
-
-distribute:
- cd ../../../..; \
- echo $(OBJECTNAME) ; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config ; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile ; \
- tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE)
-
-distribute-all:
- @cd ../../../..; \
- echo $(OBJECTNAME) ; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config ; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile ; \
- tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE)
-
-eosintroduce:
- ${EOS_HOME}/sbin/eosintroduce ${WORLDNAME} ${CLASSNAME} ${OBJECTNAME} ./
-
-include Config/Target.inc
--- /dev/null
+/Users/tacyas/Eos/src/Config/Template/ToolsTemplate.Dir/Makefile
\ No newline at end of file
-/home/people/tacyas/Eos/src/Config/Template/ToolsTemplate.Dir/doc/Makefile
\ No newline at end of file
+/Users/tacyas/Eos/src/Config/Template/ToolsTemplate.Dir/doc/Makefile
\ No newline at end of file
long flagWyMax;
float WyMax;
+ long flagWX;
+ float WX;
+
+ long flagWY;
+ float WY;
+
long flagconfigFile;
char* configFile;
FILE* fptconfigFile;
void
argCheck(mrcImageWindowingInfo* info, int argc, char* argv[])
{
- long i, j, nv;
+ long i;
char s[1024];
FILE* fpt;
}
SBREAK;
}
+ SCASE("Wx") {
+ if(i+1<argc) {
+ info->WX = stringGetNthRealData(argv[i+1], 1, " ,");
+ i++;
+ info->flagWX++;
+ } else {
+ usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ SBREAK;
+ }
+ SCASE("Wy") {
+ if(i+1<argc) {
+ info->WY = stringGetNthRealData(argv[i+1], 1, " ,");
+ i++;
+ info->flagWY++;
+ } else {
+ usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ SBREAK;
+ }
SCASE("c") {
if(i+1<argc) {
info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
info->fptIn = NULL; info->flagIn = 0;
info->fptOut = NULL; info->flagOut = 0;
info->Wx = 0.1; info->flagWx = 0;
- info->WxMax = 0.0; info->flagWxMax = 0;
- info->Wy = 0.1; info->flagWy = 0;
- info->WyMax = 0.0; info->flagWyMax = 0;
+ info->Wx = 0.1; info->flagWx = 0;
+ info->Wx = 0.1; info->flagWx = 0;
+ info->Wx = 0.1; info->flagWx = 0;
+ info->WX = 0.1; info->flagWX = 0;
+ info->WY = 0.1; info->flagWY = 0;
info->fptconfigFile = NULL; info->flagconfigFile = 0;
info->mode = 0; info->flagmode = 0;
}
int i;
if(!info->flagIn) {
stringGetFromFile(s, "In", stdin, stdout, 0);
- info->In = stringGetNthWord(s, 1, " ,");
+ info->In = stringGetNthWord(s, 1, " ,\t");
info->flagIn++;
}
if(info->flagIn) {
if(!info->flagOut) {
stringGetFromFile(s, "Out", stdin, stdout, 0);
- info->Out = stringGetNthWord(s, 1, " ,");
+ info->Out = stringGetNthWord(s, 1, " ,\t");
info->flagOut++;
}
if(info->flagOut) {
if(info->flagWyMax) {
}
+ if(info->flagWX) {
+ }
+
+ if(info->flagWY) {
+ }
+
if(info->flagconfigFile) {
info->fptconfigFile = fileOpen(info->configFile, "r");
}
init0(&info);
argCheck(&info, argc, argv);
init1(&info);
+
if(info.flagWx) {
linfo.flagWx = info.flagWx;
linfo.Wx = info.Wx;
linfo.Wy = info.Wy;
linfo.flagWyMax = info.flagWyMax;
linfo.WyMax = info.WyMax;
+ } else {
+ linfo.Wx = info.WX;
+ linfo.Wy = info.WY;
+ }
+ if(info.flagWX) {
+ linfo.flagWx = info.flagWX;
+ linfo.Wx = info.WX;
}
-
+ if(info.flagWY) {
+ linfo.flagWy = info.flagWY;
+ linfo.Wy = info.WY;
+ }
+
mrcFileRead(&src, info.In, "in main", 0);
dst.Header = src.Header;
mrcInit(&dst, NULL);
<PRE>
Usage: mrcImageWindowing
Options:
- [-i[nput] In (NULL )] :Essential :InputDataFile
- [-o[utput] Out (NULL )] :Essential :OutputDataFile
- [-W[indowing] Wx (0.1 )WxMax (0.0 )Wy (0.1 )WyMax (0.0 )] :Optional :Windowsing Size:
- [-c[onfig] configFile (NULL )] :Optional :ConfigurationFile
- [-m[ode] mode (0 )] :Optional :Mode
+ [-i[nput] In (NULL ).as(inFile ) ] :Essential :InputDataFile
+ [-o[utput] Out (NULL ).as(outFile ) ] :Essential :OutputDataFile
+ [-W[indowing] Wx (0.1 ).as(Real )
+ WxMax (0.0 ).as(Real )
+ Wy (0.1 ).as(Real )
+ WyMax (0.0 ).as(Real ) ] :Optional :Windowsing Size:
+ [-W[indowing]x WX (0.1 ).as(Real ) ] :Optional :Windowsing Size:
+ [-W[indowing]y WY (0.1 ).as(Real ) ] :Optional :Windowsing Size:
+ [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile
+ [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode
>>> Mode
0: If 0<x<0.1*nx or 0.9*nx<x<nx, then cos windowing, else original.
-0: 90% windowing: fixed.
-1: Wy: Settings: variable.
-2: WxMax and Wx
+0: Cos Window (Fixed)
+ 90% windowing: fixed.
+1: Cos Window (Y-variable)
+ Wy: Settings: variable.
+2: Cos Window XY-variable
+ WxMax and Wx
WyMax and Wy Settings: variables
x/Nx < WxMax or 1-WxMax < x/Nx : 0
WxMax < x/Nx < Wx or 1-Wx < x/Nx < 1-WxMax : cos window
Wx < x/Nx < 1-Wx : 1
Wy and WyMax are also used for windowing in the similar manner.
+0 : To Zero.
-+16: Contrast down around mean.
+3: Rectangle Window
+4: Hanning Window
+5: Hamming Window
+6: Blackman Window
++0 : To Zero.
++16: Contrast down around mean.
</PRE>
</BODY>
</HTML>
-I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'InputDataFile' i
-O 1 0 1 1 0 1 -1x1+1+3.000000 ' ' 'Out' 'OutputDataFile' o
-I 1 0 0 1 0 1 -1x1+1+4 ' ' '0.1' 'Wx' Windowsing Size:
- -I 1 0 1 0 0 1 -1x1+1+6.000000 ' ' 'configFile' 'ConfigurationFile' c
- -i 1 0 1 0 0 -1x1+1+7.500000 0 0 0 0 0 'mode' 'Mode' m
+ -f 1 0 1 0 0 -1x1+1+6.000000 0 0 0.100000 0 0 0 'WX' 'Windowsing Size:' Wx
+ -f 1 0 1 0 0 -1x1+1+7.500000 0 0 0.100000 0 0 0 'WY' 'Windowsing Size:' Wy
+ -I 1 0 1 0 0 1 -1x1+1+9.000000 ' ' 'configFile' 'ConfigurationFile' c
+ -i 1 0 1 0 0 -1x1+1+10.500000 0 0 0 0 0 'mode' 'Mode' m
-E
-E
-E
exec:
@echo "----- Execution Check -----"
- ../$(OSTYPE)/$(OBJECTNAME)
+ time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -o data/test.0.out -m 0
+ time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -o data/test.1.out -m 1
+ time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -o data/test.2.out -m 2
+ time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -o data/test.3.out -m 3
+ time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -o data/test.4.out -m 4
+ time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -o data/test.5.out -m 5
+ time ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -o data/test.6.out -m 6
@echo "----- Calc check -----"
clean:
+
+init:
+ mrcImageModelCreate -o data/test.org -nx 64 -ny 64 -nz 1 -lx 2 -ly 2 -lz 1
+ mrcImageNoiseAdd -i data/test.org -o data/test.in -SD 1
{
fprintf(stderr, "Usage: %s\n", thisProgram);
fprintf(stderr, "Options:\n");
- fprintf(stderr, " [-i[nput] In (NULL )] :Essential :InputDataFile\n");
- fprintf(stderr, " [-o[utput] Out (NULL )] :Essential :OutputDataFile\n");
- fprintf(stderr, " [-W[indowing] Wx (0.1 )WxMax (0.0 )Wy (0.1 )WyMax (0.0 )] :Optional :Windowsing Size:\n");
- fprintf(stderr, " [-c[onfig] configFile (NULL )] :Optional :ConfigurationFile\n");
- fprintf(stderr, " [-m[ode] mode (0 )] :Optional :Mode\n");
+ fprintf(stderr, " [-i[nput] In (NULL ).as(inFile ) ] :Essential :InputDataFile\n");
+ fprintf(stderr, " [-o[utput] Out (NULL ).as(outFile ) ] :Essential :OutputDataFile\n");
+ fprintf(stderr, " [-W[indowing] Wx (0.1 ).as(Real ) \n WxMax (0.0 ).as(Real ) \n Wy (0.1 ).as(Real ) \n WyMax (0.0 ).as(Real ) ] :Optional :Windowsing Size:\n");
+ fprintf(stderr, " [-W[indowing]x WX (0.1 ).as(Real ) ] :Optional :Windowsing Size:\n");
+ fprintf(stderr, " [-W[indowing]y WY (0.1 ).as(Real ) ] :Optional :Windowsing Size:\n");
+ fprintf(stderr, " [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile\n");
+ fprintf(stderr, " [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode\n");
additionalUsage();
}