From: Takuo Yasunaga Date: Tue, 6 Dec 2022 10:04:25 +0000 (+0900) Subject: Please enter the commit message for your changes. Lines starting X-Git-Tag: v2.4.20p0370 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=7744dbe9adad2805bac316405f8c4f9f993c6825;p=eos%2Fbase.git Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Your branch is up to date with 'origin/master'. Changes to be committed: modified: src/Tools/Config/Define.inc modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/Config/OptionControlFile modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/inc/mrcImageSeriesNormalizing.h new file: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/: modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/argCheck.c modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/init.c modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.c modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.html modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.pane modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/test/Makefile modified: src/Tools/mrcImage/mrcImageSeriesNormalizing/src/usage.c Changes not staged for commit: modified: hostdepend/ARM64MAC64 (new commits) modified: include/eosMATH.h --- diff --git a/src/Tools/Config/Define.inc b/src/Tools/Config/Define.inc index 9ee2d89475..ee2bc8ba73 100644 --- a/src/Tools/Config/Define.inc +++ b/src/Tools/Config/Define.inc @@ -1 +1,9 @@ WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/Config/OptionControlFile b/src/Tools/mrcImage/mrcImageSeriesNormalizing/Config/OptionControlFile index 12687172a6..a4174bc21d 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/Config/OptionControlFile +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/Config/OptionControlFile @@ -1,12 +1,14 @@ # OptionControlFile # FileFormat "-i","-i[nput]","Input: name list of mrcImage","Essential","1","1","In","inFileList","NULL" +"-iw","-i[nput]w[eight]","weight: list of 0 or 1 ","Optional","1","1","Weight","inFile","NULL" "-o","-o[utput]","Output: name list of mrcImage","Essential","1","1","Out","outFileList","NULL" "-param","-param[eters]","Output: Parameters","Optional","1","1","Param","outFile","stdout" "-Low","-Low[ValueArea]","LowValueArea: rate","Optional","1","1","thresOfLowValueArea","Real","0.01" "-High","-High[ValueArea]","HighValueArea: rate","Optional","1","1","thresOfHighValueArea","Real","0.99" "-L","-L[ow]","Low","Optional","1","1","Low","Real","0.1" "-H","-H[igh]","High","Optional","1","1","High","Real","0.9" +"-UseLH","-UseLH","Use Low and High","Optional","2","1","UseLow","Integer","1","2","UseHigh","Integer","1" "-LowExp","-Low[ValueArea]Exp","Alow * exp(-Klow * i) + Blow","Optional","3","1","ALow","Real","1.0","2","KLow","Real","0.1","3","BLow","Real","1.0" "-HighExp","-High[ValueArea]Exp","Ahigh * exp(-Khigh * i) + Bhigh","Optional","3","1","AHigh","Real","0.1","2","KHigh","Real","0.1","3","BHigh","Real","0.0" "-maxIter","-maxIter","maxIteration","Optional","1","1","maxIter","Integer","100" diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/inc/mrcImageSeriesNormalizing.h b/src/Tools/mrcImage/mrcImageSeriesNormalizing/inc/mrcImageSeriesNormalizing.h index 9dde98fe55..6c049939ab 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/inc/mrcImageSeriesNormalizing.h +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/inc/mrcImageSeriesNormalizing.h @@ -19,6 +19,10 @@ typedef struct mrcImageSeriesNormalizingInfo { FILE** fptIn; FILE* fptInList; + long flagWeight; + char* Weight; + FILE* fptWeight; + long flagOut; char** Out; char* OutList; @@ -41,6 +45,12 @@ typedef struct mrcImageSeriesNormalizingInfo { long flagHigh; float High; + long flagUseLow; + long UseLow; + + long flagUseHigh; + long UseHigh; + long flagALow; float ALow; @@ -71,10 +81,6 @@ typedef struct mrcImageSeriesNormalizingInfo { long flagftol; float ftol; - long flagParamOut; - char* ParamOut; - FILE* fptParamOut; - long flagconfigFile; char* configFile; FILE* fptconfigFile; diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/: b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/: new file mode 100644 index 0000000000..a536172a8e --- /dev/null +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/: @@ -0,0 +1,295 @@ +/* +# mrcImageSeriesNormalizing : $Revision$ +# $Date$ +# Created by $Author$ +# Usage : mrcImageSeriesNormalizing +# Attention +# $Loccker$ +# $State$ +# +*/ +#include +#include +#include +#include +#define GLOBAL_DECLARATION +#include "../inc/config.h" + +#define DEBUG +#include "genUtil.h" +#include "Memory.h" +#include "mrcImage.h" +#include "eosNonLinearFitting.h" + +typedef struct lmrcImageSeriesNormalizingInfo { + int N; + int useHigh; + float High; + int useLow; + float Low; + float thresOfLowValueArea; + float thresOfHighValueArea; + double A; + double B; + eosNonLinearFittingParams outHigh; + eosNonLinearFittingParams outLow; + int maxIter; + FILE* paramOut; + double* weight; + mrcImageInformation* originalInfo; + mrcImageInformation* normalizedInfo; +} lmrcImageSeriesNormalizingInfo; + +typedef enum lmrcImageSeriesNormalizingMode { + lmrcImageSeriesNormalizingModeLowValueAreaToHighValueArea=0 +} lmrcImageSeriesNormalizingMode; + + +extern int lmrcImageSeriesNormalizingOutputParam(FILE* fpt, lmrcImageSeriesNormalizingInfo linfo, lmrcImageSeriesNormalizingMode mode); +extern int lmrcImageSeriesNormalizing(mrcImage* out, mrcImage* in, lmrcImageSeriesNormalizingInfo* linfo, lmrcImageSeriesNormalizingMode mode); + +int +main(int argc, char* argv[]) +{ + mrcImageSeriesNormalizingInfo info; + lmrcImageSeriesNormalizingInfo linfo; + mrcImage* in; + mrcImage* out; + int i, j; + char s[1024]; + + init0(&info); + argCheck(&info, argc, argv); + init1(&info); + + DEBUGPRINT("Program Start\n"); + linfo.thresOfLowValueArea = info.thresOfLowValueArea; + linfo.thresOfHighValueArea = info.thresOfHighValueArea; + linfo.High = info.High; + linfo.Low = info.Low; + linfo.outHigh.Ainit = info.AHigh; + linfo.outHigh.Kinit = info.KHigh; + linfo.outHigh.Binit = info.BHigh; + linfo.outLow.Ainit = info.ALow; + linfo.outLow.Kinit = info.KLow; + linfo.outLow.Binit = info.BLow; + linfo.N = info.flagIn; + linfo.outLow.xtol = linfo.outHigh.xtol = info.xtol; + linfo.outLow.gtol = linfo.outHigh.gtol = info.gtol; + linfo.outLow.ftol = linfo.outHigh.ftol = info.ftol; + linfo.outLow.maxIter = linfo.outHigh.maxIter = linfo.maxIter = info.maxIter; + if(info.flagIn!=info.flagOut) { + fprintf(stderr, "In num %ld is diffrenct from Out num %ld\n", info.flagIn, info.flagOut); + } + linfo.paramOut = info.fptParam; + linfo.useLow = info.UseLow; + linfo.useHigh = info.UseHigh; + in = (mrcImage*)memoryAllocate(sizeof(mrcImage)*linfo.N, "in main"); + out = (mrcImage*)memoryAllocate(sizeof(mrcImage)*linfo.N, "in main"); + linfo.weight = (double*)memoryAllocate(sizeof(double)*linfo.N, "in main"); + linfo.originalInfo= (mrcImageInformation*)memoryAllocate(sizeof(double)*linfo.N, "in main"); + linfo.normalizedInfo= (mrcImageInformation*)memoryAllocate(sizeof(double)*linfo.N, "in main"); + + for(i=0; iN, "in main"); + low = (double*)memoryAllocate(sizeof(double)*linfo->N, "in main"); + high = (double*)memoryAllocate(sizeof(double)*linfo->N, "in main"); + siglow = (double*)memoryAllocate(sizeof(double)*linfo->N, "in main"); + sighigh = (double*)memoryAllocate(sizeof(double)*linfo->N, "in main"); + switch(mode) { + case lmrcImageSeriesNormalizingModeLowValueAreaToHighValueArea: { + // low/high= A*exp(-Kt) + B + // ln low/high = ln A - K log t + //mrcImageInformation inInfo; + for(i=0, j=0; iN; i++) { + linfo->originalInfo[i].mode = meanOfLowValueAreaAndHighValueArea; + linfo->originalInfo[i].thresLow = linfo->thresOfLowValueArea; + linfo->originalInfo[i].thresHigh = linfo->thresOfHighValueArea; + lmrcImageInformation(&(linfo->originalInfo[i]), &(in[i])); + if(0weight[i]) { + frame[j] = (double)i/(double)linfo->N; + high[j] = linfo->originalInfo[i].meanOfHighValueArea; + sighigh[j] = linfo->originalInfo[i].sdOfHighValueArea; + low[j] = linfo->originalInfo[i].meanOfLowValueArea; + siglow[j] = linfo->originalInfo[i].sdOfLowValueArea; + j++; + Nj++; + } else { + } + } + DEBUGPRINT("HIGH\n"); + eosNonLinearFitting(&linfo->outHigh, frame, high, sighigh, Nj, eosNonLinearFittingModeSingleExpDecay); + DEBUGPRINT("LOW\n"); + eosNonLinearFitting(&linfo->outLow, frame, low, siglow, Nj, eosNonLinearFittingModeSingleExpDecay); + + if(linfo->useHigh) { + High = linfo->High; + } else { + High = linfo->outHigh.A*exp( - linfo->outHigh.K * frame[0] ) + linfo->outHigh.B; + } + if(linfo->useLow) { + Low = linfo->Low; + } else { + Low = linfo->outLow.A *exp( - linfo->outLow.K * frame[0] ) + linfo->outLow.B; + } + DEBUGPRINT2("Normalization(High,Low):%f %f", High, Low); + for(i=0; iN; i++) { + out[i].Header = in[i].Header; + mrcInit(&out[i], NULL); + for(z=0; zoutLow.A *exp( - linfo->outLow.K * (double)i/linfo->N) + linfo->outLow.B; + highi = linfo->outHigh.A*exp( - linfo->outHigh.K * (double)i/linfo->N) + linfo->outHigh.B; + data = High*(data-lowi)/(highi -lowi) + Low; + mrcPixelDataSet(&out[i], x, y, z, data, mrcPixelRePart); + } + } + } + // + linfo->normalizedInfo[i].mode = meanOfLowValueAreaAndHighValueArea; + linfo->normalizedInfo[i].thresLow = linfo->thresOfLowValueArea; + linfo->normalizedInfo[i].thresHigh = linfo->thresOfHighValueArea; + lmrcImageInformation(&(linfo->normalizedInfo[i]), &(out[i])); + } + break; + } + default: { + fprintf(stderr, "Not supported mode: %d\n", mode); + exit(EXIT_FAILURE); + break; + } + } + return 0; +} diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/argCheck.c b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/argCheck.c index 01aeec5d1e..95accb43d4 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/argCheck.c +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/argCheck.c @@ -39,6 +39,17 @@ argCheck(mrcImageSeriesNormalizingInfo* info, int argc, char* argv[]) } SBREAK; } + SCASE("iw") { + if(i+1Weight = stringGetNthWord(argv[i+1], 1, " ,"); + i++; + info->flagWeight++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } SCASE("o") { if(i+1OutList = stringGetNthWord(argv[i+1], 1, " ,"); @@ -105,6 +116,20 @@ argCheck(mrcImageSeriesNormalizingInfo* info, int argc, char* argv[]) } SBREAK; } + SCASE("UseLH") { + if(i+2UseLow = stringGetNthIntegerData(argv[i+1], 1, " ,"); + i++; + info->flagUseLow++; + info->UseHigh = stringGetNthIntegerData(argv[i+1], 1, " ,"); + i++; + info->flagUseHigh++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } SCASE("LowExp") { if(i+3ALow = stringGetNthRealData(argv[i+1], 1, " ,"); @@ -183,17 +208,6 @@ argCheck(mrcImageSeriesNormalizingInfo* info, int argc, char* argv[]) } SBREAK; } - SCASE("paramo") { - if(i+1ParamOut = stringGetNthWord(argv[i+1], 1, " ,"); - i++; - info->flagParamOut++; - } else { - usage(argv[0]); - exit(EXIT_FAILURE); - } - SBREAK; - } SCASE("c") { if(i+1configFile = stringGetNthWord(argv[i+1], 1, " ,"); diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/init.c b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/init.c index a7724a9544..1f82eb0828 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/init.c +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/init.c @@ -13,12 +13,15 @@ void init0(mrcImageSeriesNormalizingInfo* info) { info->fptIn = NULL; info->fptInList = NULL; info->flagIn = 0; + info->fptWeight = NULL; info->flagWeight = 0; info->fptOut = NULL; info->fptOutList = NULL; info->flagOut = 0; info->fptParam = stdout; info->flagParam = 0; info->thresOfLowValueArea = 0.01; info->flagthresOfLowValueArea = 0; info->thresOfHighValueArea = 0.99; info->flagthresOfHighValueArea = 0; info->Low = 0.1; info->flagLow = 0; info->High = 0.9; info->flagHigh = 0; + info->UseLow = 1; info->flagUseLow = 0; + info->UseHigh = 1; info->flagUseHigh = 0; info->ALow = 1.0; info->flagALow = 0; info->KLow = 0.1; info->flagKLow = 0; info->BLow = 1.0; info->flagBLow = 0; @@ -29,7 +32,6 @@ init0(mrcImageSeriesNormalizingInfo* info) info->xtol = 1e-8; info->flagxtol = 0; info->gtol = 1e-8; info->flaggtol = 0; info->ftol = 0.0; info->flagftol = 0; - info->fptParamOut = stdout; info->flagParamOut = 0; info->fptconfigFile = NULL; info->flagconfigFile = 0; info->mode = 0; info->flagmode = 0; } @@ -63,6 +65,10 @@ init1(mrcImageSeriesNormalizingInfo* info) } } + if(info->flagWeight) { + info->fptWeight = fileOpen(info->Weight, "r"); + } + if(!info->flagOut) { stringGetFromFile(s, "Out", stdin, stdout, 0); info->OutList = stringGetNthWord(s, 1, " ,\t"); @@ -103,6 +109,12 @@ init1(mrcImageSeriesNormalizingInfo* info) if(info->flagHigh) { } + if(info->flagUseLow) { + } + + if(info->flagUseHigh) { + } + if(info->flagALow) { } @@ -133,10 +145,6 @@ init1(mrcImageSeriesNormalizingInfo* info) if(info->flagftol) { } - if(info->flagParamOut) { - info->fptParamOut = fileOpen(info->ParamOut, "w"); - } - if(info->flagconfigFile) { info->fptconfigFile = fileOpen(info->configFile, "r"); } diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.c b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.c index 0d27a537d1..18320a8cd6 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.c +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.c @@ -23,7 +23,9 @@ typedef struct lmrcImageSeriesNormalizingInfo { int N; + int useHigh; float High; + int useLow; float Low; float thresOfLowValueArea; float thresOfHighValueArea; @@ -33,6 +35,9 @@ typedef struct lmrcImageSeriesNormalizingInfo { eosNonLinearFittingParams outLow; int maxIter; FILE* paramOut; + double* weight; + mrcImageInformation* originalInfo; + mrcImageInformation* normalizedInfo; } lmrcImageSeriesNormalizingInfo; typedef enum lmrcImageSeriesNormalizingMode { @@ -51,6 +56,7 @@ main(int argc, char* argv[]) mrcImage* in; mrcImage* out; int i, j; + char s[1024]; init0(&info); argCheck(&info, argc, argv); @@ -75,25 +81,79 @@ main(int argc, char* argv[]) if(info.flagIn!=info.flagOut) { fprintf(stderr, "In num %ld is diffrenct from Out num %ld\n", info.flagIn, info.flagOut); } - linfo.paramOut = info.fptParamOut; - - in = (mrcImage*)memoryAllocate(sizeof(mrcImage)*info.flagIn, "in main"); - out = (mrcImage*)memoryAllocate(sizeof(mrcImage)*info.flagOut, "in main"); + linfo.paramOut = info.fptParam; + linfo.useLow = info.UseLow; + linfo.useHigh = info.UseHigh; + in = (mrcImage*)memoryAllocate(sizeof(mrcImage)*linfo.N, "in main"); + out = (mrcImage*)memoryAllocate(sizeof(mrcImage)*linfo.N, "in main"); + linfo.weight = (double*)memoryAllocate(sizeof(double)*linfo.N, "in main"); + linfo.originalInfo= (mrcImageInformation*)memoryAllocate(sizeof(double)*linfo.N, "in main"); + linfo.normalizedInfo= (mrcImageInformation*)memoryAllocate(sizeof(double)*linfo.N, "in main"); for(i=0; iN, "in main"); low = (double*)memoryAllocate(sizeof(double)*linfo->N, "in main"); @@ -165,23 +230,39 @@ lmrcImageSeriesNormalizing(mrcImage* out, mrcImage* in, lmrcImageSeriesNormalizi case lmrcImageSeriesNormalizingModeLowValueAreaToHighValueArea: { // low/high= A*exp(-Kt) + B // ln low/high = ln A - K log t - mrcImageInformation inInfo; - inInfo.mode = meanOfLowValueAreaAndHighValueArea; - inInfo.thresLow = linfo->thresOfLowValueArea; - inInfo.thresHigh = linfo->thresOfHighValueArea; - for(i=0; iN; i++) { - lmrcImageInformation(&inInfo, &(in[i])); - frame[i] = (double)i/(double)linfo->N; - high[i] = inInfo.meanOfHighValueArea; - sighigh[i] = inInfo.sdOfHighValueArea; - low[i] = inInfo.meanOfLowValueArea; - siglow[i] = inInfo.sdOfLowValueArea; + //mrcImageInformation inInfo; + for(i=0, j=0; iN; i++) { + linfo->originalInfo[i].mode = meanOfLowValueAreaAndHighValueArea; + linfo->originalInfo[i].thresLow = linfo->thresOfLowValueArea; + linfo->originalInfo[i].thresHigh = linfo->thresOfHighValueArea; + lmrcImageInformation(&(linfo->originalInfo[i]), &(in[i])); + if(0weight[i]) { + frame[j] = (double)i/(double)linfo->N; + high[j] = linfo->originalInfo[i].meanOfHighValueArea; + sighigh[j] = linfo->originalInfo[i].sdOfHighValueArea; + low[j] = linfo->originalInfo[i].meanOfLowValueArea; + siglow[j] = linfo->originalInfo[i].sdOfLowValueArea; + j++; + Nj++; + } else { + } } DEBUGPRINT("HIGH\n"); - eosNonLinearFitting(&linfo->outHigh, frame, high, sighigh, linfo->N, eosNonLinearFittingModeSingleExpDecay); + eosNonLinearFitting(&linfo->outHigh, frame, high, sighigh, Nj, eosNonLinearFittingModeSingleExpDecay); DEBUGPRINT("LOW\n"); - eosNonLinearFitting(&linfo->outLow, frame, low, siglow, linfo->N, eosNonLinearFittingModeSingleExpDecay); + eosNonLinearFitting(&linfo->outLow, frame, low, siglow, Nj, eosNonLinearFittingModeSingleExpDecay); + if(linfo->useHigh) { + High = linfo->High; + } else { + High = linfo->outHigh.A*exp( - linfo->outHigh.K * frame[0] ) + linfo->outHigh.B; + } + if(linfo->useLow) { + Low = linfo->Low; + } else { + Low = linfo->outLow.A *exp( - linfo->outLow.K * frame[0] ) + linfo->outLow.B; + } + DEBUGPRINT2("Normalization(High,Low):%f %f", High, Low); for(i=0; iN; i++) { out[i].Header = in[i].Header; mrcInit(&out[i], NULL); @@ -189,13 +270,18 @@ lmrcImageSeriesNormalizing(mrcImage* out, mrcImage* in, lmrcImageSeriesNormalizi for(y=0; youtLow.A *exp( - linfo->outLow.K * frame[i] ) + linfo->outLow.B; - highi = linfo->outHigh.A*exp( - linfo->outHigh.K * frame[i] ) + linfo->outHigh.B; - data = linfo->High*(data-lowi)/(highi -lowi) + linfo->Low; + lowi = linfo->outLow.A *exp( - linfo->outLow.K * (double)i/linfo->N) + linfo->outLow.B; + highi = linfo->outHigh.A*exp( - linfo->outHigh.K * (double)i/linfo->N) + linfo->outHigh.B; + data = High*(data-lowi)/(highi -lowi) + Low; mrcPixelDataSet(&out[i], x, y, z, data, mrcPixelRePart); } } } + // + linfo->normalizedInfo[i].mode = meanOfLowValueAreaAndHighValueArea; + linfo->normalizedInfo[i].thresLow = linfo->thresOfLowValueArea; + linfo->normalizedInfo[i].thresHigh = linfo->thresOfHighValueArea; + lmrcImageInformation(&(linfo->normalizedInfo[i]), &(out[i])); } break; } diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.html b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.html index 4abd4893e7..68f05c6369 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.html +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.html @@ -9,12 +9,15 @@ Usage: mrcImageSeriesNormalizing Options: [-i[nput] In (NULL ).as(inFileList ) ] :Essential :Input: name list of mrcImage + [-i[nput]w[eight] Weight (NULL ).as(inFile ) ] :Optional :weight: list of 0 or 1 [-o[utput] Out (NULL ).as(outFileList ) ] :Essential :Output: name list of mrcImage [-param[eters] Param (stdout ).as(outFile ) ] :Optional :Output: Parameters [-Low[ValueArea] thresOfLowValueArea (0.01 ).as(Real ) ] :Optional :LowValueArea: rate [-High[ValueArea] thresOfHighValueArea(0.99 ).as(Real ) ] :Optional :HighValueArea: rate [-L[ow] Low (0.1 ).as(Real ) ] :Optional :Low [-H[igh] High (0.9 ).as(Real ) ] :Optional :High + [-UseLH UseLow (1 ).as(Integer ) + UseHigh (1 ).as(Integer ) ] :Optional :Use Low and High [-Low[ValueArea]Exp ALow (1.0 ).as(Real ) KLow (0.1 ).as(Real ) BLow (1.0 ).as(Real ) ] :Optional :Alow * exp(-Klow * i) + Blow @@ -25,7 +28,6 @@ Options: [-xtol xtol (1e-8 ).as(Real ) ] :Optional :xtol [-gtol gtol (1e-8 ).as(Real ) ] :Optional :gtol [-ftol ftol (0.0 ).as(Real ) ] :Optional :ftol - [-param[eter]o[out] ParamOut (stdout ).as(outFile ) ] :Optional :parameterFile [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode ----- Additional Usage ----- diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.pane b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.pane index b6cedc330d..60033bf161 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.pane +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/mrcImageSeriesNormalizing.pane @@ -8,21 +8,22 @@ -H 1 5x1+41+0 'Help' 'help page' $EOS/src/Tools/mrcImage/mrcImageSeriesNormalizing/doc/mrcImageSeriesNormalizing.doc help -Q 1 0 5.25x1+47+0 'Close' -I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'Input: name list of mrcImage' i - -O 1 0 1 1 0 1 -1x1+1+3.000000 ' ' 'Out' 'Output: name list of mrcImage' o - -O 1 0 1 0 0 1 -1x1+1+4.500000 ' ' 'Param' 'Output: Parameters' param - -f 1 0 1 0 0 -1x1+1+6.000000 0 0 0.010000 0 0 0 'thresOfLowValueArea' 'LowValueArea: rate' Low - -f 1 0 1 0 0 -1x1+1+7.500000 0 0 0.990000 0 0 0 'thresOfHighValueArea' 'HighValueArea: rate' High - -f 1 0 1 0 0 -1x1+1+9.000000 0 0 0.100000 0 0 0 'Low' 'Low' L - -f 1 0 1 0 0 -1x1+1+10.500000 0 0 0.900000 0 0 0 'High' 'High' H - -I 1 0 0 1 0 1 -1x1+1+12 ' ' '1.0' 'ALow' Alow * exp(-Klow * i) + Blow - -I 1 0 0 1 0 1 -1x1+1+13 ' ' '0.1' 'AHigh' Ahigh * exp(-Khigh * i) + Bhigh - -i 1 0 1 0 0 -1x1+1+15.000000 0 0 100 0 0 'maxIter' 'maxIteration' maxIter - -f 1 0 1 0 0 -1x1+1+16.500000 0 0 0.000000 0 0 0 'xtol' 'xtol' xtol - -f 1 0 1 0 0 -1x1+1+18.000000 0 0 0.000000 0 0 0 'gtol' 'gtol' gtol - -f 1 0 1 0 0 -1x1+1+19.500000 0 0 0.000000 0 0 0 'ftol' 'ftol' ftol - -O 1 0 1 0 0 1 -1x1+1+21.000000 ' ' 'ParamOut' 'parameterFile' paramo - -I 1 0 1 0 0 1 -1x1+1+22.500000 ' ' 'configFile' 'ConfigurationFile' c - -i 1 0 1 0 0 -1x1+1+24.000000 0 0 0 0 0 'mode' 'Mode' m + -I 1 0 1 0 0 1 -1x1+1+3.000000 ' ' 'Weight' 'weight: list of 0 or 1 ' iw + -O 1 0 1 1 0 1 -1x1+1+4.500000 ' ' 'Out' 'Output: name list of mrcImage' o + -O 1 0 1 0 0 1 -1x1+1+6.000000 ' ' 'Param' 'Output: Parameters' param + -f 1 0 1 0 0 -1x1+1+7.500000 0 0 0.010000 0 0 0 'thresOfLowValueArea' 'LowValueArea: rate' Low + -f 1 0 1 0 0 -1x1+1+9.000000 0 0 0.990000 0 0 0 'thresOfHighValueArea' 'HighValueArea: rate' High + -f 1 0 1 0 0 -1x1+1+10.500000 0 0 0.100000 0 0 0 'Low' 'Low' L + -f 1 0 1 0 0 -1x1+1+12.000000 0 0 0.900000 0 0 0 'High' 'High' H + -I 1 0 0 1 0 1 -1x1+1+13 ' ' '1' 'UseLow' Use Low and High + -I 1 0 0 1 0 1 -1x1+1+15 ' ' '1.0' 'ALow' Alow * exp(-Klow * i) + Blow + -I 1 0 0 1 0 1 -1x1+1+16 ' ' '0.1' 'AHigh' Ahigh * exp(-Khigh * i) + Bhigh + -i 1 0 1 0 0 -1x1+1+18.000000 0 0 100 0 0 'maxIter' 'maxIteration' maxIter + -f 1 0 1 0 0 -1x1+1+19.500000 0 0 0.000000 0 0 0 'xtol' 'xtol' xtol + -f 1 0 1 0 0 -1x1+1+21.000000 0 0 0.000000 0 0 0 'gtol' 'gtol' gtol + -f 1 0 1 0 0 -1x1+1+22.500000 0 0 0.000000 0 0 0 'ftol' 'ftol' ftol + -I 1 0 1 0 0 1 -1x1+1+24.000000 ' ' 'configFile' 'ConfigurationFile' c + -i 1 0 1 0 0 -1x1+1+25.500000 0 0 0 0 0 'mode' 'Mode' m -E -E -E diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/test/Makefile b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/test/Makefile index 36d799f2dc..a052bd8ff7 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/test/Makefile +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/test/Makefile @@ -22,8 +22,10 @@ help: exec: @echo "----- Execution Check -----" - ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in.lst -o data/test.out.lst -H 0.9 -L 0.1 -High 0.95 -Low 0.7 -param data/test.param -m 0 -LowExp 0.32 5 0 -HighExp 32 5 0 -maxIter 100 + ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in.lst -o data/test.out.lst -H 0.9 -L 0.1 -High 0.95 -Low 0.7 -param data/test.param -m 0 -LowExp 0.32 5 0 -HighExp 32 5 0 -maxIter 100 -UseLH 1 1 + ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in.lst -o data/test.out.lst -H 0.9 -L 0.1 -High 0.95 -Low 0.7 -param data/test2.param -m 0 -LowExp 0.32 5 0 -HighExp 32 5 0 -maxIter 100 -UseLH 1 0 cat data/test.param + cat data/test2.param @echo "----- Calc check -----" clean: diff --git a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/usage.c b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/usage.c index 1f01897b3c..2de43bf9a3 100755 --- a/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/usage.c +++ b/src/Tools/mrcImage/mrcImageSeriesNormalizing/src/usage.c @@ -8,19 +8,20 @@ usage(char* thisProgram) fprintf(stderr, "Usage: %s\n", thisProgram); fprintf(stderr, "Options:\n"); fprintf(stderr, " [-i[nput] In (NULL ).as(inFileList ) ] :Essential :Input: name list of mrcImage\n"); + fprintf(stderr, " [-i[nput]w[eight] Weight (NULL ).as(inFile ) ] :Optional :weight: list of 0 or 1 \n"); fprintf(stderr, " [-o[utput] Out (NULL ).as(outFileList ) ] :Essential :Output: name list of mrcImage\n"); fprintf(stderr, " [-param[eters] Param (stdout ).as(outFile ) ] :Optional :Output: Parameters\n"); fprintf(stderr, " [-Low[ValueArea] thresOfLowValueArea (0.01 ).as(Real ) ] :Optional :LowValueArea: rate\n"); fprintf(stderr, " [-High[ValueArea] thresOfHighValueArea(0.99 ).as(Real ) ] :Optional :HighValueArea: rate\n"); fprintf(stderr, " [-L[ow] Low (0.1 ).as(Real ) ] :Optional :Low\n"); fprintf(stderr, " [-H[igh] High (0.9 ).as(Real ) ] :Optional :High\n"); + fprintf(stderr, " [-UseLH UseLow (1 ).as(Integer ) \n UseHigh (1 ).as(Integer ) ] :Optional :Use Low and High\n"); fprintf(stderr, " [-Low[ValueArea]Exp ALow (1.0 ).as(Real ) \n KLow (0.1 ).as(Real ) \n BLow (1.0 ).as(Real ) ] :Optional :Alow * exp(-Klow * i) + Blow\n"); fprintf(stderr, " [-High[ValueArea]Exp AHigh (0.1 ).as(Real ) \n KHigh (0.1 ).as(Real ) \n BHigh (0.0 ).as(Real ) ] :Optional :Ahigh * exp(-Khigh * i) + Bhigh\n"); fprintf(stderr, " [-maxIter maxIter (100 ).as(Integer ) ] :Optional :maxIteration\n"); fprintf(stderr, " [-xtol xtol (1e-8 ).as(Real ) ] :Optional :xtol\n"); fprintf(stderr, " [-gtol gtol (1e-8 ).as(Real ) ] :Optional :gtol\n"); fprintf(stderr, " [-ftol ftol (0.0 ).as(Real ) ] :Optional :ftol\n"); - fprintf(stderr, " [-param[eter]o[out] ParamOut (stdout ).as(outFile ) ] :Optional :parameterFile\n"); fprintf(stderr, " [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile\n"); fprintf(stderr, " [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode\n"); additionalUsage();