OSDN Git Service

Display2:ROI
authorTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Tue, 12 Jan 2016 17:06:40 +0000 (18:06 +0100)
committerTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Tue, 12 Jan 2016 17:06:40 +0000 (18:06 +0100)
modified:   bin/wish/Display2/Display2Init.wish
modified:   bin/wish/Display2/RoiAreaFile.wish
Eos_env
modified:   env/Eos_env

lmrcImageDisptance: under construction
modified:   include/lmrcImageDistanceConversion.h

mrcImageShapePCA: 2D support Wcircle
modified:   include/lmrcImageShapePCA.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageDistanceConversion.c
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageDistanceConversion.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageDistanceConversion.h.org
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageShapePCA.c
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageShapePCA.h
modified:   src/Objects/DataManip/mrcImageShape/src/lmrcImageShapeModePrint.c
modified:   src/Tools/Config/Define.inc
modified:   src/Tools/Integration/Display2/src/wish/Display2Init.wish
modified:   src/Tools/Integration/Display2/src/wish/RoiAreaFile.wish
modified:   src/Tools/mrcImage/mrcImageShapePCA/src/test/Makefile
modified:   src/Tools/mrcImage/mrcImageShapeSearch/Config/OptionControlFile
modified:   src/Tools/mrcImage/mrcImageShapeSearch/inc/mrcImageShapeSearch.h
modified:   src/Tools/mrcImage/mrcImageShapeSearch/src/argCheck.c
modified:   src/Tools/mrcImage/mrcImageShapeSearch/src/init.c
modified:   src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.c
modified:   src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.pane
modified:   src/Tools/mrcImage/mrcImageShapeSearch/src/usage.c

23 files changed:
bin/wish/Display2/Display2Init.wish
bin/wish/Display2/RoiAreaFile.wish
env/Eos_env
include/lmrcImageDistanceConversion.h
include/lmrcImageShapePCA.h
src/Objects/DataManip/mrcImage/src/.lmrcImageShapePCA.c.swp [deleted file]
src/Objects/DataManip/mrcImage/src/lmrcImageDistanceConversion.c
src/Objects/DataManip/mrcImage/src/lmrcImageDistanceConversion.h [changed mode: 0755->0644]
src/Objects/DataManip/mrcImage/src/lmrcImageDistanceConversion.h.org [changed mode: 0755->0644]
src/Objects/DataManip/mrcImage/src/lmrcImageShapePCA.c
src/Objects/DataManip/mrcImage/src/lmrcImageShapePCA.h
src/Objects/DataManip/mrcImageShape/src/lmrcImageShapeModePrint.c
src/Tools/Config/Define.inc
src/Tools/Integration/Display2/src/wish/Display2Init.wish
src/Tools/Integration/Display2/src/wish/RoiAreaFile.wish
src/Tools/mrcImage/mrcImageShapePCA/src/test/Makefile
src/Tools/mrcImage/mrcImageShapeSearch/Config/OptionControlFile
src/Tools/mrcImage/mrcImageShapeSearch/inc/mrcImageShapeSearch.h
src/Tools/mrcImage/mrcImageShapeSearch/src/argCheck.c
src/Tools/mrcImage/mrcImageShapeSearch/src/init.c
src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.c
src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.pane
src/Tools/mrcImage/mrcImageShapeSearch/src/usage.c

index 023915a..ed7de69 100755 (executable)
@@ -243,7 +243,6 @@ set Desktop(overviewCanvasY) 128
 set Desktop(sizeX) 128 
 set Desktop(sizeY) 128 
 set Desktop(Cursor) "crosshair red"
-set overviewImage(image)  No
 
 # Image 
 set mainImage(thresHigh) No
@@ -441,10 +440,10 @@ proc display2Init {} {
 
        if [ info exists LogFile ] {
                set CommandPut(name) $LogFile  
-               set CommandPut(fpt) [ open  $CommandPut(name) a 0600 ]
+               set CommandPut(fpt) [ open  $CommandPut(name) a ]
        } else {
                set CommandPut(name) "~/.EosLogFile" 
-               set CommandPut(fpt) [ open  $CommandPut(name) a 0600 ]
+               set CommandPut(fpt) [ open  $CommandPut(name) a ]
        }
 }
 
index 4737778..9542438 100755 (executable)
@@ -4,7 +4,7 @@
 proc roiMultiAreaInfoSave { } {
        global Roi
        if { [ fileCanBeOverwritten $Roi(InformationFile) ] } {
-               set Roi(fptInformationFile) [ open $Roi(InformationFile) w 0600 ]
+               set Roi(fptInformationFile) [ open $Roi(InformationFile) w ]
        } else {
                puts stderr "Warning: Cannot be overwritten"
                return  no
@@ -47,7 +47,7 @@ proc roiMultiAreaInfoLoad { } {
        global Roi
 
        if { [ file exists $Roi(InformationFile) ] } {
-               set Roi(fptInformationFile) [ open $Roi(InformationFile) r 0600 ]
+               set Roi(fptInformationFile) [ open $Roi(InformationFile) r ]
        } else {
                puts stderr "Warning: File not found: $Roi(InformationFile) "
                return  no
index 4838253..c4617f7 100755 (executable)
@@ -58,6 +58,9 @@ LINUX=`uname -s  | grep "Linux"`
 MAC=`uname -s    | grep "Darwin"`
 
 MACHINE=`uname -m`
+if [ -z "$HOSTTYPE" ]; then
+       HOSTTYPE=$MACHINE
+fi
 
 # Set Eos host type
 case $HOSTTYPE in
index 26aeea9..82c0651 100644 (file)
 #include <stdio.h>
 #include "mrcImage.h"
 
+/* constant begin */
+typedef enum lmrcImageDistanceConversionMode {
+       lmrcImageDistanceConversionMode4Neibour = 0,
+       lmrcImageDistanceConversionMode8Neibour = 1,
+       lmrcImageDistanceConversionMode6Neibour = 2,
+       lmrcImageDistanceConversionMode18Neibour= 3,
+       lmrcImageDistanceConversionMode26Neibour= 5
+} lmrcImageDistanceConversionMode;
+
+/* constant end */
+
+/* struct begin */
+
+
+/* struct end */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* prototype begin */
+
 extern void lmrcImageDistanceConversion(mrcImage* in,mrcImage* out,int mode,int form);
 extern void lmrcImageDistanceConversion_4Neighborhood(mrcImage* in,mrcImage* out);
 extern void lmrcImageDistanceConversion_8Neighborhood(mrcImage* in,mrcImage* out);
+extern void lmrcImageDistanceConversion_6Neighborhood(mrcImage* in,mrcImage* out);
+extern void lmrcImageDistanceConversion_18Neighborhood(mrcImage* in,mrcImage* out);
+extern void lmrcImageDistanceConversion_26Neighborhood(mrcImage* in,mrcImage* out);
 extern void lmrcImageMakingFrame(mrcImage* in,mrcImage* out,int mode);
 
+/* prototype end */
+
+#ifdef __cplusplus
+};
 #endif
+
+#endif  /* XXXX */ 
index 9faab8c..1ab67e7 100644 (file)
@@ -33,6 +33,9 @@ typedef struct lmrcImageShapePCAInfo {
         Array u;
         Array Lambda;
         Array Average;
+
+               /* Control */
+               int dimension;
 } lmrcImageShapePCAInfo;
 
 /* struct end */
@@ -44,7 +47,11 @@ extern "C" {
 /* prototype begin */
 
 extern int lmrcImageShapePCA(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCA2D(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCA3D(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode);
 extern int lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCAResultsPrint2D(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCAResultsPrint3D(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode);
 
 /* prototype end */
 
diff --git a/src/Objects/DataManip/mrcImage/src/.lmrcImageShapePCA.c.swp b/src/Objects/DataManip/mrcImage/src/.lmrcImageShapePCA.c.swp
deleted file mode 100644 (file)
index eacabd8..0000000
Binary files a/src/Objects/DataManip/mrcImage/src/.lmrcImageShapePCA.c.swp and /dev/null differ
index 87c6bde..6d64a2a 100755 (executable)
 void
 lmrcImageDistanceConversion(mrcImage* in,mrcImage* out,int mode,int form)
 {
-       if( mode == 0 ){
+       if( (mode == lmrcImageDistanceConversionMode4Neibour        || mode == 4) && in->HeaderN.z == 1) {
                lmrcImageDistanceConversion_4Neighborhood(in,out);
-       }else if( mode == 1 ){
+       } else if( (mode == lmrcImageDistanceConversionMode8Neibour || mode == 8) && in->HeaderN.z == 1) {
                lmrcImageDistanceConversion_8Neighborhood(in,out);
+       } else if( (mode ==lmrcImageDistanceConversionMode6Neibour  || mode == 6) && 1 < in->HeaderN.z){
+               lmrcImageDistanceConversion_6Neighborhood(in,out);
+       } else if( (mode ==lmrcImageDistanceConversionMode18Neibour || mode == 18) && 1 < in->HeaderN.z){
+               lmrcImageDistanceConversion_18Neighborhood(in,out);
+       } else if( (mode ==lmrcImageDistanceConversionMode26Neibour || mode == 26) && 1 < in->HeaderN.z){ 
+               lmrcImageDistanceConversion_26Neighborhood(in,out);
+       } else {
+               fprintf(stderr, "Not suported: %d\n", mode);
        }
-
        if( form == 1 ){
                lmrcImageMakingFrame(in,out,mode);
-       }else if( form == 2 ){
-               
-       }else{
+       } else if( form == 2 ){
+                               
+       } else{
                mrcStatDataSet(out,0);
        }       
 }      
old mode 100755 (executable)
new mode 100644 (file)
index 26aeea9..82c0651
 #include <stdio.h>
 #include "mrcImage.h"
 
+/* constant begin */
+typedef enum lmrcImageDistanceConversionMode {
+       lmrcImageDistanceConversionMode4Neibour = 0,
+       lmrcImageDistanceConversionMode8Neibour = 1,
+       lmrcImageDistanceConversionMode6Neibour = 2,
+       lmrcImageDistanceConversionMode18Neibour= 3,
+       lmrcImageDistanceConversionMode26Neibour= 5
+} lmrcImageDistanceConversionMode;
+
+/* constant end */
+
+/* struct begin */
+
+
+/* struct end */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* prototype begin */
+
 extern void lmrcImageDistanceConversion(mrcImage* in,mrcImage* out,int mode,int form);
 extern void lmrcImageDistanceConversion_4Neighborhood(mrcImage* in,mrcImage* out);
 extern void lmrcImageDistanceConversion_8Neighborhood(mrcImage* in,mrcImage* out);
+extern void lmrcImageDistanceConversion_6Neighborhood(mrcImage* in,mrcImage* out);
+extern void lmrcImageDistanceConversion_18Neighborhood(mrcImage* in,mrcImage* out);
+extern void lmrcImageDistanceConversion_26Neighborhood(mrcImage* in,mrcImage* out);
 extern void lmrcImageMakingFrame(mrcImage* in,mrcImage* out,int mode);
 
+/* prototype end */
+
+#ifdef __cplusplus
+};
 #endif
+
+#endif  /* XXXX */ 
index e70c5ab..57fe227 100644 (file)
 static char __sccs_id[] = "%Z%lmrcImageShapePCA ver%I%; Date:%D% %Z%";
 
 #include "./lmrcImageShapePCA.h"
+
+int lmrcImageShapePCA(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode)
+{
+       if(1<in->HeaderN.z) {
+               lmrcImageShapePCA3D(in, linfo, mode);
+               linfo->dimension=3;
+       } else {
+               lmrcImageShapePCA2D(in, linfo, mode);
+               linfo->dimension=2;
+       }
+       return 0;
+}
+
 int
-lmrcImageShapePCA(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode)
+lmrcImageShapePCA3D(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode)
 {
         mrcImageParaTypeReal x, y, z;
         double data;
@@ -63,12 +76,73 @@ lmrcImageShapePCA(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode)
        return 0;
 }
 
+
+int
+lmrcImageShapePCA2D(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode)
+{
+        mrcImageParaTypeReal x, y, z;
+        double data;
+        int n, i;
+        Array X;
+        Array X1;
+
+        n = in->HeaderN.x*in->HeaderN.y*in->HeaderN.z;
+        X.dim  = 2;
+        X.n[0] = 2;
+        X.n[1] = n*linfo->nLevel;
+        arrayInit(&X, "in lmrcImageShapePCA");
+
+        n = 0;
+        for(y=0; y<in->HeaderN.y; y++) {
+        for(x=0; x<in->HeaderN.x; x++) {
+                mrcPixelDataGet(in, x, y, 0, &data, mrcPixelRePart, mrcPixelHowNearest);
+                for(i=0; i<linfo->nLevel; i++) {
+                        if(linfo->Level[i]<data) {
+                                arrayDataSet2(X, 0, n, x);
+                                arrayDataSet2(X, 1, n, y);
+                                n++;
+                        }
+                }
+        }
+        }
+
+        X1.dim  = 2;
+        X1.n[0] = 2;
+        X1.n[1] = n;
+        arrayInit(&X1, "in lmrcImageShapePCA");
+        DEBUGPRINT1("count: %d\n", n);
+
+        for(i=0; i<n; i++) {
+                data = arrayDataGet2(X, 0, i);
+                arrayDataSet2(X1, 0, i, data);
+                data = arrayDataGet2(X, 1, i);
+                arrayDataSet2(X1, 1, i, data);
+        }
+        arrayPCA(&linfo->u, &linfo->C, &linfo->Lambda, &X1, &linfo->Average, 0);
+
+       return 0;
+}
+
 int
 lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode)
 {
+       if(3==linfo->dimension) {
+               lmrcImageShapePCAResultsPrint3D(fpt, linfo, mode);
+       } else {
+               lmrcImageShapePCAResultsPrint2D(fpt, linfo, mode);
+       }
+       return 0;
+}
+
+
+int
+lmrcImageShapePCAResultsPrint3D(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode)
+{
        double sum, sum2;
        double lambda[3];
        int i;
+       double L0, L1, L2;
+       double Wsphere, Wdisk, Wsylinder;
 
     fprintf(fpt, "# PCA Results");
     fprintf(fpt, "Convariace Matrix: ");
@@ -98,7 +172,16 @@ lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode)
        }
        fprintf(fpt, "\n");
 
+       L0 = lambda[0];
+       L1 = lambda[1];
+       L2 = lambda[2];
+
+    Wsphere      = 100*exp(-((L1/L0) + (L2/L1) + 0.5*(L0 - L2)/L0));
+       Wdisk        = 100*exp(-((L2/L0) + (L2/L1) + 0.5*(L0 - L1)/L0));
+       Wsylinder    = 100*exp(-((L1/L0) + (L2/L0) + 0.5*(L1 - L2)/L1));
+
        if(mode&0x1) {
+               fprintf(fpt, "Wsphere: %15.6f\n", Wsphere);
                fprintf(fpt, "logS(SphereIndex): %15.6f\n", -log10(1/(lambda[0]*lambda[1] + lambda[1]*lambda[2] +lambda[2]*lambda[0] )));
                fprintf(fpt, "exp(S-1)(SphereIndex): %15.6f\n", 1.0/exp(1/(lambda[0]*lambda[1] + lambda[1]*lambda[2] +lambda[2]*lambda[0] )-1));
                fprintf(fpt, "SphereIndex(var): %15.6f\n", 1.0/(SQR(lambda[0] - lambda[1])  + SQR(lambda[1]-lambda[2]) + SQR(lambda[2]-lambda[0])));
@@ -108,6 +191,7 @@ lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode)
                fprintf(fpt, "Log(SphereIndex(0.33)): %15.6f\n", -log10(SQR(lambda[0] - 1.0/3)  + SQR(lambda[1]-1.0/3) + SQR(lambda[2]-1.0/3)));
        }
        if(mode&0x2) {
+               fprintf(fpt, "Wdisk: %15.6f\n", Wdisk);
                fprintf(fpt, "DiskIndex: %15.6f\n", 1.0/(lambda[2]/lambda[0]*lambda[2]/lambda[1]));
                fprintf(fpt, "logD(DiskIndex): %15.6f\n", -log10(lambda[2]/lambda[0]*lambda[2]/lambda[1]));
                fprintf(fpt, "DiskIndex(var): %15.6f\n", 1.0/(SQR(lambda[0]-lambda[1]) + SQR(lambda[2] )));
@@ -116,6 +200,7 @@ lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode)
                fprintf(fpt, "Log(DiskIndex(0.5)): %15.6f\n", -log10(SQR(lambda[0]-0.5) + SQR(lambda[1]-0.5) + SQR(lambda[2] )));
        }
        if(mode&0x4) {
+               fprintf(fpt, "Wsylinder: %15.6f\n", Wsylinder);
                fprintf(fpt, "CylinderIndex: %15.6f\n", 1.0/(lambda[1]/lambda[0]*lambda[2]/lambda[0]));
                fprintf(fpt, "logC(CylinderIndex): %15.6f\n", -log10(lambda[1]/lambda[0]*lambda[2]/lambda[0]));
                fprintf(fpt, "CylinderIndex(var) : %15.6f\n", 1.0/(SQR(lambda[0] -1) + SQR(lambda[1] - lambda[2])));
@@ -127,3 +212,51 @@ lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode)
 
        return 0;
 }
+
+int
+lmrcImageShapePCAResultsPrint2D(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode)
+{
+       double sum, sum2;
+       double lambda[3];
+       int i;
+       double Wcircle;
+
+    fprintf(fpt, "# PCA Results");
+    fprintf(fpt, "Convariace Matrix: ");
+    arrayWriteToFile(fpt, &linfo->C, "lmrcImageShapePCAResultsPrint");
+    fprintf(fpt, "UnitVector: one unit vector per line, from 1st ");
+    arrayWriteToFile(fpt, &linfo->u, "lmrcImageShapePCAResultsPrint");
+    fprintf(fpt, "Lambda: 1st 2nd ");
+    arrayWriteToFile(fpt, &linfo->Lambda, "lmrcImageShapePCAResultsPrint");
+    fprintf(fpt, "Average: ");
+    arrayWriteToFile(fpt, &linfo->Average, "lmrcImageShapePCAResultsPrint");
+    fprintf(fpt, "Normalized Lambda: 1st 2nd \n");
+
+       lambda[0] = arrayDataGet1(linfo->Lambda, 0);
+       lambda[1] = arrayDataGet1(linfo->Lambda, 1);
+       sum = 0;
+       for(i=0; i<2; i++) {
+               sum += lambda[i];
+       }
+       sum2 = 0;
+       for(i=0; i<2; i++) {
+               lambda[i] /= sum;
+               sum2 += SQR(lambda[i]);
+       }
+       for(i=0; i<2; i++) {
+       fprintf(fpt, "%15.6f ", lambda[i]);
+       }
+       fprintf(fpt, "\n");
+
+       if(mode&0x1) {
+               fprintf(fpt, "Wcircle: %15.6f\n", 100*(exp(-SQR(lambda[0] - lambda[1]))-exp(-1.0)));
+               fprintf(fpt, "exp(S-1)(SphereIndex): %15.6f\n",   exp(-1/(lambda[0]*lambda[1]-1.0)));
+               fprintf(fpt, "Log(SphereIndex(var)): %15.6f\n", -log10(SQR(lambda[0] - lambda[1])));
+               fprintf(fpt, "CircleIndex(0.5): %15.6f\n",        1.0/(SQR(lambda[0] - 1.0/2)  + SQR(lambda[1]-1.0/2)));
+               fprintf(fpt, "Log(CircleIndex(0.5)): %15.6f\n", -log10(SQR(lambda[0] - 1.0/2)  + SQR(lambda[1]-1.0/2)));
+       }
+
+       return 0;
+}
+
+
index 9faab8c..1ab67e7 100644 (file)
@@ -33,6 +33,9 @@ typedef struct lmrcImageShapePCAInfo {
         Array u;
         Array Lambda;
         Array Average;
+
+               /* Control */
+               int dimension;
 } lmrcImageShapePCAInfo;
 
 /* struct end */
@@ -44,7 +47,11 @@ extern "C" {
 /* prototype begin */
 
 extern int lmrcImageShapePCA(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCA2D(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCA3D(mrcImage* in, lmrcImageShapePCAInfo* linfo, int mode);
 extern int lmrcImageShapePCAResultsPrint(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCAResultsPrint2D(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode);
+extern int lmrcImageShapePCAResultsPrint3D(FILE* fpt, lmrcImageShapePCAInfo* linfo, int mode);
 
 /* prototype end */
 
index b41fe38..ffedf96 100644 (file)
@@ -19,5 +19,9 @@ lmrcImageShapeModePrint(FILE* fpt)
     fprintf(fpt, "%d: Cylinder with radius and length\n", lmrcImageShapeModeSylinder);
     fprintf(fpt, "%d: Disk with radius and length(thickness)\n", lmrcImageShapeModeDisk);
     fprintf(fpt, "%d: Sphere with radius \n", lmrcImageShapeModeSphere);
+    fprintf(fpt, "OutputVector(BILD) for chimera\n");
+    fprintf(fpt, "  mode 0 : Cylinder(direction vector) and Disk(normal vector)\n");
+    fprintf(fpt, "  mode 1 : Cylinder(direction vector)\n");
+    fprintf(fpt, "  mode 2 : Disk(normal vector)\n");
 }
 
index 63cdf6a..ac0a412 100755 (executable)
@@ -708,3 +708,4 @@ WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
+WORLDNAME=Tools
index 41a516c..ed7de69 100755 (executable)
@@ -440,10 +440,10 @@ proc display2Init {} {
 
        if [ info exists LogFile ] {
                set CommandPut(name) $LogFile  
-               set CommandPut(fpt) [ open  $CommandPut(name) a 0600 ]
+               set CommandPut(fpt) [ open  $CommandPut(name) a ]
        } else {
                set CommandPut(name) "~/.EosLogFile" 
-               set CommandPut(fpt) [ open  $CommandPut(name) a 0600 ]
+               set CommandPut(fpt) [ open  $CommandPut(name) a ]
        }
 }
 
index 4737778..9542438 100755 (executable)
@@ -4,7 +4,7 @@
 proc roiMultiAreaInfoSave { } {
        global Roi
        if { [ fileCanBeOverwritten $Roi(InformationFile) ] } {
-               set Roi(fptInformationFile) [ open $Roi(InformationFile) w 0600 ]
+               set Roi(fptInformationFile) [ open $Roi(InformationFile) w ]
        } else {
                puts stderr "Warning: Cannot be overwritten"
                return  no
@@ -47,7 +47,7 @@ proc roiMultiAreaInfoLoad { } {
        global Roi
 
        if { [ file exists $Roi(InformationFile) ] } {
-               set Roi(fptInformationFile) [ open $Roi(InformationFile) r 0600 ]
+               set Roi(fptInformationFile) [ open $Roi(InformationFile) r ]
        } else {
                puts stderr "Warning: File not found: $Roi(InformationFile) "
                return  no
index 7cf731a..bde6633 100755 (executable)
@@ -3,7 +3,7 @@ include ../../../Config/Define.inc
 include ../../../../Config/Define.inc
 include ../../../../../Config/Define.inc
 
-all: help exec
+all: help exec exec3
 
 help:
        @echo "----- Help Message Check -----"
@@ -11,15 +11,19 @@ help:
 
 exec: exec2
        @echo "----- Execution Check -----"
-       ../$(OSTYPE)/$(OBJECTNAME) -i data/121p-move.mrc -o data/121p-move.mrc.PCA -C 23696.7 -m 7
+       ../$(OSTYPE)/$(OBJECTNAME) -i data/121p-move.mrc -o data/121p-move.mrc.PCA -m 7 -C 23696.7 
        pdbPCA -i data/121p-move.pdb -o data/121p-move.pdb.PCA
        @echo "----- Calc check -----"          
 
 exec2:
        @echo "----- Execution Check -----"
-       ../$(OSTYPE)/$(OBJECTNAME) -i data/myosinSwissModRefine2.mrc -o data/myosinSwissModRefine2.mrc.PCA -C 3.11319 -m 7
+       ../$(OSTYPE)/$(OBJECTNAME) -i data/myosinSwissModRefine2.mrc -o data/myosinSwissModRefine2.mrc.PCA -m 7 -C 3.11319 
        pdbPCA -i data/myosinSwissModRefine2.pdb -o data/myosinSwissModRefine2.pdb.PCA
        @echo "----- Calc check -----"          
 
+exec3:
+       @echo "----- Execution Check -----"
+       ../$(OSTYPE)/$(OBJECTNAME) -i data/121p-move-2d.mrc -o data/121p-move-2d.mrc.PCA -m 7 -C 1e5 
+       @echo "----- Calc check -----"          
 
 clean:
index 3b3f943..8d82a57 100755 (executable)
@@ -12,6 +12,7 @@
 "-Psi","-Psi","around x-axis[degree]","Optional","3","1","minPsi","Real","0.0","2","maxPsi","Real","350.0","3","delPsi","Real","45.0"
 "-thres","-thres[Zscore]","Zscore","Optional","1","1","thresZscore","Real","1.0"
 "-interp","-interp[olationMode]","interpMode","Optional","1","1","interpMode","Integer","0"
+"-OVMode","-O[utput]V[ector]Mode","Output-Mode","Optional","1","1","OVMode","Integer","0"
 "-OVBILD","-O[utput]V[ector]BILD","Output:BILD-vector","Optional","1","1","OutVectorBILD","outFile::BILD","NULL"
 "-OV","-O[utput]V[ector]","Output:vector basename","Optional","1","1","OutVector","String","NULL"
 "-arrow","-arrow[Shape]","ArrowShape","Optional","3","1","ArrowR1","Real","0.1","2","ArrowR2","Real","0.4","3","ArrowRho","Real","0.75"
index 4754702..5e2a2b0 100755 (executable)
@@ -81,6 +81,9 @@ typedef struct mrcImageShapeSearchInfo {
     long flaginterpMode;
     long interpMode;
     
+    long flagOVMode;
+    long OVMode;
+    
     long flagOutVectorBILD;
     char* OutVectorBILD;
     FILE* fptOutVectorBILD;
index d564f77..f376593 100755 (executable)
@@ -188,6 +188,17 @@ argCheck(mrcImageShapeSearchInfo* info, int argc, char* argv[])
                     }
                     SBREAK;
                 }
+                SCASE("OVMode") {
+                    if(i+1<argc) {
+                        info->OVMode = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagOVMode++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
                 SCASE("OVBILD") {
                     if(i+1<argc) {
                         info->OutVectorBILD = stringGetNthWord(argv[i+1], 1, " ,");
index 9b11d9d..d415ce4 100755 (executable)
@@ -34,6 +34,7 @@ init0(mrcImageShapeSearchInfo* info)
     info->delPsi = 45.0;    info->flagdelPsi = 0;
     info->thresZscore = 1.0;    info->flagthresZscore = 0;
     info->interpMode = 0;    info->flaginterpMode = 0;
+    info->OVMode = 0;    info->flagOVMode = 0;
     info->fptOutVectorBILD = NULL;    info->flagOutVectorBILD = 0;
     info->OutVector = stringGetNthWord("NULL", 1, "\0");    info->flagOutVector = 0;
     info->ArrowR1 = 0.1;    info->flagArrowR1 = 0;
@@ -131,6 +132,9 @@ init1(mrcImageShapeSearchInfo* info)
     if(info->flaginterpMode) {
     }
     
+    if(info->flagOVMode) {
+    }
+    
     if(info->flagOutVectorBILD) {
         info->fptOutVectorBILD = fileOpen(info->OutVectorBILD, "w");
     }
index 36ade23..88cc91e 100755 (executable)
@@ -66,6 +66,7 @@ main(int argc, char* argv[])
        linfo.nCube = info.nCube;
        linfo.flagRefine = info.Refine;
        //
+       linfo.OutVectorBILDMode = info.OVMode
        linfo.OutVectorBILD = info.fptOutVectorBILD;
        linfo.arrowr1 = info.ArrowR1;
        linfo.arrowr2 = info.ArrowR2;
index e2aaf4e..f352b5b 100755 (executable)
         -I  1 0 0 1 0 1 -1x1+1+15 ' ' '0.0' 'minPsi' around x-axis[degree]
         -f 1 0 1 0 0 -1x1+1+16.500000 0 0 1.000000 0 0 0 'thresZscore' 'Zscore' thres
         -i 1 0 1 0 0 -1x1+1+18.000000 0 0 0 0 0 'interpMode' 'interpMode' interp
-        -O 1 0 1 0 0 1 -1x1+1+19.500000 ' ' 'OutVectorBILD' 'Output:BILD-vector' OVBILD
-        -s 1 0 1 0 0 -1x1+1+21.000000 0 0 0 0 0 'OutVector' 'Output:vector basename' OV
-        -I  1 0 0 1 0 1 -1x1+1+22 ' ' '0.1' 'ArrowR1' ArrowShape
-        -f 1 0 1 0 0 -1x1+1+24.000000 0 0 1.000000 0 0 0 'ZoomVector' 'Zoom' zoom
-        -I  1 0 0 1 0 1 -1x1+1+25 ' ' '0.0' 'ArrowColorDisk0' ArrowColorDisk
-        -I  1 0 0 1 0 1 -1x1+1+27 ' ' '1.0' 'ArrowColorSylinder0' ArrowColorSylinder
-        -I 1 0 1 0 0 1 -1x1+1+28.500000 ' ' 'configFile' 'ConfigurationFile' c
-        -i 1 0 1 0 0 -1x1+1+30.000000 0 0 0 0 0 'mode' 'Mode' m
+        -i 1 0 1 0 0 -1x1+1+19.500000 0 0 0 0 0 'OVMode' 'Output-Mode' OVMode
+        -O 1 0 1 0 0 1 -1x1+1+21.000000 ' ' 'OutVectorBILD' 'Output:BILD-vector' OVBILD
+        -s 1 0 1 0 0 -1x1+1+22.500000 0 0 0 0 0 'OutVector' 'Output:vector basename' OV
+        -I  1 0 0 1 0 1 -1x1+1+24 ' ' '0.1' 'ArrowR1' ArrowShape
+        -f 1 0 1 0 0 -1x1+1+25.500000 0 0 1.000000 0 0 0 'ZoomVector' 'Zoom' zoom
+        -I  1 0 0 1 0 1 -1x1+1+27 ' ' '0.0' 'ArrowColorDisk0' ArrowColorDisk
+        -I  1 0 0 1 0 1 -1x1+1+28 ' ' '1.0' 'ArrowColorSylinder0' ArrowColorSylinder
+        -I 1 0 1 0 0 1 -1x1+1+30.000000 ' ' 'configFile' 'ConfigurationFile' c
+        -i 1 0 1 0 0 -1x1+1+31.500000 0 0 0 0 0 'mode' 'Mode' m
     -E
   -E
 -E
index 971e04b..37d70ff 100755 (executable)
@@ -19,6 +19,7 @@ usage(char* thisProgram)
     fprintf(stderr, "    [-Psi                minPsi              (0.0       ).as(Real                ) \n                         maxPsi              (350.0     ).as(Real                ) \n                         delPsi              (45.0      ).as(Real                ) ] :Optional  :around x-axis[degree]\n");
     fprintf(stderr, "    [-thres[Zscore]      thresZscore         (1.0       ).as(Real                ) ] :Optional  :Zscore\n");
     fprintf(stderr, "    [-interp[olationMode]interpMode          (0         ).as(Integer             ) ] :Optional  :interpMode\n");
+    fprintf(stderr, "    [-O[utput]V[ector]ModeOVMode              (0         ).as(Integer             ) ] :Optional  :Output-Mode\n");
     fprintf(stderr, "    [-O[utput]V[ector]BILDOutVectorBILD       (NULL      ).as(outFile::BILD       ) ] :Optional  :Output:BILD-vector\n");
     fprintf(stderr, "    [-O[utput]V[ector]   OutVector           (NULL      ).as(String              ) ] :Optional  :Output:vector basename\n");
     fprintf(stderr, "    [-arrow[Shape]       ArrowR1             (0.1       ).as(Real                ) \n                         ArrowR2             (0.4       ).as(Real                ) \n                         ArrowRho            (0.75      ).as(Real                ) ] :Optional  :ArrowShape\n");