• R/O
  • HTTP
  • SSH
  • HTTPS

base: Commit

This repository is a base of Eos.


Commit MetaInfo

Revisión597865655549f92b7269d17e83561b0c5ebeca15 (tree)
Tiempo2015-11-10 11:20:23
AutorTakuo Yasunaga <yasunaga@bio....>
CommiterTakuo Yasunaga

Log Message

modified: include/lmrcImageSymmetryFind.h
modified: src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.c
modified: src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.h
modified: src/Objects/DataManip/mrcImage/src/lmrcImageTransformDescartesIntoPolar.c
modified: src/Tools/Config/Define.inc
modified: src/Tools/mrcImage/mrcImageSymmetryAverage/src/mrcImageSymmetryAverage.c
modified: src/Tools/mrcImage/mrcImageSymmetryAverage/src/mrcImageSymmetryAverage.html
new file: src/Tools/mrcImage/mrcImageSymmetryAverage/src/test/Makefile
new file: src/Tools/mrcImage/mrcImageSymmetryAverage/src/test/data
modified: src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/mrcImageSymmetryCentreFind.c
modified: src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/mrcImageSymmetryCentreFind.html
new file: src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/test/Makefile
new file: src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/test/data
modified: src/Tools/mrcImage/mrcImageSymmetryFind/Config/OptionControlFile
modified: src/Tools/mrcImage/mrcImageSymmetryFind/inc/mrcImageSymmetryFind.h
modified: src/Tools/mrcImage/mrcImageSymmetryFind/src/argCheck.c
modified: src/Tools/mrcImage/mrcImageSymmetryFind/src/init.c
modified: src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.c
modified: src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.html
modified: src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.pane
modified: src/Tools/mrcImage/mrcImageSymmetryFind/src/test/Makefile
modified: src/Tools/mrcImage/mrcImageSymmetryFind/src/usage.c

Cambiar Resumen

Diferencia incremental

--- a/include/lmrcImageSymmetryFind.h
+++ b/include/lmrcImageSymmetryFind.h
@@ -122,7 +122,17 @@ extern void
122122 lmrcImageSymmetryFindModePrint(FILE* fpt);
123123
124124 extern void
125+lmrcImageSymmetryFindAlgorythmPrint(FILE* fpt);
126+
127+extern void
125128 lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode);
129+
130+extern void
131+lmrcImageSymmetryCentreFindGC(mrcImage* in, DescartesCoord* centre, int mode);
132+
133+extern void
134+lmrcImageSymmetryCentreFindSymmetry(mrcImage* in, DescartesCoord* centre, int mode);
135+
126136 /* prototype end */
127137
128138 #endif
--- a/src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.c
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.c
@@ -18,7 +18,7 @@ static char __sccs_id[] = "%Z%lmrcImageSymmetryFind ver%I%; Date:%D% %Z%";
1818 #include <math.h>
1919 #define GLOBAL_DECLARATION
2020
21-#define DEBUG
21+#undef DEBUG
2222 #include "genUtil.h"
2323 #include "Memory.h"
2424 #include "mrcImage.h"
@@ -30,7 +30,22 @@ static char __sccs_id[] = "%Z%lmrcImageSymmetryFind ver%I%; Date:%D% %Z%";
3030 #include "lmrcImagesStatDataGet.h"
3131 #include "lmrcFFTExpression.h"
3232
33-extern void
33+void
34+lmrcImageSymmetryFindAlgorythmPrint(FILE* fpt)
35+{
36+ fprintf(fpt, ">> Add\n");
37+ fprintf(fpt, " Image: Descartes coordinates (2D) -> Polar coordinates (2D) : PolarImage \n");
38+ fprintf(fpt, " Shift: Polar coordinates (2D) + Shift(360/n) -> Polar coordinates (2D) : ShiftImage \n");
39+ fprintf(fpt, " Add: AddImage(data2) := PolarImage(data1) + ShiftImage(data1_1)\n");
40+ fprintf(fpt, " Count: If 0<data1 && 0<data2 && data1*threshold1 <= data2 <= 2*data1 \n");
41+ fprintf(fpt, " (threshodl1 - 1)*data1_1 <= data1 <= data1_1 \n");
42+ fprintf(fpt, ">> Correalation\n");
43+ fprintf(fpt, " Image: Descartes coordinates (2D) -> Polar coordinates (2D) : PolarImage \n");
44+ fprintf(fpt, " Correlation: Polar coordinates (2D) -> Polar coordinates (2D) : Correlation\n");
45+ fprintf(fpt, " Average: each 360/n\n");
46+}
47+
48+void
3449 lmrcImageSymmetryFindModePrint(FILE* fpt)
3550 {
3651 fprintf(fpt, ">>>> check type mode\n");
@@ -53,9 +68,47 @@ lmrcImageSymmetryFindModePrint(FILE* fpt)
5368 fprintf(fpt, " %d : Min Subtraction\n", lmrcImageSymmetryFindCheckTypeMinSubtraction);
5469 }
5570
56-extern void
71+void
5772 lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode)
5873 {
74+ switch(mode) {
75+ case lmrcImageSymmetryFindCheckTypeCentreGC: {
76+ lmrcImageSymmetryCentreFindGC(in, centre, mode);
77+ break;
78+ }
79+ case lmrcImageSymmetryFindCheckTypeCentreSymmetry: {
80+ lmrcImageSymmetryCentreFindSymmetry(in, centre, mode);
81+ break;
82+ }
83+ case lmrcImageSymmetryFindCheckTypeCentreCentre: {
84+ centre->x = in->HeaderN.x/2+1;
85+ centre->y = in->HeaderN.y/2+1;
86+ centre->z = in->HeaderN.z/2+1;
87+ break;
88+ }
89+ case lmrcImageSymmetryFindCheckTypeCentreOrigin: {
90+ centre->x = 0;
91+ centre->y = 0;
92+ centre->z = 0;
93+ break;
94+ }
95+ default: {
96+ fprintf(stderr, "Not supported mode in lmrcImageSymmetryCentreFind: %d\n", mode);
97+ exit(EXIT_FAILURE);
98+ }
99+ }
100+}
101+
102+void
103+
104+lmrcImageSymmetryCentreFindSymmetry(mrcImage* in, DescartesCoord* centre, int mode)
105+{
106+ fprintf(stderr, "Not supported: pre\n");
107+}
108+
109+void
110+lmrcImageSymmetryCentreFindGC(mrcImage* in, DescartesCoord* centre, int mode)
111+{
59112 DescartesCoord d, c, cMin, cMax, optimum;
60113 double est, tmp;
61114 mrcImageParaTypeReal x, y, z;
@@ -170,6 +223,8 @@ lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode)
170223 void
171224 lmrcImageSymmetryFind(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode)
172225 {
226+ //lmrcImageSymmetryCentreFind(in, &linfo->centre, linfo->centreMode);
227+
173228 floatVectorInit(&(linfo->Value), linfo->maxNfold+1);
174229 floatVectorInit(&(linfo->Point), linfo->maxNfold+1);
175230
@@ -217,8 +272,10 @@ lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInf
217272 }
218273 }
219274
220- if(max<=min) {
275+
276+ if(max<min) {
221277 fprintf(stderr, "Something wrong in lmrcImageSymmetryFindCheckResultOut: max <= min\n");
278+ exit(EXIT_FAILURE);
222279 }
223280
224281 for(i=linfo->minNfold; i<=linfo->maxNfold; i++) {
@@ -250,6 +307,7 @@ lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInf
250307 }
251308 }
252309 fprintf(fpt, ")\n");
310+ fprintf(fpt, "Centre: %f %f %f\n", linfo->centre.x, linfo->centre.y, linfo->centre.z);
253311 if(linfo->flagAvg) {
254312 lmrcImageSymmetryAverage(&(linfo->avg), in, symn, linfo->centre, 0);
255313 mrcFileWrite(&(linfo->avg), linfo->avgName, "in lmrcImageSymmetryFindResultOut", 0);
@@ -530,10 +588,39 @@ lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* inf
530588 /* Transform Descartes Coordinates Into Polar Coordinates */
531589 linfo.dr = info->dr;
532590 linfo.dphi = info->dtheta;
533- linfo.flagDescartesIntoPolarInfo = 0;
534591 linfo.flagrWeight = 0;
535592 linfo.axisInfo = info->centreInfo;
536593
594+ linfo.flagRotationalSymmetry = 0;
595+ linfo.flagImageCentreIsGravityCentre = 0;
596+ linfo.flagCentre = 0;
597+
598+ switch(info->centreMode) {
599+ case lmrcImageSymmetryFindCheckTypeCentreGC: {
600+ lmrcImageSymmetryCentreFind(in, &info->centre, info->centreMode);
601+ linfo.flagCentre = 1;
602+ linfo.Centre.x = info->centre.x;
603+ linfo.Centre.y = info->centre.y;
604+ linfo.Centre.z = info->centre.z;
605+ break;
606+ }
607+ case lmrcImageSymmetryFindCheckTypeCentreSymmetry: {
608+ linfo.flagRotationalSymmetry = 1;
609+ break;
610+ }
611+ default: {
612+ lmrcImageSymmetryCentreFind(in, &info->centre, info->centreMode);
613+ linfo.flagCentre = 1;
614+ linfo.Centre.x = info->centre.x;
615+ linfo.Centre.y = info->centre.y;
616+ linfo.Centre.z = info->centre.z;
617+ break;
618+ }
619+ }
620+ linfo.flagDescartesIntoPolarInfo = 0;
621+ linfo.flagrWeight = 1;
622+
623+
537624 /* Fourier Component */
538625 for(i=info->minNfold; i<=info->maxNfold; i++) {
539626 DEBUGPRINT1("%d-fold Start\n", i)
@@ -542,10 +629,6 @@ lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* inf
542629 linfo.flagImageCentreIsGravityCentre = 0;
543630 linfo.flagRotationalSymmetry = 1;
544631 linfo.flagCentre = 0;
545- } else {
546- linfo.flagImageCentreIsGravityCentre = 1;
547- linfo.flagRotationalSymmetry = 0;
548- linfo.flagCentre = 0;
549632 }
550633 lmrcImageTransformDescartesIntoPolar(&polarout, &subout, &linfo, &linfo2, 0);
551634 DEBUGPRINT3("%d %d %d\n", polarout.HeaderN.x, polarout.HeaderN.y, polarout.HeaderN.z);
@@ -570,7 +653,7 @@ lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* info, i
570653 mrcImageParaTypeRealCoord shift;
571654 int x,y;
572655 int i;
573- double data1,data2;
656+ double data1,data2, ave;
574657 lmrcImageTransformDescartesIntoPolarInfo linfo;
575658 lDescartesIntoPolarInfo linfo2;
576659
@@ -579,21 +662,45 @@ lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* info, i
579662
580663 /* Subtraction */
581664 lmrcImageSymmetryFindSubtraction(&subout, in, info, mode);
582-
583665 shift.y=0;
584666 shift.z=0;
585667 linfo.dr = info->dr;
586668 linfo.dphi = info->dtheta;
587- linfo.flagImageCentreIsGravityCentre = 1;
669+
670+ linfo.flagRotationalSymmetry = 0;
671+ linfo.flagImageCentreIsGravityCentre = 0;
672+ linfo.flagCentre = 0;
673+
674+ switch(info->centreMode) {
675+ case lmrcImageSymmetryFindCheckTypeCentreGC: {
676+ lmrcImageSymmetryCentreFind(in, &info->centre, info->centreMode);
677+ linfo.flagCentre = 1;
678+ linfo.Centre.x = info->centre.x;
679+ linfo.Centre.y = info->centre.y;
680+ linfo.Centre.z = info->centre.z;
681+ break;
682+ }
683+ case lmrcImageSymmetryFindCheckTypeCentreSymmetry: {
684+ linfo.flagRotationalSymmetry = 1;
685+ break;
686+ }
687+ default: {
688+ lmrcImageSymmetryCentreFind(in, &info->centre, info->centreMode);
689+ linfo.flagCentre = 1;
690+ linfo.Centre.x = info->centre.x;
691+ linfo.Centre.y = info->centre.y;
692+ linfo.Centre.z = info->centre.z;
693+ break;
694+ }
695+ }
588696 linfo.flagDescartesIntoPolarInfo = 0;
589697 linfo.flagrWeight = 1;
590- linfo.flagRotationalSymmetry = 0;
591698
592699 lmrcImageTransformDescartesIntoPolar(&polarout, &subout, &linfo, &linfo2, 0);
593700
594701 for(i=info->minNfold; i<=info->maxNfold; i++) {
595702 info->Value.data[i]=0;
596- shift.x=360/i;
703+ shift.x=360.0/info->dtheta/i+0.5;
597704 shift.y=0;
598705 shift.z=0;
599706 lmrcImageShift(&shiftout,&polarout,shift,mrcPixelHowLinear);
@@ -601,15 +708,19 @@ lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* info, i
601708
602709 for(x=0;x<=subout.HeaderN.x;x++){
603710 for(y=0;y<=subout.HeaderN.y;y++){
604- mrcPixelDataGet(&polarout, x,y,0,&data1,mrcPixelRePart,mrcPixelHowNearest);
605- mrcPixelDataGet(&shiftout,x,y,0,&data2,mrcPixelRePart,mrcPixelHowNearest);
606- if(data1>0 && data2>0 && data1*info->threshold1<=data2 && data2<=data1*2) {
711+ mrcPixelDataGet(&polarout, x,y,0,&data1,mrcPixelRePart,mrcPixelHowNearest);
712+ mrcPixelDataGet(&shiftout, x,y,0,&data2,mrcPixelRePart,mrcPixelHowNearest);
713+ ave = data2/2.0;
714+ if(0<data1 && 0<data2 && data1*info->threshold1 <= data2 && data2<= data1*2) {
607715 info->Value.data[i]++;
608716 }
609717 }
610718 }
611719 DEBUGPRINT1("Finish until %2d.\n",i);
612720 }
721+ info->centre.x = linfo.Centre.x;
722+ info->centre.y = linfo.Centre.y;
723+ info->centre.z = linfo.Centre.z;
613724 }
614725
615726
@@ -633,13 +744,49 @@ lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo*
633744 /* Transform Descartes coordinates into Polar coordinates */
634745 linfo.dr = info->dr;
635746 linfo.dphi = info->dtheta;
636- linfo.flagImageCentreIsGravityCentre = 1;
747+
748+ linfo.flagRotationalSymmetry = 0;
749+ linfo.flagImageCentreIsGravityCentre = 0;
750+ linfo.flagCentre = 0;
751+
752+ switch(info->centreMode) {
753+ case lmrcImageSymmetryFindCheckTypeCentreGC: {
754+ lmrcImageSymmetryCentreFind(in, &info->centre, info->centreMode);
755+ linfo.flagCentre = 1;
756+ linfo.Centre.x = info->centre.x;
757+ linfo.Centre.y = info->centre.y;
758+ linfo.Centre.z = info->centre.z;
759+ break;
760+ }
761+ case lmrcImageSymmetryFindCheckTypeCentreSymmetry: {
762+ fprintf(stderr, "Not supported for this algorythm.\n");
763+ exit(EXIT_FAILURE);
764+ break;
765+ }
766+ default: {
767+ lmrcImageSymmetryCentreFind(in, &info->centre, info->centreMode);
768+ linfo.flagCentre = 1;
769+ linfo.Centre.x = info->centre.x;
770+ linfo.Centre.y = info->centre.y;
771+ linfo.Centre.z = info->centre.z;
772+ break;
773+ }
774+ }
637775 linfo.flagDescartesIntoPolarInfo = 0;
638776 linfo.flagrWeight = 1;
639- linfo.flagRotationalSymmetry = 0;
640777
641778 lmrcImageTransformDescartesIntoPolar(&polarout, &subout, &linfo, &linfo2, 0);
642779
780+ switch(info->centreMode) {
781+ case lmrcImageSymmetryFindCheckTypeCentreSymmetry: {
782+ linfo.Centre.x = linfo2.centre.x;
783+ linfo.Centre.y = linfo2.centre.y;
784+ linfo.Centre.z = linfo2.centre.z;
785+ break;
786+ }
787+ default:
788+ break;
789+ }
643790 /* Projection along radial axis */
644791 onedimout.Header=polarout.Header;
645792 onedimout.HeaderN.y=1;
@@ -670,7 +817,7 @@ lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo*
670817
671818 for(i=info->minNfold;i<=info->maxNfold;i++) {
672819 sum.data[i]=0;
673- delta=360/i;
820+ delta=(int)(360.0/info->dtheta/i+0.5);
674821 for(j=1;j<i;j++){
675822 mrcPixelDataGet(&(info->correlation),delta*j,0,0,&data1,mrcPixelRePart,mrcPixelHowNearest);
676823 sum.data[i]+=data1;
@@ -697,7 +844,8 @@ lmrcImageSymmetryAverage(mrcImage* out, mrcImage* in, int num, DescartesCoord ce
697844 for(z=0; z<out->HeaderN.z; z++) {
698845 for(y=0; y<out->HeaderN.y; y++) {
699846 for(x=0; x<out->HeaderN.x; x++) {
700- r = sqrt(SQR(x - centre.x) + SQR(y - centre.y));
847+ r = sqrt(SQR(MIN(fabs(x - centre.x), fabs(x - out->HeaderN.x - centre.x)))
848+ + SQR(MIN(fabs(y - centre.y), fabs(y - out->HeaderN.y - centre.y))));
701849 angle = atan2(y-centre.y, x-centre.x);
702850 for(i=0; i<num; i++) {
703851 sx = centre.x + r*cos(angle+i*2*M_PI/num);
--- a/src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.h
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.h
@@ -122,7 +122,17 @@ extern void
122122 lmrcImageSymmetryFindModePrint(FILE* fpt);
123123
124124 extern void
125+lmrcImageSymmetryFindAlgorythmPrint(FILE* fpt);
126+
127+extern void
125128 lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode);
129+
130+extern void
131+lmrcImageSymmetryCentreFindGC(mrcImage* in, DescartesCoord* centre, int mode);
132+
133+extern void
134+lmrcImageSymmetryCentreFindSymmetry(mrcImage* in, DescartesCoord* centre, int mode);
135+
126136 /* prototype end */
127137
128138 #endif
--- a/src/Objects/DataManip/mrcImage/src/lmrcImageTransformDescartesIntoPolar.c
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImageTransformDescartesIntoPolar.c
@@ -17,7 +17,7 @@ static char __sccs_id[] = "%Z%lmrcImageSymmetryFind ver%I%; Date:%D% %Z%";
1717 #include <math.h>
1818 #define GLOBAL_DECLARATION
1919
20-#undef DEBUG
20+#define DEBUG
2121 #undef DEBUG2
2222 #include "genUtil.h"
2323 #include "../inc/mrcImage.h"
--- a/src/Tools/Config/Define.inc
+++ b/src/Tools/Config/Define.inc
@@ -690,3 +690,6 @@ WORLDNAME=Tools
690690 WORLDNAME=Tools
691691 WORLDNAME=Tools
692692 WORLDNAME=Tools
693+WORLDNAME=Tools
694+WORLDNAME=Tools
695+WORLDNAME=Tools
--- a/src/Tools/mrcImage/mrcImageSymmetryAverage/src/mrcImageSymmetryAverage.c
+++ b/src/Tools/mrcImage/mrcImageSymmetryAverage/src/mrcImageSymmetryAverage.c
@@ -61,4 +61,7 @@ void
6161 additionalUsage()
6262 {
6363 fprintf(stderr, "----- Additional Usage -----\n");
64+ fprintf(stderr, "-centre : Set a defined centre\n");
65+ fprintf(stderr, " otherwise CentreOfGravity \n");
66+
6467 }
--- a/src/Tools/mrcImage/mrcImageSymmetryAverage/src/mrcImageSymmetryAverage.html
+++ b/src/Tools/mrcImage/mrcImageSymmetryAverage/src/mrcImageSymmetryAverage.html
@@ -17,6 +17,8 @@ Options:
1717 [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile
1818 [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode
1919 ----- Additional Usage -----
20+-centre : Set a defined centre
21+ otherwise CentreOfGravity
2022 </PRE>
2123 </BODY>
2224 </HTML>
--- /dev/null
+++ b/src/Tools/mrcImage/mrcImageSymmetryAverage/src/test/Makefile
@@ -0,0 +1,27 @@
1+include ../../Config/Define.inc
2+include ../../../Config/Define.inc
3+include ../../../../Config/Define.inc
4+include ../../../../../Config/Define.inc
5+
6+DATA=data/FlagellaSection-0001
7+
8+all: help exec
9+
10+help:
11+ @echo "----- Help Message Check -----"
12+ @../$(OSTYPE)/$(OBJECTNAME) -h
13+
14+exec:
15+ @echo "----- Execution Check -----"
16+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).cen -o $(DATA).rot12 -n 12 -centre 128 128 0
17+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).cen -o $(DATA).rot13 -n 13 -centre 128 128 0
18+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).cen -o $(DATA).rot14 -n 14 -centre 128 128 0
19+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).cen -o $(DATA).0.rot12 -n 12 -centre 0 0 0
20+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).cen -o $(DATA).0.rot13 -n 13 -centre 0 0 0
21+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).cen -o $(DATA).0.rot14 -n 14 -centre 0 0 0
22+ @echo "----- Calc check -----"
23+
24+clean:
25+
26+init:
27+ mrcImageSymmetryCentreFind -i $(DATA).roi -o $(DATA).cen -O $(DATA).info -m 0
--- /dev/null
+++ b/src/Tools/mrcImage/mrcImageSymmetryAverage/src/test/data
@@ -0,0 +1 @@
1+../../../../../..//data/mrcImageSymmetryAverage
\ No newline at end of file
--- a/src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/mrcImageSymmetryCentreFind.c
+++ b/src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/mrcImageSymmetryCentreFind.c
@@ -55,4 +55,5 @@ void
5555 additionalUsage()
5656 {
5757 fprintf(stderr, "----- Additional Usage -----\n");
58+ lmrcImageSymmetryFindModePrint(stderr);
5859 }
--- a/src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/mrcImageSymmetryCentreFind.html
+++ b/src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/mrcImageSymmetryCentreFind.html
@@ -14,6 +14,21 @@ Options:
1414 [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile
1515 [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode
1616 ----- Additional Usage -----
17+>>>> check type mode
18+ 1 : Check by Add
19+ 2 : Check by Correlation
20+ 4 : Check by Fourier
21+ 8 : Check by TTest
22+ 16 : Check by SRP
23+>>>> centre type mode
24+ 0 : Centre is GC (gravity of centre)
25+ 1 : Centre is Rotational Symmetry
26+ 2 : Centre is at Image Centre
27+ 3 : Centre is at Image Origin
28+>>>> subtrcation type mode
29+ 0 : No Subtraction
30+ 1 : Mean Subtraction
31+ 2 : Min Subtraction
1732 </PRE>
1833 </BODY>
1934 </HTML>
--- /dev/null
+++ b/src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/test/Makefile
@@ -0,0 +1,20 @@
1+include ../../Config/Define.inc
2+include ../../../Config/Define.inc
3+include ../../../../Config/Define.inc
4+include ../../../../../Config/Define.inc
5+
6+DATA=data/FlagellaSection-0001
7+
8+all: help exec
9+
10+help:
11+ @echo "----- Help Message Check -----"
12+ @../$(OSTYPE)/$(OBJECTNAME) -h
13+
14+exec:
15+ @echo "----- Execution Check -----"
16+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).roi -o $(DATA).out0 -O $(DATA).info0 -m 0
17+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).roi -o $(DATA).out1 -O $(DATA).info1 -m 1
18+ @echo "----- Calc check -----"
19+
20+clean:
--- /dev/null
+++ b/src/Tools/mrcImage/mrcImageSymmetryCentreFind/src/test/data
@@ -0,0 +1 @@
1+../../../../../..//data/mrcImageSymmetryCentreFind
\ No newline at end of file
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/Config/OptionControlFile
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/Config/OptionControlFile
@@ -17,4 +17,5 @@
1717 "-rangex","-rangex","Input: ","Optional","3","1","minx","Real","-3","2","maxx","Real","3","3","delx","Real","1"
1818 "-rangey","-rangey","Input: ","Optional","3","1","miny","Real","-3","2","maxy","Real","3","3","dely","Real","1"
1919 "-rangez","-rangez","Input: ","Optional","3","1","minz","Real","0","2","maxz","Real","0","3","delz","Real","1"
20+"-Algorythm","-Algorythm","Algorythm","Optional","0"
2021 "-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/inc/mrcImageSymmetryFind.h
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/inc/mrcImageSymmetryFind.h
@@ -98,6 +98,8 @@ typedef struct mrcImageSymmetryFindInfo {
9898 long flagdelz;
9999 float delz;
100100
101+ long Algorythm;
102+
101103 long flagconfigFile;
102104 char* configFile;
103105 FILE* fptconfigFile;
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/src/argCheck.c
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/argCheck.c
@@ -239,6 +239,15 @@ argCheck(mrcImageSymmetryFindInfo* info, int argc, char* argv[])
239239 }
240240 SBREAK;
241241 }
242+ SCASE("Algorythm") {
243+ if(i+0<argc) {
244+ info->Algorythm++;
245+ } else {
246+ usage(argv[0]);
247+ exit(EXIT_FAILURE);
248+ }
249+ SBREAK;
250+ }
242251 SCASE("c") {
243252 if(i+1<argc) {
244253 info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/src/init.c
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/init.c
@@ -37,6 +37,7 @@ init0(mrcImageSymmetryFindInfo* info)
3737 info->minz = 0; info->flagminz = 0;
3838 info->maxz = 0; info->flagmaxz = 0;
3939 info->delz = 1; info->flagdelz = 0;
40+ info->Algorythm=0;
4041 info->fptconfigFile = NULL; info->flagconfigFile = 0;
4142 }
4243
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.c
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.c
@@ -35,6 +35,11 @@ main(int argc, char* argv[])
3535 init0(&info);
3636 argCheck(&info, argc, argv);
3737 init1(&info);
38+ if(info.Algorythm) {
39+ lmrcImageSymmetryFindAlgorythmPrint(stderr);
40+ exit(EXIT_FAILURE);
41+ }
42+
3843
3944 DEBUGPRINT("#### Program Started\n");
4045 mrcFileRead(&in, info.In, "in main", 0);
@@ -81,7 +86,7 @@ main(int argc, char* argv[])
8186 linfo.centreInfo.minz = info.minz;
8287 linfo.centreInfo.maxz = info.maxz;
8388 linfo.centreInfo.delz = info.delz;
84- linfo.centreInfo.delPHI = linfo.dtheta;
89+ linfo.centreInfo.delPHI = linfo.dtheta*RADIAN;
8590
8691 lmrcImageSymmetryFind(&in, &linfo, info.mode1);
8792
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.html
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.html
@@ -44,6 +44,8 @@ Options:
4444 >>>> centre type mode
4545 0 : Centre is GC (gravity of centre)
4646 1 : Centre is Rotational Symmetry
47+ 2 : Centre is at Image Centre
48+ 3 : Centre is at Image Origin
4749 >>>> subtrcation type mode
4850 0 : No Subtraction
4951 1 : Mean Subtraction
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.pane
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/mrcImageSymmetryFind.pane
@@ -24,7 +24,8 @@
2424 -I 1 0 0 1 0 1 -1x1+1+22 ' ' '-3' 'minx' Input:
2525 -I 1 0 0 1 0 1 -1x1+1+24 ' ' '-3' 'miny' Input:
2626 -I 1 0 0 1 0 1 -1x1+1+25 ' ' '0' 'minz' Input:
27- -I 1 0 1 0 0 1 -1x1+1+27.000000 ' ' 'configFile' 'ConfigurationFile' c
27+ -t 1 0 1 0 0 6x1+1+27 'Algorythm' 'Algorythm' Algorythm
28+ -I 1 0 1 0 0 1 -1x1+1+28.500000 ' ' 'configFile' 'ConfigurationFile' c
2829 -E
2930 -E
3031 -E
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/src/test/Makefile
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/test/Makefile
@@ -13,8 +13,18 @@ help:
1313
1414 exec:
1515 @echo "----- Execution Check -----"
16- ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA)-0001.neg -O $(DATA)-0001.info -nRange 10 15 -A $(DATA)-0001.avg -centreMode 1 -m1 1 -m2 2
17- @echo "----- Calc check -----"
16+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA)-0001.roi -O $(DATA)-0001.info1 -nRange 10 16 -A $(DATA)-0001.avg1 -centreMode 0 -m1 1 -m2 1 -t1 1.5
17+
18+exec2:
19+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA)-0001.roi -O $(DATA)-0001.info2 -nRange 10 16 -A $(DATA)-0001.avg2 -centreMode 0 -m1 2 -m2 0
20+
21+exec4:
22+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA)-0001.roi -O $(DATA)-0001.info4 -nRange 10 16 -A $(DATA)-0001.avg4 -centreMode 0 -m1 4 -m2 0
23+
24+exec4_1:
25+ ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA)-0001.roi -O $(DATA)-0001.info4_1 -nRange 10 16 -A $(DATA)-0001.avg4_1 -centreMode 1 -m1 4 -m2 0
26+
27+
1828
1929 clean:
2030
--- a/src/Tools/mrcImage/mrcImageSymmetryFind/src/usage.c
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/usage.c
@@ -24,6 +24,7 @@ usage(char* thisProgram)
2424 fprintf(stderr, " [-rangex minx (-3 ).as(Real ) \n maxx (3 ).as(Real ) \n delx (1 ).as(Real ) ] :Optional :Input: \n");
2525 fprintf(stderr, " [-rangey miny (-3 ).as(Real ) \n maxy (3 ).as(Real ) \n dely (1 ).as(Real ) ] :Optional :Input: \n");
2626 fprintf(stderr, " [-rangez minz (0 ).as(Real ) \n maxz (0 ).as(Real ) \n delz (1 ).as(Real ) ] :Optional :Input: \n");
27+ fprintf(stderr, " [-Algorythm ] :Optional :Algorythm\n");
2728 fprintf(stderr, " [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile\n");
2829 additionalUsage();
2930 }
Show on old repository browser