OSDN Git Service

modified: .gitignore
authorTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Sun, 25 Jan 2015 05:36:53 +0000 (14:36 +0900)
committerTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Sun, 25 Jan 2015 05:36:53 +0000 (14:36 +0900)
modified:   Makefile

new file:   bin/mrcImageShapeSearch
modified:   include/lmrcImageMorphology.h
modified:   include/powerspectraTangentLine.h
modified:   src/Objects/DataManip/ctfInfo/src/lctfDetermination.c
modified:   src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c
modified:   src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageClusterAnalysis.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageMorphology.c
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageMorphology.h
modified:   src/Objects/General/Cluster/inc/Cluster.h
modified:   src/Objects/General/Cluster/src/clusterLogWrite.c
modified:   src/Tools/Config/Define.inc
typechange: src/Tools/Makefile
new file:   src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/

159 files changed:
.gitignore
Makefile
bin/mrcImageShapeSearch [new symlink]
bin/wish/Display2/tclIndex
hostdepend/X86MAC64/bin/X86MAC64/mrcImageBottomHatTransform
hostdepend/X86MAC64/bin/X86MAC64/mrcImageClosing
hostdepend/X86MAC64/bin/X86MAC64/mrcImageDilation
hostdepend/X86MAC64/bin/X86MAC64/mrcImageErosion
hostdepend/X86MAC64/bin/X86MAC64/mrcImageOpening
hostdepend/X86MAC64/bin/X86MAC64/mrcImageShapeSearch [new file with mode: 0755]
hostdepend/X86MAC64/bin/X86MAC64/mrcImageTopHatTransform
hostdepend/X86MAC64/lib/X86MAC64/libEosObjects.a
hostdepend/X86MAC64/lib/X86MAC64/libctfInfo.a
hostdepend/X86MAC64/lib/X86MAC64/libmrcImage.a
hostdepend/X86MAC64/lib/X86MAC64/shared/lmrcImageMorphology.sharedo
hostdepend/X86MAC64/lib/X86MAC64/shared/powerspectraTangentLine.sharedo
hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/libctfInfo.a
hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/libctfInfo.debug.a
hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/powerspectraTangentLine.sharedo
hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.a
hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.debug.a
hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/lmrcImageMorphology.sharedo
hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/clusterLogWrite.sharedo
hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/libCluster.a
hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/libCluster.debug.a
hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/.Depend [new file with mode: 0644]
hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/Makefile [new file with mode: 0755]
hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/X86MAC64 [new symlink]
hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/ctfEnvelopFunctionEstimate [new file with mode: 0755]
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageBottomHatTransform/src/X86MAC64/mrcImageBottomHatTransform
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageClosing/src/X86MAC64/mrcImageClosing
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageDilation/src/X86MAC64/mrcImageDilation
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageErosion/src/X86MAC64/mrcImageErosion
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageOpening/src/X86MAC64/mrcImageOpening
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/.Depend [new file with mode: 0644]
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/Makefile [new file with mode: 0755]
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/X86MAC64 [new symlink]
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/mrcImageShapeSearch [new file with mode: 0755]
hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageTopHatTransform/src/X86MAC64/mrcImageTopHatTransform
include/lmrcImageMorphology.h
include/powerspectraTangentLine.h
src/Objects/DataManip/ctfInfo/src/lctfDetermination.c
src/Objects/DataManip/ctfInfo/src/org/ctfFunction.c.02_03 [moved from src/Objects/DataManip/ctfInfo/src/ctfFunction.c.02_03 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoPVM.c.org [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoPVM.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoRead.c.02_08 [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoRead.c.02_08 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoRead.c.org [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoRead.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoWrite.c.02_01 [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoWrite.c.02_01 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoWrite.c.org [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoWrite.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoWrite2.c.org [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoWrite2.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoWrite2.h.20090324052422 [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoWrite2.h.20090324052422 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/ctfInfoWrite2.h.org [moved from src/Objects/DataManip/ctfInfo/src/ctfInfoWrite2.h.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lastigmatismDetection.c.org [moved from src/Objects/DataManip/ctfInfo/src/lastigmatismDetection.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lastigmatismDetection.h.org [moved from src/Objects/DataManip/ctfInfo/src/lastigmatismDetection.h.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.01_26 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.01_26 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.01_27 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.01_27 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.01_31 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.01_31 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.02_01 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.02_01 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.02_14 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.02_14 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.02_14.baf [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.02_14.baf with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.02_19 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.02_19 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.02_20 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.02_20 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.05_0601 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.05_0601 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.05_0728 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.05_0728 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.05_1011 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.05_1011 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.05_1012 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.05_1012 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.06_11_05 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.06_11_05 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.07_02_10 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.07_02_10 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.11_10 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.11_10 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.11_16 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.11_16 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.11_18 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.11_18 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.11_4 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.11_4 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.12_03 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.12_03 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.12_20 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.12_20 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.12_6 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.12_6 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.20090324051618 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.20090324051618 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.c.org [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.h.05_1011 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.h.05_1011 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermination.h.06_11_05 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermination.h.06_11_05 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermine.c.20090324051936 [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermine.c.20090324051936 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lctfDetermine.c.org [moved from src/Objects/DataManip/ctfInfo/src/lctfDetermine.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lmolecularEnvelope.c.org [moved from src/Objects/DataManip/ctfInfo/src/lmolecularEnvelope.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lmrcFSInfoScatteringAngularDistributionAverageSection.c.06_0112 [moved from src/Objects/DataManip/ctfInfo/src/lmrcFSInfoScatteringAngularDistributionAverageSection.c.06_0112 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lmrcFSInfoScatteringAngularDistributionAverageSection.c.06_11_01 [moved from src/Objects/DataManip/ctfInfo/src/lmrcFSInfoScatteringAngularDistributionAverageSection.c.06_11_01 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lmrcFSInfoScatteringAngularDistributionAverageSection.c.org [moved from src/Objects/DataManip/ctfInfo/src/lmrcFSInfoScatteringAngularDistributionAverageSection.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/lmrcFSInfoScatteringAngularDistributionAverageSection.h.org [moved from src/Objects/DataManip/ctfInfo/src/lmrcFSInfoScatteringAngularDistributionAverageSection.h.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.01_18.Limit6 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.01_18.Limit6 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_17 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_17 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_18 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_18 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_19 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_19 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_20 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_20 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_21 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_21 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_22 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_22 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_23 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_23 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.01_26 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.01_26 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.02_01 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.02_01 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.05_0531 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.05_0531 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.05_0602 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.05_0602 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.20090324051503 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.20090324051503 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.20150124 [new file with mode: 0644]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.org [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.h.20090324051508 [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.h.20090324051508 with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.h.org [moved from src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.h.org with 100% similarity]
src/Objects/DataManip/ctfInfo/src/org/thickness.ps [moved from src/Objects/DataManip/ctfInfo/src/thickness.ps with 100% similarity]
src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.c
src/Objects/DataManip/ctfInfo/src/powerspectraTangentLine.h
src/Objects/DataManip/ctfInfo/src/test.log [deleted file]
src/Objects/DataManip/mrcImage/src/lmrcImageClusterAnalysis.h
src/Objects/DataManip/mrcImage/src/lmrcImageMorphology.c
src/Objects/DataManip/mrcImage/src/lmrcImageMorphology.h
src/Objects/General/Cluster/inc/Cluster.h
src/Objects/General/Cluster/src/clusterLogWrite.c
src/Tools/Config/Define.inc
src/Tools/Makefile [changed from file to symlink]
src/Tools/ctfInfo/.Source
src/Tools/ctfInfo/ctfDetermine/src/ctfDetermine.c
src/Tools/ctfInfo/ctfDetermine/src/org/ctfDetermine.c.11_2 [moved from src/Tools/ctfInfo/ctfDetermine/src/ctfDetermine.c.11_2 with 100% similarity]
src/Tools/ctfInfo/ctfDetermine/src/org/ctfDetermine.c.20090324050029 [moved from src/Tools/ctfInfo/ctfDetermine/src/ctfDetermine.c.20090324050029 with 100% similarity]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/Define.inc [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/OptionControlFile [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/Target.inc [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Makefile [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/doc/Makefile [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/inc/config.h [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/inc/ctfEnvelopFunctionEstimate.h [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/.Depend [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/.Source [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/Makefile [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64 [new symlink]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/argCheck.c [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/ctfEnvelopFunctionEstimate.c [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/ctfEnvelopFunctionEstimate.pane [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/init.c [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/usage.c [new file with mode: 0755]
src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/util.c [new file with mode: 0755]
src/Tools/mrcImage/.Source
src/Tools/mrcImage/mrcImageClosing/src/mrcImageClosing.html
src/Tools/mrcImage/mrcImageDilation/src/mrcImageDilation.html
src/Tools/mrcImage/mrcImageErosion/Config/OptionControlFile
src/Tools/mrcImage/mrcImageErosion/src/mrcImageErosion.html
src/Tools/mrcImage/mrcImageErosion/src/usage.c
src/Tools/mrcImage/mrcImageOpening/src/mrcImageOpening.html
src/Tools/mrcImage/mrcImageShapeSearch/Config/Define.inc [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/Config/OptionControlFile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/Config/Target.inc [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/Makefile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/doc/Makefile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/inc/config.h [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/inc/mrcImageShapeSearch.h [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/.Depend [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/.Source [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/Makefile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64 [new symlink]
src/Tools/mrcImage/mrcImageShapeSearch/src/argCheck.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/init.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.html [new file with mode: 0644]
src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.pane [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/usage.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageShapeSearch/src/util.c [new file with mode: 0755]

index d147ca0..27abfd7 100644 (file)
@@ -13,6 +13,9 @@ src/*/.Source
 src/*/*/.Source
 
 #
+hostdepend/X86MAC64/
+
+#
 *.o
 *.debugo
 *.debug
index 86137eb..fb1ed2d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,7 @@ EOS_GIT_REPOSITRY_DATA_NOUSER=git://git.sourceforge.jp/gitroot/eos/data.git
 EOS_GIT_REPOSITRY_OTHERS= git.sourceforge.jp:/gitroot/eos/others.git 
 EOS_GIT_REPOSITRY_OTHERS_NOUSER=git://git.sourceforge.jp/gitroot/eos/others.git
 
+EOS_GIT_REPOSITRY_HOSTDEPEND=git.sourceforge.jp:/gitroot/eos/hostdepend
 
 help::
        @echo ">> Help"
@@ -98,9 +99,12 @@ relink:
 
 git-add-all:: git-add git-add-data git-add-optional git-add-tutorial git-add-others
 
-git-add::
+git-add:: 
        git add -v --all .
 
+git-add-hostdepend::
+       git subtree add --prefix=hostdepend/$${EOS_HOSTDIR} --squash $${EOS_GITUSER}@$(EOS_GIT_REPOSITRY_HOSTDEPEND)$${EOS_HOSTDIR}.git master 
+
 git-add-optional::
        cd optional; git add -v --all . 
 
@@ -175,12 +179,15 @@ git-tag-common::
 
 git-push-all:: git-push git-push-data git-push-optional git-push-tutorial git-push-others
 
-git-push::
+git-push::git-push-hostdepend
 #      git push origin master  --tags
        @export DIRECTORYNAME=./; \
        export ORIGINNAME=origin; \
        make git-push-with-check;
 
+git-push-hostdepend::
+       git subtree push --prefix=hostdepend/$${EOS_HOSTDIR} --squash $${EOS_GITUSER}@$(EOS_GIT_REPOSITRY_HOSTDEPEND)$${EOS_HOSTDIR}.git master 
+
 git-push-optional::
 #      cd optional; git push optional master --tags
        @export DIRECTORYNAME=optional; \
diff --git a/bin/mrcImageShapeSearch b/bin/mrcImageShapeSearch
new file mode 120000 (symlink)
index 0000000..eddb955
--- /dev/null
@@ -0,0 +1 @@
+../sbin/MachineIndependent
\ No newline at end of file
index 75a715a..8fd9302 100644 (file)
@@ -49,6 +49,7 @@ set auto_index(menuMultiRoiOKCommand) [list source [file join $dir Display2MenuR
 set auto_index(menuMultiRoiAllDeleteCommand) [list source [file join $dir Display2MenuROI.wish]]
 set auto_index(menuMultiRoiDeleteCommand) [list source [file join $dir Display2MenuROI.wish]]
 set auto_index(menuEditCreate) [list source [file join $dir Display2MenuROI.wish]]
+set auto_index(fft2dCmd) [list source [file join $dir fft2dCmd.wish]]
 set auto_index(layerLineRecreate) [list source [file join $dir LayerLineUtil.wish]]
 set auto_index(layerLineCreate) [list source [file join $dir LayerLineUtil.wish]]
 set auto_index(layerLineClear) [list source [file join $dir LayerLineUtil.wish]]
@@ -131,4 +132,3 @@ set auto_index(sectionClearAll) [list source [file join $dir SectionUtil.wish]]
 set auto_index(sectionClear) [list source [file join $dir SectionUtil.wish]]
 set auto_index(sectionChange) [list source [file join $dir SectionUtil.wish]]
 set auto_index(unitCellRecreate) [list source [file join $dir UnitCell.wish]]
-set auto_index(fft2dCmd) [list source [file join $dir fft2dCmd.wish]]
index 10d3ab4..75e2890 100755 (executable)
Binary files a/hostdepend/X86MAC64/bin/X86MAC64/mrcImageBottomHatTransform and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageBottomHatTransform differ
index 2fdebb7..8883f69 100755 (executable)
Binary files a/hostdepend/X86MAC64/bin/X86MAC64/mrcImageClosing and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageClosing differ
index 80bb693..1fbe6fa 100755 (executable)
Binary files a/hostdepend/X86MAC64/bin/X86MAC64/mrcImageDilation and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageDilation differ
index 4fc8b1d..6778c86 100755 (executable)
Binary files a/hostdepend/X86MAC64/bin/X86MAC64/mrcImageErosion and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageErosion differ
index 8b0f718..e204a04 100755 (executable)
Binary files a/hostdepend/X86MAC64/bin/X86MAC64/mrcImageOpening and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageOpening differ
diff --git a/hostdepend/X86MAC64/bin/X86MAC64/mrcImageShapeSearch b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageShapeSearch
new file mode 100755 (executable)
index 0000000..9327b75
Binary files /dev/null and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageShapeSearch differ
index cdc1be3..a4f5933 100755 (executable)
Binary files a/hostdepend/X86MAC64/bin/X86MAC64/mrcImageTopHatTransform and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImageTopHatTransform differ
index 8547ff5..ed0ff07 100644 (file)
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/libEosObjects.a and b/hostdepend/X86MAC64/lib/X86MAC64/libEosObjects.a differ
index c196007..c09b8b4 100644 (file)
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/libctfInfo.a and b/hostdepend/X86MAC64/lib/X86MAC64/libctfInfo.a differ
index 5330496..1287a31 100644 (file)
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/libmrcImage.a and b/hostdepend/X86MAC64/lib/X86MAC64/libmrcImage.a differ
index 52da382..bc2db49 100644 (file)
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/shared/lmrcImageMorphology.sharedo and b/hostdepend/X86MAC64/lib/X86MAC64/shared/lmrcImageMorphology.sharedo differ
index b455462..7ebeca0 100644 (file)
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/shared/powerspectraTangentLine.sharedo and b/hostdepend/X86MAC64/lib/X86MAC64/shared/powerspectraTangentLine.sharedo differ
index c196007..c09b8b4 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/libctfInfo.a and b/hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/libctfInfo.a differ
index 53fec2d..7db8a5f 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/libctfInfo.debug.a and b/hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/libctfInfo.debug.a differ
index b455462..7ebeca0 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/powerspectraTangentLine.sharedo and b/hostdepend/X86MAC64/src/Objects/DataManip/ctfInfo/src/X86MAC64/powerspectraTangentLine.sharedo differ
index 5330496..1287a31 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.a and b/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.a differ
index fc97f09..0c7472b 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.debug.a and b/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.debug.a differ
index 52da382..bc2db49 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/lmrcImageMorphology.sharedo and b/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/lmrcImageMorphology.sharedo differ
index c5254d2..251c5f2 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/clusterLogWrite.sharedo and b/hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/clusterLogWrite.sharedo differ
index 29f7653..a6f13e9 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/libCluster.a and b/hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/libCluster.a differ
index 66add89..e45ccd6 100644 (file)
Binary files a/hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/libCluster.debug.a and b/hostdepend/X86MAC64/src/Objects/General/Cluster/src/X86MAC64/libCluster.debug.a differ
diff --git a/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/.Depend b/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/.Depend
new file mode 100644 (file)
index 0000000..e06464c
--- /dev/null
@@ -0,0 +1,208 @@
+argCheck.o: argCheck.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
+  ../inc/../inc/ctfEnvelopFunctionEstimate.h \
+  /Users/tacyas/Eos/include/genUtil.h /Users/tacyas/Eos/include/File.h \
+  /Users/tacyas/Eos/include/Memory.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h
+ctfEnvelopFunctionEstimate.o: ctfEnvelopFunctionEstimate.c \
+  /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
+  ../inc/../inc/ctfEnvelopFunctionEstimate.h \
+  /Users/tacyas/Eos/include/genUtil.h /Users/tacyas/Eos/include/Memory.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h /Users/tacyas/Eos/include/ctfInfo.h \
+  /Users/tacyas/Eos/include/mrcImage.h \
+  /Users/tacyas/Eos/include/Matrix3D.h \
+  /Users/tacyas/Eos/include/Vector.h /Users/tacyas/Eos/include/Array.h \
+  /Users/tacyas/Eos/include/./lctfDetermination.h \
+  /Users/tacyas/Eos/include/./powerspectraTangentLine.h \
+  /Users/tacyas/Eos/include/./ctfInfoWrite2.h \
+  /Users/tacyas/Eos/include/./lmrcFSInfoScatteringAngularDistributionAverageSection.h
+init.o: init.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
+  ../inc/../inc/ctfEnvelopFunctionEstimate.h \
+  /Users/tacyas/Eos/include/genUtil.h /Users/tacyas/Eos/include/File.h \
+  /Users/tacyas/Eos/include/Memory.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h
+usage.o: usage.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  ../inc/config.h ../inc/../inc/ctfEnvelopFunctionEstimate.h
+util.o: util.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  ../inc/config.h ../inc/../inc/ctfEnvelopFunctionEstimate.h
diff --git a/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/Makefile b/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/Makefile
new file mode 100755 (executable)
index 0000000..ec61247
--- /dev/null
@@ -0,0 +1,114 @@
+include $(EOS_HOME)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config/Define.inc
+include $(EOS_HOME)/src/$(WORLDNAME)/$(CLASSNAME)/Config/Define.inc
+include $(EOS_HOME)/src/$(WORLDNAME)/Config/Define.inc
+include $(EOS_HOME)/src/Config/DefineTool.inc
+
+LIBFILES   = \
+                       $(LIBPREFIX)EosObjects$(LIBSUFFIX) 
+
+LIBFILESDEBUG   = \
+                       $(LIBPREFIX)EosObjects.debug$(LIBSUFFIX) 
+
+SRCC  = \
+                       $(OBJECTNAME).c \
+                       init.c \
+                       argCheck.c \
+                       usage.c  \
+                       util.c 
+
+SRCCXX  = \
+                       $(OBJECTNAME).cc \
+                       init.cc \
+                       argCheck.cc \
+                       usage.cc  \
+                       util.cc 
+
+MODULES    = \
+                       $(OBJECTNAME).o \
+                       init.o \
+                       argCheck.o \
+                       usage.o  \
+                       util.o 
+
+REALMODULES    = \
+                       $(OSTYPE)/$(OBJECTNAME).o \
+                       $(OSTYPE)/init.o \
+                       $(OSTYPE)/argCheck.o \
+                       $(OSTYPE)/usage.o \
+                       $(OSTYPE)/util.o 
+
+MODULESDEBUG    = \
+                       $(OBJECTNAME).debugo \
+                       init.debugo \
+                       argCheck.debugo \
+                       usage.debugo  \
+                       util.debugo 
+
+MODULESCUDAGDB    = \
+                       $(OBJECTNAME).cudagdb.o \
+                       init.cudagdb.o \
+                       argCheck.cudagdb.o \
+                       usage.cudagdb.o  \
+                       util.cudagdb.o 
+
+REALMODULESDEBUG    = \
+                       $(OSTYPE)/$(OBJECTNAME).debugo \
+                       $(OSTYPE)/init.debugo \
+                       $(OSTYPE)/argCheck.debugo \
+                       $(OSTYPE)/usage.debugo \
+                       $(OSTYPE)/util.debugo 
+
+
+$(OBJECTNAME): $(MODULES) $(LIBFILES)
+       @if [ -f $(VPATH)/$(OBJECTNAME).c ] ; \
+       then \
+               echo $(CC) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+               $(CC) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cc ] ; \
+       then \
+               echo $(CXX) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(CXX) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).ccm ] ; \
+       then \
+               echo "MICO"; \
+               echo $(MICOLD) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(MICOLD) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cu ] ; \
+       then \
+               echo $(NVCC) $(NVCCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) $(CUDALIB) $(CUDAINC) -o $@ ;  \
+               $(NVCC) $(NVCCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) $(CUDALIB) $(CUDAINC) -o $@ ;  \
+       fi
+
+
+$(OBJECTNAME).debug: $(MODULESDEBUG) $(LIBFILESDEBUG)
+       @if [ -f $(VPATH)/$(OBJECTNAME).c ] ; \
+       then \
+               echo $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+               $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cc ] ; \
+       then \
+               echo $(CXX) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(CXX) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).ccm ] ; \
+       then \
+               echo "MICO"; \
+               echo $(MICOLD) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(MICOLD) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cu ] ; \
+       then \
+               echo $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+               $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+       fi
+
+$(OBJECTNAME).cudagdb: $(MODULESCUDAGDB) $(LIBFILESDEBUG)
+       echo $(NVCC) "$(NVCCOPTSCUDAGDB) $(MODULESCUDAGDB) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@"
+       $(NVCC) $(NVCCOPTSCUDAGDB) $(MODULESCUDAGDB) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@
+
+include ./.Depend
+include  $(EOS_HOME)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config/Target.inc
diff --git a/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/X86MAC64 b/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/X86MAC64
new file mode 120000 (symlink)
index 0000000..19babc9
--- /dev/null
@@ -0,0 +1 @@
+../../../../../hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64
\ No newline at end of file
diff --git a/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/ctfEnvelopFunctionEstimate b/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/ctfEnvelopFunctionEstimate
new file mode 100755 (executable)
index 0000000..afa768d
Binary files /dev/null and b/hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64/ctfEnvelopFunctionEstimate differ
index 10d3ab4..75e2890 100755 (executable)
Binary files a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageBottomHatTransform/src/X86MAC64/mrcImageBottomHatTransform and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageBottomHatTransform/src/X86MAC64/mrcImageBottomHatTransform differ
index 2fdebb7..8883f69 100755 (executable)
Binary files a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageClosing/src/X86MAC64/mrcImageClosing and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageClosing/src/X86MAC64/mrcImageClosing differ
index 80bb693..1fbe6fa 100755 (executable)
Binary files a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageDilation/src/X86MAC64/mrcImageDilation and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageDilation/src/X86MAC64/mrcImageDilation differ
index 4fc8b1d..6778c86 100755 (executable)
Binary files a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageErosion/src/X86MAC64/mrcImageErosion and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageErosion/src/X86MAC64/mrcImageErosion differ
index 8b0f718..e204a04 100755 (executable)
Binary files a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageOpening/src/X86MAC64/mrcImageOpening and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageOpening/src/X86MAC64/mrcImageOpening differ
diff --git a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/.Depend b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/.Depend
new file mode 100644 (file)
index 0000000..369ba3d
--- /dev/null
@@ -0,0 +1,200 @@
+argCheck.o: argCheck.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
+  ../inc/../inc/mrcImageShapeSearch.h \
+  /Users/tacyas/Eos/include/genUtil.h /Users/tacyas/Eos/include/File.h \
+  /Users/tacyas/Eos/include/Memory.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h
+init.o: init.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
+  ../inc/../inc/mrcImageShapeSearch.h \
+  /Users/tacyas/Eos/include/genUtil.h /Users/tacyas/Eos/include/File.h \
+  /Users/tacyas/Eos/include/Memory.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/limits.h \
+  /usr/include/limits.h /usr/include/machine/limits.h \
+  /usr/include/i386/limits.h /usr/include/i386/_limits.h \
+  /usr/include/sys/syslimits.h
+mrcImageShapeSearch.o: mrcImageShapeSearch.c /usr/include/stdio.h \
+  /usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
+  ../inc/../inc/mrcImageShapeSearch.h \
+  /Users/tacyas/Eos/include/genUtil.h \
+  /Users/tacyas/Eos/include/mrcImage.h \
+  /Users/tacyas/Eos/include/Matrix3D.h \
+  /Users/tacyas/Eos/include/Vector.h /Users/tacyas/Eos/include/Array.h \
+  /Users/tacyas/Eos/include/ctfInfo.h
+usage.o: usage.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  ../inc/config.h ../inc/../inc/mrcImageShapeSearch.h
+util.o: util.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
+  /usr/include/sys/_symbol_aliasing.h \
+  /usr/include/sys/_posix_availability.h /usr/include/Availability.h \
+  /usr/include/AvailabilityInternal.h /usr/include/_types.h \
+  /usr/include/sys/_types.h /usr/include/machine/_types.h \
+  /usr/include/i386/_types.h /usr/include/sys/_types/_va_list.h \
+  /usr/include/sys/_types/_size_t.h /usr/include/sys/_types/_null.h \
+  /usr/include/sys/_types/_off_t.h /usr/include/sys/_types/_ssize_t.h \
+  /usr/include/secure/_stdio.h /usr/include/secure/_common.h \
+  /usr/include/stdlib.h /usr/include/sys/wait.h \
+  /usr/include/sys/_types/_pid_t.h /usr/include/sys/_types/_id_t.h \
+  /usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
+  /usr/include/machine/signal.h /usr/include/i386/signal.h \
+  /usr/include/machine/_mcontext.h /usr/include/i386/_mcontext.h \
+  /usr/include/mach/i386/_structs.h \
+  /usr/include/sys/_types/_sigaltstack.h \
+  /usr/include/sys/_types/_ucontext.h \
+  /usr/include/sys/_types/_pthread_attr_t.h \
+  /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
+  /usr/include/sys/resource.h \
+  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
+  /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
+  /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
+  /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
+  /usr/include/_types/_uint16_t.h /usr/include/_types/_uint32_t.h \
+  /usr/include/_types/_uint64_t.h /usr/include/sys/_types/_intptr_t.h \
+  /usr/include/sys/_types/_uintptr_t.h /usr/include/_types/_intmax_t.h \
+  /usr/include/_types/_uintmax_t.h /usr/include/sys/_types/_timeval.h \
+  /usr/include/machine/endian.h /usr/include/i386/endian.h \
+  /usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
+  /usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
+  /usr/include/sys/_types/_ct_rune_t.h /usr/include/sys/_types/_rune_t.h \
+  /usr/include/sys/_types/_wchar_t.h /usr/include/machine/types.h \
+  /usr/include/i386/types.h /usr/include/sys/_types/___offsetof.h \
+  /usr/include/sys/_types/_dev_t.h /usr/include/sys/_types/_mode_t.h \
+  ../inc/config.h ../inc/../inc/mrcImageShapeSearch.h
diff --git a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/Makefile b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/Makefile
new file mode 100755 (executable)
index 0000000..ec61247
--- /dev/null
@@ -0,0 +1,114 @@
+include $(EOS_HOME)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config/Define.inc
+include $(EOS_HOME)/src/$(WORLDNAME)/$(CLASSNAME)/Config/Define.inc
+include $(EOS_HOME)/src/$(WORLDNAME)/Config/Define.inc
+include $(EOS_HOME)/src/Config/DefineTool.inc
+
+LIBFILES   = \
+                       $(LIBPREFIX)EosObjects$(LIBSUFFIX) 
+
+LIBFILESDEBUG   = \
+                       $(LIBPREFIX)EosObjects.debug$(LIBSUFFIX) 
+
+SRCC  = \
+                       $(OBJECTNAME).c \
+                       init.c \
+                       argCheck.c \
+                       usage.c  \
+                       util.c 
+
+SRCCXX  = \
+                       $(OBJECTNAME).cc \
+                       init.cc \
+                       argCheck.cc \
+                       usage.cc  \
+                       util.cc 
+
+MODULES    = \
+                       $(OBJECTNAME).o \
+                       init.o \
+                       argCheck.o \
+                       usage.o  \
+                       util.o 
+
+REALMODULES    = \
+                       $(OSTYPE)/$(OBJECTNAME).o \
+                       $(OSTYPE)/init.o \
+                       $(OSTYPE)/argCheck.o \
+                       $(OSTYPE)/usage.o \
+                       $(OSTYPE)/util.o 
+
+MODULESDEBUG    = \
+                       $(OBJECTNAME).debugo \
+                       init.debugo \
+                       argCheck.debugo \
+                       usage.debugo  \
+                       util.debugo 
+
+MODULESCUDAGDB    = \
+                       $(OBJECTNAME).cudagdb.o \
+                       init.cudagdb.o \
+                       argCheck.cudagdb.o \
+                       usage.cudagdb.o  \
+                       util.cudagdb.o 
+
+REALMODULESDEBUG    = \
+                       $(OSTYPE)/$(OBJECTNAME).debugo \
+                       $(OSTYPE)/init.debugo \
+                       $(OSTYPE)/argCheck.debugo \
+                       $(OSTYPE)/usage.debugo \
+                       $(OSTYPE)/util.debugo 
+
+
+$(OBJECTNAME): $(MODULES) $(LIBFILES)
+       @if [ -f $(VPATH)/$(OBJECTNAME).c ] ; \
+       then \
+               echo $(CC) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+               $(CC) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cc ] ; \
+       then \
+               echo $(CXX) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(CXX) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).ccm ] ; \
+       then \
+               echo "MICO"; \
+               echo $(MICOLD) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(MICOLD) $(CCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cu ] ; \
+       then \
+               echo $(NVCC) $(NVCCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) $(CUDALIB) $(CUDAINC) -o $@ ;  \
+               $(NVCC) $(NVCCOPTS) $(MODULES) $(LIBFILES) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) $(CUDALIB) $(CUDAINC) -o $@ ;  \
+       fi
+
+
+$(OBJECTNAME).debug: $(MODULESDEBUG) $(LIBFILESDEBUG)
+       @if [ -f $(VPATH)/$(OBJECTNAME).c ] ; \
+       then \
+               echo $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+               $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cc ] ; \
+       then \
+               echo $(CXX) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(CXX) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).ccm ] ; \
+       then \
+               echo "MICO"; \
+               echo $(MICOLD) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+               $(MICOLD) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@  ; \
+       fi
+       @if [ -f $(VPATH)/$(OBJECTNAME).cu ] ; \
+       then \
+               echo $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+               $(CC) $(CCOPTSDEBUG) $(MODULESDEBUG) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@ ;  \
+       fi
+
+$(OBJECTNAME).cudagdb: $(MODULESCUDAGDB) $(LIBFILESDEBUG)
+       echo $(NVCC) "$(NVCCOPTSCUDAGDB) $(MODULESCUDAGDB) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@"
+       $(NVCC) $(NVCCOPTSCUDAGDB) $(MODULESCUDAGDB) $(LIBFILESDEBUG) $(EXTRA_LIB) $(KHOROS_LIBS) $(LIBPVM) $(STANDARDLIB) $(HOSTDEPENDENTLIB) -o $@
+
+include ./.Depend
+include  $(EOS_HOME)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config/Target.inc
diff --git a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/X86MAC64 b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/X86MAC64
new file mode 120000 (symlink)
index 0000000..a33c99b
--- /dev/null
@@ -0,0 +1 @@
+../../../../../hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64
\ No newline at end of file
diff --git a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/mrcImageShapeSearch b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/mrcImageShapeSearch
new file mode 100755 (executable)
index 0000000..9327b75
Binary files /dev/null and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64/mrcImageShapeSearch differ
index cdc1be3..a4f5933 100755 (executable)
Binary files a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageTopHatTransform/src/X86MAC64/mrcImageTopHatTransform and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageTopHatTransform/src/X86MAC64/mrcImageTopHatTransform differ
index a5ffa59..be3e0f6 100644 (file)
@@ -30,7 +30,7 @@ typedef struct lmrcImageMorphologyInfo {
        int nx;
        int ny;
        int nz;
-       int radius; /* for Disk*/
+       int radius; /* for Disk/Sphere/Cylinder*/
 
        /* SE feature */
        int mode;
@@ -53,7 +53,10 @@ void lmrcImageMorphologyStructuringElement2DDisk(mrcImage* out, int r, int n, in
 void lmrcImageMorphologyStructuringElement3DCross(mrcImage* out, int mode);
 void lmrcImageMorphologyStructuringElement3DCubic(mrcImage* out, int mode);
 void lmrcImageMorphologyStructuringElement3DSphere(mrcImage* out, int r, int n, int mode);
-void lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int n, int mode);
+void lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int nx, int ny, int nz, int mode);
+void lmrcImageMorphologyStructuringElement2DRectangle(mrcImage* out, int nx, int ny, int mode);
+void lmrcImageMorphologyStructuringElement3DCuboid(mrcImage* out, int nx, int ny, int nz, int mode);
+void lmrcImageMorphologyStructuringElement3DCylinder(mrcImage* out, int r, int nx, int ny, int nz, int mode);
 
 /* lmrcImageErosion.c */
 void lmrcImageErosion(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int mode);
index 7fa7ddd..d5835e9 100644 (file)
@@ -24,6 +24,12 @@ extern void TangentLine(floatVector* spacing,
                ctfInfo* ini,
                lctfDetermineInfo* linfo,
                int mode); 
+extern void TangentLinePrint(FILE* fpt, floatVector* spacing, 
+               floatVector* scatter,
+               float** belowCoefficient, 
+               float** aboveCoefficient, 
+               lctfDetermineInfo* linfo,
+               int mode); 
 
 
 /*prototype end*/
index 4dd81c8..3346a79 100644 (file)
@@ -994,7 +994,7 @@ void __MaximumByMinSquare(floatVector* functionX,floatVector* functionY,floatVec
 
 
 void
-lctfDeterminationbyMinSquareMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,long* MaxThonRing,lctfDetermineInfo* linfo,floatVector* defocus,floatVector* Eres, long mode)
+lctfDeterminationbyMinSquareMethods(ctfInfo* res, mrcImage* mrc, ctfInfo* ini,long* MaxThonRing, lctfDetermineInfo* linfo, floatVector* defocus, floatVector* Eres, long mode)
 {
        floatVector* scatter;
        floatVector* spacing;
@@ -1328,7 +1328,7 @@ lctfDeterminationbyMinSquareMethodsWithAcomp(ctfInfo* res, mrcImage* mrc, ctfInf
        Maximum75    = floatVectorInit(NULL,spacing->size);
        Maximum77    = floatVectorInit(NULL,spacing->size);
        
-       if(1 == mode){/*Noise Estimation*/
+       if(1 == mode){ /*Noise Estimation*/
                TangentLine(spacing, scatter, belowCoefficient, aboveCoefficient, ini, linfo,-1);
                for(i=(0+Differentialaround); i<(spacing->size-Differentialaround); i++){
                        Noise->data[i] = belowCoefficient[linfo->degree][0];
diff --git a/src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.20150124 b/src/Objects/DataManip/ctfInfo/src/org/powerspectraTangentLine.c.20150124
new file mode 100644 (file)
index 0000000..4af607c
--- /dev/null
@@ -0,0 +1,437 @@
+/*
+# powerspectraTangentLine : $Revision$  
+# $Date$ 
+# Created by $Author$
+# Usage : powerspectraTangentLine 
+# Attention
+#   $Loccker$
+#      $State$ 
+#
+*/
+/* $Log$ */
+static char __sccs_id[] = "%Z%lctfDetermination ver%I%; Date:%D% %Z%";
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "./powerspectraTangentLine.h"
+#include "./ctfInfoWrite2.h"
+#define DEBUG
+#include "genUtil.h"
+#include "Vector.h"
+#include "nr2.h"
+#include "Memory.h"
+
+typedef struct stepInfo{
+       float min;
+       float max;
+       float step;
+       long  Number;
+}stepInfo;
+
+typedef struct iterationInfo{
+       long  degree;
+       long  CutLowSize;
+       long  CutHighSize;
+       float CutLine;
+       float Emin;
+       float Emax;
+}iterationInfo;
+       
+
+double __power(double x,int a)
+{
+       int i;
+       double y = 1.0;
+       
+       for(i=0 ; i<a ; i++){
+               y *= x;
+       }
+       return(y);
+}
+
+void __stepNumberCulc(stepInfo *sInfo, long degree)
+{
+       long i;
+       for(i=0 ; i<= degree ; i++){
+               sInfo[i].Number =  (long) ((sInfo[i].max - sInfo[i].min )/ sInfo[i].step);
+               if(sInfo[i].Number < 1){
+                       sInfo[i].Number = 1;
+               }
+       }
+}
+
+/*mode = 1  belowLine
+       = -1 aboveLine*/
+void   
+__CoefficientDetermine(floatVector* spacing ,floatVector* Plog ,floatVector* tmpcoefficient ,stepInfo* sInfo,iterationInfo* iInfo, float mode)
+{
+       long i,j,k,l;
+       long AdvanceRatio = 1;
+       long Number[iInfo->degree+1];
+       unsigned long long int  belowN;
+       unsigned long long int fewerN;
+       unsigned long n;
+       unsigned long long int  sum = 1;
+       float coefficient[iInfo->degree+1];
+       float E;
+       float minTangent;
+       floatVector* Tangent;
+       
+/*     if(mode == 1.0){
+               fprintf(stderr,"BelowLineEstimation ");
+       }
+       else if(mode == -1.0){
+               fprintf(stderr,"AboveLineEstimation ");
+       }
+       else{
+               fprintf(stderr,"CoefficientDetermine don't support this mode\nprogram stop");
+               exit(1);
+       }
+
+       fprintf(stderr,"degree:%2ld\n",iInfo->degree);
+*/
+       Tangent = floatVectorInit(NULL,spacing->size);
+
+       iInfo-> Emax;
+       for(j=0 ; j<=iInfo->degree ; j++){
+               sum *= sInfo[j].Number;
+               //fprintf(stderr,"StepCondition[%2ld] Min: %+8.3lf Max: %+8.3lf StepSize: %6.3f StepNumber: %4ld\n",j,sInfo[j].min,sInfo[j].max,sInfo[j].step,sInfo[j].Number);
+       }
+       //fprintf(stderr,"sum:%llu\n",sum);
+       
+       for(n=0 ; n< sum; n++){ 
+               E = 0.0;
+               minTangent = 0.0;
+               for(j=0 ; j<=iInfo->degree ; j++){
+                       fewerN = 1;
+                       for(k=0 ; k<j ; k++){
+                               fewerN *= sInfo[k].Number; 
+                       }
+                       belowN = fewerN * sInfo[j].Number;
+                       coefficient[j] = (long)((n % belowN)/fewerN)* sInfo[j].step + sInfo[j].min;
+                       minTangent += coefficient[j]*__power(spacing->data[iInfo->CutHighSize],j); 
+               }
+
+               if(minTangent < iInfo->CutLine){
+                       E = iInfo->Emax;
+               }
+               
+               for(i=iInfo->CutLowSize ; i<=iInfo->CutHighSize ; i++){
+                       Tangent->data[i] = coefficient[0];
+                       for(j=1 ; j<=iInfo->degree ; j++){
+                               Tangent->data[i] += coefficient[j]*__power(spacing->data[i],j);
+                       }
+                       E += fabs(Tangent->data[i] - Plog->data[i]);
+                       
+                       if((Tangent->data[i] - Plog->data[i])*mode > 0 || Tangent->data[i] < iInfo->CutLine || E>iInfo->Emin){
+                               E = iInfo->Emax;
+                               break;
+                       }
+               }
+               
+
+               if(E <= iInfo->Emin){
+                       for(j=0 ; j<=iInfo->degree ; j++){
+                               tmpcoefficient->data[j] = coefficient[j];
+                               //fprintf(stdout,"%2ld:%+10.3e ",j,tmpcoefficient->data[j]);
+                       }
+                       //fprintf(stdout,"E=%10.3e Emin=%10.3e \n",E,iInfo->Emin);
+                       iInfo->Emin = E;
+               }
+       }
+/*
+       fprintf(stderr,"result: ");
+       for(j=0 ; j<=iInfo->degree ; j++){
+               fprintf(stderr,"%2ld: %+10.3e ",j,tmpcoefficient->data[j]);
+       }
+       fprintf(stderr,"Emin= %10.3e\n",iInfo->Emin);
+*/
+}
+
+/*mode 0  above & below
+         -1  below
+          1  above*/
+void
+TangentLine(floatVector* spacing, floatVector* scatter, float** belowCoefficient, float** aboveCoefficient, ctfInfo* ini, lctfDetermineInfo* linfo, int mode)
+{      
+       long i,j;
+       floatVector* tmpcoefficient;
+       float E;
+       float Pmax = 0.0;
+       float tmp;
+       float tmpEmin;
+       long CutLowSize = 0;
+       long CutHighSize = 0;
+       floatVector* Plog;
+       stepInfo sInfo[linfo->degree+1];
+       iterationInfo iInfo;
+       
+       Plog = floatVectorInit(NULL,spacing->size);
+       iInfo.CutLine = 0.0;
+       iInfo.degree = linfo->degree;
+       
+       for(i=0;i<=linfo->degree;i++){
+               sInfo[i].step = linfo->step;
+               sInfo[i].min = linfo->min;
+               sInfo[i].max = linfo->max;
+       }
+       __stepNumberCulc(sInfo,linfo->degree);
+       
+       iInfo.CutLowSize = 0;
+       iInfo.CutHighSize =0;
+       iInfo.Emax = 0.0;
+
+       tmpcoefficient = floatVectorInit(NULL,linfo->degree);
+       
+       for(i=0;i<spacing->size;i++){
+               Plog->data[i] = log10(scatter->data[i]);
+
+               if(Pmax < Plog->data[i]){
+                       Pmax = Plog->data[i];
+               }
+               
+               if(spacing->data[i] < ini->CutLow){
+                       iInfo.CutLowSize = i+1;
+               }
+               if(spacing->data[i] < ini->CutHigh){
+                       iInfo.CutHighSize = i;
+               }
+
+               if((spacing->data[i] > ini->CutLow) && (spacing->data[i] < ini->CutHigh)){
+                       iInfo.Emax += Plog->data[i];
+               }
+       }
+       iInfo.Emin = iInfo.Emax;
+       tmpEmin = iInfo.Emin;
+
+
+/*below*/
+       if(0 == mode || -1 == mode){
+               fprintf(stdout,"below\n");
+               iInfo.degree = 0;
+               sInfo[0].step = 0.01;
+               __stepNumberCulc(sInfo,linfo->degree);
+               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+               belowCoefficient[0][0] = tmpcoefficient->data[0];
+               sInfo[0].step = linfo->step;
+               iInfo.CutLine = tmpcoefficient->data[0] -0.1;
+               fprintf(stdout,"%2ld: %10.3e  \n",0,tmpcoefficient->data[0]);
+               
+               if(linfo->degree > 0){
+                       iInfo.degree = 1;
+                       __stepNumberCulc(sInfo,linfo->degree);
+                       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+                       for(j=0 ; j<=iInfo.degree ; j++){
+                               belowCoefficient[1][j] = tmpcoefficient->data[j];
+                               fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
+                       }
+                       fprintf(stdout,"\n");
+               }
+               for(i=2 ; i<linfo->degree+1 ; i++){
+                       iInfo.degree = i;
+                       sInfo[i-1].step = sInfo[i-1].step * 100;
+                       sInfo[i].step = sInfo[i].step * 100;
+                       __stepNumberCulc(sInfo,linfo->degree);
+                       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+                       
+                       sInfo[i-2].min = tmpcoefficient->data[i-2];
+                       sInfo[i-2].max = tmpcoefficient->data[i-2];
+                       sInfo[i-1].step = sInfo[i-1].step/100;
+                       sInfo[i].step = sInfo[i].step/100;
+       
+                       sInfo[i-1].min = tmpcoefficient->data[i-1] - 100*sInfo[i-1].step;
+                       sInfo[i-1].max = tmpcoefficient->data[i-1] + 100*sInfo[i-1].step;
+                       sInfo[i].min = tmpcoefficient->data[i] - 100*sInfo[i].step;
+                       sInfo[i].max = tmpcoefficient->data[i] + 100*sInfo[i].step;
+                       
+                       __stepNumberCulc(sInfo,linfo->degree);
+                       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+                       sInfo[i-1].min = linfo->min;
+                       sInfo[i-1].max = linfo->max;
+                       sInfo[i].min = linfo->min;
+                       sInfo[i].max = linfo->max;
+                       for(j=0 ; j<=i ; j++){
+                                belowCoefficient[i][j] = tmpcoefficient->data[j];
+                                fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
+                       }
+                       fprintf(stdout,"\n");
+               }
+               iInfo.CutLine = 0.0;
+       }
+/*below end*/
+/*above initial*/
+       if(0 == mode || 1 == mode){
+               for(i=0 ; i<=linfo->degree ; i++){
+                       sInfo[i].step =linfo->step * 10;
+                       sInfo[i].min = linfo->min * 10;
+                       sInfo[i].max = linfo->max * 10;
+               }
+               tmpcoefficient = floatVectorInit(NULL,linfo->degree+1);
+               iInfo.Emin = tmpEmin;
+               
+       /*subtract noise*/
+       /*      for(i=iInfo.CutLowSize ; i<=iInfo.CutHighSize ; i++){
+                       fprintf(stdout,"%10.3f %10.3f",spacing->data[i],Plog->data[i]);
+                       for(j=0 ; j<=linfo->degree ; j++){
+                               Plog->data[i] -= belowCoefficient[linfo->degree][j]*__power(spacing->data[i] ,j);
+                       }
+                       fprintf(stdout,"%10.3f\n",Plog->data[i]);
+               }
+       */
+       /*above start*/
+               /*above*/
+               fprintf(stdout,"above\n");
+               iInfo.degree = 0;
+               __stepNumberCulc(sInfo,linfo->degree);
+               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,-1.0);
+               aboveCoefficient[0][0] = tmpcoefficient->data[0];
+               fprintf(stdout,"%2ld: %10.3e  \n",0,tmpcoefficient->data[0]);
+       
+               if(linfo->degree > 0){
+                       iInfo.degree = 1;
+                       __stepNumberCulc(sInfo,linfo->degree);
+                       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,-1.0);
+                       aboveCoefficient[1][0] = tmpcoefficient->data[0];
+                       aboveCoefficient[1][1] = tmpcoefficient->data[1];
+                       for(i=0 ; i<iInfo.degree+1 ; i++){
+                               fprintf(stdout,"%2ld: %10.3e  ",i,tmpcoefficient->data[i]);
+                       }
+                       fprintf(stdout,"\n");
+               }
+               
+               for(j= 2 ; j<=linfo->degree ; j++){
+                       iInfo.degree = j;
+                       sInfo[j].step = sInfo[j].step * 100;
+                       sInfo[j-1].step = sInfo[j-1].step * 100;
+                       __stepNumberCulc(sInfo,linfo->degree);
+                       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,-1.0);
+               
+                       sInfo[j-2].step = sInfo[j-2].step / 10;
+                       sInfo[j-2].min = tmpcoefficient->data[j-2] - 1000*sInfo[j-2].step;
+                       sInfo[j-2].max = tmpcoefficient->data[j-2] + 1000*sInfo[j-2].step;
+               
+                       sInfo[j-1].step = sInfo[j-1].step /10;
+                       sInfo[j-1].min = tmpcoefficient->data[j-1] - 10*sInfo[j-1].step;
+                       sInfo[j-1].max = tmpcoefficient->data[j-1] + 10*sInfo[j-1].step;
+               
+                       sInfo[j].step = sInfo[j].step /10;
+                       sInfo[j].min = tmpcoefficient->data[j] - 10*sInfo[j].step;
+                       sInfo[j].max = tmpcoefficient->data[j] + 10*sInfo[j].step;
+               
+                       __stepNumberCulc(sInfo,linfo->degree);
+                       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,-1.0);
+                       sInfo[j-2].min = tmpcoefficient->data[j-2];
+                       sInfo[j-2].max = tmpcoefficient->data[j-2];
+                       
+                       sInfo[j-1].step = linfo->step;
+                       sInfo[j-1].min = tmpcoefficient->data[j-1] - 100*sInfo[j-1].step;
+                       sInfo[j-1].max = tmpcoefficient->data[j-1] + 100*sInfo[j-1].step;
+               
+                       sInfo[j].step = linfo->step;
+                       sInfo[j].min = tmpcoefficient->data[j] - 100*sInfo[j].step;
+                       sInfo[j].max = tmpcoefficient->data[j] + 100*sInfo[j].step;
+       
+                       __stepNumberCulc(sInfo,linfo->degree);
+                       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,-1.0);
+       
+                       sInfo[j-1].min = linfo->min;
+                       sInfo[j-1].max = linfo->max;
+                       sInfo[j-1].step = linfo->step;
+                       sInfo[j].min = linfo->min;
+                       sInfo[j].max = linfo->max;
+                       sInfo[j].step = linfo->step;
+       
+                       for(i=0 ; i<=j ; i++){
+                               aboveCoefficient[j][i] = tmpcoefficient->data[i];
+                               fprintf(stdout,"%2ld: %10.3e  ",i,tmpcoefficient->data[i]);
+                       }
+                       fprintf(stdout,"\n");
+               }
+       }
+/*above end*/  
+/*     for(i=0 ; i<=linfo->degree ; i++){
+               sInfo[i].step =linfo->step;
+               sInfo[i].min = linfo->min;
+               sInfo[i].max = linfo->max;
+       }
+       tmpcoefficient = floatVectorInit(NULL,linfo->degree+1);
+       iInfo.Emin = tmpEmin;
+*/
+/*below*/
+/*     fprintf(stdout,"below\n");
+       iInfo.degree = 0;
+       sInfo[0].step = 0.01;
+       __stepNumberCulc(sInfo,linfo->degree);
+       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+       belowCoefficient[0][0] = tmpcoefficient->data[0];
+       sInfo[0].step = linfo->step;
+       iInfo.CutLine = tmpcoefficient->data[0] -0.1;
+       fprintf(stdout,"%2ld: %10.3e  \n",0,tmpcoefficient->data[0]);
+       
+       if(linfo->degree > 0){
+               iInfo.degree = 1;
+               __stepNumberCulc(sInfo,linfo->degree);
+               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+               for(j=0 ; j<=iInfo.degree ; j++){
+                       belowCoefficient[1][j] = tmpcoefficient->data[j];
+                       fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
+               }
+               fprintf(stdout,"\n");
+       }
+       for(i=2 ; i<linfo->degree+1 ; i++){
+               iInfo.degree = i;
+               sInfo[i-1].step = sInfo[i-1].step * 100;
+               sInfo[i].step = sInfo[i].step * 100;
+               __stepNumberCulc(sInfo,linfo->degree);
+               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+               
+               sInfo[i-2].min = tmpcoefficient->data[i-2];
+               sInfo[i-2].max = tmpcoefficient->data[i-2];
+               sInfo[i-1].step = sInfo[i-1].step/100;
+               sInfo[i].step = sInfo[i].step/100;
+
+               sInfo[i-1].min = tmpcoefficient->data[i-1] - 100*sInfo[i-1].step;
+               sInfo[i-1].max = tmpcoefficient->data[i-1] + 100*sInfo[i-1].step;
+               sInfo[i].min = tmpcoefficient->data[i] - 100*sInfo[i].step;
+               sInfo[i].max = tmpcoefficient->data[i] + 100*sInfo[i].step;
+               
+               __stepNumberCulc(sInfo,linfo->degree);
+               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
+               sInfo[i-1].min = linfo->min;
+               sInfo[i-1].max = linfo->max;
+               sInfo[i].min = linfo->min;
+               sInfo[i].max = linfo->max;
+               for(j=0 ; j<=i ; j++){
+                        belowCoefficient[i][j] = tmpcoefficient->data[j];
+                        fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
+               }
+               fprintf(stdout,"\n");
+       }
+*/
+/*
+       fprintf(stdout,"degree  : ");
+       for(i=0 ; i<=linfo->degree ; i++){
+               fprintf(stdout,"%8ld",i);
+       }
+       fprintf(stdout,"\n");
+
+       fprintf(stdout,"above\n");
+       for(i=0 ; i<=linfo->degree ; i++){
+               fprintf(stdout,"%6ld   ",i);
+               for(j=0 ; j<=i ; j++){
+                       fprintf(stdout,"%+7.3f ",aboveCoefficient[i][j]);
+               }
+               fprintf(stdout,"\n");
+       }
+
+       fprintf(stdout,"below\n");
+       for(i=0 ; i<=linfo->degree ; i++){
+               fprintf(stdout,"%6ld   ",i);
+               for(j=0 ; j<=i ; j++){
+                       fprintf(stdout,"%+7.3f ",belowCoefficient[i][j]);
+               }
+               fprintf(stdout,"\n");
+       }
+       fprintf(stdout,"\n");
+*/
+}
index 14ff381..26b62b1 100644 (file)
@@ -15,7 +15,8 @@ static char __sccs_id[] = "%Z%lctfDetermination ver%I%; Date:%D% %Z%";
 #include <math.h>
 #include "./powerspectraTangentLine.h"
 #include "./ctfInfoWrite2.h"
-#define DEBUG
+#undef DEBUG
+#define DEBUG2
 #include "genUtil.h"
 #include "Vector.h"
 #include "nr2.h"
@@ -60,8 +61,10 @@ void __stepNumberCulc(stepInfo *sInfo, long degree)
        }
 }
 
-/*mode = 1  belowLine
-       = -1 aboveLine*/
+/*
+mode = 1  belowLine
+     = -1 aboveLine
+*/
 void   
 __CoefficientDetermine(floatVector* spacing ,floatVector* Plog ,floatVector* tmpcoefficient ,stepInfo* sInfo,iterationInfo* iInfo, float mode)
 {
@@ -76,33 +79,31 @@ __CoefficientDetermine(floatVector* spacing ,floatVector* Plog ,floatVector* tmp
        float E;
        float minTangent;
        floatVector* Tangent;
-       
-/*     if(mode == 1.0){
-               fprintf(stderr,"BelowLineEstimation ");
-       }
-       else if(mode == -1.0){
-               fprintf(stderr,"AboveLineEstimation ");
-       }
-       else{
-               fprintf(stderr,"CoefficientDetermine don't support this mode\nprogram stop");
+
+#ifdef DEBUG
+       if(mode == 1.0){
+               DEBUGPRINT("BelowLineEstimation ");
+       } else if(mode == -1.0){
+               DEBUGPRINT("AboveLineEstimation ");
+       } else{
+               DEBUGPRINT("CoefficientDetermine don't support this mode\nprogram stop");
                exit(1);
        }
-
-       fprintf(stderr,"degree:%2ld\n",iInfo->degree);
-*/
+       DEBUGPRINT1("degree:%2ld\n",iInfo->degree);
+#endif
        Tangent = floatVectorInit(NULL,spacing->size);
 
-       iInfo-> Emax;
+       //iInfo->Emax;
        for(j=0 ; j<=iInfo->degree ; j++){
                sum *= sInfo[j].Number;
-               //fprintf(stderr,"StepCondition[%2ld] Min: %+8.3lf Max: %+8.3lf StepSize: %6.3f StepNumber: %4ld\n",j,sInfo[j].min,sInfo[j].max,sInfo[j].step,sInfo[j].Number);
+               DEBUGPRINT5("StepCondition[%2ld] Min: %+8.3lf Max: %+8.3lf StepSize: %6.3f StepNumber: %4ld\n",j,sInfo[j].min,sInfo[j].max,sInfo[j].step,sInfo[j].Number);
        }
-       //fprintf(stderr,"sum:%llu\n",sum);
+       DEBUGPRINT1("sum:%llu\n",sum);
        
        for(n=0 ; n< sum; n++){ 
                E = 0.0;
                minTangent = 0.0;
-               for(j=0 ; j<=iInfo->degree ; j++){
+               for(j=0 ; j<=iInfo->degree; j++){
                        fewerN = 1;
                        for(k=0 ; k<j ; k++){
                                fewerN *= sInfo[k].Number; 
@@ -133,26 +134,26 @@ __CoefficientDetermine(floatVector* spacing ,floatVector* Plog ,floatVector* tmp
                if(E <= iInfo->Emin){
                        for(j=0 ; j<=iInfo->degree ; j++){
                                tmpcoefficient->data[j] = coefficient[j];
-                               //fprintf(stdout,"%2ld:%+10.3e ",j,tmpcoefficient->data[j]);
+                               DEBUGPRINT2("%2ld:%+10.3e ",j,tmpcoefficient->data[j]);
                        }
-                       //fprintf(stdout,"E=%10.3e Emin=%10.3e \n",E,iInfo->Emin);
+                       DEBUGPRINT2("E=%10.3e Emin=%10.3e \n",E,iInfo->Emin);
                        iInfo->Emin = E;
                }
        }
-/*
-       fprintf(stderr,"result: ");
+       DEBUGPRINT("result: ");
+#ifdef DEBUG
        for(j=0 ; j<=iInfo->degree ; j++){
-               fprintf(stderr,"%2ld: %+10.3e ",j,tmpcoefficient->data[j]);
+               DEBUGPRINT2("%2ld: %+10.3e ",j,tmpcoefficient->data[j]);
        }
-       fprintf(stderr,"Emin= %10.3e\n",iInfo->Emin);
-*/
+#endif
+       DEBUGPRINT1("Emin= %10.3e\n",iInfo->Emin);
 }
 
 /*mode 0  above & below
          -1  below
           1  above*/
 void
-TangentLine(floatVector* spacing, floatVector* scatter,float** belowCoefficient,float** aboveCoefficient ,ctfInfo* ini,lctfDetermineInfo* linfo,int mode)
+TangentLine(floatVector* spacing, floatVector* scatter, float** belowCoefficient, float** aboveCoefficient, ctfInfo* ini, lctfDetermineInfo* linfo, int mode)
 {      
        long i,j;
        floatVector* tmpcoefficient;
@@ -207,7 +208,7 @@ TangentLine(floatVector* spacing, floatVector* scatter,float** belowCoefficient,
 
 /*below*/
        if(0 == mode || -1 == mode){
-               fprintf(stdout,"below\n");
+               DEBUGPRINT("below\n");
                iInfo.degree = 0;
                sInfo[0].step = 0.01;
                __stepNumberCulc(sInfo,linfo->degree);
@@ -215,7 +216,7 @@ TangentLine(floatVector* spacing, floatVector* scatter,float** belowCoefficient,
                belowCoefficient[0][0] = tmpcoefficient->data[0];
                sInfo[0].step = linfo->step;
                iInfo.CutLine = tmpcoefficient->data[0] -0.1;
-               fprintf(stdout,"%2ld: %10.3e  \n",0,tmpcoefficient->data[0]);
+               DEBUGPRINT2("%2d: %10.3e  \n", 0, tmpcoefficient->data[0]);
                
                if(linfo->degree > 0){
                        iInfo.degree = 1;
@@ -223,9 +224,9 @@ TangentLine(floatVector* spacing, floatVector* scatter,float** belowCoefficient,
                        __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
                        for(j=0 ; j<=iInfo.degree ; j++){
                                belowCoefficient[1][j] = tmpcoefficient->data[j];
-                               fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
+                               DEBUGPRINT2("%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
                        }
-                       fprintf(stdout,"\n");
+                       DEBUGPRINT("\n");
                }
                for(i=2 ; i<linfo->degree+1 ; i++){
                        iInfo.degree = i;
@@ -252,9 +253,9 @@ TangentLine(floatVector* spacing, floatVector* scatter,float** belowCoefficient,
                        sInfo[i].max = linfo->max;
                        for(j=0 ; j<=i ; j++){
                                 belowCoefficient[i][j] = tmpcoefficient->data[j];
-                                fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
+                                DEBUGPRINT2("%2d: %10.3e  ", j, tmpcoefficient->data[j]);
                        }
-                       fprintf(stdout,"\n");
+                       DEBUGPRINT("\n");
                }
                iInfo.CutLine = 0.0;
        }
@@ -285,7 +286,7 @@ TangentLine(floatVector* spacing, floatVector* scatter,float** belowCoefficient,
                __stepNumberCulc(sInfo,linfo->degree);
                __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,-1.0);
                aboveCoefficient[0][0] = tmpcoefficient->data[0];
-               fprintf(stdout,"%2ld: %10.3e  \n",0,tmpcoefficient->data[0]);
+               DEBUGPRINT2("%2d: %10.3e  \n", 0, tmpcoefficient->data[0]);
        
                if(linfo->degree > 0){
                        iInfo.degree = 1;
@@ -343,95 +344,44 @@ TangentLine(floatVector* spacing, floatVector* scatter,float** belowCoefficient,
        
                        for(i=0 ; i<=j ; i++){
                                aboveCoefficient[j][i] = tmpcoefficient->data[i];
-                               fprintf(stdout,"%2ld: %10.3e  ",i,tmpcoefficient->data[i]);
+                               DEBUGPRINT2("%2ld: %10.3e  ",i,tmpcoefficient->data[i]);
                        }
-                       fprintf(stdout,"\n");
+                       DEBUGPRINT("\n");
                }
        }
 /*above end*/  
-/*     for(i=0 ; i<=linfo->degree ; i++){
-               sInfo[i].step =linfo->step;
-               sInfo[i].min = linfo->min;
-               sInfo[i].max = linfo->max;
-       }
-       tmpcoefficient = floatVectorInit(NULL,linfo->degree+1);
-       iInfo.Emin = tmpEmin;
-*/
-/*below*/
-/*     fprintf(stdout,"below\n");
-       iInfo.degree = 0;
-       sInfo[0].step = 0.01;
-       __stepNumberCulc(sInfo,linfo->degree);
-       __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
-       belowCoefficient[0][0] = tmpcoefficient->data[0];
-       sInfo[0].step = linfo->step;
-       iInfo.CutLine = tmpcoefficient->data[0] -0.1;
-       fprintf(stdout,"%2ld: %10.3e  \n",0,tmpcoefficient->data[0]);
-       
-       if(linfo->degree > 0){
-               iInfo.degree = 1;
-               __stepNumberCulc(sInfo,linfo->degree);
-               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
-               for(j=0 ; j<=iInfo.degree ; j++){
-                       belowCoefficient[1][j] = tmpcoefficient->data[j];
-                       fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
-               }
-               fprintf(stdout,"\n");
-       }
-       for(i=2 ; i<linfo->degree+1 ; i++){
-               iInfo.degree = i;
-               sInfo[i-1].step = sInfo[i-1].step * 100;
-               sInfo[i].step = sInfo[i].step * 100;
-               __stepNumberCulc(sInfo,linfo->degree);
-               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
-               
-               sInfo[i-2].min = tmpcoefficient->data[i-2];
-               sInfo[i-2].max = tmpcoefficient->data[i-2];
-               sInfo[i-1].step = sInfo[i-1].step/100;
-               sInfo[i].step = sInfo[i].step/100;
+#ifdef DEBUG2
+       TangentLinePrint(stderr, spacing, scatter, belowCoefficient, aboveCoefficient, linfo, mode);
+#endif
+}
 
-               sInfo[i-1].min = tmpcoefficient->data[i-1] - 100*sInfo[i-1].step;
-               sInfo[i-1].max = tmpcoefficient->data[i-1] + 100*sInfo[i-1].step;
-               sInfo[i].min = tmpcoefficient->data[i] - 100*sInfo[i].step;
-               sInfo[i].max = tmpcoefficient->data[i] + 100*sInfo[i].step;
-               
-               __stepNumberCulc(sInfo,linfo->degree);
-               __CoefficientDetermine(spacing,Plog,tmpcoefficient,sInfo,&iInfo,1.0);
-               sInfo[i-1].min = linfo->min;
-               sInfo[i-1].max = linfo->max;
-               sInfo[i].min = linfo->min;
-               sInfo[i].max = linfo->max;
-               for(j=0 ; j<=i ; j++){
-                        belowCoefficient[i][j] = tmpcoefficient->data[j];
-                        fprintf(stdout,"%2ld: %10.3e  ",j,tmpcoefficient->data[j]);
-               }
-               fprintf(stdout,"\n");
-       }
-*/
-/*
-       fprintf(stdout,"degree  : ");
+void
+TangentLinePrint(FILE* fpt, floatVector* spacing, floatVector* scatter, float** belowCoefficient, float** aboveCoefficient, lctfDetermineInfo* linfo, int mode)
+{      
+       int i, j;
+
+       fprintf(fpt,"degree  : ");
        for(i=0 ; i<=linfo->degree ; i++){
-               fprintf(stdout,"%8ld",i);
+               fprintf(fpt,"%8d",i);
        }
-       fprintf(stdout,"\n");
+       fprintf(fpt,"\n");
 
-       fprintf(stdout,"above\n");
+       fprintf(fpt,"above\n");
        for(i=0 ; i<=linfo->degree ; i++){
-               fprintf(stdout,"%6ld   ",i);
+               fprintf(fpt,"%6d   ",i);
                for(j=0 ; j<=i ; j++){
-                       fprintf(stdout,"%+7.3f ",aboveCoefficient[i][j]);
+                       fprintf(fpt,"%+7.3f ",aboveCoefficient[i][j]);
                }
-               fprintf(stdout,"\n");
+               fprintf(fpt,"\n");
        }
 
-       fprintf(stdout,"below\n");
+       fprintf(fpt,"below\n");
        for(i=0 ; i<=linfo->degree ; i++){
-               fprintf(stdout,"%6ld   ",i);
+               fprintf(fpt,"%6d   ",i);
                for(j=0 ; j<=i ; j++){
-                       fprintf(stdout,"%+7.3f ",belowCoefficient[i][j]);
+                       fprintf(fpt,"%+7.3f ",belowCoefficient[i][j]);
                }
-               fprintf(stdout,"\n");
+               fprintf(fpt,"\n");
        }
-       fprintf(stdout,"\n");
-*/
+       fprintf(fpt,"\n");
 }
index 7fa7ddd..d5835e9 100644 (file)
@@ -24,6 +24,12 @@ extern void TangentLine(floatVector* spacing,
                ctfInfo* ini,
                lctfDetermineInfo* linfo,
                int mode); 
+extern void TangentLinePrint(FILE* fpt, floatVector* spacing, 
+               floatVector* scatter,
+               float** belowCoefficient, 
+               float** aboveCoefficient, 
+               lctfDetermineInfo* linfo,
+               int mode); 
 
 
 /*prototype end*/
diff --git a/src/Objects/DataManip/ctfInfo/src/test.log b/src/Objects/DataManip/ctfInfo/src/test.log
deleted file mode 100755 (executable)
index aa3f8e5..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-../lctfDetermination.c:96: warning: `/*' within comment
-../lctfDetermination.c:97: parse error before `:'
-../lctfDetermination.c:114: warning: type defaults to `int' in declaration of `R'
-../lctfDetermination.c:114: `x' undeclared here (not in a function)
-../lctfDetermination.c:114: warning: data definition has no type or storage class
-../lctfDetermination.c:115: warning: type defaults to `int' in declaration of `I0'
-../lctfDetermination.c:115: `p' undeclared here (not in a function)
-../lctfDetermination.c:115: warning: data definition has no type or storage class
-../lctfDetermination.c:116: warning: type defaults to `int' in declaration of `dF'
-../lctfDetermination.c:116: `p' undeclared here (not in a function)
-../lctfDetermination.c:116: warning: data definition has no type or storage class
-../lctfDetermination.c:117: warning: type defaults to `int' in declaration of `Cs'
-../lctfDetermination.c:117: `p' undeclared here (not in a function)
-../lctfDetermination.c:117: warning: data definition has no type or storage class
-../lctfDetermination.c:118: warning: type defaults to `int' in declaration of `a'
-../lctfDetermination.c:118: `p' undeclared here (not in a function)
-../lctfDetermination.c:118: warning: data definition has no type or storage class
-../lctfDetermination.c:119: warning: type defaults to `int' in declaration of `Ai'
-../lctfDetermination.c:119: `p' undeclared here (not in a function)
-../lctfDetermination.c:119: warning: data definition has no type or storage class
-../lctfDetermination.c:120: warning: type defaults to `int' in declaration of `Cc'
-../lctfDetermination.c:120: `p' undeclared here (not in a function)
-../lctfDetermination.c:120: warning: data definition has no type or storage class
-../lctfDetermination.c:121: warning: type defaults to `int' in declaration of `dE'
-../lctfDetermination.c:121: `p' undeclared here (not in a function)
-../lctfDetermination.c:121: warning: data definition has no type or storage class
-../lctfDetermination.c:122: warning: type defaults to `int' in declaration of `V'
-../lctfDetermination.c:122: `p' undeclared here (not in a function)
-../lctfDetermination.c:122: warning: data definition has no type or storage class
-../lctfDetermination.c:123: warning: type defaults to `int' in declaration of `White'
-../lctfDetermination.c:123: `p' undeclared here (not in a function)
-../lctfDetermination.c:123: warning: data definition has no type or storage class
-../lctfDetermination.c:124: warning: type defaults to `int' in declaration of `White2'
-../lctfDetermination.c:124: `p' undeclared here (not in a function)
-../lctfDetermination.c:124: warning: data definition has no type or storage class
-../lctfDetermination.c:125: warning: type defaults to `int' in declaration of `B'
-../lctfDetermination.c:125: `p' undeclared here (not in a function)
-../lctfDetermination.c:125: warning: data definition has no type or storage class
-../lctfDetermination.c:127: warning: type defaults to `int' in declaration of `E'
-../lctfDetermination.c:127: `p' undeclared here (not in a function)
-../lctfDetermination.c:127: warning: data definition has no type or storage class
-../lctfDetermination.c:128: warning: type defaults to `int' in declaration of `E0'
-../lctfDetermination.c:128: `p' undeclared here (not in a function)
-../lctfDetermination.c:128: warning: data definition has no type or storage class
-../lctfDetermination.c:129: warning: type defaults to `int' in declaration of `lambda'
-../lctfDetermination.c:129: `p' undeclared here (not in a function)
-../lctfDetermination.c:129: warning: data definition has no type or storage class
-../lctfDetermination.c:130: warning: type defaults to `int' in declaration of `Me'
-../lctfDetermination.c:130: `p' undeclared here (not in a function)
-../lctfDetermination.c:130: warning: data definition has no type or storage class
-../lctfDetermination.c:133: warning: type defaults to `int' in declaration of `chi'
-../lctfDetermination.c:133: initializer element is not constant
-../lctfDetermination.c:133: warning: data definition has no type or storage class
-../lctfDetermination.c:134: warning: type defaults to `int' in declaration of `dchi'
-../lctfDetermination.c:134: initializer element is not constant
-../lctfDetermination.c:134: warning: data definition has no type or storage class
-../lctfDetermination.c:135: warning: type defaults to `int' in declaration of `spread'
-../lctfDetermination.c:135: conflicting types for `spread'
-../lctfDetermination.c:108: previous declaration of `spread'
-../lctfDetermination.c:135: initializer element is not constant
-../lctfDetermination.c:135: warning: data definition has no type or storage class
-../lctfDetermination.c:136: warning: type defaults to `int' in declaration of `CTF'
-../lctfDetermination.c:136: conflicting types for `CTF'
-../lctfDetermination.c:108: previous declaration of `CTF'
-../lctfDetermination.c:136: initializer element is not constant
-../lctfDetermination.c:136: warning: data definition has no type or storage class
-../lctfDetermination.c:137: warning: type defaults to `int' in declaration of `Env1'
-../lctfDetermination.c:137: conflicting types for `Env1'
-../lctfDetermination.c:108: previous declaration of `Env1'
-../lctfDetermination.c:137: `Ain' undeclared here (not in a function)
-../lctfDetermination.c:137: `Ain' undeclared here (not in a function)
-../lctfDetermination.c:137: initializer element is not constant
-../lctfDetermination.c:137: warning: data definition has no type or storage class
-../lctfDetermination.c:138: warning: type defaults to `int' in declaration of `Env2'
-../lctfDetermination.c:138: conflicting types for `Env2'
-../lctfDetermination.c:108: previous declaration of `Env2'
-../lctfDetermination.c:138: initializer element is not constant
-../lctfDetermination.c:138: warning: data definition has no type or storage class
-../lctfDetermination.c:139: warning: type defaults to `int' in declaration of `Env'
-../lctfDetermination.c:139: conflicting types for `Env'
-../lctfDetermination.c:108: previous declaration of `Env'
-../lctfDetermination.c:139: initializer element is not constant
-../lctfDetermination.c:139: warning: data definition has no type or storage class
-../lctfDetermination.c:140: warning: type defaults to `int' in declaration of `Vib'
-../lctfDetermination.c:140: conflicting types for `Vib'
-../lctfDetermination.c:108: previous declaration of `Vib'
-../lctfDetermination.c:140: initializer element is not constant
-../lctfDetermination.c:140: warning: data definition has no type or storage class
-../lctfDetermination.c:141: warning: type defaults to `int' in declaration of `MTF'
-../lctfDetermination.c:141: conflicting types for `MTF'
-../lctfDetermination.c:108: previous declaration of `MTF'
-../lctfDetermination.c:141: initializer element is not constant
-../lctfDetermination.c:141: warning: data definition has no type or storage class
-../lctfDetermination.c:143: warning: type defaults to `int' in declaration of `S'
-../lctfDetermination.c:143: conflicting types for `S'
-../lctfDetermination.c:109: previous declaration of `S'
-../lctfDetermination.c:143: initializer element is not constant
-../lctfDetermination.c:143: warning: data definition has no type or storage class
-../lctfDetermination.c:144: warning: type defaults to `int' in declaration of `N'
-../lctfDetermination.c:144: conflicting types for `N'
-../lctfDetermination.c:110: previous declaration of `N'
-../lctfDetermination.c:144: initializer element is not constant
-../lctfDetermination.c:144: warning: data definition has no type or storage class
-../lctfDetermination.c:145: warning: type defaults to `int' in declaration of `N2'
-../lctfDetermination.c:145: conflicting types for `N2'
-../lctfDetermination.c:111: previous declaration of `N2'
-../lctfDetermination.c:145: initializer element is not constant
-../lctfDetermination.c:145: warning: data definition has no type or storage class
-../lctfDetermination.c:147: warning: type defaults to `int' in declaration of `F'
-../lctfDetermination.c:147: conflicting types for `F'
-../lctfDetermination.c:112: previous declaration of `F'
-../lctfDetermination.c:147: initializer element is not constant
-../lctfDetermination.c:147: warning: data definition has no type or storage class
-../lctfDetermination.c:148: warning: type defaults to `int' in declaration of `y'
-../lctfDetermination.c:148: warning: initialization makes pointer from integer without a cast
-../lctfDetermination.c:148: initializer element is not constant
-../lctfDetermination.c:148: warning: data definition has no type or storage class
-../lctfDetermination.c:151: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:151: called object is not a function
-../lctfDetermination.c:151: array initialized from non-constant array expression
-../lctfDetermination.c:151: warning: data definition has no type or storage class
-../lctfDetermination.c:152: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:152: conflicting types for `dyda'
-../lctfDetermination.c:151: previous declaration of `dyda'
-../lctfDetermination.c:153: `Ain' undeclared here (not in a function)
-../lctfDetermination.c:153: `Ain' undeclared here (not in a function)
-../lctfDetermination.c:153: array initialized from non-constant array expression
-../lctfDetermination.c:153: warning: data definition has no type or storage class
-../lctfDetermination.c:154: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:154: conflicting types for `dyda'
-../lctfDetermination.c:152: previous declaration of `dyda'
-../lctfDetermination.c:154: called object is not a function
-../lctfDetermination.c:155: `Ain' undeclared here (not in a function)
-../lctfDetermination.c:155: `Ain' undeclared here (not in a function)
-../lctfDetermination.c:155: array initialized from non-constant array expression
-../lctfDetermination.c:155: warning: data definition has no type or storage class
-../lctfDetermination.c:156: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:156: conflicting types for `dyda'
-../lctfDetermination.c:154: previous declaration of `dyda'
-../lctfDetermination.c:156: `Kai' undeclared here (not in a function)
-../lctfDetermination.c:156: invalid initializer
-../lctfDetermination.c:156: warning: data definition has no type or storage class
-../lctfDetermination.c:157: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:157: conflicting types for `dyda'
-../lctfDetermination.c:156: previous declaration of `dyda'
-../lctfDetermination.c:157: `Ain' undeclared here (not in a function)
-../lctfDetermination.c:157: array initialized from non-constant array expression
-../lctfDetermination.c:157: warning: data definition has no type or storage class
-../lctfDetermination.c:158: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:158: conflicting types for `dyda'
-../lctfDetermination.c:157: previous declaration of `dyda'
-../lctfDetermination.c:158: invalid initializer
-../lctfDetermination.c:158: warning: data definition has no type or storage class
-../lctfDetermination.c:159: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:159: conflicting types for `dyda'
-../lctfDetermination.c:158: previous declaration of `dyda'
-../lctfDetermination.c:159: invalid initializer
-../lctfDetermination.c:159: warning: data definition has no type or storage class
-../lctfDetermination.c:160: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:160: conflicting types for `dyda'
-../lctfDetermination.c:159: previous declaration of `dyda'
-../lctfDetermination.c:160: invalid initializer
-../lctfDetermination.c:160: warning: data definition has no type or storage class
-../lctfDetermination.c:161: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:161: conflicting types for `dyda'
-../lctfDetermination.c:160: previous declaration of `dyda'
-../lctfDetermination.c:161: invalid initializer
-../lctfDetermination.c:161: warning: data definition has no type or storage class
-../lctfDetermination.c:162: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:162: conflicting types for `dyda'
-../lctfDetermination.c:161: previous declaration of `dyda'
-../lctfDetermination.c:162: invalid initializer
-../lctfDetermination.c:162: warning: data definition has no type or storage class
-../lctfDetermination.c:163: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:163: conflicting types for `dyda'
-../lctfDetermination.c:162: previous declaration of `dyda'
-../lctfDetermination.c:163: invalid initializer
-../lctfDetermination.c:163: warning: data definition has no type or storage class
-../lctfDetermination.c:165: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:165: conflicting types for `dyda'
-../lctfDetermination.c:163: previous declaration of `dyda'
-../lctfDetermination.c:165: invalid initializer
-../lctfDetermination.c:165: warning: data definition has no type or storage class
-../lctfDetermination.c:166: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:166: conflicting types for `dyda'
-../lctfDetermination.c:165: previous declaration of `dyda'
-../lctfDetermination.c:166: invalid initializer
-../lctfDetermination.c:166: warning: data definition has no type or storage class
-../lctfDetermination.c:167: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:167: conflicting types for `dyda'
-../lctfDetermination.c:166: previous declaration of `dyda'
-../lctfDetermination.c:167: invalid initializer
-../lctfDetermination.c:167: warning: data definition has no type or storage class
-../lctfDetermination.c:168: warning: type defaults to `int' in declaration of `dyda'
-../lctfDetermination.c:168: conflicting types for `dyda'
-../lctfDetermination.c:167: previous declaration of `dyda'
-../lctfDetermination.c:168: parse error before `;'
-../lctfDetermination.c:168: warning: data definition has no type or storage class
-../lctfDetermination.c: In function `lctfDeterminationbyFittingMethods':
-../lctfDetermination.c:180: warning: unused variable `maxE'
-../lctfDetermination.c:180: warning: unused variable `E'
-../lctfDetermination.c:179: warning: unused variable `flag'
-../lctfDetermination.c: At top level:
-../lctfDetermination.c:12: warning: `__sccs_id' defined but not used
-/home/people/tkys/Eos/include/nr2.h:3: warning: `maxarg1' defined but not used
-/home/people/tkys/Eos/include/nr2.h:4: warning: `maxarg2' defined but not used
-make[1]: [lctfDetermination.o] Error 1 (ignored)
index f9db051..80f1923 100755 (executable)
@@ -59,6 +59,9 @@ typedef struct lmrcImageClusterAnalysisInfo {
        FILE* fptLogIn;
        int previousFileNumber;
 
+       int   flagLogBinary;
+       FILE* fptLogBinary; /* Binary Log */
+
        int   flagLog;
        FILE* fptLog;  /* All Log */
 
index 2a75eae..8b76209 100644 (file)
@@ -42,6 +42,18 @@ lmrcImageMorphologyStructuringElementSet(lmrcImageMorphologyInfo* linfo, int mod
                        lmrcImageMorphologyStructuringElement3DSphere(&linfo->SE, linfo->radius, linfo->n, mode);
                        break;
                }
+               case 6: {
+                       lmrcImageMorphologyStructuringElement2DRectangle(&linfo->SE, linfo->nx, linfo->ny, mode);
+                       break;
+               }
+               case 7: {
+                       lmrcImageMorphologyStructuringElement3DCuboid(&linfo->SE, linfo->nx, linfo->ny, linfo->nz, mode);
+                       break;
+               }
+               case 8: {
+                       lmrcImageMorphologyStructuringElement3DCylinder(&linfo->SE, linfo->radius, linfo->nx, linfo->ny, linfo->nz, mode);
+                       break;
+               }
                default: {
                        fprintf(stderr, "Not supported mode in lmrcImageMorphologyStructuringElementSet: %d", linfo->mode);
                        exit(EXIT_FAILURE);
@@ -59,6 +71,9 @@ lmrcImageMorphologyStructuringElementSetInfoPrint(FILE* fpt)
        fprintf(fpt, "3: 3D Cross3x3x3:   6-neighbour\n");
        fprintf(fpt, "4: 3D Cubic3x3x3: 26-neighbour\n");
        fprintf(fpt, "5: 3D Sphere, need (radius, n(cubic size))\n");
+       fprintf(fpt, "6: 2D Rectangle, need nx, ny\n");
+       fprintf(fpt, "7: 3D Cuboid, need nx, ny, nz\n");
+       fprintf(fpt, "8: 3D Cylindar, need r, nx, ny, nz\n");
 
        fprintf(fpt, "-----\n");
        fprintf(fpt, "Dilation: Max for image : Or  for binary image \n");
@@ -114,7 +129,7 @@ lmrcImageMorphologyStructuringElement2DSquare(mrcImage* out, int mode)
 
 
 void
-lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int n, int mode)
+lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int nx, int ny, int nz, int mode)
 {
        int x, y, z;
        int rx, ry, rz;
@@ -122,12 +137,12 @@ lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int n, int mod
        double data;
 
        mrcDefaultHeaderValueSet(out);
-       out->HeaderN.x = n;
-       out->HeaderN.y = n;
-       out->HeaderN.z = 1;
-       out->HeaderStartN.x = -n/2;
-       out->HeaderStartN.y = -n/2;
-       out->HeaderStartN.z = 0;
+       out->HeaderN.x = nx;
+       out->HeaderN.y = ny;
+       out->HeaderN.z = nz;
+       out->HeaderStartN.x = -nx/2;
+       out->HeaderStartN.y = -ny/2;
+       out->HeaderStartN.z = -nz/2;
        out->HeaderMode = mrcCharImage;
        mrcInit(out, NULL);
 
@@ -150,9 +165,45 @@ lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int n, int mod
 }
 
 void
+lmrcImageMorphologyStructuringElement3DCylinder(mrcImage* out, int r, int nx, int ny, int nz, int mode)
+{
+       int x, y, z;
+       int rx, ry, rz;
+       double rr, r2;
+       double data;
+
+       mrcDefaultHeaderValueSet(out);
+       out->HeaderN.x = nx;
+       out->HeaderN.y = ny;
+       out->HeaderN.z = nz;
+       out->HeaderStartN.x = -nx/2;
+       out->HeaderStartN.y = -ny/2;
+       out->HeaderStartN.z = -nz/2;
+       out->HeaderMode = mrcCharImage;
+       mrcInit(out, NULL);
+
+       r2 = r*r;
+       for(z=0; z<out->HeaderN.z; z++) {
+               rz = z + out->HeaderStartN.z; 
+       for(y=0; y<out->HeaderN.y; y++) {
+               ry = y + out->HeaderStartN.y; 
+       for(x=0; x<out->HeaderN.x; x++) {
+               rx = x + out->HeaderStartN.x; 
+               rr = rx*rx + ry*ry;     
+               if(rr <= r2) {
+                       mrcPixelDataSet(out, x, y, z, 1, mrcPixelRePart);       
+               } else {
+                       mrcPixelDataSet(out, x, y, z, 0, mrcPixelRePart);       
+               }
+       }
+       }
+       }
+}
+
+void
 lmrcImageMorphologyStructuringElement2DDisk(mrcImage* out, int r, int n, int mode)
 {
-       lmrcImageMorphologyStructuringElementSphere(out, r, n, mode);
+       lmrcImageMorphologyStructuringElementSphere(out, r, n, n, 1, mode);
 }
 
 void
@@ -162,7 +213,7 @@ lmrcImageMorphologyStructuringElement3DCross(mrcImage* out, int mode)
        mrcDefaultHeaderValueSet(out);
        out->HeaderN.x = 3;
        out->HeaderN.y = 3;
-       out->HeaderN.z = 1;
+       out->HeaderN.z = 3;
        out->HeaderStartN.x = -1;
        out->HeaderStartN.y = -1;
        out->HeaderStartN.z = 0;
@@ -194,7 +245,7 @@ lmrcImageMorphologyStructuringElement3DCubic(mrcImage* out, int mode)
        mrcDefaultHeaderValueSet(out);
        out->HeaderN.x = 3;
        out->HeaderN.y = 3;
-       out->HeaderN.z = 1;
+       out->HeaderN.z = 3;
        out->HeaderStartN.x = -1;
        out->HeaderStartN.y = -1;
        out->HeaderStartN.z = 0;
@@ -209,9 +260,53 @@ lmrcImageMorphologyStructuringElement3DCubic(mrcImage* out, int mode)
        }
 }
 
+void
+lmrcImageMorphologyStructuringElement3DCuboid(mrcImage* out, int nx, int ny, int nz, int mode)
+{
+       float x, y, z;
+
+       mrcDefaultHeaderValueSet(out);
+       out->HeaderN.x = nx;
+       out->HeaderN.y = ny;
+       out->HeaderN.z = nz;
+       out->HeaderStartN.x = -nx/2;
+       out->HeaderStartN.y = -ny/2;
+       out->HeaderStartN.z = -nz/2;
+       out->HeaderMode = mrcCharImage;
+       mrcInit(out, NULL);
+       for(z=0; z<nz; z++) {
+       for(y=0; y<ny; y++) {
+       for(x=0; x<nx; x++) {
+               mrcPixelDataSet(out, x, y, z, 1, mrcPixelRePart); 
+       }
+       }
+       }
+}
+
+void
+lmrcImageMorphologyStructuringElement2DRectangle(mrcImage* out, int nx, int ny, int mode)
+{
+       float x, y, z;
+
+       mrcDefaultHeaderValueSet(out);
+       out->HeaderN.x = nx;
+       out->HeaderN.y = ny;
+       out->HeaderN.z = 1;
+       out->HeaderStartN.x = -1;
+       out->HeaderStartN.y = -1;
+       out->HeaderStartN.z = 0;
+       out->HeaderMode = mrcCharImage;
+       mrcInit(out, NULL);
+       for(y=0; y<ny; y++) {
+       for(x=0; x<nx; x++) {
+               mrcPixelDataSet(out, x, y, z, 1, mrcPixelRePart); 
+       }
+       }
+}
+
 
 void
 lmrcImageMorphologyStructuringElement3DSphere(mrcImage* out, int r, int n, int mode)
 {
-       lmrcImageMorphologyStructuringElementSphere(out, r, n, mode);
+       lmrcImageMorphologyStructuringElementSphere(out, r, n, n, n, mode);
 }
index a5ffa59..be3e0f6 100644 (file)
@@ -30,7 +30,7 @@ typedef struct lmrcImageMorphologyInfo {
        int nx;
        int ny;
        int nz;
-       int radius; /* for Disk*/
+       int radius; /* for Disk/Sphere/Cylinder*/
 
        /* SE feature */
        int mode;
@@ -53,7 +53,10 @@ void lmrcImageMorphologyStructuringElement2DDisk(mrcImage* out, int r, int n, in
 void lmrcImageMorphologyStructuringElement3DCross(mrcImage* out, int mode);
 void lmrcImageMorphologyStructuringElement3DCubic(mrcImage* out, int mode);
 void lmrcImageMorphologyStructuringElement3DSphere(mrcImage* out, int r, int n, int mode);
-void lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int n, int mode);
+void lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int nx, int ny, int nz, int mode);
+void lmrcImageMorphologyStructuringElement2DRectangle(mrcImage* out, int nx, int ny, int mode);
+void lmrcImageMorphologyStructuringElement3DCuboid(mrcImage* out, int nx, int ny, int nz, int mode);
+void lmrcImageMorphologyStructuringElement3DCylinder(mrcImage* out, int r, int nx, int ny, int nz, int mode);
 
 /* lmrcImageErosion.c */
 void lmrcImageErosion(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int mode);
index f9d2f98..9ec17bf 100755 (executable)
@@ -123,8 +123,11 @@ extern clusterLog* clusterLogReadAllBinary(clusterLog* cluster, char* basename,
 
 extern clusterLogOneRecord* clusterLogWriteAllBinary(clusterLog* cluster, char* basename, int mode);
 extern clusterLogOneRecord* clusterLogWrite(clusterLog* cluster, FILE* fpt, int mode);
+extern clusterLogOneRecord* clusterLogWriteBinary2(clusterLog* cluster, FILE* fpt, int mode);
 extern clusterLogOneRecord* clusterLogWriteOneRecord(clusterLogOneRecord* cluster, FILE* fpt, int mode);
+extern clusterLogOneRecord* clusterLogWriteOneRecordBinary2(clusterLogOneRecord* cluster, FILE* fpt, int mode);
 extern clusterLogOneRecord* clusterLogWriteAll(clusterLog* cluster, FILE* fpt, int mode);
+extern clusterLogOneRecord* clusterLogWriteAllBinary2(clusterLog* cluster, FILE* fpt, int mode);
 extern clusterLogOneRecord* clusterLogWriteClusterOnly(clusterLog* cluster, FILE* fpt, int mode);
 extern void clusterLogWritePS(clusterLog* cluster, clusterTreeInfo* linfo, FILE* fpt, int mode);
 
index 44cfe64..b718e14 100755 (executable)
@@ -34,6 +34,17 @@ clusterLogWrite(clusterLog* in, FILE* fpt, int mode)
 }
 
 clusterLogOneRecord*
+clusterLogWriteBinary2(clusterLog* in, FILE* fpt, int mode)
+{
+       char  s[1024];
+       char* stmp;
+       clusterLogOneRecord * cluster;
+
+       cluster = in->current;
+       return clusterLogWriteOneRecord(cluster, fpt, mode);    
+}
+
+clusterLogOneRecord*
 clusterLogWriteOneRecord(clusterLogOneRecord* cluster, FILE* fpt, int mode)
 {
        if(NULL!=cluster) {
@@ -131,6 +142,137 @@ clusterLogWriteOneRecord(clusterLogOneRecord* cluster, FILE* fpt, int mode)
 }
 
 clusterLogOneRecord*
+clusterLogWriteOneRecordBinary2(clusterLogOneRecord* cluster, FILE* fpt, int mode)
+{
+       clusterTypeInteger N, M;
+
+       if(NULL!=cluster) {
+               switch(mode) {
+                       case 0: {
+                               fwrite(&cluster->N, sizeof(cluster->N), 1, fpt);        
+                               fwrite(&cluster->M, sizeof(cluster->M), 1, fpt);        
+                               fwrite(&cluster->prevN, sizeof(cluster->prevN), 1, fpt);        
+                               fwrite(&cluster->prevM, sizeof(cluster->prevM), 1, fpt);        
+                               fwrite(&cluster->distance, sizeof(cluster->distance), 1, fpt);  
+                               break;
+                       }
+                       case 1: {
+                               if(NULL!=cluster->belowLayer) {
+
+                                       fwrite(&cluster->N, sizeof(cluster->N), 1, fpt);        
+                                       fwrite(&cluster->M, sizeof(cluster->M), 1, fpt);        
+                                       fwrite(&cluster->distance, sizeof(cluster->distance), 1, fpt);  
+                                       fwrite(&cluster->clusterNumber, sizeof(cluster->clusterNumber), 1, fpt);        
+                                       fwrite(&cluster->prevN, sizeof(cluster->prevN), 1, fpt);        
+                                       fwrite(&cluster->prevM, sizeof(cluster->prevM), 1, fpt);        
+                                       fwrite(&cluster->belowLayer->N, sizeof(cluster->belowLayer->N), 1, fpt);        
+                                       fwrite(&cluster->belowLayer->M, sizeof(cluster->belowLayer->M), 1, fpt);        
+                               } else {
+                                       clusterLogWriteOneRecordBinary2(cluster, fpt, 0);
+                               }
+                               break;
+                       }
+                       case 2: {
+                               if(NULL!=cluster->belowLayer) {
+                                       fwrite(&cluster->N, sizeof(cluster->N), 1, fpt);        
+                                       fwrite(&cluster->M, sizeof(cluster->M), 1, fpt);        
+                                       fwrite(&cluster->prevN, sizeof(cluster->prevN), 1, fpt);        
+                                       fwrite(&cluster->prevM, sizeof(cluster->prevM), 1, fpt);        
+                                       fwrite(&cluster->distance, sizeof(cluster->distance), 1, fpt);  
+                                       fwrite(&cluster->belowLayer->N, sizeof(cluster->belowLayer->N), 1, fpt);        
+                                       fwrite(&cluster->belowLayer->M, sizeof(cluster->belowLayer->M), 1, fpt);        
+                               } else {
+                                       clusterLogWriteOneRecordBinary2(cluster, fpt, 0);
+                               }
+
+                               if(NULL!=cluster->belowLayerForN) {
+                                       fwrite(&cluster->belowLayerForN->N, sizeof(cluster->belowLayerForN->N), 1, fpt);        
+                                       fwrite(&cluster->belowLayerForN->M, sizeof(cluster->belowLayerForN->M), 1, fpt);        
+                               } else {
+                                       N = -1;
+                                       M = -1;
+                                       fwrite(&N, sizeof(N), 1, fpt);  
+                                       fwrite(&M, sizeof(M), 1, fpt);  
+                               }
+                               if(NULL!=cluster->belowLayerForM) {
+                                       fwrite(&cluster->belowLayerForM->N, sizeof(cluster->belowLayerForM->N), 1, fpt);        
+                                       fwrite(&cluster->belowLayerForM->M, sizeof(cluster->belowLayerForM->M), 1, fpt);        
+                               } else {
+                                       N = -1;
+                                       M = -1;
+                                       fwrite(&N, sizeof(N), 1, fpt);  
+                                       fwrite(&M, sizeof(M), 1, fpt);  
+                               }
+                               break;
+                       }
+                       case 3: {
+                               fwrite(&cluster->N, sizeof(cluster->N), 1, fpt);        
+                               fwrite(&cluster->M, sizeof(cluster->M), 1, fpt);        
+                               fwrite(&cluster->prevN, sizeof(cluster->prevN), 1, fpt);        
+                               fwrite(&cluster->prevM, sizeof(cluster->prevM), 1, fpt);        
+                               fwrite(&cluster->distance, sizeof(cluster->distance), 1, fpt);  
+                               fwrite(&cluster->firstN, sizeof(cluster->firstN), 1, fpt);      
+                               fwrite(&cluster->firstM, sizeof(cluster->firstM), 1, fpt);      
+                               fwrite(&cluster->originalN, sizeof(cluster->originalN), 1, fpt);        
+                               fwrite(&cluster->originalM, sizeof(cluster->originalM), 1, fpt);        
+
+                               if(0<cluster->clusterSize){
+                                       fwrite(&cluster->clusterSize, sizeof(cluster->clusterSize), 1, fpt);    
+                               } else {
+                                       N = -1;
+                                       fwrite(&N, sizeof(N), 1, fpt);  
+                               }
+                               if(cluster->belowLayerForN != NULL) {
+                                       fwrite(&cluster->belowLayerForN->clusterSize, sizeof(cluster->belowLayerForN->clusterSize), 1, fpt);    
+                               } else {
+                                       N = 1;
+                                       fwrite(&N, sizeof(N), 1, fpt);  
+                               }
+                               if(cluster->belowLayerForM != NULL) {
+                                       fwrite(&cluster->belowLayerForM->clusterSize, sizeof(cluster->belowLayerForM->clusterSize), 1, fpt);    
+                               } else {
+                                       M = 1;
+                                       fwrite(&M, sizeof(M), 1, fpt);  
+                               }
+
+                               if(0<cluster->clusterNumber){
+                                       fwrite(&cluster->clusterNumber, sizeof(cluster->clusterNumber), 1, fpt);        
+                               } else {
+                                       N = -1;
+                                       fwrite(&N, sizeof(N), 1, fpt);  
+                               }
+                               break;
+                       }
+                       case 4: {
+                               clusterLogOneRecord* tmp;
+                               for(tmp=cluster; tmp!=NULL; tmp=tmp->belowLayer) {
+                                       while(tmp->belowLayerForN==NULL || tmp->belowLayerForM == NULL) {
+                                               if(tmp->prev!=NULL) {
+                                                       tmp = tmp->prev;
+                                               } else {
+                                                       exit(EXIT_FAILURE);
+                                               }
+                                       }
+
+                                       fwrite(&cluster->N, sizeof(cluster->N), 1, fpt);        
+                                       fwrite(&cluster->M, sizeof(cluster->M), 1, fpt);        
+                                       fwrite(&cluster->prevN, sizeof(cluster->prevN), 1, fpt);        
+                                       fwrite(&cluster->prevM, sizeof(cluster->prevM), 1, fpt);        
+                                       fwrite(&cluster->distance, sizeof(cluster->distance), 1, fpt);  
+                                       fwrite(&tmp->belowLayerForN->N, sizeof(cluster->belowLayerForN->N), 1, fpt);    
+                                       fwrite(&tmp->belowLayerForN->M, sizeof(cluster->belowLayerForN->M), 1, fpt);    
+                               }
+                               break;
+                       }
+                       default: {
+                               break;
+                       }
+               }
+       }       
+       return cluster;
+}
+
+clusterLogOneRecord*
 clusterLogWriteAll(clusterLog* cluster, FILE* fpt, int mode)
 {
        clusterLogOneRecord* last=NULL;
@@ -148,6 +290,23 @@ clusterLogWriteAll(clusterLog* cluster, FILE* fpt, int mode)
 }
 
 clusterLogOneRecord*
+clusterLogWriteAllBinary2(clusterLog* cluster, FILE* fpt, int mode)
+{
+       clusterLogOneRecord* last=NULL;
+
+       cluster->current = cluster->top; 
+       if(NULL==cluster->current) {
+               fprintf(stderr, "No Cluster\n");
+               exit(EXIT_FAILURE);
+       }
+       while(NULL!=clusterLogWriteBinary2(cluster, fpt, mode)) {
+               last = cluster->current;
+               cluster->current = cluster->current->next;
+       }
+       return last;
+}
+
+clusterLogOneRecord*
 clusterLogWriteAllBinary(clusterLog* in, char* basename, int mode)
 {
        clusterLogOneRecord* last    = NULL;
index 4dde2a1..254c6db 100755 (executable)
@@ -530,3 +530,14 @@ WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
deleted file mode 100755 (executable)
index ad841104b1b4aa83ce554496adb2d2476544f988..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,5 +0,0 @@
-include ../Config/Define.inc
-include Config/Define.inc
-include .Source
-
-include Config/Target.inc
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..80a2401a7dc3d8e1cdc121c22208bd28b6887cf3
--- /dev/null
@@ -0,0 +1 @@
+/Users/tacyas/Eos/src/Config/Template/ToolsHomeTemplate.Dir/Makefile
\ No newline at end of file
index b7a0413..43e2455 100644 (file)
@@ -4,6 +4,7 @@ ctfDeterminationFromPhaseComparison \
 ctfDeterminationFromThonRing \
 ctfDetermine \
 ctfEnvelopFunction \
+ctfEnvelopFunctionEstimate \
 ctfFunction \
 ctfFunctionServer \
 ctfInfoSet \
index 5c1d14f..c184b81 100755 (executable)
@@ -169,6 +169,8 @@ main(int argc, char* argv[])
                        break;
                }
        }
+
+       ctfInfoWrite(info.fptOut, result, "", 0);
        return 0;
 }
 
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/Define.inc b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/Define.inc
new file mode 100755 (executable)
index 0000000..36ff1ea
--- /dev/null
@@ -0,0 +1,4 @@
+OBJECTNAME = ctfEnvelopFunctionEstimate
+EXTRA_LIB  =
+EXTRA_CCOPTS =
+EXTRA_INC =
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/OptionControlFile b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/OptionControlFile
new file mode 100755 (executable)
index 0000000..58cdabf
--- /dev/null
@@ -0,0 +1,8 @@
+# OptionControlFile
+# FileFormat
+"-i","-i[nput]","Input:","Essential","1","1","In","inFile::mrcImage","NULL"
+"-o","-o[utput]","Output:","Optional","1","1","Out","outFile::ASCII","stdout"
+"-degree","-degree","[dim]","Optional","1","1","degree","Integer","6"
+"-Range","-Range","[/A]","Optional","2","1","CutLow","Real","0.01","2","CutHigh","Real","0.2"
+"-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
+"-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0"
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/Target.inc b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Config/Target.inc
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Makefile b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/Makefile
new file mode 100755 (executable)
index 0000000..6c4a336
--- /dev/null
@@ -0,0 +1,115 @@
+include ../../../Config/Define.inc
+include ../../Config/Define.inc
+include ../Config/Define.inc
+include Config/Define.inc
+
+all:
+       cd src; make all; cd ..
+
+install:
+       cd src; make install; cd ..
+
+
+putSF:
+       if [ -f private ] ; \
+       then \
+               echo "$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME) is private"; \
+       else \
+               cvs -z4 -d:ext:$$USER@$$EOS_SOURCEFORGE commit || cvs -z4 -d:ext:$$USER@$$EOS_SOURCEFORGE import src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME); \
+       fi
+
+put:
+       cd src; make put; cd ..
+
+clean:
+       cd src; make clean; cd ..
+
+depend:
+       cd src; make depend; cd ..
+
+check:
+       @if [ ! -d $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) ] ; then \
+               echo making directory; \
+               mkdir -p $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE); \
+       fi
+       ln -sf ../../../../../hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) src/$(OSTYPE); 
+       @$(RM) src/Makefile
+       @echo "New src/Makefile" 
+       @$(CP) ../../../Config/Template/$(WORLDNAME)Template.Dir/src/Makefile src/Makefile
+       @cd src; touch $(OSTYPE)/.Depend; make depend
+
+update:
+       @if [ ! -d $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) ] ; then \
+               echo making directory; \
+               mkdir -p $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE); \
+       fi
+       ln -sf ../../../../../hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) src/$(OSTYPE); 
+       @$(RM) src/Makefile
+       @echo "New src/Makefile" 
+       @$(CP) ../../../Config/Template/$(WORLDNAME)Template.Dir/src/Makefile src/Makefile
+       @cd src; touch $(OSTYPE)/.Depend; echo "Y" | make update      
+
+cvsupdate::
+       cvs -d $(EOS_CVSROOT) update -d 
+
+cvscommit::
+       cvs -d $(EOS_CVSROOT) commit
+
+backup:
+       @cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config       ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile
+
+backup-all:
+       @cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config       ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile
+       
+distribute:
+       cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config     ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE)
+       
+distribute-all:
+       @cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config     ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE)
+
+eosintroduce:
+       ${EOS_HOME}/sbin/eosintroduce ${WORLDNAME} ${CLASSNAME} ${OBJECTNAME} ./ 
+
+include Config/Target.inc
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/doc/Makefile b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/doc/Makefile
new file mode 100755 (executable)
index 0000000..8215199
--- /dev/null
@@ -0,0 +1,2 @@
+install:
+       cd ../src; make install-doc; cd ../doc  
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/inc/config.h b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/inc/config.h
new file mode 100755 (executable)
index 0000000..ae1a977
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "../inc/ctfEnvelopFunctionEstimate.h"
+
+#endif /* CONFIG_H */
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/inc/ctfEnvelopFunctionEstimate.h b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/inc/ctfEnvelopFunctionEstimate.h
new file mode 100755 (executable)
index 0000000..f0e26c4
--- /dev/null
@@ -0,0 +1,55 @@
+#ifndef CTFENVELOPFUNCTIONESTIMATE_H
+#define CTFENVELOPFUNCTIONESTIMATE_H
+#include <stdio.h>
+#include <stdlib.h>
+
+#define OPTION_FLAG     '-'
+#define OPTION_FLAG_POS (0)
+#define OPTION_POS      (1)
+
+
+
+
+typedef struct ctfEnvelopFunctionEstimateInfo {
+    long flagRedirect;
+
+    long flagIn;
+    char* In;
+    FILE* fptIn;
+    
+    long flagOut;
+    char* Out;
+    FILE* fptOut;
+    
+    long flagdegree;
+    long degree;
+    
+    long flagCutLow;
+    float CutLow;
+    
+    long flagCutHigh;
+    float CutHigh;
+    
+    long flagconfigFile;
+    char* configFile;
+    FILE* fptconfigFile;
+    
+    long flagmode;
+    long mode;
+    
+} ctfEnvelopFunctionEstimateInfo;
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern void argCheck(ctfEnvelopFunctionEstimateInfo* info, int argc, char* avgv[]);
+extern void khorosInit(int argc, char* avgv[]);
+extern void init0(ctfEnvelopFunctionEstimateInfo* info);
+extern void init1(ctfEnvelopFunctionEstimateInfo* info);
+extern void usage(char* usage);
+extern void additionalUsage(void);
+extern void htmlBeforeUsage(char* usage);
+extern void htmlAfterUsage(char* usage);
+#ifdef __cplusplus
+};
+#endif
+#endif /* CTFENVELOPFUNCTIONESTIMATE_H */
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/.Depend b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/.Depend
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/.Source b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/.Source
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/Makefile b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/Makefile
new file mode 100755 (executable)
index 0000000..7beb110
--- /dev/null
@@ -0,0 +1,427 @@
+include ../Config/Define.inc
+include ../../Config/Define.inc
+include ../../../Config/Define.inc
+include ../../../../Config/Define.inc
+
+EOSHOME=../../../../../
+DSTDIR=$(EOSHOME)/bin
+DSTDOC=$(EOSHOME)/doc
+DSTTAR=$(EOSHOME)/tar
+
+INCFILES   = 
+
+LIBFILES   = \
+                       $(LIBPREFIX)EosObjects$(LIBSUFFIX) 
+
+LIBFILESDEBUG   = \
+                       $(LIBPREFIX)EosObjects.debug$(LIBSUFFIX) 
+
+SRCC  = \
+                       $(OBJECTNAME).c \
+                       init.c \
+                       argCheck.c \
+                       usage.c  \
+                       util.c \
+
+SRCCXX  = \
+                       $(OBJECTNAME).cc \
+                       init.cc \
+                       argCheck.cc \
+                       usage.cc  \
+                       util.cc \
+
+MODULES    = \
+                       $(OBJECTNAME).o \
+                       init.o \
+                       argCheck.o \
+                       usage.o  \
+                       util.o \
+
+REALMODULES    = \
+                       $(OSTYPE)/$(OBJECTNAME).o \
+                       $(OSTYPE)/init.o \
+                       $(OSTYPE)/argCheck.o \
+                       $(OSTYPE)/usage.o \
+                       $(OSTYPE)/util.o 
+
+MODULESDEBUG    = \
+                       $(OBJECTNAME).debugo \
+                       init.debugo \
+                       argCheck.debugo \
+                       usage.debugo  \
+                       util.debugo \
+
+REALMODULESDEBUG    = \
+                       $(OSTYPE)/$(OBJECTNAME).debugo \
+                       $(OSTYPE)/init.debugo \
+                       $(OSTYPE)/argCheck.debugo \
+                       $(OSTYPE)/usage.debugo \
+                       $(OSTYPE)/util.debugo 
+
+
+all: $(OSTYPE)/$(OBJECTNAME) 
+       if [ ! -L $(OSTYPE) ] ; then \
+               moveHostdependent; \
+       fi
+
+debug: $(OSTYPE)/$(OBJECTNAME).debug
+
+cudagdb: $(OSTYPE)/$(OBJECTNAME).cudagdb
+
+
+$(OSTYPE)/$(OBJECTNAME)::
+       @$(RM) -f $(OSTYPE)/Makefile ; \
+       $(CP) $(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH/Makefile $(OSTYPE)/Makefile ; \
+       cd $(OSTYPE); \
+       $(MAKE) $(OBJECTNAME)  WORLDNAME=$(WORLDNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME)
+
+$(OSTYPE)/$(OBJECTNAME).debug::
+       @$(RM) -f $(OSTYPE)/Makefile ; \
+       $(CP) $(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH/Makefile $(OSTYPE)/Makefile ; \
+       cd $(OSTYPE); \
+       $(MAKE) $(OBJECTNAME).debug  WORLDNAME=$(WORLDNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME)
+
+$(OSTYPE)/$(OBJECTNAME).cudagdb::
+       @$(RM) -f $(OSTYPE)/Makefile ; \
+       $(CP) $(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH/Makefile $(OSTYPE)/Makefile ; \
+       cd $(OSTYPE); \
+       $(MAKE) $(OBJECTNAME).cudagdb WORLDNAME=$(WORLDNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME)
+
+cvsupdate::
+       cvs -d $(EOS_CVSROOT) update -d 
+
+cvscommit::
+       cvs -d $(EOS_CVSROOT) commit 
+
+edit:
+       @if [ -r $(OBJECTNAME).c ]; \
+       then \
+               sccsEdit $(OBJECTNAME).c; \
+       else \
+               echo "Source files are already editable"; \
+       fi
+       @if [ -r wish/$(OBJECTNAME).wish ]; \
+       then \
+               cd wish; sccsEdit $(OBJECTNAME).wish; \
+       else \
+               echo "Source files (wish) are already editable."; \
+       fi
+       @if [ -r ruby/$(OBJECTNAME).rb ]; \
+       then \
+               cd ruby; sccsEdit $(OBJECTNAME).rb; \
+       else \
+               echo "Source files (ruby) are already editable."; \
+       fi
+       @if [ -r perl/$(OBJECTNAME).pl ]; \
+       then \
+               cd perl; sccsEdit $(OBJECTNAME).pl ; \
+       else \
+               echo "Source files (perl) are already editable."; \
+       fi
+       @if [ -r ../Config/OptionControlFile ]; \
+       then \
+               cd ../Config; sccsEdit OptionControlFile; \
+       else \
+               echo "OptionControlFile are already editable."; \
+       fi
+       
+unedit:
+       @if [ -w $(OBJECTNAME).c ]; \
+       then \
+               sccsUnedit $(OBJECTNAME).c; \
+       else \
+               echo "Source files are not editable"; \
+       fi
+       @if [ -w wish/$(OBJECTNAME).wish ]; \
+       then \
+               cd wish; sccsUnedit $(OBJECTNAME).wish; \
+       else \
+               echo "Source files (wish) are not editable."; \
+       fi
+       @if [ -w ruby/$(OBJECTNAME).rb]; \
+       then \
+               cd ruby; sccsUnedit $(OBJECTNAME).rb; \
+       else \
+               echo "Source files (ruby) are not editable."; \
+       fi
+       @if [ -w perl/$(OBJECTNAME).pl ]; \
+       then \
+               cd perl; sccsUnedit $(OBJECTNAME).pl ; \
+       else \
+               echo "Source files (ruby) are not editable."; \
+       fi
+       @if [ -w ../Config/OptionControlFile ]; \
+       then \
+               cd ../Config; sccsUnedit OptionControlFile; \
+       else \
+               echo "OptionControlFile are not editable."; \
+       fi
+       
+report:
+       @if [ -r $(OBJECTNAME).c ]; \
+       then \
+               sccsReport $(OBJECTNAME).c; \
+       else \
+               echo "Source files are already editable"; \
+       fi
+       @if [ -r wish/$(OBJECTNAME).wish ]; \
+       then \
+               cd wish; sccsReport $(OBJECTNAME).wish; \
+       else \
+               echo "Source files (wish) are already editable."; \
+       fi
+       @if [ -r ruby/$(OBJECTNAME).rb ]; \
+       then \
+               cd ruby; sccsReport $(OBJECTNAME).rb; \
+       else \
+               echo "Source files (ruby) are already editable."; \
+       fi
+       @if [ -r perl/$(OBJECTNAME).pl ] ; \
+       then \
+               cd perl; sccsReport $(OBJECTNAME).pl ; \
+       else \
+               echo "Source files (perl) are already editable."; \
+       fi
+       @if [ -r ../Config/OptionControlFile ]; \
+       then \
+               cd ../Config; sccsReport OptionControlFile; \
+       else \
+               echo "OptionControlFile are already editable."; \
+       fi
+
+clean : 
+       rm -f *.debugo $(OSTYPE)/*.debugo *.cudagdbo $(OSTYPE)/*.cudagdbo *.o $(OSTYPE)/*.o *.linkinfo $(OSTYPE)/*.linkinfo \
+               $(OSTYPE)/$(OBJECTNAME) $(OSTYPE)/*.$(OSTYPE) \
+               $(OSTYPE)/$(OBJECTNAME).debug $(OSTYPE)/*.$(OSTYPE).debug \
+               $(OSTYPE)/$(OBJECTNAME).cudagdb $(OSTYPE)/*.$(OSTYPE).cudagdb \
+               $(OSTYPE)/$(OBJECTNAME).linkinfo $(OSTYPE)/*.$(OSTYPE).linkinfo \
+               *.bak *.$(OSTYPE) core
+
+install: install-bin install-doc install-wish install-ruby install-shell install-perl
+       @if [ dummy$(KHOROS_KENGOBJ) != dummy ]  ; \
+       then \
+               if [ -x $(KHOROS_KGENOBJ) ] ;  \
+               then \
+                       make install-khoros ; \
+               fi; \
+       fi 
+
+install-bin:$(DSTDIR)/$(OSTYPE)/$(OBJECTNAME) 
+
+$(DSTDIR)/$(OSTYPE)/$(OBJECTNAME):$(OSTYPE)/$(OBJECTNAME) $(DSTDIR)/$(OBJECTNAME) 
+       @echo ---- Installing to bin
+       @echo $(DSTDIR)/$(OSTYPE)/$(OBJECTNAME)
+       @if [ ! -d $(DSTDIR)/$(OSTYPE) ]; \
+       then \
+               mkdir $(DSTDIR)/$(OSTYPE); \
+       fi
+       @if [ -x $(OSTYPE)/$(OBJECTNAME) ]; \
+       then \
+               echo "Compilation is complete"; \
+               $(RM) -f $(DSTDIR)/$(OSTYPE)/$(OBJECTNAME); \
+               $(CD) $(OSTYPE); $(INSTALL) -m 555 $(OBJECTNAME) ../$(DSTDIR)/$(OSTYPE); \
+               $(CHMOD) 555 ../$(DSTDIR)/$(OSTYPE)/$(OBJECTNAME); \
+       else \
+               echo "Compilation is incomplete. $(OBJECTNAME)"; \
+       fi
+       @echo ---- end of bin
+
+install-wish:
+       @if [ -d wish ]; \
+       then \
+               echo "---- Tcl/Tk file Install"; \
+               if [ ! -d $(DSTDIR)/wish/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/wish/$(OBJECTNAME) ; \
+               fi ; \
+               $(CP) -f wish/* $(DSTDIR)/wish/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/wish/$(OBJECTNAME)/*  ;\
+               touch $(DSTDIR)/wish/$(OBJECTNAME)/tclIndex;\
+               $(CHMOD) 666 $(DSTDIR)/wish/$(OBJECTNAME)/tclIndex;\
+               echo "---- Tcl/Tk file Installed";\
+       fi
+
+install-ruby:
+       @if [ -d ruby ]; \
+       then \
+               echo "---- Ruby/Tk file Install"; \
+               if [ ! -d $(DSTDIR)/ruby/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/ruby/$(OBJECTNAME) ; \
+               fi ; \
+               $(CP) -f ruby/* $(DSTDIR)/ruby/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/ruby/$(OBJECTNAME)/* ; \
+               echo "---- Ruby/Tk file Installed"; \
+       fi
+
+install-perl:
+       @if [ -d perl ]; \
+       then \
+               echo "---- Perl/Tk file Install"; \
+               if [ ! -d $(DSTDIR)/perl/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/perl/$(OBJECTNAME) ; \
+               fi; \
+               $(CP) -f perl/* $(DSTDIR)/perl/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/perl/$(OBJECTNAME)/* ; \
+               echo "---- Perl/Tk file Installed"; \
+       fi
+
+install-shell:
+       @if [ ! -d $(DSTDIR)/shell/$(OBJECTNAME) ]; \
+       then \
+               mkdir $(DSTDIR)/shell/$(OBJECTNAME) ; \
+       fi
+       @if [ -d shell ]; \
+       then \
+               echo "---- Shell file Install"; \
+               if [ ! -d $(DSTDIR)/shell/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/shell/$(OBJECTNAME) ; \
+               fi ; \
+               $(CP) -f shell/* $(DSTDIR)/shell/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/shell/$(OBJECTNAME)/*; \
+               echo "---- Shell file Installed"; \
+       fi
+
+install-khoros:
+       @echo Installing to khoros
+       @if [ ! -d ../../../../../objects/script/$(OBJECTNAME) -a -f $(KHOROS_KGENOBJ) ]; \
+       then \
+               echo kgenobj;\
+               $(KHOROS_KGENOBJ) -tb Eos -oname $(OBJECTNAME) -type script -pane -cantata true -cat Eos -subcat $(CLASSNAME) -description $(OBJECTNAME) -bname $(OBJECTNAME) -form  -lang ksh ; \
+       fi
+       @if [ ! -d ../../../../../objects/script/$(OBJECTNAME) -a -f $(KHOROS_KSET) ]; \
+       then \
+               $(KHOROS_KSET) -tb Eos -oname $(OBJECTNAME) -icon $(OBJECTNAME) ; \
+       fi
+       @if [ -d ../../../../../objects/script/$(OBJECTNAME) -a -f $(KHOROS_KSET) ]; \
+       then \
+               $(CHMOD) -R 775 ../../../../../objects/script/$(OBJECTNAME) ; \
+               if [ $?  ] ; \
+               then \
+                       echo "-- setting khoros ---" ; \
+                       if [ -d ../../../../../objects/script/$(OBJECTNAME)/uis/ ] ; \
+                       then \
+                               $(CD) ../../../../../objects/script/$(OBJECTNAME)/uis/ ; \
+                               $(RM) -f $(OBJECTNAME).pane ; \
+                               $(LN) -s ../../../../src/Tools/$(CLASSNAME)/$(OBJECTNAME)/src/$(OBJECTNAME).pane $(OBJECTNAME).pane; \
+                               $(CD) ../../ ; \
+                               $(CHMOD) -R 555 $(OBJECTNAME); \
+                       else \
+                               echo "../../../../../objects/script/$(OBJECTNAME)/uis/ does not exist."; \
+                       fi ; \
+               else \
+                       echo "Failed !!: Cannot chage mode in installing  $(OBJECTNAME) to khoros system"; \
+               fi ; \
+               echo "-- end of khoros-installing"; \
+       fi
+
+install-doc: html 
+       @if [ ! -d $(DSTDOC)/SmallTools ]; \
+       then \
+               mkdir $(DSTDOC)/SmallTools ;\
+       fi
+       @if [ -f $(DSTDOC)/SmallTools/$(OBJECTNAME).html ]; \
+       then \
+               $(RM) -f $(DSTDOC)/SmallTools/$(OBJECTNAME).html ;\
+       fi
+       @$(CP) $(OBJECTNAME).html  $(DSTDOC)/SmallTools/$(OBJECTNAME).html
+       @$(CHMOD) 444 $(DSTDOC)/SmallTools/$(OBJECTNAME).html
+       @if [ -f ../doc/*.html ]; \
+       then \
+               $(CP) ../doc/*.html  $(DSTDOC)/SmallTools/ ;\
+       fi
+       @$(CHMOD) 444 $(DSTDOC)/SmallTools/$(OBJECTNAME).html
+       @if [ -f $(DSTDOC)/SmallTools/Makefile ]; \
+       then \
+               cd $(DSTDOC)/SmallTools; $(MAKE); \
+       fi
+
+html: $(OBJECTNAME).html
+
+configFileRead:
+       @ctrl2configFileRead $(CLASSNAME) $(OBJECTNAME) ../Config/OptionControlFile
+
+$(OBJECTNAME).html: $(OSTYPE)/$(OBJECTNAME)
+       @echo creating html
+       @$(OSTYPE)/$(OBJECTNAME) -html 2> $(OBJECTNAME).html.tmp
+       @sed -e s/$(OSTYPE)\\/// $(OBJECTNAME).html.tmp > $(OBJECTNAME).html
+       @$(RM) $(OBJECTNAME).html.tmp
+
+$(DSTDIR)/$(OBJECTNAME): $(OSTYPE)/$(OBJECTNAME)
+       @ln -s -f ../sbin/MachineIndependent $@
+
+depend::
+       @echo dependency checking now
+       @if [ ! -L $(OSTYPE) ] ; then \
+               moveHostdependent; \
+       fi
+       rm -f $(OSTYPE)/.Depend 
+       #echo C
+       @if [ -f $(OBJECTNAME).c ] ; \
+       then \
+               echo "dependency: *.c"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) *.c   ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) *.c                  >> $(OSTYPE)/.Depend ; \
+       fi
+       #echo CC
+       @if [ -f $(OBJECTNAME).cc ] ; \
+       then \
+               echo "dependency: *.cc"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cc ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cc >> $(OSTYPE)/.Depend ; \
+       fi
+       @if [ -f $(OBJECTNAME).ccm ] ; \
+       then \
+               echo "dependency: *.ccm"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.ccm ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.ccm >> $(OSTYPE)/.Depend ; \
+       fi
+       @if [ -f $(OBJECTNAME).cu ] ; \
+       then \
+               echo "dependency: *.cu"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cu ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cu >> $(OSTYPE)/.Depend ; \
+       fi
+
+update:../Config/OptionControlFile
+       maketool $(CLASSNAME) $(OBJECTNAME) update
+
+changeName::
+
+Test:$(OSTYPE)/$(OBJECTNAME) TestDir
+       @if [ -f test/Makefile ] ; \
+       then \
+               cd test; make ; \
+       else \
+               echo "No test Makefile"; \
+       fi
+
+TestDir::
+       @if [ ! -d test ] ; \
+       then \
+               echo "Creating test dir"; \
+               mkdir  test; \
+       fi
+       @if [ ! -f test/Makefile ] ; \
+       then \
+               echo "Creating Makefile"; \
+               cd test; \
+               protoTestMakefileCreate; \
+       fi
+       @if [ ! -d test/data ]; \
+       then \
+               mkdir $(EOSHOME)/data/$(OBJECTNAME); \
+               cd test; \
+               ln -sf ../$(EOSHOME)/data/$(OBJECTNAME) data; \
+       fi 
+
+tar::
+       cd $(DSTTAR); tar cvf Tools.$(CLASSNAME).$(OBJECTNAME).tar ../bin/$(OBJECTNAME) \
+                                                            ../bin/*/$(OBJECTNAME).* \
+                                                            ../src/Tools/$(CLASSNAME)/$(OBJECTNAME) \
+                               ; gzip Tools.$(CLASSNAME).$(OBJECTNAME).tar
+
+-include $(OSTYPE)/.Depend
+-include ../Config/Target.inc
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64 b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64
new file mode 120000 (symlink)
index 0000000..19babc9
--- /dev/null
@@ -0,0 +1 @@
+../../../../../hostdepend/X86MAC64/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/X86MAC64
\ No newline at end of file
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/argCheck.c b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/argCheck.c
new file mode 100755 (executable)
index 0000000..a30b81a
--- /dev/null
@@ -0,0 +1,121 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "../inc/config.h"
+#include "genUtil.h"
+#include "String.h"
+#include "File.h"
+#include "Memory.h"
+
+
+void
+argCheck(ctfEnvelopFunctionEstimateInfo* info, int argc, char* argv[])
+{
+    long i;
+    char s[1024];
+    FILE* fpt;
+    
+    if(NULL==(fpt=fopen(".EosLog", "a+"))) { 
+        
+    } else {
+        for(i=0; i<argc; i++) {
+            fprintf(fpt, "%s ", argv[i]);
+        }
+        fprintf(fpt, "\n");
+        fclose(fpt);
+    }
+    for(i=1; i<argc; i++) {
+        if(OPTION_FLAG==argv[i][OPTION_FLAG_POS]) {
+            SSWITCH(argv[i]+OPTION_POS)
+                SCASE("i") {
+                    if(i+1<argc) {
+                        info->In = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagIn++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("o") {
+                    if(i+1<argc) {
+                        info->Out = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagOut++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("degree") {
+                    if(i+1<argc) {
+                        info->degree = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagdegree++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("Range") {
+                    if(i+2<argc) {
+                        info->CutLow = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagCutLow++;
+                        info->CutHigh = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagCutHigh++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("c") {
+                    if(i+1<argc) {
+                        info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagconfigFile++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("m") {
+                    if(i+1<argc) {
+                        info->mode = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagmode++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("h") {
+                    usage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SCASE("html") {
+                    htmlBeforeUsage(argv[0]);
+                    usage(argv[0]);
+                    htmlAfterUsage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SDEFAULT {
+                    fprintf(stderr, "Not Supported Options: :%s\n", argv[i]);
+                    usage(argv[0]);
+                    exit(EXIT_FAILURE);
+                    break;
+                }
+            SSWITCHEND;
+        } 
+    } 
+} 
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/ctfEnvelopFunctionEstimate.c b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/ctfEnvelopFunctionEstimate.c
new file mode 100755 (executable)
index 0000000..89780bd
--- /dev/null
@@ -0,0 +1,89 @@
+/*
+# ctfEnvelopFunctionEstimate : $Revision$  
+# $Date$ 
+# Created by $Author$
+# Usage : ctfEnvelopFunctionEstimate
+# Attention
+#   $Loccker$
+#      $State$ 
+#
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>                  
+#define GLOBAL_DECLARATION
+#include "../inc/config.h"
+
+#define DEBUG
+#include "genUtil.h"
+#include "Memory.h"
+#include "ctfInfo.h"
+#include "mrcImage.h"
+
+#include "./lctfDetermination.h"
+#include "./powerspectraTangentLine.h"
+#include "./ctfInfoWrite2.h"
+#include "./lmrcFSInfoScatteringAngularDistributionAverageSection.h"
+
+
+/*
+Example:
+typedef struct lctfEnvelopFunctionEstimateInfo {
+       float a;
+       int   b;
+} lctfEnvelopFunctionEstimateInfo;
+
+typedef enum lctfEnvelopFunctionEstimateMode {
+       a=0,
+       b=1
+} lctfEnvelopFunctionEstimateMode;
+*/
+
+int
+main(int argc, char* argv[]) 
+{
+       ctfEnvelopFunctionEstimateInfo info;
+       mrcImage in;
+       floatVector* spacing;
+       floatVector* scatter;
+       float** belowCoefficient;
+       float** aboveCoefficient;
+       ctfInfo ini;
+       lctfDetermineInfo linfo;
+       int i;
+
+       init0(&info);
+    argCheck(&info, argc, argv);
+    init1(&info);
+
+       DEBUGPRINT("Program Start\n");
+
+       linfo.degree = info.degree;
+       ini.CutLow = info.CutLow;
+       ini.CutHigh = info.CutHigh;
+
+       mrcFileRead(&in, info.In, "in main", 0);
+       scatter = lmrcFSInfoScatteringAngularDistributionAverage(&in);
+       spacing = lmrcFSInfoSpacing(&in);
+
+       belowCoefficient = MemoryAllocate(float*, linfo.degree+1, "in lctfDeterminationByTangent");
+       for(i=0; i<linfo.degree+1; i++) {
+         belowCoefficient[i] = MemoryAllocate(float, i+1, "in lctfDeterminationByTangent");
+       }
+       aboveCoefficient = MemoryAllocate(float*, linfo.degree+1, "in lctfDeterminationByTangent");
+       for(i=0; i<linfo.degree+1; i++) {
+               aboveCoefficient[i] = MemoryAllocate(float, i+1, "in lctfDeterminationByTangent");
+       }
+
+       TangentLine(spacing, scatter, belowCoefficient, aboveCoefficient, &ini, &linfo, info.mode);
+       TangentLinePrint(info.fptOut, spacing, scatter, belowCoefficient, aboveCoefficient, &linfo, info.mode);
+
+       exit(EXIT_SUCCESS);
+}
+
+void
+additionalUsage()
+{
+       fprintf(stderr, "----- Additional Usage -----\n");
+}
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/ctfEnvelopFunctionEstimate.pane b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/ctfEnvelopFunctionEstimate.pane
new file mode 100755 (executable)
index 0000000..113e462
--- /dev/null
@@ -0,0 +1,18 @@
+-F 4.3 1 0 52x1+0+0 +0+0 'Cantata' cantata
+  -M 1 1 52x1+0+0 +1+0 ' ' subform
+    -P 1 0 52x1+0+1 +0+0 ' ' ctfEnvelopFunctionEstimate
+      -D 1 0 9x1+0+0 'Options' _gui_options
+        -H 1  6x1+0+0 'License' 'license' $BOOTSTRAP/repos/license/License license
+        -E
+        -R 1 0 1 5x1+35+0 'Run' 'execute operation' $EOS/bin/ctfEnvelopFunctionEstimate
+        -H 1  5x1+41+0 'Help' 'help page' $EOS/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/doc/ctfEnvelopFunctionEstimate.doc help
+        -Q 1 0 5.25x1+47+0 'Close'
+        -I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'Input:' i
+        -O 1 0 1 0 0 1 -1x1+1+3.000000 ' ' 'Out' 'Output:' o
+        -i 1 0 1 0 0 -1x1+1+4.500000 0 0 6 0 0 'degree' '[dim]' degree
+        -I  1 0 0 1 0 1 -1x1+1+6 ' ' '0.01' 'CutLow' [/A]
+        -I 1 0 1 0 0 1 -1x1+1+7.500000 ' ' 'configFile' 'ConfigurationFile' c
+        -i 1 0 1 0 0 -1x1+1+9.000000 0 0 0 0 0 'mode' 'Mode' m
+    -E
+  -E
+-E
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/init.c b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/init.c
new file mode 100755 (executable)
index 0000000..aad5292
--- /dev/null
@@ -0,0 +1,98 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "../inc/config.h"
+#include "genUtil.h"
+#include "String.h"
+#include "File.h"
+#include "Memory.h"
+
+
+void
+init0(ctfEnvelopFunctionEstimateInfo* info)
+{
+    info->fptIn = NULL;    info->flagIn = 0;
+    info->fptOut = stdout;    info->flagOut = 0;
+    info->degree = 6;    info->flagdegree = 0;
+    info->CutLow = 0.01;    info->flagCutLow = 0;
+    info->CutHigh = 0.2;    info->flagCutHigh = 0;
+    info->fptconfigFile = NULL;    info->flagconfigFile = 0;
+    info->mode = 0;    info->flagmode = 0;
+}
+
+void
+init1(ctfEnvelopFunctionEstimateInfo* info)
+{
+    char s[1024];
+    int i;
+    if(!info->flagIn) {
+        stringGetFromFile(s, "In", stdin, stdout, 0);
+        info->In = stringGetNthWord(s, 1, " ,\t");
+        info->flagIn++;
+    }
+    if(info->flagIn) {
+        info->fptIn = fileOpen(info->In, "r");
+    }
+    
+    if(info->flagOut) {
+        info->fptOut = fileOpen(info->Out, "w");
+    }
+    
+    if(info->flagdegree) {
+    }
+    
+    if(info->flagCutLow) {
+    }
+    
+    if(info->flagCutHigh) {
+    }
+    
+    if(info->flagconfigFile) {
+        info->fptconfigFile = fileOpen(info->configFile, "r");
+    }
+    
+    if(info->flagmode) {
+    }
+    
+}
+#ifdef KHOROS
+#include <stdio.h>
+#include "bootstrap.h"
+#include "dataserv.h"
+#include "datamanip.h"
+extern void func_usage_additions(void);
+extern void func_free_args(kexit_status status, kaddr client_data);
+extern void func_get_args(kform* pane);
+
+void
+func_usage_additions(void)
+{
+}
+void
+func_free_args(kexit_status status, kaddr client_data)
+{
+}
+void
+func_get_args(kform* pane)
+{
+}
+void
+khorosInit(int argc, char* argv[])
+{
+    char* eospath;
+    char  panepath[1024];
+    FILE* fpt;
+    
+    eospath = getenv("EOS_HOME");
+    sprintf(panepath, "%s/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/ctfEnvelopFunctionEstimate.pane", eospath);
+    khoros_initialize(argc, argv, "EOS");
+    fpt = fopen(panepath, "r");    if(NULL!=fpt) {
+        fclose(fpt);
+        kclui_initialize(panepath, KGEN_NONE, "EOS", "ctfEnvelopFunctionEstimate",
+                     func_usage_additions,
+                     func_get_args,
+                     func_free_args);
+    }
+}
+#endif /* KHOROS */ 
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/usage.c b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/usage.c
new file mode 100755 (executable)
index 0000000..8e786c9
--- /dev/null
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "../inc/config.h"
+
+void
+usage(char* thisProgram)
+{
+    fprintf(stderr, "Usage: %s\n", thisProgram);
+    fprintf(stderr, "Options:\n");
+    fprintf(stderr, "    [-i[nput]            In                  (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input:\n");
+    fprintf(stderr, "    [-o[utput]           Out                 (stdout    ).as(outFile::ASCII      ) ] :Optional  :Output:\n");
+    fprintf(stderr, "    [-degree             degree              (6         ).as(Integer             ) ] :Optional  :[dim]\n");
+    fprintf(stderr, "    [-Range              CutLow              (0.01      ).as(Real                ) \n                         CutHigh             (0.2       ).as(Real                ) ] :Optional  :[/A]\n");
+    fprintf(stderr, "    [-c[onfig]           configFile          (NULL      ).as(inFile              ) ] :Optional  :ConfigurationFile\n");
+    fprintf(stderr, "    [-m[ode]             mode                (0         ).as(Integer             ) ] :Optional  :Mode\n");
+    additionalUsage();
+}
+
+void
+htmlBeforeUsage(char* thisProgram)
+{
+    fprintf(stderr, "<HTML>\n");
+    fprintf(stderr, "<HEAD>\n");
+    fprintf(stderr, "<TITLE>%s</TITLE>\n", thisProgram);
+    fprintf(stderr, "</HEAD>\n");
+    fprintf(stderr, "<BODY>\n");
+    fprintf(stderr, "<H1>%s</H1>\n", thisProgram);
+    fprintf(stderr, "<H2>Usage</H2>\n");
+    fprintf(stderr, "<PRE>\n");
+}
+
+void
+htmlAfterUsage(char* thisProgram)
+{
+    fprintf(stderr, "</PRE>\n");
+    fprintf(stderr, "</BODY>\n");
+    fprintf(stderr, "</HTML>\n");
+}
diff --git a/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/util.c b/src/Tools/ctfInfo/ctfEnvelopFunctionEstimate/src/util.c
new file mode 100755 (executable)
index 0000000..ee5e5f2
--- /dev/null
@@ -0,0 +1,4 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "../inc/config.h"
+
index 4d6b0f1..21c9831 100644 (file)
@@ -206,6 +206,7 @@ mrcImageSetFunction \
 mrcImageShapeOrientation \
 mrcImageShapePCA \
 mrcImageShapePCAFit \
+mrcImageShapeSearch \
 mrcImageShift \
 mrcImageShiftFollowingGC \
 mrcImageShrink \
index f5ec022..438e44f 100755 (executable)
@@ -25,6 +25,9 @@ Options:
 3: 3D Cross3x3x3:   6-neighbour
 4: 3D Cubic3x3x3: 26-neighbour
 5: 3D Sphere, need (radius, n(cubic size))
+6: 2D Rectangle, need nx, ny
+7: 3D Cuboid, need nx, ny, nz
+8: 3D Cylindar, need r, nx, ny, nz
 -----
 Dilation: Max for image : Or  for binary image 
 Erosion:  Min for image : And for binary image 
index 4badefd..7b5b124 100755 (executable)
@@ -24,6 +24,9 @@ Options:
 3: 3D Cross3x3x3:   6-neighbour
 4: 3D Cubic3x3x3: 26-neighbour
 5: 3D Sphere, need (radius, n(cubic size))
+6: 2D Rectangle, need nx, ny
+7: 3D Cuboid, need nx, ny, nz
+8: 3D Cylindar, need r, nx, ny, nz
 -----
 Dilation: Max for image : Or  for binary image 
 Erosion:  Min for image : And for binary image 
index 820ee5f..4ec1963 100755 (executable)
@@ -1,8 +1,8 @@
 # OptionControlFile
 # FileFormat
-"-i","-i[nput]","Input: MRC","Essential","1","1","In","inFile","NULL"
-"-o","-o[utput]","Output: MRC","Essential","1","1","Out","outFile","NULL"
-"-oSE","-o[utput]SE","Output: MRC(SE)","Optional","1","1","OutSE","outFile","NULL"
+"-i","-i[nput]","Input: MRC","Essential","1","1","In","inFile::mrcImage","NULL"
+"-o","-o[utput]","Output: MRC","Essential","1","1","Out","outFile::mrcImage","NULL"
+"-oSE","-o[utput]SE","Output: MRC(SE)","Optional","1","1","OutSE","outFile::mrcImage","NULL"
 "-SE","-S[tructuring]E[lement]","StructuringElement","Optional","1","1","SEmode","Integer","0"
 "-r","-r[adius]","Radius","Optional","1","1","radius","Integer","2"
 "-n","-n","size","Optional","1","1","n","Integer","5"
index 053ad74..f166185 100755 (executable)
@@ -8,9 +8,9 @@
 <PRE>
 Usage: mrcImageErosion
 Options:
-    [-i[nput]            In                  (NULL      ).as(inFile              ) ] :Essential :Input: MRC
-    [-o[utput]           Out                 (NULL      ).as(outFile             ) ] :Essential :Output: MRC
-    [-o[utput]SE         OutSE               (NULL      ).as(outFile             ) ] :Optional  :Output: MRC(SE)
+    [-i[nput]            In                  (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input: MRC
+    [-o[utput]           Out                 (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output: MRC
+    [-o[utput]SE         OutSE               (NULL      ).as(outFile::mrcImage   ) ] :Optional  :Output: MRC(SE)
     [-S[tructuring]E[lement]SEmode              (0         ).as(Integer             ) ] :Optional  :StructuringElement
     [-r[adius]           radius              (2         ).as(Integer             ) ] :Optional  :Radius
     [-n                  n                   (5         ).as(Integer             ) ] :Optional  :size
@@ -24,6 +24,9 @@ Options:
 3: 3D Cross3x3x3:   6-neighbour
 4: 3D Cubic3x3x3: 26-neighbour
 5: 3D Sphere, need (radius, n(cubic size))
+6: 2D Rectangle, need nx, ny
+7: 3D Cuboid, need nx, ny, nz
+8: 3D Cylindar, need r, nx, ny, nz
 -----
 Dilation: Max for image : Or  for binary image 
 Erosion:  Min for image : And for binary image 
index 5a8e0d5..65b7fba 100755 (executable)
@@ -7,9 +7,9 @@ usage(char* thisProgram)
 {
     fprintf(stderr, "Usage: %s\n", thisProgram);
     fprintf(stderr, "Options:\n");
-    fprintf(stderr, "    [-i[nput]            In                  (NULL      ).as(inFile              ) ] :Essential :Input: MRC\n");
-    fprintf(stderr, "    [-o[utput]           Out                 (NULL      ).as(outFile             ) ] :Essential :Output: MRC\n");
-    fprintf(stderr, "    [-o[utput]SE         OutSE               (NULL      ).as(outFile             ) ] :Optional  :Output: MRC(SE)\n");
+    fprintf(stderr, "    [-i[nput]            In                  (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input: MRC\n");
+    fprintf(stderr, "    [-o[utput]           Out                 (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output: MRC\n");
+    fprintf(stderr, "    [-o[utput]SE         OutSE               (NULL      ).as(outFile::mrcImage   ) ] :Optional  :Output: MRC(SE)\n");
     fprintf(stderr, "    [-S[tructuring]E[lement]SEmode              (0         ).as(Integer             ) ] :Optional  :StructuringElement\n");
     fprintf(stderr, "    [-r[adius]           radius              (2         ).as(Integer             ) ] :Optional  :Radius\n");
     fprintf(stderr, "    [-n                  n                   (5         ).as(Integer             ) ] :Optional  :size\n");
index 0b7dfa2..fd53d70 100755 (executable)
@@ -25,6 +25,9 @@ Options:
 3: 3D Cross3x3x3:   6-neighbour
 4: 3D Cubic3x3x3: 26-neighbour
 5: 3D Sphere, need (radius, n(cubic size))
+6: 2D Rectangle, need nx, ny
+7: 3D Cuboid, need nx, ny, nz
+8: 3D Cylindar, need r, nx, ny, nz
 -----
 Dilation: Max for image : Or  for binary image 
 Erosion:  Min for image : And for binary image 
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/Config/Define.inc b/src/Tools/mrcImage/mrcImageShapeSearch/Config/Define.inc
new file mode 100755 (executable)
index 0000000..314f455
--- /dev/null
@@ -0,0 +1,4 @@
+OBJECTNAME = mrcImageShapeSearch
+EXTRA_LIB  =
+EXTRA_CCOPTS =
+EXTRA_INC =
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/Config/OptionControlFile b/src/Tools/mrcImage/mrcImageShapeSearch/Config/OptionControlFile
new file mode 100755 (executable)
index 0000000..c232e1c
--- /dev/null
@@ -0,0 +1,12 @@
+# OptionControlFile
+# FileFormat
+"-i","-i[nput]","Input","Essential","1","1","In","inFile::mrcImage","NULL"
+"-o","-o[utput]","Output","Essential","1","1","Out","outFile::mrcImage","NULL"
+"-Shape","-Shape","Output","Essential","1","1","Shape","outFile::mrcImage","NULL"
+"-r","-r[adius]","Radius[pixel]","Optional","2","1","minR","Integer","3","2","maxR","Integer","5"
+"-l","-l[ength]","Length[pixel]","Optional","2","1","minL","Integer","3","2","maxL","Integer","5"
+"-Phi","-Phi","around z-axis[degree]","Optional","3","1","minPhi","Real","0.0","2","maxPhi","Real","359.0","3","delPhi","Real","1.0"
+"-Theta","-Theta","around x-axis[degree]","Optional","3","1","minTheta","Real","0.0","2","maxTheta","Real","359.0","3","delTheta","Real","1.0"
+"-Psi","-Psi","around x-axis[degree]","Optional","3","1","minPsi","Real","0.0","2","maxPsi","Real","359.0","3","delPsi","Real","1.0"
+"-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
+"-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0"
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/Config/Target.inc b/src/Tools/mrcImage/mrcImageShapeSearch/Config/Target.inc
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/Makefile b/src/Tools/mrcImage/mrcImageShapeSearch/Makefile
new file mode 100755 (executable)
index 0000000..6c4a336
--- /dev/null
@@ -0,0 +1,115 @@
+include ../../../Config/Define.inc
+include ../../Config/Define.inc
+include ../Config/Define.inc
+include Config/Define.inc
+
+all:
+       cd src; make all; cd ..
+
+install:
+       cd src; make install; cd ..
+
+
+putSF:
+       if [ -f private ] ; \
+       then \
+               echo "$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME) is private"; \
+       else \
+               cvs -z4 -d:ext:$$USER@$$EOS_SOURCEFORGE commit || cvs -z4 -d:ext:$$USER@$$EOS_SOURCEFORGE import src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME); \
+       fi
+
+put:
+       cd src; make put; cd ..
+
+clean:
+       cd src; make clean; cd ..
+
+depend:
+       cd src; make depend; cd ..
+
+check:
+       @if [ ! -d $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) ] ; then \
+               echo making directory; \
+               mkdir -p $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE); \
+       fi
+       ln -sf ../../../../../hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) src/$(OSTYPE); 
+       @$(RM) src/Makefile
+       @echo "New src/Makefile" 
+       @$(CP) ../../../Config/Template/$(WORLDNAME)Template.Dir/src/Makefile src/Makefile
+       @cd src; touch $(OSTYPE)/.Depend; make depend
+
+update:
+       @if [ ! -d $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) ] ; then \
+               echo making directory; \
+               mkdir -p $(EOS_HOME)/hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE); \
+       fi
+       ln -sf ../../../../../hostdepend/$(OSTYPE)/src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE) src/$(OSTYPE); 
+       @$(RM) src/Makefile
+       @echo "New src/Makefile" 
+       @$(CP) ../../../Config/Template/$(WORLDNAME)Template.Dir/src/Makefile src/Makefile
+       @cd src; touch $(OSTYPE)/.Depend; echo "Y" | make update      
+
+cvsupdate::
+       cvs -d $(EOS_CVSROOT) update -d 
+
+cvscommit::
+       cvs -d $(EOS_CVSROOT) commit
+
+backup:
+       @cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config       ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar uvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile
+
+backup-all:
+       @cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config       ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar rvf ${EOS_HOME}/backup/EosBase.tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile
+       
+distribute:
+       cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config     ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile ; \
+       tar uvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE)
+       
+distribute-all:
+       @cd ../../../..;     \
+       echo $(OBJECTNAME) ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Config     ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/Makefile ;\
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/.[A-z]* ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/inc ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/doc; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/wish; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/[A-z]*.[A-z]*; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/.[A-z]*; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/Makefile ; \
+       tar rvf ${EOS_HOME}/distribute/src.$(OSTYPE).tar src/$(WORLDNAME)/$(CLASSNAME)/$(OBJECTNAME)/src/$(OSTYPE)
+
+eosintroduce:
+       ${EOS_HOME}/sbin/eosintroduce ${WORLDNAME} ${CLASSNAME} ${OBJECTNAME} ./ 
+
+include Config/Target.inc
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/doc/Makefile b/src/Tools/mrcImage/mrcImageShapeSearch/doc/Makefile
new file mode 100755 (executable)
index 0000000..8215199
--- /dev/null
@@ -0,0 +1,2 @@
+install:
+       cd ../src; make install-doc; cd ../doc  
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/inc/config.h b/src/Tools/mrcImage/mrcImageShapeSearch/inc/config.h
new file mode 100755 (executable)
index 0000000..fd997ef
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "../inc/mrcImageShapeSearch.h"
+
+#endif /* CONFIG_H */
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/inc/mrcImageShapeSearch.h b/src/Tools/mrcImage/mrcImageShapeSearch/inc/mrcImageShapeSearch.h
new file mode 100755 (executable)
index 0000000..9cff943
--- /dev/null
@@ -0,0 +1,80 @@
+#ifndef MRCIMAGESHAPESEARCH_H
+#define MRCIMAGESHAPESEARCH_H
+#include <stdio.h>
+#include <stdlib.h>
+
+#define OPTION_FLAG     '-'
+#define OPTION_FLAG_POS (0)
+#define OPTION_POS      (1)
+
+
+
+
+typedef struct mrcImageShapeSearchInfo {
+    long flagRedirect;
+
+    long flagIn;
+    char* In;
+    FILE* fptIn;
+    
+    long flagOut;
+    char* Out;
+    FILE* fptOut;
+    
+    long flagShape;
+    char* Shape;
+    FILE* fptShape;
+    
+    long flagminR;
+    long minR;
+    
+    long flagmaxR;
+    long maxR;
+    
+    long flagminL;
+    long minL;
+    
+    long flagmaxL;
+    long maxL;
+    
+    long flagminPhi;
+    float minPhi;
+    
+    long flagmaxPhi;
+    float maxPhi;
+    
+    long flagdelPhi;
+    float delPhi;
+    
+    long flagminTheta;
+    float minTheta;
+    
+    long flagmaxTheta;
+    float maxTheta;
+    
+    long flagdelTheta;
+    float delTheta;
+    
+    long flagconfigFile;
+    char* configFile;
+    FILE* fptconfigFile;
+    
+    long flagmode;
+    long mode;
+    
+} mrcImageShapeSearchInfo;
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern void argCheck(mrcImageShapeSearchInfo* info, int argc, char* avgv[]);
+extern void khorosInit(int argc, char* avgv[]);
+extern void init0(mrcImageShapeSearchInfo* info);
+extern void init1(mrcImageShapeSearchInfo* info);
+extern void usage(char* usage);
+extern void additionalUsage(void);
+extern void htmlBeforeUsage(char* usage);
+extern void htmlAfterUsage(char* usage);
+#ifdef __cplusplus
+};
+#endif
+#endif /* MRCIMAGESHAPESEARCH_H */
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/.Depend b/src/Tools/mrcImage/mrcImageShapeSearch/src/.Depend
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/.Source b/src/Tools/mrcImage/mrcImageShapeSearch/src/.Source
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/Makefile b/src/Tools/mrcImage/mrcImageShapeSearch/src/Makefile
new file mode 100755 (executable)
index 0000000..7beb110
--- /dev/null
@@ -0,0 +1,427 @@
+include ../Config/Define.inc
+include ../../Config/Define.inc
+include ../../../Config/Define.inc
+include ../../../../Config/Define.inc
+
+EOSHOME=../../../../../
+DSTDIR=$(EOSHOME)/bin
+DSTDOC=$(EOSHOME)/doc
+DSTTAR=$(EOSHOME)/tar
+
+INCFILES   = 
+
+LIBFILES   = \
+                       $(LIBPREFIX)EosObjects$(LIBSUFFIX) 
+
+LIBFILESDEBUG   = \
+                       $(LIBPREFIX)EosObjects.debug$(LIBSUFFIX) 
+
+SRCC  = \
+                       $(OBJECTNAME).c \
+                       init.c \
+                       argCheck.c \
+                       usage.c  \
+                       util.c \
+
+SRCCXX  = \
+                       $(OBJECTNAME).cc \
+                       init.cc \
+                       argCheck.cc \
+                       usage.cc  \
+                       util.cc \
+
+MODULES    = \
+                       $(OBJECTNAME).o \
+                       init.o \
+                       argCheck.o \
+                       usage.o  \
+                       util.o \
+
+REALMODULES    = \
+                       $(OSTYPE)/$(OBJECTNAME).o \
+                       $(OSTYPE)/init.o \
+                       $(OSTYPE)/argCheck.o \
+                       $(OSTYPE)/usage.o \
+                       $(OSTYPE)/util.o 
+
+MODULESDEBUG    = \
+                       $(OBJECTNAME).debugo \
+                       init.debugo \
+                       argCheck.debugo \
+                       usage.debugo  \
+                       util.debugo \
+
+REALMODULESDEBUG    = \
+                       $(OSTYPE)/$(OBJECTNAME).debugo \
+                       $(OSTYPE)/init.debugo \
+                       $(OSTYPE)/argCheck.debugo \
+                       $(OSTYPE)/usage.debugo \
+                       $(OSTYPE)/util.debugo 
+
+
+all: $(OSTYPE)/$(OBJECTNAME) 
+       if [ ! -L $(OSTYPE) ] ; then \
+               moveHostdependent; \
+       fi
+
+debug: $(OSTYPE)/$(OBJECTNAME).debug
+
+cudagdb: $(OSTYPE)/$(OBJECTNAME).cudagdb
+
+
+$(OSTYPE)/$(OBJECTNAME)::
+       @$(RM) -f $(OSTYPE)/Makefile ; \
+       $(CP) $(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH/Makefile $(OSTYPE)/Makefile ; \
+       cd $(OSTYPE); \
+       $(MAKE) $(OBJECTNAME)  WORLDNAME=$(WORLDNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME)
+
+$(OSTYPE)/$(OBJECTNAME).debug::
+       @$(RM) -f $(OSTYPE)/Makefile ; \
+       $(CP) $(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH/Makefile $(OSTYPE)/Makefile ; \
+       cd $(OSTYPE); \
+       $(MAKE) $(OBJECTNAME).debug  WORLDNAME=$(WORLDNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME)
+
+$(OSTYPE)/$(OBJECTNAME).cudagdb::
+       @$(RM) -f $(OSTYPE)/Makefile ; \
+       $(CP) $(EOS_HOME)/src/Config/Template/$(WORLDNAME)Template.Dir/src/ARCH/Makefile $(OSTYPE)/Makefile ; \
+       cd $(OSTYPE); \
+       $(MAKE) $(OBJECTNAME).cudagdb WORLDNAME=$(WORLDNAME) CLASSNAME=$(CLASSNAME) OBJECTNAME=$(OBJECTNAME)
+
+cvsupdate::
+       cvs -d $(EOS_CVSROOT) update -d 
+
+cvscommit::
+       cvs -d $(EOS_CVSROOT) commit 
+
+edit:
+       @if [ -r $(OBJECTNAME).c ]; \
+       then \
+               sccsEdit $(OBJECTNAME).c; \
+       else \
+               echo "Source files are already editable"; \
+       fi
+       @if [ -r wish/$(OBJECTNAME).wish ]; \
+       then \
+               cd wish; sccsEdit $(OBJECTNAME).wish; \
+       else \
+               echo "Source files (wish) are already editable."; \
+       fi
+       @if [ -r ruby/$(OBJECTNAME).rb ]; \
+       then \
+               cd ruby; sccsEdit $(OBJECTNAME).rb; \
+       else \
+               echo "Source files (ruby) are already editable."; \
+       fi
+       @if [ -r perl/$(OBJECTNAME).pl ]; \
+       then \
+               cd perl; sccsEdit $(OBJECTNAME).pl ; \
+       else \
+               echo "Source files (perl) are already editable."; \
+       fi
+       @if [ -r ../Config/OptionControlFile ]; \
+       then \
+               cd ../Config; sccsEdit OptionControlFile; \
+       else \
+               echo "OptionControlFile are already editable."; \
+       fi
+       
+unedit:
+       @if [ -w $(OBJECTNAME).c ]; \
+       then \
+               sccsUnedit $(OBJECTNAME).c; \
+       else \
+               echo "Source files are not editable"; \
+       fi
+       @if [ -w wish/$(OBJECTNAME).wish ]; \
+       then \
+               cd wish; sccsUnedit $(OBJECTNAME).wish; \
+       else \
+               echo "Source files (wish) are not editable."; \
+       fi
+       @if [ -w ruby/$(OBJECTNAME).rb]; \
+       then \
+               cd ruby; sccsUnedit $(OBJECTNAME).rb; \
+       else \
+               echo "Source files (ruby) are not editable."; \
+       fi
+       @if [ -w perl/$(OBJECTNAME).pl ]; \
+       then \
+               cd perl; sccsUnedit $(OBJECTNAME).pl ; \
+       else \
+               echo "Source files (ruby) are not editable."; \
+       fi
+       @if [ -w ../Config/OptionControlFile ]; \
+       then \
+               cd ../Config; sccsUnedit OptionControlFile; \
+       else \
+               echo "OptionControlFile are not editable."; \
+       fi
+       
+report:
+       @if [ -r $(OBJECTNAME).c ]; \
+       then \
+               sccsReport $(OBJECTNAME).c; \
+       else \
+               echo "Source files are already editable"; \
+       fi
+       @if [ -r wish/$(OBJECTNAME).wish ]; \
+       then \
+               cd wish; sccsReport $(OBJECTNAME).wish; \
+       else \
+               echo "Source files (wish) are already editable."; \
+       fi
+       @if [ -r ruby/$(OBJECTNAME).rb ]; \
+       then \
+               cd ruby; sccsReport $(OBJECTNAME).rb; \
+       else \
+               echo "Source files (ruby) are already editable."; \
+       fi
+       @if [ -r perl/$(OBJECTNAME).pl ] ; \
+       then \
+               cd perl; sccsReport $(OBJECTNAME).pl ; \
+       else \
+               echo "Source files (perl) are already editable."; \
+       fi
+       @if [ -r ../Config/OptionControlFile ]; \
+       then \
+               cd ../Config; sccsReport OptionControlFile; \
+       else \
+               echo "OptionControlFile are already editable."; \
+       fi
+
+clean : 
+       rm -f *.debugo $(OSTYPE)/*.debugo *.cudagdbo $(OSTYPE)/*.cudagdbo *.o $(OSTYPE)/*.o *.linkinfo $(OSTYPE)/*.linkinfo \
+               $(OSTYPE)/$(OBJECTNAME) $(OSTYPE)/*.$(OSTYPE) \
+               $(OSTYPE)/$(OBJECTNAME).debug $(OSTYPE)/*.$(OSTYPE).debug \
+               $(OSTYPE)/$(OBJECTNAME).cudagdb $(OSTYPE)/*.$(OSTYPE).cudagdb \
+               $(OSTYPE)/$(OBJECTNAME).linkinfo $(OSTYPE)/*.$(OSTYPE).linkinfo \
+               *.bak *.$(OSTYPE) core
+
+install: install-bin install-doc install-wish install-ruby install-shell install-perl
+       @if [ dummy$(KHOROS_KENGOBJ) != dummy ]  ; \
+       then \
+               if [ -x $(KHOROS_KGENOBJ) ] ;  \
+               then \
+                       make install-khoros ; \
+               fi; \
+       fi 
+
+install-bin:$(DSTDIR)/$(OSTYPE)/$(OBJECTNAME) 
+
+$(DSTDIR)/$(OSTYPE)/$(OBJECTNAME):$(OSTYPE)/$(OBJECTNAME) $(DSTDIR)/$(OBJECTNAME) 
+       @echo ---- Installing to bin
+       @echo $(DSTDIR)/$(OSTYPE)/$(OBJECTNAME)
+       @if [ ! -d $(DSTDIR)/$(OSTYPE) ]; \
+       then \
+               mkdir $(DSTDIR)/$(OSTYPE); \
+       fi
+       @if [ -x $(OSTYPE)/$(OBJECTNAME) ]; \
+       then \
+               echo "Compilation is complete"; \
+               $(RM) -f $(DSTDIR)/$(OSTYPE)/$(OBJECTNAME); \
+               $(CD) $(OSTYPE); $(INSTALL) -m 555 $(OBJECTNAME) ../$(DSTDIR)/$(OSTYPE); \
+               $(CHMOD) 555 ../$(DSTDIR)/$(OSTYPE)/$(OBJECTNAME); \
+       else \
+               echo "Compilation is incomplete. $(OBJECTNAME)"; \
+       fi
+       @echo ---- end of bin
+
+install-wish:
+       @if [ -d wish ]; \
+       then \
+               echo "---- Tcl/Tk file Install"; \
+               if [ ! -d $(DSTDIR)/wish/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/wish/$(OBJECTNAME) ; \
+               fi ; \
+               $(CP) -f wish/* $(DSTDIR)/wish/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/wish/$(OBJECTNAME)/*  ;\
+               touch $(DSTDIR)/wish/$(OBJECTNAME)/tclIndex;\
+               $(CHMOD) 666 $(DSTDIR)/wish/$(OBJECTNAME)/tclIndex;\
+               echo "---- Tcl/Tk file Installed";\
+       fi
+
+install-ruby:
+       @if [ -d ruby ]; \
+       then \
+               echo "---- Ruby/Tk file Install"; \
+               if [ ! -d $(DSTDIR)/ruby/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/ruby/$(OBJECTNAME) ; \
+               fi ; \
+               $(CP) -f ruby/* $(DSTDIR)/ruby/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/ruby/$(OBJECTNAME)/* ; \
+               echo "---- Ruby/Tk file Installed"; \
+       fi
+
+install-perl:
+       @if [ -d perl ]; \
+       then \
+               echo "---- Perl/Tk file Install"; \
+               if [ ! -d $(DSTDIR)/perl/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/perl/$(OBJECTNAME) ; \
+               fi; \
+               $(CP) -f perl/* $(DSTDIR)/perl/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/perl/$(OBJECTNAME)/* ; \
+               echo "---- Perl/Tk file Installed"; \
+       fi
+
+install-shell:
+       @if [ ! -d $(DSTDIR)/shell/$(OBJECTNAME) ]; \
+       then \
+               mkdir $(DSTDIR)/shell/$(OBJECTNAME) ; \
+       fi
+       @if [ -d shell ]; \
+       then \
+               echo "---- Shell file Install"; \
+               if [ ! -d $(DSTDIR)/shell/$(OBJECTNAME) ]; \
+               then \
+                       mkdir $(DSTDIR)/shell/$(OBJECTNAME) ; \
+               fi ; \
+               $(CP) -f shell/* $(DSTDIR)/shell/$(OBJECTNAME); \
+               $(CHMOD) 555 $(DSTDIR)/shell/$(OBJECTNAME)/*; \
+               echo "---- Shell file Installed"; \
+       fi
+
+install-khoros:
+       @echo Installing to khoros
+       @if [ ! -d ../../../../../objects/script/$(OBJECTNAME) -a -f $(KHOROS_KGENOBJ) ]; \
+       then \
+               echo kgenobj;\
+               $(KHOROS_KGENOBJ) -tb Eos -oname $(OBJECTNAME) -type script -pane -cantata true -cat Eos -subcat $(CLASSNAME) -description $(OBJECTNAME) -bname $(OBJECTNAME) -form  -lang ksh ; \
+       fi
+       @if [ ! -d ../../../../../objects/script/$(OBJECTNAME) -a -f $(KHOROS_KSET) ]; \
+       then \
+               $(KHOROS_KSET) -tb Eos -oname $(OBJECTNAME) -icon $(OBJECTNAME) ; \
+       fi
+       @if [ -d ../../../../../objects/script/$(OBJECTNAME) -a -f $(KHOROS_KSET) ]; \
+       then \
+               $(CHMOD) -R 775 ../../../../../objects/script/$(OBJECTNAME) ; \
+               if [ $?  ] ; \
+               then \
+                       echo "-- setting khoros ---" ; \
+                       if [ -d ../../../../../objects/script/$(OBJECTNAME)/uis/ ] ; \
+                       then \
+                               $(CD) ../../../../../objects/script/$(OBJECTNAME)/uis/ ; \
+                               $(RM) -f $(OBJECTNAME).pane ; \
+                               $(LN) -s ../../../../src/Tools/$(CLASSNAME)/$(OBJECTNAME)/src/$(OBJECTNAME).pane $(OBJECTNAME).pane; \
+                               $(CD) ../../ ; \
+                               $(CHMOD) -R 555 $(OBJECTNAME); \
+                       else \
+                               echo "../../../../../objects/script/$(OBJECTNAME)/uis/ does not exist."; \
+                       fi ; \
+               else \
+                       echo "Failed !!: Cannot chage mode in installing  $(OBJECTNAME) to khoros system"; \
+               fi ; \
+               echo "-- end of khoros-installing"; \
+       fi
+
+install-doc: html 
+       @if [ ! -d $(DSTDOC)/SmallTools ]; \
+       then \
+               mkdir $(DSTDOC)/SmallTools ;\
+       fi
+       @if [ -f $(DSTDOC)/SmallTools/$(OBJECTNAME).html ]; \
+       then \
+               $(RM) -f $(DSTDOC)/SmallTools/$(OBJECTNAME).html ;\
+       fi
+       @$(CP) $(OBJECTNAME).html  $(DSTDOC)/SmallTools/$(OBJECTNAME).html
+       @$(CHMOD) 444 $(DSTDOC)/SmallTools/$(OBJECTNAME).html
+       @if [ -f ../doc/*.html ]; \
+       then \
+               $(CP) ../doc/*.html  $(DSTDOC)/SmallTools/ ;\
+       fi
+       @$(CHMOD) 444 $(DSTDOC)/SmallTools/$(OBJECTNAME).html
+       @if [ -f $(DSTDOC)/SmallTools/Makefile ]; \
+       then \
+               cd $(DSTDOC)/SmallTools; $(MAKE); \
+       fi
+
+html: $(OBJECTNAME).html
+
+configFileRead:
+       @ctrl2configFileRead $(CLASSNAME) $(OBJECTNAME) ../Config/OptionControlFile
+
+$(OBJECTNAME).html: $(OSTYPE)/$(OBJECTNAME)
+       @echo creating html
+       @$(OSTYPE)/$(OBJECTNAME) -html 2> $(OBJECTNAME).html.tmp
+       @sed -e s/$(OSTYPE)\\/// $(OBJECTNAME).html.tmp > $(OBJECTNAME).html
+       @$(RM) $(OBJECTNAME).html.tmp
+
+$(DSTDIR)/$(OBJECTNAME): $(OSTYPE)/$(OBJECTNAME)
+       @ln -s -f ../sbin/MachineIndependent $@
+
+depend::
+       @echo dependency checking now
+       @if [ ! -L $(OSTYPE) ] ; then \
+               moveHostdependent; \
+       fi
+       rm -f $(OSTYPE)/.Depend 
+       #echo C
+       @if [ -f $(OBJECTNAME).c ] ; \
+       then \
+               echo "dependency: *.c"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) *.c   ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) *.c                  >> $(OSTYPE)/.Depend ; \
+       fi
+       #echo CC
+       @if [ -f $(OBJECTNAME).cc ] ; \
+       then \
+               echo "dependency: *.cc"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cc ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cc >> $(OSTYPE)/.Depend ; \
+       fi
+       @if [ -f $(OBJECTNAME).ccm ] ; \
+       then \
+               echo "dependency: *.ccm"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.ccm ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.ccm >> $(OSTYPE)/.Depend ; \
+       fi
+       @if [ -f $(OBJECTNAME).cu ] ; \
+       then \
+               echo "dependency: *.cu"; \
+               echo $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cu ; \
+                    $(DEPENDCOMMAND) $(INCLUDEDIR) $(EXTRA_INC) $(EXTRA_DEFINE) $(EXTRA_CCOPTS) *.cu >> $(OSTYPE)/.Depend ; \
+       fi
+
+update:../Config/OptionControlFile
+       maketool $(CLASSNAME) $(OBJECTNAME) update
+
+changeName::
+
+Test:$(OSTYPE)/$(OBJECTNAME) TestDir
+       @if [ -f test/Makefile ] ; \
+       then \
+               cd test; make ; \
+       else \
+               echo "No test Makefile"; \
+       fi
+
+TestDir::
+       @if [ ! -d test ] ; \
+       then \
+               echo "Creating test dir"; \
+               mkdir  test; \
+       fi
+       @if [ ! -f test/Makefile ] ; \
+       then \
+               echo "Creating Makefile"; \
+               cd test; \
+               protoTestMakefileCreate; \
+       fi
+       @if [ ! -d test/data ]; \
+       then \
+               mkdir $(EOSHOME)/data/$(OBJECTNAME); \
+               cd test; \
+               ln -sf ../$(EOSHOME)/data/$(OBJECTNAME) data; \
+       fi 
+
+tar::
+       cd $(DSTTAR); tar cvf Tools.$(CLASSNAME).$(OBJECTNAME).tar ../bin/$(OBJECTNAME) \
+                                                            ../bin/*/$(OBJECTNAME).* \
+                                                            ../src/Tools/$(CLASSNAME)/$(OBJECTNAME) \
+                               ; gzip Tools.$(CLASSNAME).$(OBJECTNAME).tar
+
+-include $(OSTYPE)/.Depend
+-include ../Config/Target.inc
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64 b/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64
new file mode 120000 (symlink)
index 0000000..a33c99b
--- /dev/null
@@ -0,0 +1 @@
+../../../../../hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageShapeSearch/src/X86MAC64
\ No newline at end of file
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/argCheck.c b/src/Tools/mrcImage/mrcImageShapeSearch/src/argCheck.c
new file mode 100755 (executable)
index 0000000..0f6cd7b
--- /dev/null
@@ -0,0 +1,169 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "../inc/config.h"
+#include "genUtil.h"
+#include "String.h"
+#include "File.h"
+#include "Memory.h"
+
+
+void
+argCheck(mrcImageShapeSearchInfo* info, int argc, char* argv[])
+{
+    long i;
+    char s[1024];
+    FILE* fpt;
+    
+    if(NULL==(fpt=fopen(".EosLog", "a+"))) { 
+        
+    } else {
+        for(i=0; i<argc; i++) {
+            fprintf(fpt, "%s ", argv[i]);
+        }
+        fprintf(fpt, "\n");
+        fclose(fpt);
+    }
+    for(i=1; i<argc; i++) {
+        if(OPTION_FLAG==argv[i][OPTION_FLAG_POS]) {
+            SSWITCH(argv[i]+OPTION_POS)
+                SCASE("i") {
+                    if(i+1<argc) {
+                        info->In = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagIn++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("o") {
+                    if(i+1<argc) {
+                        info->Out = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagOut++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("Shape") {
+                    if(i+1<argc) {
+                        info->Shape = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagShape++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("r") {
+                    if(i+2<argc) {
+                        info->minR = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagminR++;
+                        info->maxR = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagmaxR++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("l") {
+                    if(i+2<argc) {
+                        info->minL = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagminL++;
+                        info->maxL = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagmaxL++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("Phi") {
+                    if(i+3<argc) {
+                        info->minPhi = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagminPhi++;
+                        info->maxPhi = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagmaxPhi++;
+                        info->delPhi = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagdelPhi++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("Theta") {
+                    if(i+3<argc) {
+                        info->minTheta = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagminTheta++;
+                        info->maxTheta = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagmaxTheta++;
+                        info->delTheta = stringGetNthRealData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagdelTheta++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("c") {
+                    if(i+1<argc) {
+                        info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagconfigFile++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("m") {
+                    if(i+1<argc) {
+                        info->mode = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagmode++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("h") {
+                    usage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SCASE("html") {
+                    htmlBeforeUsage(argv[0]);
+                    usage(argv[0]);
+                    htmlAfterUsage(argv[0]);
+                    exit(EXIT_SUCCESS);
+                    break;
+                }
+                SDEFAULT {
+                    fprintf(stderr, "Not Supported Options: :%s\n", argv[i]);
+                    usage(argv[0]);
+                    exit(EXIT_FAILURE);
+                    break;
+                }
+            SSWITCHEND;
+        } 
+    } 
+} 
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/init.c b/src/Tools/mrcImage/mrcImageShapeSearch/src/init.c
new file mode 100755 (executable)
index 0000000..b911d40
--- /dev/null
@@ -0,0 +1,141 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "../inc/config.h"
+#include "genUtil.h"
+#include "String.h"
+#include "File.h"
+#include "Memory.h"
+
+
+void
+init0(mrcImageShapeSearchInfo* info)
+{
+    info->fptIn = NULL;    info->flagIn = 0;
+    info->fptOut = NULL;    info->flagOut = 0;
+    info->fptShape = NULL;    info->flagShape = 0;
+    info->minR = 3;    info->flagminR = 0;
+    info->maxR = 5;    info->flagmaxR = 0;
+    info->minL = 3;    info->flagminL = 0;
+    info->maxL = 5;    info->flagmaxL = 0;
+    info->minPhi = 0.0;    info->flagminPhi = 0;
+    info->maxPhi = 359.0;    info->flagmaxPhi = 0;
+    info->delPhi = 1.0;    info->flagdelPhi = 0;
+    info->minTheta = 0.0;    info->flagminTheta = 0;
+    info->maxTheta = 359.0;    info->flagmaxTheta = 0;
+    info->delTheta = 1.0;    info->flagdelTheta = 0;
+    info->fptconfigFile = NULL;    info->flagconfigFile = 0;
+    info->mode = 0;    info->flagmode = 0;
+}
+
+void
+init1(mrcImageShapeSearchInfo* info)
+{
+    char s[1024];
+    int i;
+    if(!info->flagIn) {
+        stringGetFromFile(s, "In", stdin, stdout, 0);
+        info->In = stringGetNthWord(s, 1, " ,\t");
+        info->flagIn++;
+    }
+    if(info->flagIn) {
+        info->fptIn = fileOpen(info->In, "r");
+    }
+    
+    if(!info->flagOut) {
+        stringGetFromFile(s, "Out", stdin, stdout, 0);
+        info->Out = stringGetNthWord(s, 1, " ,\t");
+        info->flagOut++;
+    }
+    if(info->flagOut) {
+        info->fptOut = fileOpen(info->Out, "w");
+    }
+    
+    if(!info->flagShape) {
+        stringGetFromFile(s, "Shape", stdin, stdout, 0);
+        info->Shape = stringGetNthWord(s, 1, " ,\t");
+        info->flagShape++;
+    }
+    if(info->flagShape) {
+        info->fptShape = fileOpen(info->Shape, "w");
+    }
+    
+    if(info->flagminR) {
+    }
+    
+    if(info->flagmaxR) {
+    }
+    
+    if(info->flagminL) {
+    }
+    
+    if(info->flagmaxL) {
+    }
+    
+    if(info->flagminPhi) {
+    }
+    
+    if(info->flagmaxPhi) {
+    }
+    
+    if(info->flagdelPhi) {
+    }
+    
+    if(info->flagminTheta) {
+    }
+    
+    if(info->flagmaxTheta) {
+    }
+    
+    if(info->flagdelTheta) {
+    }
+    
+    if(info->flagconfigFile) {
+        info->fptconfigFile = fileOpen(info->configFile, "r");
+    }
+    
+    if(info->flagmode) {
+    }
+    
+}
+#ifdef KHOROS
+#include <stdio.h>
+#include "bootstrap.h"
+#include "dataserv.h"
+#include "datamanip.h"
+extern void func_usage_additions(void);
+extern void func_free_args(kexit_status status, kaddr client_data);
+extern void func_get_args(kform* pane);
+
+void
+func_usage_additions(void)
+{
+}
+void
+func_free_args(kexit_status status, kaddr client_data)
+{
+}
+void
+func_get_args(kform* pane)
+{
+}
+void
+khorosInit(int argc, char* argv[])
+{
+    char* eospath;
+    char  panepath[1024];
+    FILE* fpt;
+    
+    eospath = getenv("EOS_HOME");
+    sprintf(panepath, "%s/src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.pane", eospath);
+    khoros_initialize(argc, argv, "EOS");
+    fpt = fopen(panepath, "r");    if(NULL!=fpt) {
+        fclose(fpt);
+        kclui_initialize(panepath, KGEN_NONE, "EOS", "mrcImageShapeSearch",
+                     func_usage_additions,
+                     func_get_args,
+                     func_free_args);
+    }
+}
+#endif /* KHOROS */ 
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.c b/src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.c
new file mode 100755 (executable)
index 0000000..cad76ad
--- /dev/null
@@ -0,0 +1,145 @@
+/*
+# mrcImageShapeSearch : $Revision$  
+# $Date$ 
+# Created by $Author$
+# Usage : mrcImageShapeSearch
+# Attention
+#   $Loccker$
+#      $State$ 
+#
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>                  
+#define GLOBAL_DECLARATION
+#include "../inc/config.h"
+
+#define DEBUG
+#include "genUtil.h"
+#include "mrcImage.h"
+
+typedef struct lmrcImageShapeSearchInfo {
+       int radius; // Sylinder
+       int minRadius;
+       int maxRadius;
+       int length; // Sylinder
+       int minLength;
+       int maxLength;
+
+       float minTheta;
+       float maxTheta;
+       float delTheta;
+       float minPhi;
+       float maxPhi;
+       float delPhi;
+       float minPsi;
+       float maxPsi;
+       float delPsi;
+
+       mrcImage shape;
+} lmrcImageShapeSearchInfo;
+
+typedef enum lmrcImageShapeSearchMode {
+       lmrcImageShapeSearchModeSylinder=0
+} lmrcImageShapeSearchMode;
+
+extern void    lmrcImageShapeSearch(mrcImage* out, mrcImage* in, lmrcImageShapeSearchInfo* linfo, int mode);
+extern void    lmrcImageShapeSearchSylinder(mrcImage* out, mrcImage* in, lmrcImageShapeSearchInfo* linfo, int mode);
+extern void lmrcImageShapeSearchModePrint(FILE* fpt);
+
+int
+main(int argc, char* argv[]) 
+{
+       mrcImageShapeSearchInfo info;
+       lmrcImageShapeSearchInfo linfo;
+       mrcImage in;
+       mrcImage out;
+
+       init0(&info);
+    argCheck(&info, argc, argv);
+    init1(&info);
+
+       DEBUGPRINT("Program Start\n");
+       linfo.minRadius = info.minR;
+       linfo.maxRadius = info.maxR;
+       linfo.minLength = info.minL;
+       linfo.maxLength = info.maxL;
+
+       linfo.minPhi   = info.minPhi*RADIAN;
+       linfo.maxPhi   = info.maxPhi*RADIAN;
+       linfo.delPhi   = info.delPhi*RADIAN;
+       linfo.minTheta = info.minTheta*RADIAN;
+       linfo.maxTheta = info.maxTheta*RADIAN;
+       linfo.delTheta = info.delTheta*RADIAN;
+
+       mrcFileRead(&in, info.In, "in main", 0); 
+
+       lmrcImageShapeSearch(&out, &in, &linfo, info.mode);
+
+       mrcFileWrite(&out, info.Out, "in main", 0);
+       mrcFileWrite(&linfo.shape, info.Shape, "in main", 0);
+
+       exit(EXIT_SUCCESS);
+}
+
+void
+additionalUsage()
+{
+       fprintf(stderr, "----- Additional Usage -----\n");
+       lmrcImageShapeSearchModePrint(stderr);
+}
+
+void
+lmrcImageShapeSearchModePrint(FILE* fpt)
+{
+       fprintf(fpt, "%d: Cylinder with radius and length\n", lmrcImageShapeSearchModeSylinder);
+}
+
+
+void
+lmrcImageShapeSearch(mrcImage* out, mrcImage* in, lmrcImageShapeSearchInfo* linfo, int mode)
+{
+       switch(mode) {
+               case lmrcImageShapeSearchModeSylinder: {
+                       lmrcImageShapeSearchSylinder(out, in, linfo, mode);
+                       break;
+               }
+               default: {
+                       fprintf(stderr, "Not supported mode: %d\n", mode);
+                       break;
+               }
+       }
+}
+
+
+void
+lmrcImageShapeSearchSylinder(mrcImage* out, mrcImage* in, lmrcImageShapeSearchInfo* linfo, int mode)
+{
+       float x, y, z;
+       float theta, phi, psi;
+       int iPhi, iTheta, iPsi; 
+       int nPhi, nTheta, nPsi; 
+       int iR;
+
+       nPhi   = (int)((linfo->maxPhi  -linfo->minPhi)  /linfo->delPhi)  +1;
+       nTheta = (int)((linfo->maxTheta-linfo->minTheta)/linfo->delTheta)+1;
+       nPsi   = 2*M_PI/linfo->delPsi;
+
+       for(z=0; z<in->HeaderN.z; z++) {
+       for(y=0; y<in->HeaderN.y; y++) {
+       for(x=0; x<in->HeaderN.x; x++) {
+               for(iTheta=0; iTheta<nTheta; iTheta++) {        
+                       theta = linfo->minTheta + iTheta*linfo->delTheta;
+               for(iPhi=0; iPhi<nPhi; iPhi++) {        
+                       phi = linfo->minPhi + iPhi*linfo->delPhi;
+                       for(iR=linfo->minRadius; iR<=linfo->maxRadius; iR++) {
+                               
+                       }
+               }
+               }
+       }
+       }
+       }
+}
+
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.html b/src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.html
new file mode 100644 (file)
index 0000000..cb12288
--- /dev/null
@@ -0,0 +1,30 @@
+<HTML>
+<HEAD>
+<TITLE>mrcImageShapeSearch</TITLE>
+</HEAD>
+<BODY>
+<H1>mrcImageShapeSearch</H1>
+<H2>Usage</H2>
+<PRE>
+Usage: mrcImageShapeSearch
+Options:
+    [-i[nput]            In                  (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input
+    [-o[utput]           Out                 (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output
+    [-Shape              Shape               (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output
+    [-r[adius]           minR                (3         ).as(Integer             ) 
+                         maxR                (5         ).as(Integer             ) ] :Optional  :Radius[pixel]
+    [-l[ength]           minL                (3         ).as(Integer             ) 
+                         maxL                (5         ).as(Integer             ) ] :Optional  :Length[pixel]
+    [-Phi                minPhi              (0.0       ).as(Real                ) 
+                         maxPhi              (359.0     ).as(Real                ) 
+                         delPhi              (1.0       ).as(Real                ) ] :Optional  :around z-axis[degree]
+    [-Theta              minTheta            (0.0       ).as(Real                ) 
+                         maxTheta            (359.0     ).as(Real                ) 
+                         delTheta            (1.0       ).as(Real                ) ] :Optional  :around x-axis[degree]
+    [-c[onfig]           configFile          (NULL      ).as(inFile              ) ] :Optional  :ConfigurationFile
+    [-m[ode]             mode                (0         ).as(Integer             ) ] :Optional  :Mode
+----- Additional Usage -----
+0: Cylinder with radius and length
+</PRE>
+</BODY>
+</HTML>
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.pane b/src/Tools/mrcImage/mrcImageShapeSearch/src/mrcImageShapeSearch.pane
new file mode 100755 (executable)
index 0000000..446093b
--- /dev/null
@@ -0,0 +1,21 @@
+-F 4.3 1 0 52x1+0+0 +0+0 'Cantata' cantata
+  -M 1 1 52x1+0+0 +1+0 ' ' subform
+    -P 1 0 52x1+0+1 +0+0 ' ' mrcImageShapeSearch
+      -D 1 0 9x1+0+0 'Options' _gui_options
+        -H 1  6x1+0+0 'License' 'license' $BOOTSTRAP/repos/license/License license
+        -E
+        -R 1 0 1 5x1+35+0 'Run' 'execute operation' $EOS/bin/mrcImageShapeSearch
+        -H 1  5x1+41+0 'Help' 'help page' $EOS/src/Tools/mrcImage/mrcImageShapeSearch/doc/mrcImageShapeSearch.doc help
+        -Q 1 0 5.25x1+47+0 'Close'
+        -I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'Input' i
+        -O 1 0 1 1 0 1 -1x1+1+3.000000 ' ' 'Out' 'Output' o
+        -O 1 0 1 1 0 1 -1x1+1+4.500000 ' ' 'Shape' 'Output' Shape
+        -I  1 0 0 1 0 1 -1x1+1+6 ' ' '3' 'minR' Radius[pixel]
+        -I  1 0 0 1 0 1 -1x1+1+7 ' ' '3' 'minL' Length[pixel]
+        -I  1 0 0 1 0 1 -1x1+1+9 ' ' '0.0' 'minPhi' around z-axis[degree]
+        -I  1 0 0 1 0 1 -1x1+1+10 ' ' '0.0' 'minTheta' around x-axis[degree]
+        -I 1 0 1 0 0 1 -1x1+1+12.000000 ' ' 'configFile' 'ConfigurationFile' c
+        -i 1 0 1 0 0 -1x1+1+13.500000 0 0 0 0 0 'mode' 'Mode' m
+    -E
+  -E
+-E
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/usage.c b/src/Tools/mrcImage/mrcImageShapeSearch/src/usage.c
new file mode 100755 (executable)
index 0000000..d093dc2
--- /dev/null
@@ -0,0 +1,41 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "../inc/config.h"
+
+void
+usage(char* thisProgram)
+{
+    fprintf(stderr, "Usage: %s\n", thisProgram);
+    fprintf(stderr, "Options:\n");
+    fprintf(stderr, "    [-i[nput]            In                  (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input\n");
+    fprintf(stderr, "    [-o[utput]           Out                 (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output\n");
+    fprintf(stderr, "    [-Shape              Shape               (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output\n");
+    fprintf(stderr, "    [-r[adius]           minR                (3         ).as(Integer             ) \n                         maxR                (5         ).as(Integer             ) ] :Optional  :Radius[pixel]\n");
+    fprintf(stderr, "    [-l[ength]           minL                (3         ).as(Integer             ) \n                         maxL                (5         ).as(Integer             ) ] :Optional  :Length[pixel]\n");
+    fprintf(stderr, "    [-Phi                minPhi              (0.0       ).as(Real                ) \n                         maxPhi              (359.0     ).as(Real                ) \n                         delPhi              (1.0       ).as(Real                ) ] :Optional  :around z-axis[degree]\n");
+    fprintf(stderr, "    [-Theta              minTheta            (0.0       ).as(Real                ) \n                         maxTheta            (359.0     ).as(Real                ) \n                         delTheta            (1.0       ).as(Real                ) ] :Optional  :around x-axis[degree]\n");
+    fprintf(stderr, "    [-c[onfig]           configFile          (NULL      ).as(inFile              ) ] :Optional  :ConfigurationFile\n");
+    fprintf(stderr, "    [-m[ode]             mode                (0         ).as(Integer             ) ] :Optional  :Mode\n");
+    additionalUsage();
+}
+
+void
+htmlBeforeUsage(char* thisProgram)
+{
+    fprintf(stderr, "<HTML>\n");
+    fprintf(stderr, "<HEAD>\n");
+    fprintf(stderr, "<TITLE>%s</TITLE>\n", thisProgram);
+    fprintf(stderr, "</HEAD>\n");
+    fprintf(stderr, "<BODY>\n");
+    fprintf(stderr, "<H1>%s</H1>\n", thisProgram);
+    fprintf(stderr, "<H2>Usage</H2>\n");
+    fprintf(stderr, "<PRE>\n");
+}
+
+void
+htmlAfterUsage(char* thisProgram)
+{
+    fprintf(stderr, "</PRE>\n");
+    fprintf(stderr, "</BODY>\n");
+    fprintf(stderr, "</HTML>\n");
+}
diff --git a/src/Tools/mrcImage/mrcImageShapeSearch/src/util.c b/src/Tools/mrcImage/mrcImageShapeSearch/src/util.c
new file mode 100755 (executable)
index 0000000..ee5e5f2
--- /dev/null
@@ -0,0 +1,4 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "../inc/config.h"
+