• R/O
  • HTTP
  • SSH
  • HTTPS

base: Commit

This repository is a base of Eos.


Commit MetaInfo

Revision79b6b51b2d0ac0c467f883fd6aa98a5caedddd21 (tree)
Time2015-11-11 19:37:52
Author久永浩司 <hisanagakouji@hisa...>
Commiter久永浩司

Log Message

Merge branch 'master' of git.sourceforge.jp:/gitroot/eos/base

Change Summary

Incremental Difference

--- a/bin/wish/Display2/Display2Init.wish
+++ b/bin/wish/Display2/Display2Init.wish
@@ -1,5 +1,30 @@
11 #!../Display2.HP
2-proc display2Init {} {
2+
3+# From Arguments
4+proc display2SetVar {} {
5+ global mainImage
6+ global Roi
7+ global thresHigh
8+ global thresLow
9+ global Inverse
10+ global Zoom
11+
12+ if [ info exists thresHigh ] {
13+ set mainImage(thresHigh) $thresHigh
14+ }
15+ if [ info exists thresLow ] {
16+ set mainImage(thresLow) $thresLow
17+ }
18+ if [ info exists Inverse ] {
19+ set mainImage(Inverse) Yes
20+ }
21+ if { [ info exists Zoom ] } {
22+ set Roi(Zoom) $Zoom
23+ }
24+}
25+
26+# Set
27+proc display2InitVar {} {
328 global mousePressed
429 global Roi
530 global Point
@@ -16,6 +41,7 @@ proc display2Init {} {
1641 global mainImage
1742 global overviewImage
1843 global UnitCell
44+ global Section
1945
2046 global roiInfoWin
2147
@@ -29,8 +55,6 @@ proc display2Init {} {
2955
3056 set tcl_precision 17
3157
32- #puts "in display2Init"
33-
3458 # Canvas Area Create
3559 if [ info exists Desktop(mainCanvasX) ] {
3660 set Desktop(mainCanvasX) $Desktop(mainCanvasX)
@@ -42,9 +66,13 @@ proc display2Init {} {
4266 } else {
4367 set Desktop(mainCanvasY) 1999
4468 }
69+
70+
4571 Canvas .overview_canvas 128 128
4672 Canvas .zoom_canvas 128 128
73+
4774 scrolledCanvas .main_canvas 128 128 [ list 0 0 $Desktop(mainCanvasX) $Desktop(mainCanvasY) ]
75+
4876 set Desktop(mainCanvas) .main_canvas
4977 set Desktop(overviewCanvas) .overview_canvas
5078 set Desktop(zoomCanvas) .zoom_canvas
@@ -53,7 +81,8 @@ proc display2Init {} {
5381 set mainImage(mainCanvas) .main_canvas
5482 set mainImage(overviewCanvas) .overview_canvas
5583 set mainImage(zoomCanvas) .zoom_canvas
56-
84+
85+
5786 set overviewImage(image) No
5887
5988 set mainImage(image) No
@@ -66,21 +95,11 @@ proc display2Init {} {
6695 set mainImage(lz) 0
6796 set mainImage(max) 1.0
6897 set mainImage(min) 0.0
69- if [ info exists thresHigh ] {
70- set mainImage(thresHigh) $thresHigh
71- } else {
72- set mainImage(thresHigh) No
73- }
74- if [ info exists thresLow ] {
75- set mainImage(thresLow) $thresLow
76- } else {
77- set mainImage(thresLow) No
78- }
79- if [ info exists Inverse ] {
80- set mainImage(Inverse) Yes
81- } else {
82- set mainImage(Inverse) No
83- }
98+
99+ set mainImage(thresHigh) No
100+ set mainImage(thresLow) No
101+ set mainImage(Inverse) No
102+
84103 set mainImage(Contrast) 2
85104
86105 set mainImage(region) No
@@ -117,11 +136,12 @@ proc display2Init {} {
117136 set Roi(Extract) foreground
118137 set Roi(withScale) Off
119138 set Roi(absTicks) 54.6
139+ set Roi(numFormat) "-%04d.roi"
120140
121141 if { [ info exists fileNameIn ] } {
122142 set Roi(MontageFile) [ string trimright $fileNameIn ".mrc" ].mon
123143 set Roi(InformationFile) [ string trimright $fileNameIn ".mrc" ].roiinfo
124- set Roi(ROIFile) [ string trimright $fileNameIn ".mrc" ]-%04d.roi
144+ set Roi(ROIFile) [ string trimright $fileNameIn ".mrc" ]$Roi(numFormat)
125145 set Roi(ShrinkOriginalFile) [ string trimright $fileNameIn ".shrink"].mrc
126146 } else {
127147 set Roi(MontageFile) No.mon
@@ -131,11 +151,7 @@ proc display2Init {} {
131151 set Roi(CurrentID) 0
132152 set Roi(TotalN) 0
133153 #
134- if { [ info exists Zoom ] } {
135- set Roi(Zoom) $Zoom
136- } else {
137- set Roi(Zoom) 1
138- }
154+ set Roi(Zoom) 1
139155 set Roi(ZoomX) 1
140156 set Roi(ZoomY) 1
141157
@@ -195,6 +211,174 @@ proc display2Init {} {
195211 set UnitCell(beta) 90
196212 set UnitCell(gamma) 90
197213
214+ set Section(Initialize) 1
215+ set Section(flag) OFF
216+ set Section(which) Y
217+ set Section(scale) 1
218+ set Section(scaleDelta) 0.1
219+ set Section(at) 0
220+ set Section(atDelta) 1
221+ set Section(mode) normal
222+ set Section(Num) 0
223+ set Section(Current) -1
224+ set Section(Win,Title) "Section Information"
225+}
226+
227+proc display2InitVarSet { filename } {
228+ if [ file isdirectory "~/.Eos/ ] {
229+ #
230+ } else {
231+ file mkdir "~/.Eos"
232+ }
233+ set fpt [ open $filename a ]
234+
235+puts $fpt {
236+#
237+# Default
238+#
239+
240+# Precision
241+set tcl_precision 17
242+
243+# Image
244+set mainImage(thresHigh) No
245+set mainImage(thresLow) No
246+set mainImage(Inverse) No
247+set mainImage(Contrast) 2
248+set mainImage(flagLog) 0
249+set mainImage(flagPow) 0
250+set mainImage(HistNum) 256
251+
252+# Roi
253+set Roi(OKColor) #118866
254+set Roi(SelectColor) #0000ff
255+set Roi(LineWidth) 3
256+set Roi(CurrentColor) $Roi(OKColor)
257+set Roi(Shape) Rectangle
258+set Roi(Shrink) 1
259+set Roi(MultiShape) Off
260+set Roi(MultiNumber) Off
261+set Roi(SizeLock) Off
262+set Roi(Analysis) Off
263+set Roi(View) off
264+set Roi(Extract) foreground
265+set Roi(withScale) Off
266+set Roi(absTicks) 54.6
267+set Roi(numFormat) "-%04d.roi"
268+
269+# Zooming
270+set Roi(Zoom) 1
271+set Roi(ZoomX) 1
272+set Roi(ZoomY) 1
273+
274+# Point
275+set Point(x) 0
276+set Point(y) 0
277+set Point(dat) 0
278+set Point(cx) 0
279+set Point(cy) 0
280+set Point(cdat) 0
281+
282+# Roi Rectangle
283+set rectanglePoints(width) 128.0
284+set rectanglePoints(height) 128.0
285+set rectanglePoints(angle) 0.0
286+
287+# spline
288+set splinePoints(Width) 80
289+
290+# LayerLine
291+set LayerLine(flag) OFF
292+set LayerLine(pointRadius) 3
293+
294+# Projection Line
295+set Projection(flag) OFF
296+set Projection(which) Y
297+set Projection(scale) 1
298+
299+# Unit Cell
300+set UnitCell(n) 0
301+set UnitCell(dimension) 2
302+set UnitCell(axis1,n) 5
303+set UnitCell(axis2,n) 5
304+set UnitCell(axis3,n) 0
305+set UnitCell(axis1,x) 1
306+set UnitCell(axis1,y) 0
307+set UnitCell(axis1,z) 0
308+set UnitCell(axis2,x) 0
309+set UnitCell(axis2,y) 1
310+set UnitCell(axis2,z) 0
311+set UnitCell(axis3,x) 0
312+set UnitCell(axis3,y) 0
313+set UnitCell(axis3,z) 1
314+
315+set UnitCell(box,x) 5
316+set UnitCell(box,y) 5
317+set UnitCell(box,z) 0
318+
319+set UnitCell(alpha) 90
320+set UnitCell(beta) 90
321+set UnitCell(gamma) 90
322+
323+# Section
324+set Section(flag) OFF
325+set Section(which) Y
326+set Section(scale) 1
327+set Section(scaleDelta) 0.1
328+set Section(at) 0
329+set Section(atDelta) 1
330+set Section(mode) normal
331+}
332+ close $fpt
333+}
334+
335+proc display2Init {} {
336+ global mousePressed
337+ global Roi
338+ global Point
339+ global rectanglePoints
340+ global linePoints
341+ global splinePoints
342+ global LayerLine
343+ global Projection
344+ global ctfInfo
345+ global LogFile
346+
347+ global Desktop
348+ global CommandPut
349+ global mainImage
350+ global overviewImage
351+ global UnitCell
352+
353+ global roiInfoWin
354+
355+ # Global Variables from Display2
356+ global fileNameIn
357+ global LogFile
358+ global thresHigh
359+ global thresLow
360+ global Inverse
361+ global Zoom
362+
363+ global defaultFile
364+
365+ display2InitVar
366+
367+ if [ info exists defaultFile ] {
368+ #
369+ } else {
370+ set defaultFile "~/.Eos/Display2"
371+ }
372+ if [ file exists $defaultFile ] {
373+ #
374+ } else {
375+ display2InitVarSet $defaultFile
376+ }
377+ source $defaultFile
378+
379+ # from arguments
380+ display2SetVar
381+
198382 display2MenuSet
199383 display2MenuSet2
200384 display2BindingSet .main_canvas.canvas
--- a/bin/wish/Display2/tclIndex
+++ b/bin/wish/Display2/tclIndex
@@ -33,6 +33,9 @@ set auto_index(roiLineInfoFrameCreate) [list source [file join $dir Display2Info
3333 set auto_index(roiSplineInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]]
3434 set auto_index(roiRectangleInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]]
3535 set auto_index(roiAnalysisFrameCreate) [list source [file join $dir Display2InfoROI.wish]]
36+set auto_index(display2SetVar) [list source [file join $dir Display2Init.wish]]
37+set auto_index(display2InitVar) [list source [file join $dir Display2Init.wish]]
38+set auto_index(display2InitVarSet) [list source [file join $dir Display2Init.wish]]
3639 set auto_index(display2Init) [list source [file join $dir Display2Init.wish]]
3740 set auto_index(display2MenuSet) [list source [file join $dir Display2Menu.wish]]
3841 set auto_index(menuFileCreate) [list source [file join $dir Display2Menu.wish]]
--- a/env/Eos_env
+++ b/env/Eos_env
@@ -5,11 +5,15 @@
55 if [ -z "$EOS_HOME0" ] ; then
66 export EOS_HOME=$HOME/Eos
77 export EOS_MIRROR_SITE=$HOME/EosMirror
8- export EOS_GITUSER=$USER
98 else
109 # For Personal(by install-eos.sh)
1110 export EOS_HOME=$EOS_HOME0
1211 export EOS_MIRROR_SITE=$EOS_HOME0/EosMirror
12+fi
13+
14+#
15+# Eos
16+if [ -z $EOS_GITUSER ] ; then
1317 export EOS_GITUSER=$USER
1418 fi
1519
--- a/env/install-eos.sh
+++ b/env/install-eos.sh
@@ -1,6 +1,12 @@
11 #!/bin/bash
22 ####
3-EOS_HOME0=$HOME/Eos
3+WD=`pwd`
4+
5+
6+if [ -z $EOS_HOME0 ] ; then
7+ EOS_HOME0=$HOME/Eos
8+fi
9+
410 echo "Set the directroy to be installed [$EOS_HOME0]: "; read ANS
511 if [ ! -z $ANS ] ; then
612 EOS_HOME0=$ANS;
@@ -11,14 +17,37 @@ unset ANS
1117 echo "Directory: $EOS_HOME0";
1218
1319 #### No Change
14-ROOT_EOS_SOURCEFORGE=https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/
20+#ROOT_EOS_SOURCEFORGE=https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/
21+ROOT_EOS_OSDN_GIT=git://git.osdn.jp/gitroot/eos/base.git
22+ROOT_EOS_OSDN_HTTP=http://scm.osdn.jp/gitroot/eos/base.git
23+ROOT_EOS_OSDN_SSH=${EOS_GITUSER}@git.osdn.jp:/gitroot/eos/base.git
24+ROOT_EOS_OSDN_HTTPS=https://scm.osdn.jp/gitroot/eos/base.git
25+
1526 if [ ! -d $EOS_HOME0 ] ; then
1627 mkdir $EOS_HOME0
1728 fi
1829
1930 #curl -L $ROOT_EOS_SOURCEFORGE/env/Eos_env?export=raw | sh - ;
2031
21-git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/base.git $EOS_HOME0 || echo "Already installed on $EOS_HOME0 or there are something wrong."
32+if [ -d $EOS_HOME0/.git ] ; then
33+ echo "Already installed"
34+ echo "Use update-eos.sh for updating or set a new directory for installation"
35+else
36+ if [ -z $EOS_GITUSER ] ; then
37+ INSTALL_FLAG=
38+ else
39+ git clone --depth 1 $ROOT_EOS_OSDN_SSH $EOS_HOME0 || \
40+ git clone --depth 1 $ROOT_EOS_OSDN_HTTPS $EOS_HOME0 || \
41+ echo "A port for SSH or HTTPS is not open, or something wrong for $EOS_GITUSER."
42+ INSTALL_FLAG=INSTALL
43+ fi
44+ if [ -z $INSTALL_FLAG ] ; then
45+ git clone --depth 1 $ROOT_EOS_OSDN_GIT $EOS_HOME0 || \
46+ git clone --depth 1 $ROOT_EOS_OSDN_HTTP $EOS_HOME0 || \
47+ echo "A port for git (9418) or HTTP is not open, or something wrong."
48+ fi
49+fi
50+
2251
2352 if [ -z $EOS_HOME0 ] ; then
2453 export EOS_HOME0=$HOME/Eos
@@ -39,6 +68,10 @@ test -r $HOME/.Eos_env && . $HOME/.Eos_env
3968
4069 EOF
4170
71+#
72+# hostdepend
73+#
74+
4275 if [ ! -f $HOME/.Eos_env ] ; then
4376 echo "No .Eos_env"
4477 ln -sf $EOS_HOME0/env/Eos_env $HOME/.Eos_env
@@ -47,13 +80,37 @@ fi
4780 source ~/.Eos_env || echo "Prepare environment"
4881 echo "hostdepend for ${EOS_HOSTDIR}"
4982
83+HOSTDEPEND_EOS_OSDN_GIT=git://git.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
84+HOSTDEPEND_EOS_OSDN_HTTP=http://scm.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
85+HOSTDEPEND_EOS_OSDN_SSH=${EOS_GITUSER}@git.osdn.jp:/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
86+HOSTDEPEND_EOS_OSDN_HTTPS=https://scm.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
87+
5088 if [ ! -d $EOS_HOME0/hostdepend ] ; then
5189 mkdir $EOS_HOME0/hostdepend
5290 fi
5391
5492 if [ -d $EOS_HOME0/hostdepend ] ; then
5593 cd $EOS_HOME0/hostdepend/;
56- git clone --depth 1 git://git.sourceforge.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git ${EOS_HOSTDIR} || echo "Already installed hostdepend/${EOS_HOSTDIR} or there are something wrong.";
94+ if [ -d ${EOS_HOSTDIR}/.git ] ; then
95+ echo "Already installed hostdepend/${EOS_HOSTDIR}";
96+ echo "Use update-eos.sh for updating or set a new directory for installation"
97+ else
98+ if [ -z $EOS_GITUSER ] ; then
99+ INSTALL_FLAG=
100+ else
101+ git clone --depth 1 ${HOSTDEPEND_EOS_OSDN_SSH} ${EOS_HOSTDIR} || \
102+ git clone --depth 1 ${HOSTDEPEND_EOS_OSDN_HTTPS} ${EOS_HOSTDIR} || \
103+ echo "A port for SSH or HTTPS is not open, or something wrong."
104+ INSTALL_FLAG=INSTALL
105+ fi
106+ if [ -z $INSTALL_FLAG ] ; then
107+ git clone --depth 1 ${HOSTDEPEND_EOS_OSDN_GIT} ${EOS_HOSTDIR} || \
108+ git clone --depth 1 ${HOSTDEPEND_EOS_OSDN_HTTP} ${EOS_HOSTDIR} || \
109+ echo "A port for git (9418) or HTTP is not open, or something wrong."
110+ fi
111+ fi
57112 else
58113 echo "Cannot make hostdepend"
59114 fi
115+
116+cd $WD
--- /dev/null
+++ b/env/update-eos.sh
@@ -0,0 +1,72 @@
1+#!/bin/sh
2+WD=`pwd`
3+
4+if [ -z $EOS_HOME ] ; then
5+ echo "Please set an environment for Eos using $source env/Eos_env."
6+ exit
7+fi
8+
9+ROOT_EOS_OSDN_GIT=git://git.osdn.jp/gitroot/eos/base.git
10+ROOT_EOS_OSDN_HTTP=http://scm.osdn.jp/gitroot/eos/base.git
11+ROOT_EOS_OSDN_SSH=${EOS_GITUSER}@git.osdn.jp:/gitroot/eos/base.git
12+ROOT_EOS_OSDN_HTTPS=https://scm.osdn.jp/gitroot/eos/base.git
13+
14+if [ ! -d $EOS_HOME/.git ] ; then
15+ echo "Not installed"
16+ echo "Use install-eos.sh for updating or make concern env of EOS_HOME. Current var is $EOS_HOME."
17+else
18+ if [ -z $EOS_GITUSER ] ; then
19+ INSTALL_FLAG=
20+ else
21+ cd $EOS_HOME; echo "$EOS_GITUSER as EOS_GITUSER";
22+ git pull $ROOT_EOS_OSDN_SSH || \
23+ git pull --depth 1 $ROOT_EOS_OSDN_HTTPS || \
24+ echo "A port for SSH or HTTPS is not open, or something wrong for $EOS_GITUSER."
25+ INSTALL_FLAG=INSTALL
26+ fi
27+ if [ -z $NOT_INSTALL ] ; then
28+ cd $EOS_HOME; echo "No EOS_GITUSER.";
29+ git pull $ROOT_EOS_OSDN_GIT || \
30+ git pull $ROOT_EOS_OSDN_HTTP || \
31+ echo "A port for git (9418) or HTTP is not open, or something wrong."
32+ fi
33+fi
34+
35+if [ -z ${EOS_HOSTDIR} ] ; then
36+ echo "Set EOS_HOSTDIR. Current is $EOS_HOSTDIR";
37+ exit;
38+else
39+ echo "hostdepend for ${EOS_HOSTDIR}"
40+fi
41+
42+HOSTDEPEND_EOS_OSDN_GIT=git://git.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
43+HOSTDEPEND_EOS_OSDN_HTTP=http://scm.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
44+HOSTDEPEND_EOS_OSDN_SSH=${EOS_GITUSER}@git.osdn.jp:/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
45+HOSTDEPEND_EOS_OSDN_HTTPS=https://scm.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
46+
47+if [ -d $EOS_HOME/hostdepend ] ; then
48+ cd $EOS_HOME/hostdepend/;
49+ if [ ! -d ${EOS_HOSTDIR}/.git ] ; then
50+ echo "Not installed hostdepend/${EOS_HOSTDIR}";
51+ echo "Use install-eos.sh for updating or set a new directory for update"
52+ else
53+ if [ -z $EOS_GITUSER ] ; then
54+ INSTALL_FLAG=
55+ else
56+ cd ${EOS_HOSTDIR}
57+ git pull ${HOSTDEPEND_EOS_OSDN_SSH} || \
58+ git pull ${HOSTDEPEND_EOS_OSDN_HTTPS} || \
59+ echo "A port for SSH or HTTPS is not open, or something wrong."
60+ INSTALL_FLAG=INSTALL
61+ fi
62+ if [ -z $NOT_INSTALL ] ; then
63+ git pull ${HOSTDEPEND_EOS_OSDN_GIT} || \
64+ git pull ${HOSTDEPEND_EOS_OSDN_HTTP} || \
65+ echo "A port for git (9418) or HTTP is not open, or something wrong."
66+ fi
67+ fi
68+else
69+ echo "No hostdepend dir"
70+fi
71+
72+cd $WD
--- a/include/lmrcImageCalcArea.h
+++ b/include/lmrcImageCalcArea.h
@@ -10,4 +10,4 @@
1010 */
1111
1212 #include "mrcImage.h"
13-void lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int mode);
13+void lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int neighbor, int mode);
--- a/include/lmrcImageSymmetryFind.h
+++ b/include/lmrcImageSymmetryFind.h
@@ -36,7 +36,9 @@ typedef enum lmrcImageSymmetryFindCheckType {
3636
3737 typedef enum lmrcImageSymmetryFindCentreType {
3838 lmrcImageSymmetryFindCheckTypeCentreGC = 0,
39- lmrcImageSymmetryFindCheckTypeCentreSymmetry = 1
39+ lmrcImageSymmetryFindCheckTypeCentreSymmetry = 1,
40+ lmrcImageSymmetryFindCheckTypeCentreCentre = 2,
41+ lmrcImageSymmetryFindCheckTypeCentreOrigin = 3
4042 } lmrcImageSymmetryFindCentreType;
4143
4244 typedef enum lmrcImageSymmetryFindSubtractionType {
@@ -120,7 +122,17 @@ extern void
120122 lmrcImageSymmetryFindModePrint(FILE* fpt);
121123
122124 extern void
125+lmrcImageSymmetryFindAlgorythmPrint(FILE* fpt);
126+
127+extern void
123128 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+
124136 /* prototype end */
125137
126138 #endif
--- a/src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.c
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.c
@@ -16,7 +16,7 @@
1616 #include "./lmrcImageCalcArea.h"
1717
1818 void
19-lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int mode)
19+lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int neighbor, int mode)
2020 {
2121 mrcImageParaTypeReal x, y, z;
2222 double data, data0, data1;
@@ -25,7 +25,7 @@ lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int mode)
2525 int total;
2626
2727 DEBUGPRINT("lmrcImageCalcArea Start\n");
28- lmrcImageLabeling(label, in, 0);
28+ lmrcImageLabeling(label, in, neighbor, 0);
2929 mrcStatDataSet(label, 0);
3030
3131 maxLabel = (int)(label->HeaderAMax+0.5);
--- a/src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.h
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.h
@@ -10,4 +10,4 @@
1010 */
1111
1212 #include "mrcImage.h"
13-void lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int mode);
13+void lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int neighbor, int mode);
--- a/src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.c
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImageSymmetryFind.c
@@ -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");
@@ -43,6 +58,8 @@ lmrcImageSymmetryFindModePrint(FILE* fpt)
4358 fprintf(fpt, ">>>> centre type mode\n");
4459 fprintf(fpt, " %d : Centre is GC (gravity of centre)\n", lmrcImageSymmetryFindCheckTypeCentreGC);
4560 fprintf(fpt, " %d : Centre is Rotational Symmetry\n", lmrcImageSymmetryFindCheckTypeCentreSymmetry);
61+ fprintf(fpt, " %d : Centre is at Image Centre \n", lmrcImageSymmetryFindCheckTypeCentreCentre);
62+ fprintf(fpt, " %d : Centre is at Image Origin\n", lmrcImageSymmetryFindCheckTypeCentreOrigin);
4663
4764
4865 fprintf(fpt, ">>>> subtrcation type mode\n");
@@ -51,9 +68,47 @@ lmrcImageSymmetryFindModePrint(FILE* fpt)
5168 fprintf(fpt, " %d : Min Subtraction\n", lmrcImageSymmetryFindCheckTypeMinSubtraction);
5269 }
5370
54-extern void
71+void
5572 lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode)
5673 {
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+{
57112 DescartesCoord d, c, cMin, cMax, optimum;
58113 double est, tmp;
59114 mrcImageParaTypeReal x, y, z;
@@ -168,6 +223,8 @@ lmrcImageSymmetryCentreFind(mrcImage* in, DescartesCoord* centre, int mode)
168223 void
169224 lmrcImageSymmetryFind(mrcImage* in, lmrcImageSymmetryFindInfo* linfo, int mode)
170225 {
226+ //lmrcImageSymmetryCentreFind(in, &linfo->centre, linfo->centreMode);
227+
171228 floatVectorInit(&(linfo->Value), linfo->maxNfold+1);
172229 floatVectorInit(&(linfo->Point), linfo->maxNfold+1);
173230
@@ -215,8 +272,10 @@ lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInf
215272 }
216273 }
217274
218- if(max<=min) {
275+
276+ if(max<min) {
219277 fprintf(stderr, "Something wrong in lmrcImageSymmetryFindCheckResultOut: max <= min\n");
278+ exit(EXIT_FAILURE);
220279 }
221280
222281 for(i=linfo->minNfold; i<=linfo->maxNfold; i++) {
@@ -248,6 +307,7 @@ lmrcImageSymmetryFindResultOut(FILE* fpt, mrcImage* in, lmrcImageSymmetryFindInf
248307 }
249308 }
250309 fprintf(fpt, ")\n");
310+ fprintf(fpt, "Centre: %f %f %f\n", linfo->centre.x, linfo->centre.y, linfo->centre.z);
251311 if(linfo->flagAvg) {
252312 lmrcImageSymmetryAverage(&(linfo->avg), in, symn, linfo->centre, 0);
253313 mrcFileWrite(&(linfo->avg), linfo->avgName, "in lmrcImageSymmetryFindResultOut", 0);
@@ -528,10 +588,39 @@ lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* inf
528588 /* Transform Descartes Coordinates Into Polar Coordinates */
529589 linfo.dr = info->dr;
530590 linfo.dphi = info->dtheta;
531- linfo.flagDescartesIntoPolarInfo = 0;
532591 linfo.flagrWeight = 0;
533592 linfo.axisInfo = info->centreInfo;
534593
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+
535624 /* Fourier Component */
536625 for(i=info->minNfold; i<=info->maxNfold; i++) {
537626 DEBUGPRINT1("%d-fold Start\n", i)
@@ -540,10 +629,6 @@ lmrcImageSymmetryFindCheckByFourier(mrcImage* in, lmrcImageSymmetryFindInfo* inf
540629 linfo.flagImageCentreIsGravityCentre = 0;
541630 linfo.flagRotationalSymmetry = 1;
542631 linfo.flagCentre = 0;
543- } else {
544- linfo.flagImageCentreIsGravityCentre = 1;
545- linfo.flagRotationalSymmetry = 0;
546- linfo.flagCentre = 0;
547632 }
548633 lmrcImageTransformDescartesIntoPolar(&polarout, &subout, &linfo, &linfo2, 0);
549634 DEBUGPRINT3("%d %d %d\n", polarout.HeaderN.x, polarout.HeaderN.y, polarout.HeaderN.z);
@@ -568,7 +653,7 @@ lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* info, i
568653 mrcImageParaTypeRealCoord shift;
569654 int x,y;
570655 int i;
571- double data1,data2;
656+ double data1,data2, ave;
572657 lmrcImageTransformDescartesIntoPolarInfo linfo;
573658 lDescartesIntoPolarInfo linfo2;
574659
@@ -577,21 +662,45 @@ lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* info, i
577662
578663 /* Subtraction */
579664 lmrcImageSymmetryFindSubtraction(&subout, in, info, mode);
580-
581665 shift.y=0;
582666 shift.z=0;
583667 linfo.dr = info->dr;
584668 linfo.dphi = info->dtheta;
585- 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+ }
586696 linfo.flagDescartesIntoPolarInfo = 0;
587697 linfo.flagrWeight = 1;
588- linfo.flagRotationalSymmetry = 0;
589698
590699 lmrcImageTransformDescartesIntoPolar(&polarout, &subout, &linfo, &linfo2, 0);
591700
592701 for(i=info->minNfold; i<=info->maxNfold; i++) {
593702 info->Value.data[i]=0;
594- shift.x=360/i;
703+ shift.x=360.0/info->dtheta/i+0.5;
595704 shift.y=0;
596705 shift.z=0;
597706 lmrcImageShift(&shiftout,&polarout,shift,mrcPixelHowLinear);
@@ -599,15 +708,19 @@ lmrcImageSymmetryFindCheckByAdd(mrcImage* in, lmrcImageSymmetryFindInfo* info, i
599708
600709 for(x=0;x<=subout.HeaderN.x;x++){
601710 for(y=0;y<=subout.HeaderN.y;y++){
602- mrcPixelDataGet(&polarout, x,y,0,&data1,mrcPixelRePart,mrcPixelHowNearest);
603- mrcPixelDataGet(&shiftout,x,y,0,&data2,mrcPixelRePart,mrcPixelHowNearest);
604- 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) {
605715 info->Value.data[i]++;
606716 }
607717 }
608718 }
609719 DEBUGPRINT1("Finish until %2d.\n",i);
610720 }
721+ info->centre.x = linfo.Centre.x;
722+ info->centre.y = linfo.Centre.y;
723+ info->centre.z = linfo.Centre.z;
611724 }
612725
613726
@@ -631,13 +744,49 @@ lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo*
631744 /* Transform Descartes coordinates into Polar coordinates */
632745 linfo.dr = info->dr;
633746 linfo.dphi = info->dtheta;
634- 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+ }
635775 linfo.flagDescartesIntoPolarInfo = 0;
636776 linfo.flagrWeight = 1;
637- linfo.flagRotationalSymmetry = 0;
638777
639778 lmrcImageTransformDescartesIntoPolar(&polarout, &subout, &linfo, &linfo2, 0);
640779
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+ }
641790 /* Projection along radial axis */
642791 onedimout.Header=polarout.Header;
643792 onedimout.HeaderN.y=1;
@@ -668,7 +817,7 @@ lmrcImageSymmetryFindCheckByCorrelation(mrcImage* in, lmrcImageSymmetryFindInfo*
668817
669818 for(i=info->minNfold;i<=info->maxNfold;i++) {
670819 sum.data[i]=0;
671- delta=360/i;
820+ delta=(int)(360.0/info->dtheta/i+0.5);
672821 for(j=1;j<i;j++){
673822 mrcPixelDataGet(&(info->correlation),delta*j,0,0,&data1,mrcPixelRePart,mrcPixelHowNearest);
674823 sum.data[i]+=data1;
@@ -695,7 +844,8 @@ lmrcImageSymmetryAverage(mrcImage* out, mrcImage* in, int num, DescartesCoord ce
695844 for(z=0; z<out->HeaderN.z; z++) {
696845 for(y=0; y<out->HeaderN.y; y++) {
697846 for(x=0; x<out->HeaderN.x; x++) {
698- 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))));
699849 angle = atan2(y-centre.y, x-centre.x);
700850 for(i=0; i<num; i++) {
701851 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
@@ -36,7 +36,9 @@ typedef enum lmrcImageSymmetryFindCheckType {
3636
3737 typedef enum lmrcImageSymmetryFindCentreType {
3838 lmrcImageSymmetryFindCheckTypeCentreGC = 0,
39- lmrcImageSymmetryFindCheckTypeCentreSymmetry = 1
39+ lmrcImageSymmetryFindCheckTypeCentreSymmetry = 1,
40+ lmrcImageSymmetryFindCheckTypeCentreCentre = 2,
41+ lmrcImageSymmetryFindCheckTypeCentreOrigin = 3
4042 } lmrcImageSymmetryFindCentreType;
4143
4244 typedef enum lmrcImageSymmetryFindSubtractionType {
@@ -120,7 +122,17 @@ extern void
120122 lmrcImageSymmetryFindModePrint(FILE* fpt);
121123
122124 extern void
125+lmrcImageSymmetryFindAlgorythmPrint(FILE* fpt);
126+
127+extern void
123128 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+
124136 /* prototype end */
125137
126138 #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
@@ -688,3 +688,11 @@ WORLDNAME=Tools
688688 WORLDNAME=Tools
689689 WORLDNAME=Tools
690690 WORLDNAME=Tools
691+WORLDNAME=Tools
692+WORLDNAME=Tools
693+WORLDNAME=Tools
694+WORLDNAME=Tools
695+WORLDNAME=Tools
696+WORLDNAME=Tools
697+WORLDNAME=Tools
698+WORLDNAME=Tools
--- a/src/Tools/Integration/Display2/Config/OptionControlFile
+++ b/src/Tools/Integration/Display2/Config/OptionControlFile
@@ -1,12 +1,13 @@
11 # OptionControlFile
22 # FileFormat
3-"-i","-i[nput]","InputDataFile","Optional","1","1","In","inFile","NULL"
3+"-i","-i[nput]","Input:mrcImage","Optional","1","1","In","inFile::mrcImage","NULL"
44 "-t","-t[epmlate]","Template for InputFile ","Optional","1","1","Template","String","%d.roi"
5-"-H","-H[ighForThres]","Template for InputFile ","Optional","1","1","ThresHigh","Real","0.0"
6-"-L","-L[owForThres]","Template for InputFile ","Optional","1","1","ThresLow","Real","0.0"
5+"-H","-H[ighForThres]","HighThres","Optional","1","1","ThresHigh","Real","0.0"
6+"-L","-L[owForThres]","LowThres","Optional","1","1","ThresLow","Real","0.0"
77 "-Zoom","-Zoom","Zoom for InputFile ","Optional","1","1","Zoom","Real","1.0"
88 "-Inverse","-Inverse","Inverse (HighValue(dark)<->LowValue(bright)) for InputFile ","Optional","0"
99 "-o","-o[utput]","OutputLogFile","Optional","1","1","Out","String",".EosLog"
10+"-def","-def[ault]","OutputLogFile","Optional","1","1","Default","String","~/.Eos/Display2"
1011 "-display","-display","OutputLogFile","Optional","1","1","geometry","String",":0.0"
1112 "-geometry","-geometry","OutputLogFile","Optional","1","1","display","String","1024x1024+0+0"
1213 "-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
--- a/src/Tools/Integration/Display2/inc/Display2.h
+++ b/src/Tools/Integration/Display2/inc/Display2.h
@@ -34,6 +34,9 @@ typedef struct Display2Info {
3434 long flagOut;
3535 char* Out;
3636
37+ long flagDefault;
38+ char* Default;
39+
3740 long flaggeometry;
3841 char* geometry;
3942
--- a/src/Tools/Integration/Display2/src/Display2.c
+++ b/src/Tools/Integration/Display2/src/Display2.c
@@ -87,6 +87,7 @@ Tcl_AppInit(Tcl_Interp *interp)
8787 sprintf(s, "%ld", info.Inverse);
8888 Tcl_SetVar(interp, "Inverse", s, 0);
8989 }
90+ Tcl_SetVar(interp, "defaultFile", info.Default, 0);
9091 Tcl_SetVar(interp, "LogFile", info.Out, 0);
9192 Tcl_SetVar(interp, "fileNameTemplate", info.Template, 0);
9293
--- a/src/Tools/Integration/Display2/src/Display2.html
+++ b/src/Tools/Integration/Display2/src/Display2.html
@@ -8,13 +8,14 @@
88 <PRE>
99 Usage: Display2
1010 Options:
11- [-i[nput] In (NULL ).as(inFile ) ] :Optional :InputDataFile
11+ [-i[nput] In (NULL ).as(inFile::mrcImage ) ] :Optional :Input:mrcImage
1212 [-t[epmlate] Template (%d.roi ).as(String ) ] :Optional :Template for InputFile
13- [-H[ighForThres] ThresHigh (0.0 ).as(Real ) ] :Optional :Template for InputFile
14- [-L[owForThres] ThresLow (0.0 ).as(Real ) ] :Optional :Template for InputFile
13+ [-H[ighForThres] ThresHigh (0.0 ).as(Real ) ] :Optional :HighThres
14+ [-L[owForThres] ThresLow (0.0 ).as(Real ) ] :Optional :LowThres
1515 [-Zoom Zoom (1.0 ).as(Real ) ] :Optional :Zoom for InputFile
1616 [-Inverse ] :Optional :Inverse (HighValue(dark)<->LowValue(bright)) for InputFile
1717 [-o[utput] Out (.EosLog ).as(String ) ] :Optional :OutputLogFile
18+ [-def[ault] Default (~/.Eos/Display2).as(String ) ] :Optional :OutputLogFile
1819 [-display geometry (:0.0 ).as(String ) ] :Optional :OutputLogFile
1920 [-geometry display (1024x1024+0+0).as(String ) ] :Optional :OutputLogFile
2021 [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile
--- a/src/Tools/Integration/Display2/src/Display2.pane
+++ b/src/Tools/Integration/Display2/src/Display2.pane
@@ -7,17 +7,18 @@
77 -R 1 0 1 5x1+35+0 'Run' 'execute operation' $EOS/bin/Display2
88 -H 1 5x1+41+0 'Help' 'help page' $EOS/src/Tools/Integration/Display2/doc/Display2.doc help
99 -Q 1 0 5.25x1+47+0 'Close'
10- -I 1 0 1 0 0 1 -1x1+1+1.500000 ' ' 'In' 'InputDataFile' i
10+ -I 1 0 1 0 0 1 -1x1+1+1.500000 ' ' 'In' 'Input:mrcImage' i
1111 -s 1 0 1 0 0 -1x1+1+3.000000 0 0 0 0 0 'Template' 'Template for InputFile ' t
12- -f 1 0 1 0 0 -1x1+1+4.500000 0 0 0.000000 0 0 0 'ThresHigh' 'Template for InputFile ' H
13- -f 1 0 1 0 0 -1x1+1+6.000000 0 0 0.000000 0 0 0 'ThresLow' 'Template for InputFile ' L
12+ -f 1 0 1 0 0 -1x1+1+4.500000 0 0 0.000000 0 0 0 'ThresHigh' 'HighThres' H
13+ -f 1 0 1 0 0 -1x1+1+6.000000 0 0 0.000000 0 0 0 'ThresLow' 'LowThres' L
1414 -f 1 0 1 0 0 -1x1+1+7.500000 0 0 1.000000 0 0 0 'Zoom' 'Zoom for InputFile ' Zoom
1515 -t 1 0 1 0 0 6x1+1+9 'Inverse' 'Inverse (HighValue(dark)<->LowValue(bright)) for InputFile ' Inverse
1616 -s 1 0 1 0 0 -1x1+1+10.500000 0 0 0 0 0 'Out' 'OutputLogFile' o
17- -s 1 0 1 0 0 -1x1+1+12.000000 0 0 0 0 0 'geometry' 'OutputLogFile' display
18- -s 1 0 1 0 0 -1x1+1+13.500000 0 0 1024 0 0 'display' 'OutputLogFile' geometry
19- -I 1 0 1 0 0 1 -1x1+1+15.000000 ' ' 'configFile' 'ConfigurationFile' c
20- -i 1 0 1 0 0 -1x1+1+16.500000 0 0 0 0 0 'mode' 'Mode' m
17+ -s 1 0 1 0 0 -1x1+1+12.000000 0 0 0 0 0 'Default' 'OutputLogFile' def
18+ -s 1 0 1 0 0 -1x1+1+13.500000 0 0 0 0 0 'geometry' 'OutputLogFile' display
19+ -s 1 0 1 0 0 -1x1+1+15.000000 0 0 1024 0 0 'display' 'OutputLogFile' geometry
20+ -I 1 0 1 0 0 1 -1x1+1+16.500000 ' ' 'configFile' 'ConfigurationFile' c
21+ -i 1 0 1 0 0 -1x1+1+18.000000 0 0 0 0 0 'mode' 'Mode' m
2122 -E
2223 -E
2324 -E
--- a/src/Tools/Integration/Display2/src/argCheck.c
+++ b/src/Tools/Integration/Display2/src/argCheck.c
@@ -103,6 +103,17 @@ argCheck(Display2Info* info, int argc, char* argv[])
103103 }
104104 SBREAK;
105105 }
106+ SCASE("def") {
107+ if(i+1<argc) {
108+ info->Default = stringGetNthWord(argv[i+1], 1, " ,");
109+ i++;
110+ info->flagDefault++;
111+ } else {
112+ usage(argv[0]);
113+ exit(EXIT_FAILURE);
114+ }
115+ SBREAK;
116+ }
106117 SCASE("display") {
107118 if(i+1<argc) {
108119 info->geometry = stringGetNthWord(argv[i+1], 1, " ,");
--- a/src/Tools/Integration/Display2/src/init.c
+++ b/src/Tools/Integration/Display2/src/init.c
@@ -19,6 +19,7 @@ init0(Display2Info* info)
1919 info->Zoom = 1.0; info->flagZoom = 0;
2020 info->Inverse=0;
2121 info->Out = stringGetNthWord(".EosLog", 1, "\0"); info->flagOut = 0;
22+ info->Default = stringGetNthWord("~/.Eos/Display2", 1, "\0"); info->flagDefault = 0;
2223 info->geometry = stringGetNthWord(":0.0", 1, "\0"); info->flaggeometry = 0;
2324 info->display = stringGetNthWord("1024x1024+0+0", 1, "\0"); info->flagdisplay = 0;
2425 info->fptconfigFile = NULL; info->flagconfigFile = 0;
@@ -49,6 +50,9 @@ init1(Display2Info* info)
4950 if(info->flagOut) {
5051 }
5152
53+ if(info->flagDefault) {
54+ }
55+
5256 if(info->flaggeometry) {
5357 }
5458
--- a/src/Tools/Integration/Display2/src/test/Makefile
+++ b/src/Tools/Integration/Display2/src/test/Makefile
@@ -11,7 +11,7 @@ help:
1111
1212 exec:
1313 @echo "----- Execution Check -----"
14- ../$(OSTYPE)/$(OBJECTNAME) -i data/test.mrc < ../wish/Display2.wish
14+ ../$(OSTYPE)/$(OBJECTNAME) -i data/FlagellaSection-0001.mrc < ../wish/Display2.wish
1515 @echo "----- Calc check -----"
1616
1717 clean:
--- a/src/Tools/Integration/Display2/src/usage.c
+++ b/src/Tools/Integration/Display2/src/usage.c
@@ -7,13 +7,14 @@ usage(char* thisProgram)
77 {
88 fprintf(stderr, "Usage: %s\n", thisProgram);
99 fprintf(stderr, "Options:\n");
10- fprintf(stderr, " [-i[nput] In (NULL ).as(inFile ) ] :Optional :InputDataFile\n");
10+ fprintf(stderr, " [-i[nput] In (NULL ).as(inFile::mrcImage ) ] :Optional :Input:mrcImage\n");
1111 fprintf(stderr, " [-t[epmlate] Template (%%d.roi ).as(String ) ] :Optional :Template for InputFile \n");
12- fprintf(stderr, " [-H[ighForThres] ThresHigh (0.0 ).as(Real ) ] :Optional :Template for InputFile \n");
13- fprintf(stderr, " [-L[owForThres] ThresLow (0.0 ).as(Real ) ] :Optional :Template for InputFile \n");
12+ fprintf(stderr, " [-H[ighForThres] ThresHigh (0.0 ).as(Real ) ] :Optional :HighThres\n");
13+ fprintf(stderr, " [-L[owForThres] ThresLow (0.0 ).as(Real ) ] :Optional :LowThres\n");
1414 fprintf(stderr, " [-Zoom Zoom (1.0 ).as(Real ) ] :Optional :Zoom for InputFile \n");
1515 fprintf(stderr, " [-Inverse ] :Optional :Inverse (HighValue(dark)<->LowValue(bright)) for InputFile \n");
1616 fprintf(stderr, " [-o[utput] Out (.EosLog ).as(String ) ] :Optional :OutputLogFile\n");
17+ fprintf(stderr, " [-def[ault] Default (~/.Eos/Display2).as(String ) ] :Optional :OutputLogFile\n");
1718 fprintf(stderr, " [-display geometry (:0.0 ).as(String ) ] :Optional :OutputLogFile\n");
1819 fprintf(stderr, " [-geometry display (1024x1024+0+0).as(String ) ] :Optional :OutputLogFile\n");
1920 fprintf(stderr, " [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile\n");
--- a/src/Tools/Integration/Display2/src/wish/Display2Init.wish
+++ b/src/Tools/Integration/Display2/src/wish/Display2Init.wish
@@ -1,5 +1,30 @@
11 #!../Display2.HP
2-proc display2Init {} {
2+
3+# From Arguments
4+proc display2SetVar {} {
5+ global mainImage
6+ global Roi
7+ global thresHigh
8+ global thresLow
9+ global Inverse
10+ global Zoom
11+
12+ if [ info exists thresHigh ] {
13+ set mainImage(thresHigh) $thresHigh
14+ }
15+ if [ info exists thresLow ] {
16+ set mainImage(thresLow) $thresLow
17+ }
18+ if [ info exists Inverse ] {
19+ set mainImage(Inverse) Yes
20+ }
21+ if { [ info exists Zoom ] } {
22+ set Roi(Zoom) $Zoom
23+ }
24+}
25+
26+# Set
27+proc display2InitVar {} {
328 global mousePressed
429 global Roi
530 global Point
@@ -16,6 +41,7 @@ proc display2Init {} {
1641 global mainImage
1742 global overviewImage
1843 global UnitCell
44+ global Section
1945
2046 global roiInfoWin
2147
@@ -29,8 +55,6 @@ proc display2Init {} {
2955
3056 set tcl_precision 17
3157
32- #puts "in display2Init"
33-
3458 # Canvas Area Create
3559 if [ info exists Desktop(mainCanvasX) ] {
3660 set Desktop(mainCanvasX) $Desktop(mainCanvasX)
@@ -42,9 +66,13 @@ proc display2Init {} {
4266 } else {
4367 set Desktop(mainCanvasY) 1999
4468 }
69+
70+
4571 Canvas .overview_canvas 128 128
4672 Canvas .zoom_canvas 128 128
73+
4774 scrolledCanvas .main_canvas 128 128 [ list 0 0 $Desktop(mainCanvasX) $Desktop(mainCanvasY) ]
75+
4876 set Desktop(mainCanvas) .main_canvas
4977 set Desktop(overviewCanvas) .overview_canvas
5078 set Desktop(zoomCanvas) .zoom_canvas
@@ -53,7 +81,8 @@ proc display2Init {} {
5381 set mainImage(mainCanvas) .main_canvas
5482 set mainImage(overviewCanvas) .overview_canvas
5583 set mainImage(zoomCanvas) .zoom_canvas
56-
84+
85+
5786 set overviewImage(image) No
5887
5988 set mainImage(image) No
@@ -66,21 +95,11 @@ proc display2Init {} {
6695 set mainImage(lz) 0
6796 set mainImage(max) 1.0
6897 set mainImage(min) 0.0
69- if [ info exists thresHigh ] {
70- set mainImage(thresHigh) $thresHigh
71- } else {
72- set mainImage(thresHigh) No
73- }
74- if [ info exists thresLow ] {
75- set mainImage(thresLow) $thresLow
76- } else {
77- set mainImage(thresLow) No
78- }
79- if [ info exists Inverse ] {
80- set mainImage(Inverse) Yes
81- } else {
82- set mainImage(Inverse) No
83- }
98+
99+ set mainImage(thresHigh) No
100+ set mainImage(thresLow) No
101+ set mainImage(Inverse) No
102+
84103 set mainImage(Contrast) 2
85104
86105 set mainImage(region) No
@@ -117,11 +136,12 @@ proc display2Init {} {
117136 set Roi(Extract) foreground
118137 set Roi(withScale) Off
119138 set Roi(absTicks) 54.6
139+ set Roi(numFormat) "-%04d.roi"
120140
121141 if { [ info exists fileNameIn ] } {
122142 set Roi(MontageFile) [ string trimright $fileNameIn ".mrc" ].mon
123143 set Roi(InformationFile) [ string trimright $fileNameIn ".mrc" ].roiinfo
124- set Roi(ROIFile) [ string trimright $fileNameIn ".mrc" ]-%04d.roi
144+ set Roi(ROIFile) [ string trimright $fileNameIn ".mrc" ]$Roi(numFormat)
125145 set Roi(ShrinkOriginalFile) [ string trimright $fileNameIn ".shrink"].mrc
126146 } else {
127147 set Roi(MontageFile) No.mon
@@ -131,11 +151,7 @@ proc display2Init {} {
131151 set Roi(CurrentID) 0
132152 set Roi(TotalN) 0
133153 #
134- if { [ info exists Zoom ] } {
135- set Roi(Zoom) $Zoom
136- } else {
137- set Roi(Zoom) 1
138- }
154+ set Roi(Zoom) 1
139155 set Roi(ZoomX) 1
140156 set Roi(ZoomY) 1
141157
@@ -195,6 +211,174 @@ proc display2Init {} {
195211 set UnitCell(beta) 90
196212 set UnitCell(gamma) 90
197213
214+ set Section(Initialize) 1
215+ set Section(flag) OFF
216+ set Section(which) Y
217+ set Section(scale) 1
218+ set Section(scaleDelta) 0.1
219+ set Section(at) 0
220+ set Section(atDelta) 1
221+ set Section(mode) normal
222+ set Section(Num) 0
223+ set Section(Current) -1
224+ set Section(Win,Title) "Section Information"
225+}
226+
227+proc display2InitVarSet { filename } {
228+ if [ file isdirectory "~/.Eos/ ] {
229+ #
230+ } else {
231+ file mkdir "~/.Eos"
232+ }
233+ set fpt [ open $filename a ]
234+
235+puts $fpt {
236+#
237+# Default
238+#
239+
240+# Precision
241+set tcl_precision 17
242+
243+# Image
244+set mainImage(thresHigh) No
245+set mainImage(thresLow) No
246+set mainImage(Inverse) No
247+set mainImage(Contrast) 2
248+set mainImage(flagLog) 0
249+set mainImage(flagPow) 0
250+set mainImage(HistNum) 256
251+
252+# Roi
253+set Roi(OKColor) #118866
254+set Roi(SelectColor) #0000ff
255+set Roi(LineWidth) 3
256+set Roi(CurrentColor) $Roi(OKColor)
257+set Roi(Shape) Rectangle
258+set Roi(Shrink) 1
259+set Roi(MultiShape) Off
260+set Roi(MultiNumber) Off
261+set Roi(SizeLock) Off
262+set Roi(Analysis) Off
263+set Roi(View) off
264+set Roi(Extract) foreground
265+set Roi(withScale) Off
266+set Roi(absTicks) 54.6
267+set Roi(numFormat) "-%04d.roi"
268+
269+# Zooming
270+set Roi(Zoom) 1
271+set Roi(ZoomX) 1
272+set Roi(ZoomY) 1
273+
274+# Point
275+set Point(x) 0
276+set Point(y) 0
277+set Point(dat) 0
278+set Point(cx) 0
279+set Point(cy) 0
280+set Point(cdat) 0
281+
282+# Roi Rectangle
283+set rectanglePoints(width) 128.0
284+set rectanglePoints(height) 128.0
285+set rectanglePoints(angle) 0.0
286+
287+# spline
288+set splinePoints(Width) 80
289+
290+# LayerLine
291+set LayerLine(flag) OFF
292+set LayerLine(pointRadius) 3
293+
294+# Projection Line
295+set Projection(flag) OFF
296+set Projection(which) Y
297+set Projection(scale) 1
298+
299+# Unit Cell
300+set UnitCell(n) 0
301+set UnitCell(dimension) 2
302+set UnitCell(axis1,n) 5
303+set UnitCell(axis2,n) 5
304+set UnitCell(axis3,n) 0
305+set UnitCell(axis1,x) 1
306+set UnitCell(axis1,y) 0
307+set UnitCell(axis1,z) 0
308+set UnitCell(axis2,x) 0
309+set UnitCell(axis2,y) 1
310+set UnitCell(axis2,z) 0
311+set UnitCell(axis3,x) 0
312+set UnitCell(axis3,y) 0
313+set UnitCell(axis3,z) 1
314+
315+set UnitCell(box,x) 5
316+set UnitCell(box,y) 5
317+set UnitCell(box,z) 0
318+
319+set UnitCell(alpha) 90
320+set UnitCell(beta) 90
321+set UnitCell(gamma) 90
322+
323+# Section
324+set Section(flag) OFF
325+set Section(which) Y
326+set Section(scale) 1
327+set Section(scaleDelta) 0.1
328+set Section(at) 0
329+set Section(atDelta) 1
330+set Section(mode) normal
331+}
332+ close $fpt
333+}
334+
335+proc display2Init {} {
336+ global mousePressed
337+ global Roi
338+ global Point
339+ global rectanglePoints
340+ global linePoints
341+ global splinePoints
342+ global LayerLine
343+ global Projection
344+ global ctfInfo
345+ global LogFile
346+
347+ global Desktop
348+ global CommandPut
349+ global mainImage
350+ global overviewImage
351+ global UnitCell
352+
353+ global roiInfoWin
354+
355+ # Global Variables from Display2
356+ global fileNameIn
357+ global LogFile
358+ global thresHigh
359+ global thresLow
360+ global Inverse
361+ global Zoom
362+
363+ global defaultFile
364+
365+ display2InitVar
366+
367+ if [ info exists defaultFile ] {
368+ #
369+ } else {
370+ set defaultFile "~/.Eos/Display2"
371+ }
372+ if [ file exists $defaultFile ] {
373+ #
374+ } else {
375+ display2InitVarSet $defaultFile
376+ }
377+ source $defaultFile
378+
379+ # from arguments
380+ display2SetVar
381+
198382 display2MenuSet
199383 display2MenuSet2
200384 display2BindingSet .main_canvas.canvas
--- a/src/Tools/mrcImage/mrcImageAreaCalc/Config/OptionControlFile
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/Config/OptionControlFile
@@ -6,5 +6,6 @@
66 "-l","-l[abel]","Output: mrcImage:labeling","Optional","1","1","Label","outFile::mrcImage","NULL"
77 "-OH","-O[utput]H[istgram]","Output: ASCII: area info","Optional","1","1","OutHist","outFile::ASCII","NULL"
88 "-H","-H[istgram]","Delta","Optional","1","1","DelHist","Real","1"
9+"-N","-N[eighbor]","Neighbor","Optional","1","1","Neighbor","Real","0"
910 "-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
1011 "-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0"
--- a/src/Tools/mrcImage/mrcImageAreaCalc/inc/mrcImageAreaCalc.h
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/inc/mrcImageAreaCalc.h
@@ -36,6 +36,9 @@ typedef struct mrcImageAreaCalcInfo {
3636 long flagDelHist;
3737 float DelHist;
3838
39+ long flagNeighbor;
40+ float Neighbor;
41+
3942 long flagconfigFile;
4043 char* configFile;
4144 FILE* fptconfigFile;
--- a/src/Tools/mrcImage/mrcImageAreaCalc/src/argCheck.c
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/src/argCheck.c
@@ -94,6 +94,17 @@ argCheck(mrcImageAreaCalcInfo* info, int argc, char* argv[])
9494 }
9595 SBREAK;
9696 }
97+ SCASE("N") {
98+ if(i+1<argc) {
99+ info->Neighbor = stringGetNthRealData(argv[i+1], 1, " ,");
100+ i++;
101+ info->flagNeighbor++;
102+ } else {
103+ usage(argv[0]);
104+ exit(EXIT_FAILURE);
105+ }
106+ SBREAK;
107+ }
97108 SCASE("c") {
98109 if(i+1<argc) {
99110 info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
--- a/src/Tools/mrcImage/mrcImageAreaCalc/src/init.c
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/src/init.c
@@ -18,6 +18,7 @@ init0(mrcImageAreaCalcInfo* info)
1818 info->fptLabel = NULL; info->flagLabel = 0;
1919 info->fptOutHist = NULL; info->flagOutHist = 0;
2020 info->DelHist = 1; info->flagDelHist = 0;
21+ info->Neighbor = 0; info->flagNeighbor = 0;
2122 info->fptconfigFile = NULL; info->flagconfigFile = 0;
2223 info->mode = 0; info->flagmode = 0;
2324 }
@@ -60,6 +61,9 @@ init1(mrcImageAreaCalcInfo* info)
6061 if(info->flagDelHist) {
6162 }
6263
64+ if(info->flagNeighbor) {
65+ }
66+
6367 if(info->flagconfigFile) {
6468 info->fptconfigFile = fileOpen(info->configFile, "r");
6569 }
--- a/src/Tools/mrcImage/mrcImageAreaCalc/src/mrcImageAreaCalc.c
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/src/mrcImageAreaCalc.c
@@ -51,7 +51,7 @@ main(int argc, char* argv[])
5151 DEBUGPRINT("Program Start\n");
5252 mrcFileRead(&in, info.In, "mrcFileRead", 0);
5353
54- lmrcImageCalcArea(&out, &label, &in, 0);
54+ lmrcImageCalcArea(&out, &label, &in, info.Neighbor, 0);
5555
5656 mrcFileWrite(&out, info.Out, "mrcFileWrite", 0);
5757 if(info.flagLabel) {
--- a/src/Tools/mrcImage/mrcImageAreaCalc/src/mrcImageAreaCalc.html
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/src/mrcImageAreaCalc.html
@@ -14,6 +14,7 @@ Options:
1414 [-l[abel] Label (NULL ).as(outFile::mrcImage ) ] :Optional :Output: mrcImage:labeling
1515 [-O[utput]H[istgram] OutHist (NULL ).as(outFile::ASCII ) ] :Optional :Output: ASCII: area info
1616 [-H[istgram] DelHist (1 ).as(Real ) ] :Optional :Delta
17+ [-N[eighbor] Neighbor (0 ).as(Real ) ] :Optional :Neighbor
1718 [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile
1819 [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode
1920 ----- Additional Usage -----
--- a/src/Tools/mrcImage/mrcImageAreaCalc/src/mrcImageAreaCalc.pane
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/src/mrcImageAreaCalc.pane
@@ -13,8 +13,9 @@
1313 -O 1 0 1 0 0 1 -1x1+1+6.000000 ' ' 'Label' 'Output: mrcImage:labeling' l
1414 -O 1 0 1 0 0 1 -1x1+1+7.500000 ' ' 'OutHist' 'Output: ASCII: area info' OH
1515 -f 1 0 1 0 0 -1x1+1+9.000000 0 0 1.000000 0 0 0 'DelHist' 'Delta' H
16- -I 1 0 1 0 0 1 -1x1+1+10.500000 ' ' 'configFile' 'ConfigurationFile' c
17- -i 1 0 1 0 0 -1x1+1+12.000000 0 0 0 0 0 'mode' 'Mode' m
16+ -f 1 0 1 0 0 -1x1+1+10.500000 0 0 0.000000 0 0 0 'Neighbor' 'Neighbor' N
17+ -I 1 0 1 0 0 1 -1x1+1+12.000000 ' ' 'configFile' 'ConfigurationFile' c
18+ -i 1 0 1 0 0 -1x1+1+13.500000 0 0 0 0 0 'mode' 'Mode' m
1819 -E
1920 -E
2021 -E
--- a/src/Tools/mrcImage/mrcImageAreaCalc/src/usage.c
+++ b/src/Tools/mrcImage/mrcImageAreaCalc/src/usage.c
@@ -13,6 +13,7 @@ usage(char* thisProgram)
1313 fprintf(stderr, " [-l[abel] Label (NULL ).as(outFile::mrcImage ) ] :Optional :Output: mrcImage:labeling\n");
1414 fprintf(stderr, " [-O[utput]H[istgram] OutHist (NULL ).as(outFile::ASCII ) ] :Optional :Output: ASCII: area info\n");
1515 fprintf(stderr, " [-H[istgram] DelHist (1 ).as(Real ) ] :Optional :Delta\n");
16+ fprintf(stderr, " [-N[eighbor] Neighbor (0 ).as(Real ) ] :Optional :Neighbor\n");
1617 fprintf(stderr, " [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile\n");
1718 fprintf(stderr, " [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode\n");
1819 additionalUsage();
--- 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
--- /dev/null
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/test/Makefile
@@ -0,0 +1,35 @@
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
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)-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+
28+
29+clean:
30+
31+init:
32+ mrcImagePad -i $(DATA)-0001.roi -o $(DATA)-0001.pad -m 3 -H 256 -W 256
33+ mrcImageWindowing -i $(DATA)-0001.pad -o $(DATA)-0001.win -m 18 -W 0.05 0 0.05 0
34+ mrcImageShift -i $(DATA)-0001.win -o $(DATA)-0001.shift -x 128 -y 128
35+ mrcImageToneReversal -i $(DATA)-0001.shift -o $(DATA)-0001.neg
--- /dev/null
+++ b/src/Tools/mrcImage/mrcImageSymmetryFind/src/test/data
@@ -0,0 +1 @@
1+../../../../../..//data/mrcImageSymmetryFind
\ No newline at end of file
--- 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