OSDN Git Service

modified: src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/
authorTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Tue, 25 Jun 2013 21:58:27 +0000 (06:58 +0900)
committerTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Tue, 25 Jun 2013 21:58:27 +0000 (06:58 +0900)
Add the function of range restriction
related: modified:   src/Objects/DataManip/mrcImage/inc/mrcImage.h
related: modified:   src/Objects/DataManip/mrcImage/src/mrcImageInfo.c
modified:   src/Objects/DataManip/mrcImage/src/lmrcSinogramFET.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcSinogramFETPCA.c
related: previous modification for arrayPCA(add average argument);

29 files changed:
hostdepend/X86LINUX64/bin/X86LINUX64/mrcImageAutoRotationCorrelation3D
hostdepend/X86LINUX64/lib/X86LINUX64/libEosObjects.a
hostdepend/X86LINUX64/lib/X86LINUX64/libEosObjects.so
hostdepend/X86LINUX64/lib/X86LINUX64/libmrcImage.a
hostdepend/X86LINUX64/lib/X86LINUX64/libmrcImage.so
hostdepend/X86LINUX64/lib/X86LINUX64/shared/lmrcSinogramFETPCA.sharedo
hostdepend/X86LINUX64/lib/X86LINUX64/shared/mrcImageInfo.sharedo
hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.a
hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.debug.a
hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.so
hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/lmrcSinogramFETPCA.sharedo
hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/mrcImageInfo.sharedo
hostdepend/X86LINUX64/src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/X86LINUX64/mrcImageAutoRotationCorrelation3D
include/lmrcSinogramFET.h
include/mrcImage.h
src/Objects/DataManip/mrcImage/doc/mrcImage.html
src/Objects/DataManip/mrcImage/inc/mrcImage.h
src/Objects/DataManip/mrcImage/src/lmrcSinogramFET.h
src/Objects/DataManip/mrcImage/src/lmrcSinogramFETPCA.c
src/Objects/DataManip/mrcImage/src/mrcImageInfo.c
src/Tools/Config/Define.inc
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/Config/OptionControlFile
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/inc/mrcImageAutoRotationCorrelation3D.h
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/argCheck.c
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/init.c
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/mrcImageAutoRotationCorrelation3D.c
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/mrcImageAutoRotationCorrelation3D.html
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/mrcImageAutoRotationCorrelation3D.pane
src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/usage.c

index e3b322d..57c6166 100755 (executable)
Binary files a/hostdepend/X86LINUX64/bin/X86LINUX64/mrcImageAutoRotationCorrelation3D and b/hostdepend/X86LINUX64/bin/X86LINUX64/mrcImageAutoRotationCorrelation3D differ
index 2a48e1f..9572994 100644 (file)
Binary files a/hostdepend/X86LINUX64/lib/X86LINUX64/libEosObjects.a and b/hostdepend/X86LINUX64/lib/X86LINUX64/libEosObjects.a differ
index eb35cf6..922415d 100644 (file)
Binary files a/hostdepend/X86LINUX64/lib/X86LINUX64/libEosObjects.so and b/hostdepend/X86LINUX64/lib/X86LINUX64/libEosObjects.so differ
index 73053e8..d63ab23 100644 (file)
Binary files a/hostdepend/X86LINUX64/lib/X86LINUX64/libmrcImage.a and b/hostdepend/X86LINUX64/lib/X86LINUX64/libmrcImage.a differ
index a750173..39833e9 100644 (file)
Binary files a/hostdepend/X86LINUX64/lib/X86LINUX64/libmrcImage.so and b/hostdepend/X86LINUX64/lib/X86LINUX64/libmrcImage.so differ
index f80f35a..088c039 100644 (file)
Binary files a/hostdepend/X86LINUX64/lib/X86LINUX64/shared/lmrcSinogramFETPCA.sharedo and b/hostdepend/X86LINUX64/lib/X86LINUX64/shared/lmrcSinogramFETPCA.sharedo differ
index 6bc123c..4609343 100644 (file)
Binary files a/hostdepend/X86LINUX64/lib/X86LINUX64/shared/mrcImageInfo.sharedo and b/hostdepend/X86LINUX64/lib/X86LINUX64/shared/mrcImageInfo.sharedo differ
index 73053e8..d63ab23 100644 (file)
Binary files a/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.a and b/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.a differ
index 4bb5cd5..3b70e29 100644 (file)
Binary files a/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.debug.a and b/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.debug.a differ
index a750173..39833e9 100755 (executable)
Binary files a/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.so and b/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/libmrcImage.so differ
index f80f35a..088c039 100644 (file)
Binary files a/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/lmrcSinogramFETPCA.sharedo and b/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/lmrcSinogramFETPCA.sharedo differ
index 6bc123c..4609343 100644 (file)
Binary files a/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/mrcImageInfo.sharedo and b/hostdepend/X86LINUX64/src/Objects/DataManip/mrcImage/src/X86LINUX64/mrcImageInfo.sharedo differ
index e3b322d..57c6166 100755 (executable)
Binary files a/hostdepend/X86LINUX64/src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/X86LINUX64/mrcImageAutoRotationCorrelation3D and b/hostdepend/X86LINUX64/src/Tools/mrcImage/mrcImageAutoRotationCorrelation3D/src/X86LINUX64/mrcImageAutoRotationCorrelation3D differ
index 316d714..91145e2 100644 (file)
@@ -34,6 +34,7 @@ typedef struct lmrcSinogramFETPCAInfo{
        int flagInImage;
        mrcImage* inImage;
        Array X;
+       Array Ave;
        Array C;
        Array u;
        Array lambda;
index 7365369..68f472e 100644 (file)
@@ -318,6 +318,22 @@ typedef struct mrcImageInformation {
        long flagrmax;
        double RMS; /* Root mean square */
        int mode;
+
+       /* For Search Area */
+       int flagXrange;
+       int flagYrange;
+       int flagZrange;
+       double XrangeMin; 
+       double XrangeMax; 
+       double YrangeMin; 
+       double YrangeMax; 
+       double ZrangeMin; 
+       double ZrangeMax; 
+
+       int flagCentre;
+       double CentreX;
+       double CentreY;
+       double CentreZ;
 } mrcImageInformation;
 
 /* struct end */
index 858c2ed..e80febf 100755 (executable)
@@ -4,7 +4,7 @@
 </HEAD>
 <BODY>
 <H1> mrcImage </H1>
-<H4> Update Time 06/24/13---09:37:26 </H4>
+<H4> Update Time 06/24/13---21:41:38 </H4>
 <H2> Concept </H2>
        <A HREF="#include">mrcImage.h</A>
 <H2> Data Structure </H2>
@@ -729,6 +729,22 @@ typedef struct mrcImageInformation {
        long flagrmax;
        double RMS; /* Root mean square */
        int mode;
+
+       /* For Search Area */
+       int flagXrange;
+       int flagYrange;
+       int flagZrange;
+       double XrangeMin; 
+       double XrangeMax; 
+       double YrangeMin; 
+       double YrangeMax; 
+       double ZrangeMin; 
+       double ZrangeMax; 
+
+       int flagCentre;
+       double CentreX;
+       double CentreY;
+       double CentreZ;
 } mrcImageInformation;
 
 /* struct end */
index 7365369..68f472e 100755 (executable)
@@ -318,6 +318,22 @@ typedef struct mrcImageInformation {
        long flagrmax;
        double RMS; /* Root mean square */
        int mode;
+
+       /* For Search Area */
+       int flagXrange;
+       int flagYrange;
+       int flagZrange;
+       double XrangeMin; 
+       double XrangeMax; 
+       double YrangeMin; 
+       double YrangeMax; 
+       double ZrangeMin; 
+       double ZrangeMax; 
+
+       int flagCentre;
+       double CentreX;
+       double CentreY;
+       double CentreZ;
 } mrcImageInformation;
 
 /* struct end */
index 316d714..91145e2 100755 (executable)
@@ -34,6 +34,7 @@ typedef struct lmrcSinogramFETPCAInfo{
        int flagInImage;
        mrcImage* inImage;
        Array X;
+       Array Ave;
        Array C;
        Array u;
        Array lambda;
index 59c70ae..f52a853 100755 (executable)
@@ -31,13 +31,16 @@ lmrcSinogramFETPCA(lmrcSinogramFETPCAInfo in, int mode){
        double data, data1, data2;
        char s[256];
        mrcImage temp;
-
        
        y = in.inImage->HeaderN.y;
        in.X.dim = 2;
        in.X.n[0] = in.inImage->HeaderN.x;
        in.X.n[1] = y * in.inImage->HeaderN.z;
        arrayInit(&(in.X), "X in lmrcSinogramFETPCA");
+       in.Ave.dim = 2;
+       in.Ave.n[0] = in.inImage->HeaderN.x;
+       in.Ave.n[1] = y * in.inImage->HeaderN.z;
+       arrayInit(&(in.Ave), "Ave in lmrcSinogramFETPCA");
        
        for(k=0; k<in.inImage->HeaderN.z; k++){
                for(j=0; j<in.inImage->HeaderN.y; j++){
@@ -48,7 +51,7 @@ lmrcSinogramFETPCA(lmrcSinogramFETPCAInfo in, int mode){
                }
        }
        //fprintf(stderr,"before arrayPCA\n");
-       arrayPCA(&(in.u), &(in.C), &(in.lambda), &(in.X), 0);
+       arrayPCA(&(in.u), &(in.C), &(in.lambda), &(in.X), &(in.Ave), 0);
        //fprintf(stderr,"after arrayPCA\n");
 
        //arrayWriteToFile(in.Out, &(in.X), "in main");
index 7405e48..2bfbff8 100755 (executable)
@@ -583,11 +583,19 @@ lmrcImageInformation(mrcImageInformation* info, mrcImage* img)
                        int cy;
                        int cz;
                        int count;
+                       int xmin, ymin, zmin;
+                       int xmax, ymax, zmax;
                        DEBUGPRINT("meanOfAll\n");
-               
-                       cx = img->HeaderN.x/2;
-                       cy = img->HeaderN.y/2;
-                       cz = img->HeaderN.z/2;
+       
+                       if(info->flagCentre) {
+                               cx = info->CentreX;
+                               cy = info->CentreY;
+                               cz = info->CentreZ;
+                       } else {
+                               cx = img->HeaderN.x/2;
+                               cy = img->HeaderN.y/2;
+                               cz = img->HeaderN.z/2;
+                       }
                mrcPixelDataGet(img, 
                                (mrcImageParaTypeReal)cx, 
                                (mrcImageParaTypeReal)cy, 
@@ -601,10 +609,35 @@ lmrcImageInformation(mrcImageInformation* info, mrcImage* img)
                        info->maxCoord.y = cy;
                        info->maxCoord.z = cz;
                        sumForMean = sumForSd = 0;
+
+                       if(info->flagXrange) {
+                               xmin = info->XrangeMin; 
+                               xmax = info->XrangeMax; 
+                       } else {
+                               xmin = -32;
+                               xmax = +32;
+                       }
+
+                       if(info->flagYrange) {
+                               ymin = info->YrangeMin; 
+                               ymax = info->YrangeMax; 
+                       } else {
+                               ymin = -32;
+                               ymax = +32;
+                       }
+
+                       if(info->flagZrange) {
+                               zmin = info->ZrangeMin;
+                               zmax = info->ZrangeMax;
+                       } else {
+                               zmin = -32;
+                               zmax = +32;
+                       }
+
                        count=0;
-                       for(iz=MAX(0,cz-32); iz<MIN(cz+32,img->HeaderN.z); iz++) {
-                       for(iy=MAX(0,cy-32); iy<MIN(cy+32,img->HeaderN.y); iy++) {
-                       for(ix=MAX(0,cx-32); ix<MIN(cx+32,img->HeaderN.x); ix++) {
+                       for(iz=cz+zmin; iz<cz+zmax; iz++) {
+                       for(iy=cy+ymin; iy<cy+ymax; iy++) {
+                       for(ix=cx+xmin; ix<cx+xmax; ix++) {
                                count++;
                mrcPixelDataGet(img, (mrcImageParaTypeReal)ix, (mrcImageParaTypeReal)iy, (mrcImageParaTypeReal)iz, 
                                                                                        &data, mrcPixelMag, mrcPixelHowNearest);
index 85eb032..0d2fbd0 100755 (executable)
@@ -4,3 +4,4 @@ WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
+WORLDNAME=Tools
index 563f285..7b5e238 100755 (executable)
@@ -9,6 +9,9 @@
 "-Rot1","-Rot1","Rot1","Optional","3","1","Rot1Min","Real","0.0","2","Rot1Max","Real","360.0","3","Rot1Delta","Real","5.0"
 "-Rot2","-Rot2","Rot2","Optional","3","1","Rot2Min","Real","0.0","2","Rot2Max","Real","180.0","3","Rot2Delta","Real","5.0"
 "-Rot3","-Rot3","Rot3","Optional","3","1","Rot3Min","Real","0.0","2","Rot3Max","Real","360.0","3","Rot3Delta","Real","5.0"
+"-Xrange","-Xrange","Xrange[pixel]: Not set, all space search","Optional","2","1","XrangeMin","Real","0","2","XrangeMax","Real","0"
+"-Yrange","-Yrange","Yrange[pixel]: Not set, all space search","Optional","2","1","YrangeMin","Real","0","2","YrangeMax","Real","0"
+"-Zrange","-Zrange","Zrange[pixel]: Not set, all space search","Optional","2","1","ZrangeMin","Real","0","2","ZrangeMax","Real","0"
 "-M","-M[ode]","Mode: Correlation Mode","Optional","1","1","Mode","Integer","0"
 "-MR","-M[ode]R[otation]","Mode: Rotation3D Mode","Optional","1","1","ModeRotation","Integer","0"
 "-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
index eb1cf78..6f5a12d 100755 (executable)
@@ -63,6 +63,24 @@ typedef struct mrcImageAutoRotationCorrelation3DInfo {
     long flagRot3Delta;
     float Rot3Delta;
     
+    long flagXrangeMin;
+    float XrangeMin;
+    
+    long flagXrangeMax;
+    float XrangeMax;
+    
+    long flagYrangeMin;
+    float YrangeMin;
+    
+    long flagYrangeMax;
+    float YrangeMax;
+    
+    long flagZrangeMin;
+    float ZrangeMin;
+    
+    long flagZrangeMax;
+    float ZrangeMax;
+    
     long flagMode;
     long Mode;
     
index 43ef1a7..8d6b5ba 100755 (executable)
@@ -145,6 +145,48 @@ argCheck(mrcImageAutoRotationCorrelation3DInfo* info, int argc, char* argv[])
                     }
                     SBREAK;
                 }
+                SCASE("Xrange") {
+                    if(i+2<argc) {
+                        info->XrangeMin = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagXrangeMin++;
+                        info->XrangeMax = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagXrangeMax++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("Yrange") {
+                    if(i+2<argc) {
+                        info->YrangeMin = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagYrangeMin++;
+                        info->YrangeMax = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagYrangeMax++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("Zrange") {
+                    if(i+2<argc) {
+                        info->ZrangeMin = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagZrangeMin++;
+                        info->ZrangeMax = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagZrangeMax++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
                 SCASE("M") {
                     if(i+1<argc) {
                         info->Mode = stringGetNthIntegerData(argv[i+1], 1, " ,");
index 04739ce..b300565 100755 (executable)
@@ -27,6 +27,12 @@ init0(mrcImageAutoRotationCorrelation3DInfo* info)
     info->Rot3Min = 0.0;    info->flagRot3Min = 0;
     info->Rot3Max = 360.0;    info->flagRot3Max = 0;
     info->Rot3Delta = 5.0;    info->flagRot3Delta = 0;
+    info->XrangeMin = 0;    info->flagXrangeMin = 0;
+    info->XrangeMax = 0;    info->flagXrangeMax = 0;
+    info->YrangeMin = 0;    info->flagYrangeMin = 0;
+    info->YrangeMax = 0;    info->flagYrangeMax = 0;
+    info->ZrangeMin = 0;    info->flagZrangeMin = 0;
+    info->ZrangeMax = 0;    info->flagZrangeMax = 0;
     info->Mode = 0;    info->flagMode = 0;
     info->ModeRotation = 0;    info->flagModeRotation = 0;
     info->fptconfigFile = NULL;    info->flagconfigFile = 0;
@@ -98,6 +104,24 @@ init1(mrcImageAutoRotationCorrelation3DInfo* info)
     if(info->flagRot3Delta) {
     }
     
+    if(info->flagXrangeMin) {
+    }
+    
+    if(info->flagXrangeMax) {
+    }
+    
+    if(info->flagYrangeMin) {
+    }
+    
+    if(info->flagYrangeMax) {
+    }
+    
+    if(info->flagZrangeMin) {
+    }
+    
+    if(info->flagZrangeMax) {
+    }
+    
     if(info->flagMode) {
     }
     
index 717ed9e..ed1f556 100755 (executable)
@@ -33,6 +33,13 @@ typedef struct lmrcImageAutoRotationCorrelation3DInfo {
        lmrcImageAutoRotationCorrelation3DRange Rot3;
        char* EulerAngle;
 
+       int flagXrange;
+       int flagYrange;
+       int flagZrange;
+       lmrcImageAutoRotationCorrelation3DRange Xrange; 
+       lmrcImageAutoRotationCorrelation3DRange Yrange; 
+       lmrcImageAutoRotationCorrelation3DRange Zrange; 
+
        long CorrelationMode; 
        mrcImage CorMap;
        mrcImage LinearCorMap;
@@ -90,6 +97,17 @@ main(int argc, char* argv[])
        linfo.CorrelationMode = info.Mode;
        linfo.RotationMode = info.ModeRotation;
 
+       linfo.flagXrange = info.flagXrangeMin;
+       linfo.flagYrange = info.flagYrangeMin;
+       linfo.flagZrange = info.flagZrangeMin;
+
+       linfo.Xrange.Min = info.XrangeMin; 
+       linfo.Xrange.Max = info.XrangeMax; 
+       linfo.Yrange.Min = info.YrangeMin; 
+       linfo.Yrange.Max = info.YrangeMax; 
+       linfo.Zrange.Min = info.ZrangeMin; 
+       linfo.Zrange.Max = info.ZrangeMax; 
+
        mrcFileRead(&in, info.In, "in main", 0);
        mrcFileRead(&ref, info.Ref, "in main", 0);
 
@@ -158,8 +176,28 @@ void lmrcImageAutoRotationCorrelation3D(
        mrcImageInformation info;       
        double max=-1;  
 
-       info.mode = meanOfAll;
-       
+
+       if(info.flagXrange || info.flagYrange || info.flagZrange) {
+               info.mode = meanOfCentre;
+                       
+               info.flagXrange = linfo->flagXrange;
+               info.XrangeMin = linfo->Xrange.Min;
+               info.XrangeMax = linfo->Xrange.Max;
+               info.flagYrange = linfo->flagYrange;
+               info.YrangeMin = linfo->Yrange.Min;
+               info.YrangeMax = linfo->Yrange.Max;
+               info.flagZrange = linfo->flagZrange;
+               info.ZrangeMin = linfo->Zrange.Min;
+               info.ZrangeMax = linfo->Zrange.Max;
+
+               info.flagCentre = 1;
+               info.CentreX = 0; 
+               info.CentreY = 0; 
+               info.CentreZ = 0; 
+       } else {
+               info.mode = meanOfAll;
+       }
+
        DEBUGPRINT3("%d %d %d N for Rotation\n", linfo->Rot1.N, linfo->Rot2.N, linfo->Rot3.N);
        DEBUGPRINT3("Rot1 %f %f %f \n", linfo->Rot1.Min, linfo->Rot1.Max, linfo->Rot1.Delta);
        DEBUGPRINT3("Rot2 %f %f %f \n", linfo->Rot2.Min, linfo->Rot2.Max, linfo->Rot2.Delta);
index 50aef87..9d06763 100755 (executable)
@@ -17,6 +17,9 @@ Options:
     [-Rot1               Rot1Min             (0.0       )Rot1Max             (360.0     )Rot1Delta           (5.0       )] :Optional  :Rot1
     [-Rot2               Rot2Min             (0.0       )Rot2Max             (180.0     )Rot2Delta           (5.0       )] :Optional  :Rot2
     [-Rot3               Rot3Min             (0.0       )Rot3Max             (360.0     )Rot3Delta           (5.0       )] :Optional  :Rot3
+    [-Xrange             XrangeMin           (0         )XrangeMax           (0         )] :Optional  :Xrange[pixel]: Not set, all space search
+    [-Yrange             YrangeMin           (0         )YrangeMax           (0         )] :Optional  :Yrange[pixel]: Not set, all space search
+    [-Zrange             ZrangeMin           (0         )ZrangeMax           (0         )] :Optional  :Zrange[pixel]: Not set, all space search
     [-M[ode]             Mode                (0         )] :Optional  :Mode: Correlation Mode
     [-M[ode]R[otation]   ModeRotation        (0         )] :Optional  :Mode: Rotation3D Mode
     [-c[onfig]           configFile          (NULL      )] :Optional  :ConfigurationFile
index 39b5af0..dcdeedf 100755 (executable)
         -I  1 0 0 1 0 1 -1x1+1+10 ' ' '0.0' 'Rot1Min' Rot1
         -I  1 0 0 1 0 1 -1x1+1+12 ' ' '0.0' 'Rot2Min' Rot2
         -I  1 0 0 1 0 1 -1x1+1+13 ' ' '0.0' 'Rot3Min' Rot3
-        -i 1 0 1 0 0 -1x1+1+15.000000 0 0 0 0 0 'Mode' 'Mode: Correlation Mode' M
-        -i 1 0 1 0 0 -1x1+1+16.500000 0 0 0 0 0 'ModeRotation' 'Mode: Rotation3D Mode' MR
-        -I 1 0 1 0 0 1 -1x1+1+18.000000 ' ' 'configFile' 'ConfigurationFile' c
-        -i 1 0 1 0 0 -1x1+1+19.500000 0 0 0 0 0 'mode' 'Mode: InterpolationMode' m
+        -I  1 0 0 1 0 1 -1x1+1+15 ' ' '0' 'XrangeMin' Xrange[pixel]: Not set, all space search
+        -I  1 0 0 1 0 1 -1x1+1+16 ' ' '0' 'YrangeMin' Yrange[pixel]: Not set, all space search
+        -I  1 0 0 1 0 1 -1x1+1+18 ' ' '0' 'ZrangeMin' Zrange[pixel]: Not set, all space search
+        -i 1 0 1 0 0 -1x1+1+19.500000 0 0 0 0 0 'Mode' 'Mode: Correlation Mode' M
+        -i 1 0 1 0 0 -1x1+1+21.000000 0 0 0 0 0 'ModeRotation' 'Mode: Rotation3D Mode' MR
+        -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: InterpolationMode' m
     -E
   -E
 -E
index b446f0e..ec1ddcb 100755 (executable)
@@ -16,6 +16,9 @@ usage(char* thisProgram)
     fprintf(stderr, "    [-Rot1               Rot1Min             (0.0       )Rot1Max             (360.0     )Rot1Delta           (5.0       )] :Optional  :Rot1\n");
     fprintf(stderr, "    [-Rot2               Rot2Min             (0.0       )Rot2Max             (180.0     )Rot2Delta           (5.0       )] :Optional  :Rot2\n");
     fprintf(stderr, "    [-Rot3               Rot3Min             (0.0       )Rot3Max             (360.0     )Rot3Delta           (5.0       )] :Optional  :Rot3\n");
+    fprintf(stderr, "    [-Xrange             XrangeMin           (0         )XrangeMax           (0         )] :Optional  :Xrange[pixel]: Not set, all space search\n");
+    fprintf(stderr, "    [-Yrange             YrangeMin           (0         )YrangeMax           (0         )] :Optional  :Yrange[pixel]: Not set, all space search\n");
+    fprintf(stderr, "    [-Zrange             ZrangeMin           (0         )ZrangeMax           (0         )] :Optional  :Zrange[pixel]: Not set, all space search\n");
     fprintf(stderr, "    [-M[ode]             Mode                (0         )] :Optional  :Mode: Correlation Mode\n");
     fprintf(stderr, "    [-M[ode]R[otation]   ModeRotation        (0         )] :Optional  :Mode: Rotation3D Mode\n");
     fprintf(stderr, "    [-c[onfig]           configFile          (NULL      )] :Optional  :ConfigurationFile\n");