OSDN Git Service

Add mrcImageDensityWeightedAreaCalc: v2.3.72p0309
authorTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Mon, 23 Nov 2020 04:36:23 +0000 (13:36 +0900)
committerTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Mon, 23 Nov 2020 04:36:23 +0000 (13:36 +0900)
 Please enter the commit message for your changes. Lines starting
 with '#' will be ignored, and an empty message aborts the commit.

 On branch master
 Your branch is up to date with 'origin/master'.

 Changes to be committed:
new file:   bin/mrcImageDensityWeightedAreaCalc
modified:   include/lmrcImageCalcArea.h
modified:   include/lmrcImageFeatureCalc.h
modified:   include/lmrcImageNormalizing.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.c
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageFeatureCalc.h
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageNormalizing.c
modified:   src/Objects/DataManip/mrcImage/src/lmrcImageNormalizing.h
modified:   src/Objects/DataManip/mrcImage/src/mrcImageInfo.c
modified:   src/Tools/Config/Define.inc
modified:   src/Tools/mrcImage/.Source
modified:   src/Tools/mrcImage/.Source.org
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/Define.inc
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/OptionControlFile
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/Target.inc
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Makefile
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/doc/Makefile
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/inc/config.h
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/inc/mrcImageDensityWeightedAreaCalc.h
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Depend
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Source
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/Makefile
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/X86MAC64
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/argCheck.c
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/init.c
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.c
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.html
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.pane
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/Makefile
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/data
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/usage.c
new file:   src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/util.c
modified:   src/Tools/mrcImage/mrcImageFeatureCalc/Config/OptionControlFile
modified:   src/Tools/mrcImage/mrcImageFeatureCalc/inc/mrcImageFeatureCalc.h
modified:   src/Tools/mrcImage/mrcImageFeatureCalc/src/argCheck.c
modified:   src/Tools/mrcImage/mrcImageFeatureCalc/src/init.c
modified:   src/Tools/mrcImage/mrcImageFeatureCalc/src/mrcImageFeatureCalc.pane
modified:   src/Tools/mrcImage/mrcImageFeatureCalc/src/usage.c

39 files changed:
bin/mrcImageDensityWeightedAreaCalc [new symlink]
include/lmrcImageCalcArea.h
include/lmrcImageFeatureCalc.h
include/lmrcImageNormalizing.h
src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.c
src/Objects/DataManip/mrcImage/src/lmrcImageCalcArea.h
src/Objects/DataManip/mrcImage/src/lmrcImageFeatureCalc.h
src/Objects/DataManip/mrcImage/src/lmrcImageNormalizing.c
src/Objects/DataManip/mrcImage/src/lmrcImageNormalizing.h
src/Objects/DataManip/mrcImage/src/mrcImageInfo.c
src/Tools/Config/Define.inc
src/Tools/mrcImage/.Source
src/Tools/mrcImage/.Source.org
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/Define.inc [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/OptionControlFile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/Target.inc [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Makefile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/doc/Makefile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/inc/config.h [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/inc/mrcImageDensityWeightedAreaCalc.h [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Depend [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Source [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/Makefile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/X86MAC64 [new symlink]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/argCheck.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/init.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.html [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.pane [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/Makefile [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/data [new symlink]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/usage.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/util.c [new file with mode: 0755]
src/Tools/mrcImage/mrcImageFeatureCalc/Config/OptionControlFile
src/Tools/mrcImage/mrcImageFeatureCalc/inc/mrcImageFeatureCalc.h
src/Tools/mrcImage/mrcImageFeatureCalc/src/argCheck.c
src/Tools/mrcImage/mrcImageFeatureCalc/src/init.c
src/Tools/mrcImage/mrcImageFeatureCalc/src/mrcImageFeatureCalc.pane
src/Tools/mrcImage/mrcImageFeatureCalc/src/usage.c

diff --git a/bin/mrcImageDensityWeightedAreaCalc b/bin/mrcImageDensityWeightedAreaCalc
new file mode 120000 (symlink)
index 0000000..eddb955
--- /dev/null
@@ -0,0 +1 @@
+../sbin/MachineIndependent
\ No newline at end of file
index 0e0375b..412bd7e 100644 (file)
@@ -9,5 +9,13 @@
 #
 */
 
+#ifndef __LMRC_IMAGE_CALC_AREA_H
+#define __LMRC_IMAGE_CALC_AREA_H
+
 #include "mrcImage.h"
 void lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int neighbor, int mode);
+
+void lmrcImageCalcDensityWeightedArea(mrcImage* densityWeightedArea, mrcImage* label, mrcImage* in, mrcImage* inDensity, int neighbor, int mode);
+
+
+#endif // __LMRC_IMAGE_CALC_AREA_H
index 46cc9a0..dce148d 100644 (file)
@@ -122,7 +122,6 @@ extern void lmrcImageSurfaceAreaCalc(mrcImage* out, mrcImage* in, lmrcImageSurfa
 extern void lmrcImageSurfaceAreaCalcPrint(FILE* fpt, lmrcImageSurfaceAreaCalcInfo linfo, int mode);
 extern void lmrcImageSurfaceAreaCalcUsage(FILE* fpt);
 
-
 extern void lmrcImageCircularityCalc(lmrcImageFeatureList* linfo, int mode);
 extern void lmrcImageComplexityCalc(lmrcImageFeatureList* linfo, int mode);
 extern void lmrcImageRadiusCalc(lmrcImageFeatureList* linfo, int mode);
index f34f145..58c83e0 100644 (file)
@@ -26,7 +26,8 @@ typedef enum lmrcImageNormalizingMode {
        lmrcImageNormalizingModeUsingContour=2,
        lmrcImageNormalizingModeUsingContourWithSolventFlattening=3,
        lmrcImageNormalizingModeNoEstimation=4,
-       lmrcImageNormalizingModeAssumeGaussian=5
+       lmrcImageNormalizingModeAssumeGaussian=5,
+       lmrcImageNormalizingModeMin75percent=6
 } lmrcImageNormalizingMode ;
 
 typedef struct lmrcImageNormalizingInfo {
index de08375..76e82c3 100755 (executable)
@@ -12,6 +12,7 @@
 #undef DEBUG
 #include "genUtil.h"
 #include "Memory.h"
+#include "./lmrcImageDensity.h"
 #include "./lmrcImageLabeling.h"
 #include "./lmrcImageCalcArea.h"
 
@@ -63,3 +64,83 @@ lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int neighbor, i
        mrcStatDataSet(area, 0);
 }
 
+
+void
+lmrcImageCalcDensityWeightedArea(mrcImage* area, mrcImage* label, mrcImage* in, mrcImage* inDensity, int neighbor, int mode)
+{
+       mrcImageParaTypeReal x, y, z;
+       double data, data0, data1;
+       int maxLabel, i, inde;
+       double* sum;
+       int total;
+  lmrcImageDensityInfoInfo linfo;
+
+       DEBUGPRINT("lmrcImageCalcArea Start\n");
+       lmrcImageLabeling(label, in, neighbor, 0);
+       mrcStatDataSet(label, 0);
+
+       maxLabel = (int)(label->HeaderAMax+0.5);
+       sum = (double*)memoryAllocate(sizeof(double)*(maxLabel+1), "in lmrcImageCalcArea");
+
+       for(i=0; i<maxLabel+1; i++) {
+               sum[i] = 0;
+       }
+       for(x=0; x<label->HeaderN.x; x++) {
+       for(y=0; y<label->HeaderN.y; y++) {
+       for(z=0; z<label->HeaderN.z; z++) {
+               mrcPixelDataGet(label, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
+               mrcPixelDataGet(inDensity, x, y, z, &data1, mrcPixelRePart, mrcPixelHowNearest);
+               i = (int)(data+0.5);
+               sum[i]+=data1;
+       }
+       }
+       }
+
+       area->Header = in->Header;
+       mrcInit(area, NULL);
+
+       for(x=0; x<area->HeaderN.x; x++) {
+       for(y=0; y<area->HeaderN.y; y++) {
+       for(z=0; z<area->HeaderN.z; z++) {
+               mrcPixelDataGet(label, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
+               if(fabs(data)<1e-6) {
+                       mrcPixelDataSet(area,  x, y, z, 0, mrcPixelRePart);
+               } else {
+                       mrcPixelDataSet(area,  x, y, z, sum[(int)(data+0.5)], mrcPixelRePart);
+               }
+       }
+       }
+       }
+
+  linfo.deltaVolume = 0.25;
+  lmrcImageDensityInfo(&linfo, area, mrcImageDensityInfoPercentageVolume);
+
+  switch(mode) {
+    case 0: 
+      break;
+    case 1: // 75%
+       for(x=0; x<area->HeaderN.x; x++) {
+       for(y=0; y<area->HeaderN.y; y++) {
+       for(z=0; z<area->HeaderN.z; z++) {
+               mrcPixelDataGet(label, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
+               mrcPixelDataGet(area, x, y, z, &data1, mrcPixelRePart, mrcPixelHowNearest);
+               if(fabs(data)<1e-6) {
+                       mrcPixelDataSet(area,  x, y, z, 0, mrcPixelRePart);
+               } else {
+          data0 = data1/linfo.percentageVolume.data[1]*0.75;
+                       mrcPixelDataSet(area,  x, y, z, data0, mrcPixelRePart);
+               }
+       }
+       }
+      }
+      break;
+    default: {
+      fprintf(stderr, "Not supported mode in lmrcImageCalcDensityWeightedArea: %d\n", mode);
+      exit(EXIT_FAILURE);
+      break;
+    }
+  }
+       mrcStatDataSet(area, 0);
+}
+
+
index 0e0375b..412bd7e 100755 (executable)
@@ -9,5 +9,13 @@
 #
 */
 
+#ifndef __LMRC_IMAGE_CALC_AREA_H
+#define __LMRC_IMAGE_CALC_AREA_H
+
 #include "mrcImage.h"
 void lmrcImageCalcArea(mrcImage* area, mrcImage* label, mrcImage* in, int neighbor, int mode);
+
+void lmrcImageCalcDensityWeightedArea(mrcImage* densityWeightedArea, mrcImage* label, mrcImage* in, mrcImage* inDensity, int neighbor, int mode);
+
+
+#endif // __LMRC_IMAGE_CALC_AREA_H
index 46cc9a0..dce148d 100644 (file)
@@ -122,7 +122,6 @@ extern void lmrcImageSurfaceAreaCalc(mrcImage* out, mrcImage* in, lmrcImageSurfa
 extern void lmrcImageSurfaceAreaCalcPrint(FILE* fpt, lmrcImageSurfaceAreaCalcInfo linfo, int mode);
 extern void lmrcImageSurfaceAreaCalcUsage(FILE* fpt);
 
-
 extern void lmrcImageCircularityCalc(lmrcImageFeatureList* linfo, int mode);
 extern void lmrcImageComplexityCalc(lmrcImageFeatureList* linfo, int mode);
 extern void lmrcImageRadiusCalc(lmrcImageFeatureList* linfo, int mode);
index b8329f9..641d37e 100755 (executable)
@@ -1,13 +1,4 @@
-/*
-# %M% %Y% %I%
-# The latest update : %G% at %U%
-#%Z% lmrcImageNormalizing ver %I%
-#%Z% Created by tacyas
-#%Z%
-#%Z% Usage : lmrcImageNormalizing
-#%Z% Attention
-#%Z%
-*/
+/* # %M% %Y% %I% # The latest update : %G% at %U% #%Z% lmrcImageNormalizing ver %I% #%Z% Created by tacyas #%Z% #%Z% Usage : lmrcImageNormalizing #%Z% Attention #%Z% */
 #include <stdlib.h>
 #include <stdio.h>
 static char __sccs_id[] = "%Z%lmrcImageNormalizing ver%I%; Date:%D% %Z%";
@@ -55,6 +46,8 @@ lmrcImageNormalizingModePrint(FILE* fpt, int mode)
        fprintf(fpt, "             data = A*data + B \n");
        fprintf(fpt, "%3d: Assume the density as gaussion.\n", lmrcImageNormalizingModeAssumeGaussian);
        fprintf(fpt, "             data = A*Normalized(data) + B , where normalized means (average=0, SD=1)\n");
+       fprintf(fpt, "%3d: Min-75percent: Background and Object(75)\n", lmrcImageNormalizingModeMin75percent);
+       fprintf(fpt, "             data = A*(data-Min)/(75percent-Min)x0.75 + B \n");
 }
 
 void 
@@ -155,6 +148,18 @@ lmrcImageNormalizing(mrcImage* out, mrcImage* in, lmrcImageNormalizingInfo* linf
                        }
                        break;
                }
+               case lmrcImageNormalizingModeMin75percent: {
+                       for(x=0; x<in->HeaderN.x; x++) {
+                               for(y=0; y<in->HeaderN.y; y++) {
+                                       for(z=0; z<in->HeaderN.z; z++) {
+                                               mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
+                                               data = linfo->A*(data - in->HeaderAMin)/(in->HeaderAMax - in->HeaderAMax)*0.75 + linfo->B;
+                                               mrcPixelDataSet(out, x, y, z, data, mrcPixelRePart);
+                                       }
+                               }
+                       }
+                       break;
+               }
                case lmrcImageNormalizingModeUsingContour: {
                        for(x=0; x<in->HeaderN.x; x++) {
                                for(y=0; y<in->HeaderN.y; y++) {
index f34f145..58c83e0 100755 (executable)
@@ -26,7 +26,8 @@ typedef enum lmrcImageNormalizingMode {
        lmrcImageNormalizingModeUsingContour=2,
        lmrcImageNormalizingModeUsingContourWithSolventFlattening=3,
        lmrcImageNormalizingModeNoEstimation=4,
-       lmrcImageNormalizingModeAssumeGaussian=5
+       lmrcImageNormalizingModeAssumeGaussian=5,
+       lmrcImageNormalizingModeMin75percent=6
 } lmrcImageNormalizingMode ;
 
 typedef struct lmrcImageNormalizingInfo {
index 255f916..8995b86 100755 (executable)
@@ -1002,6 +1002,5 @@ lmrcImageInformation(mrcImageInformation* info, mrcImage* img)
                        exit(EXIT_FAILURE);
                }
        }
-               
 }
 
index 1f12516..165c17d 100644 (file)
@@ -29,3 +29,10 @@ WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
 WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
+WORLDNAME=Tools
index 6545c9c..67d4574 100644 (file)
@@ -97,6 +97,7 @@ mrcImageDensityChangeEstimation \
 mrcImageDensityInfo \
 mrcImageDensityNormalization \
 mrcImageDensityNormalizationByImage \
+mrcImageDensityWeightedAreaCalc \
 mrcImageDilation \
 mrcImageDisplayDensityAsTempFactor \
 mrcImageDistanceConversion \
index c02c7fe..6545c9c 100644 (file)
@@ -122,6 +122,7 @@ mrcImageFilamentSearchResultShow \
 mrcImageFilterCreate \
 mrcImageFilteringbyFile \
 mrcImageFilteringbyFileForVariance \
+mrcImageFlatFieldCorrection \
 mrcImageFloating \
 mrcImageFourierNeighborCorrelation \
 mrcImageFourierPowerSpectrum \
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/Define.inc b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/Define.inc
new file mode 100755 (executable)
index 0000000..ec581b3
--- /dev/null
@@ -0,0 +1,4 @@
+OBJECTNAME = mrcImageDensityWeightedAreaCalc
+EXTRA_LIB  =
+EXTRA_CCOPTS =
+EXTRA_INC =
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/OptionControlFile b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/OptionControlFile
new file mode 100755 (executable)
index 0000000..86f9e01
--- /dev/null
@@ -0,0 +1,9 @@
+# OptionControlFile
+# FileFormat
+"-i","-i[nput]","Input:binary","Essential","1","1","In","inFile::mrcImage","NULL"
+"-d","-d[ensity]","Input:density","Essential","1","1","InDensity","inFile::mrcImage","NULL"
+"-o","-o[utput]","Output:weightedArea","Essential","1","1","Out","outFile::mrcImage","NULL"
+"-oL","-o[utput]L[abel]","Output:Label","Optional","1","1","OutLabel","outFile::mrcImage","NULL"
+"-n","-n[eighbor]","Neighbor:[6|8]","Optional","1","1","Neighbor","Integer","8"
+"-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/mrcImageDensityWeightedAreaCalc/Config/Target.inc b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Config/Target.inc
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Makefile b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/Makefile
new file mode 100755 (executable)
index 0000000..3d1cbd9
--- /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; rm -f $(OSTYPE)/.Depend; 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; rm -f $(OSTYPE)/.Depend; 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/mrcImageDensityWeightedAreaCalc/doc/Makefile b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/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/mrcImageDensityWeightedAreaCalc/inc/config.h b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/inc/config.h
new file mode 100755 (executable)
index 0000000..7c883e7
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#include "../inc/mrcImageDensityWeightedAreaCalc.h"
+
+#endif /* CONFIG_H */
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/inc/mrcImageDensityWeightedAreaCalc.h b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/inc/mrcImageDensityWeightedAreaCalc.h
new file mode 100755 (executable)
index 0000000..2a2083a
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef MRCIMAGEDENSITYWEIGHTEDAREACALC_H
+#define MRCIMAGEDENSITYWEIGHTEDAREACALC_H
+#include <stdio.h>
+#include <stdlib.h>
+
+#define OPTION_FLAG     '-'
+#define OPTION_FLAG_POS (0)
+#define OPTION_POS      (1)
+
+
+
+
+typedef struct mrcImageDensityWeightedAreaCalcInfo {
+    long flagRedirect;
+
+    long flagIn;
+    char* In;
+    FILE* fptIn;
+    
+    long flagInDensity;
+    char* InDensity;
+    FILE* fptInDensity;
+    
+    long flagOut;
+    char* Out;
+    FILE* fptOut;
+    
+    long flagOutLabel;
+    char* OutLabel;
+    FILE* fptOutLabel;
+    
+    long flagNeighbor;
+    long Neighbor;
+    
+    long flagconfigFile;
+    char* configFile;
+    FILE* fptconfigFile;
+    
+    long flagmode;
+    long mode;
+    
+} mrcImageDensityWeightedAreaCalcInfo;
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern void argCheck(mrcImageDensityWeightedAreaCalcInfo* info, int argc, char* avgv[]);
+extern void khorosInit(int argc, char* avgv[]);
+extern void init0(mrcImageDensityWeightedAreaCalcInfo* info);
+extern void init1(mrcImageDensityWeightedAreaCalcInfo* info);
+extern void usage(char* usage);
+extern void additionalUsage(void);
+extern void htmlBeforeUsage(char* usage);
+extern void htmlAfterUsage(char* usage);
+#ifdef __cplusplus
+};
+#endif
+#endif /* MRCIMAGEDENSITYWEIGHTEDAREACALC_H */
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Depend b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Depend
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Source b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/.Source
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/Makefile b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/Makefile
new file mode 100755 (executable)
index 0000000..a360703
--- /dev/null
@@ -0,0 +1,430 @@
+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
+
+updateNoAns:../Config/OptionControlFile
+       maketool $(CLASSNAME) $(OBJECTNAME) update N
+
+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/mrcImageDensityWeightedAreaCalc/src/X86MAC64 b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/X86MAC64
new file mode 120000 (symlink)
index 0000000..2d488ec
--- /dev/null
@@ -0,0 +1 @@
+../../../../../hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/X86MAC64
\ No newline at end of file
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/argCheck.c b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/argCheck.c
new file mode 100755 (executable)
index 0000000..9a0c4a8
--- /dev/null
@@ -0,0 +1,129 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "../inc/config.h"
+#include "genUtil.h"
+#include "eosString.h"
+#include "File.h"
+#include "Memory.h"
+
+
+void
+argCheck(mrcImageDensityWeightedAreaCalcInfo* 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("d") {
+                    if(i+1<argc) {
+                        info->InDensity = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagInDensity++;
+                    } 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("oL") {
+                    if(i+1<argc) {
+                        info->OutLabel = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagOutLabel++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
+                SCASE("n") {
+                    if(i+1<argc) {
+                        info->Neighbor = stringGetNthIntegerData(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagNeighbor++;
+                    } 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/mrcImageDensityWeightedAreaCalc/src/init.c b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/init.c
new file mode 100755 (executable)
index 0000000..41cb124
--- /dev/null
@@ -0,0 +1,110 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "../inc/config.h"
+#include "genUtil.h"
+#include "eosString.h"
+#include "File.h"
+#include "Memory.h"
+
+
+void
+init0(mrcImageDensityWeightedAreaCalcInfo* info)
+{
+    info->fptIn = NULL;    info->flagIn = 0;
+    info->fptInDensity = NULL;    info->flagInDensity = 0;
+    info->fptOut = NULL;    info->flagOut = 0;
+    info->fptOutLabel = NULL;    info->flagOutLabel = 0;
+    info->Neighbor = 8;    info->flagNeighbor = 0;
+    info->fptconfigFile = NULL;    info->flagconfigFile = 0;
+    info->mode = 0;    info->flagmode = 0;
+}
+
+void
+init1(mrcImageDensityWeightedAreaCalcInfo* 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->flagInDensity) {
+        stringGetFromFile(s, "InDensity", stdin, stdout, 0);
+        info->InDensity = stringGetNthWord(s, 1, " ,\t");
+        info->flagInDensity++;
+    }
+    if(info->flagInDensity) {
+        info->fptInDensity = fileOpen(info->InDensity, "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->flagOutLabel) {
+        info->fptOutLabel = fileOpen(info->OutLabel, "w");
+    }
+    
+    if(info->flagNeighbor) {
+    }
+    
+    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/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.pane", eospath);
+    khoros_initialize(argc, argv, "EOS");
+    fpt = fopen(panepath, "r");    if(NULL!=fpt) {
+        fclose(fpt);
+        kclui_initialize(panepath, KGEN_NONE, "EOS", "mrcImageDensityWeightedAreaCalc",
+                     func_usage_additions,
+                     func_get_args,
+                     func_free_args);
+    }
+}
+#endif /* KHOROS */ 
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.c b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.c
new file mode 100755 (executable)
index 0000000..8e87dad
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+# mrcImageDensityWeightedAreaCalc : $Revision$  
+# $Date$ 
+# Created by $Author$
+# Usage : mrcImageDensityWeightedAreaCalc
+# 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"
+#include "lmrcImageCalcArea.h"
+
+/*
+Example:
+typedef struct lmrcImageDensityWeightedAreaCalcInfo {
+       float a;
+       int   b;
+} lmrcImageDensityWeightedAreaCalcInfo;
+
+typedef enum lmrcImageDensityWeightedAreaCalcMode {
+       a=0,
+       b=1
+} lmrcImageDensityWeightedAreaCalcMode;
+*/
+
+int
+main(int argc, char* argv[]) 
+{
+  mrcImage in;
+  mrcImage inDens;
+  mrcImage out;
+  mrcImage label;
+  
+       mrcImageDensityWeightedAreaCalcInfo info;
+
+       init0(&info);
+    argCheck(&info, argc, argv);
+    init1(&info);
+
+       DEBUGPRINT("Program Start\n");
+
+  mrcFileRead(&in, info.In, "in main", 0);
+  mrcFileRead(&inDens, info.InDensity, "in main", 0);
+  
+  lmrcImageCalcDensityWeightedArea(&out, &label, &in, &inDens, info.Neighbor, info.mode);
+
+  if(info.flagOutLabel) {
+    mrcFileWrite(&label, info.OutLabel, "in main", 0);
+  }
+  mrcFileWrite(&out, info.Out, "in main", 0);
+       exit(EXIT_SUCCESS);
+}
+
+void
+additionalUsage()
+{
+       fprintf(stderr, "----- Additional Usage -----\n");
+       fprintf(stderr, "-m \n");
+       fprintf(stderr, "    0: Sum of density\n");
+       fprintf(stderr, "    1: Transform top of 75 pecents of sum of density to 0.75\n");
+}
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.html b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.html
new file mode 100755 (executable)
index 0000000..6322399
--- /dev/null
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<TITLE>mrcImageDensityWeightedAreaCalc</TITLE>
+</HEAD>
+<BODY>
+<H1>mrcImageDensityWeightedAreaCalc</H1>
+<H2>Usage</H2>
+<PRE>
+Usage: mrcImageDensityWeightedAreaCalc
+Options:
+    [-i[nput]            In                  (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input:binary
+    [-d[ensity]          InDensity           (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input:density
+    [-o[utput]           Out                 (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output:weightedArea
+    [-o[utput]L[abel]    OutLabel            (NULL      ).as(outFile::mrcImage   ) ] :Optional  :Output:Label
+    [-n[eighbor]         Neighbor            (8         ).as(Integer             ) ] :Optional  :Neighbor:[6|8]
+    [-c[onfig]           configFile          (NULL      ).as(inFile              ) ] :Optional  :ConfigurationFile
+    [-m[ode]             mode                (0         ).as(Integer             ) ] :Optional  :Mode
+----- Additional Usage -----
+-m 
+    0: Sum of density
+    1: Transform top of 75 pecents of sum of density to 0.75
+</PRE>
+</BODY>
+</HTML>
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.pane b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/mrcImageDensityWeightedAreaCalc.pane
new file mode 100755 (executable)
index 0000000..148eaf9
--- /dev/null
@@ -0,0 +1,19 @@
+-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 ' ' mrcImageDensityWeightedAreaCalc
+      -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/mrcImageDensityWeightedAreaCalc
+        -H 1  5x1+41+0 'Help' 'help page' $EOS/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/doc/mrcImageDensityWeightedAreaCalc.doc help
+        -Q 1 0 5.25x1+47+0 'Close'
+        -I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'Input:binary' i
+        -I 1 0 1 1 0 1 -1x1+1+3.000000 ' ' 'InDensity' 'Input:density' d
+        -O 1 0 1 1 0 1 -1x1+1+4.500000 ' ' 'Out' 'Output:weightedArea' o
+        -O 1 0 1 0 0 1 -1x1+1+6.000000 ' ' 'OutLabel' 'Output:Label' oL
+        -i 1 0 1 0 0 -1x1+1+7.500000 0 0 8 0 0 'Neighbor' 'Neighbor:[6|8]' n
+        -I 1 0 1 0 0 1 -1x1+1+9.000000 ' ' 'configFile' 'ConfigurationFile' c
+        -i 1 0 1 0 0 -1x1+1+10.500000 0 0 0 0 0 'mode' 'Mode' m
+    -E
+  -E
+-E
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/Makefile b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/Makefile
new file mode 100755 (executable)
index 0000000..e409156
--- /dev/null
@@ -0,0 +1,26 @@
+include ../../Config/Define.inc
+include ../../../Config/Define.inc
+include ../../../../Config/Define.inc
+include ../../../../../Config/Define.inc
+
+DATA=data/TEM_filter_sample
+
+all: help exec exec1
+
+help:
+       @echo "----- Help Message Check -----"
+       @../$(OSTYPE)/$(OBJECTNAME)      -h
+
+exec:
+       @echo "----- Execution Check -----"
+       ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).bin3 -d $(DATA).mrc3 -o $(DATA)-8.densWA -oL $(DATA)-8.label -n 8 -m 0
+       ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).bin3 -d $(DATA).mrc3 -o $(DATA)-4.densWA -oL $(DATA)-4.label -n 4 -m 0
+       @echo "----- Calc check -----"          
+
+exec1:
+       @echo "----- Execution Check -----"
+       ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).bin3 -d $(DATA).mrc3 -o $(DATA)-8-1.densWA -oL $(DATA)-8-1.label -n 8 -m 1
+       ../$(OSTYPE)/$(OBJECTNAME) -i $(DATA).bin3 -d $(DATA).mrc3 -o $(DATA)-4-1.densWA -oL $(DATA)-4-1.label -n 4 -m 1
+       @echo "----- Calc check -----"          
+
+clean:
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/data b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/test/data
new file mode 120000 (symlink)
index 0000000..80a2e27
--- /dev/null
@@ -0,0 +1 @@
+../../../../../..//data/mrcImageDensityWeightedAreaCalc
\ No newline at end of file
diff --git a/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/usage.c b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/src/usage.c
new file mode 100755 (executable)
index 0000000..85482e6
--- /dev/null
@@ -0,0 +1,39 @@
+#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:binary\n");
+    fprintf(stderr, "    [-d[ensity]          InDensity           (NULL      ).as(inFile::mrcImage    ) ] :Essential :Input:density\n");
+    fprintf(stderr, "    [-o[utput]           Out                 (NULL      ).as(outFile::mrcImage   ) ] :Essential :Output:weightedArea\n");
+    fprintf(stderr, "    [-o[utput]L[abel]    OutLabel            (NULL      ).as(outFile::mrcImage   ) ] :Optional  :Output:Label\n");
+    fprintf(stderr, "    [-n[eighbor]         Neighbor            (8         ).as(Integer             ) ] :Optional  :Neighbor:[6|8]\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/mrcImageDensityWeightedAreaCalc/src/util.c b/src/Tools/mrcImage/mrcImageDensityWeightedAreaCalc/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 4a45855..d33f48c 100755 (executable)
@@ -8,5 +8,6 @@
 "-oC","-o[utput]C[hainID]","Output:ChainID","Optional","1","1","OutChain","outFile::mrcImage","NULL"
 "-oS","-o[utput]S[urfaceArea]","Output:SurfaceArea","Optional","1","1","OutSurfaceArea","outFile::mrcImage","NULL"
 "-n","-n[eighbor]","Neighbor: [4(0)|8 or 6(0)|18|26]","Optional","1","1","neighbor","Integer","0"
+"-d","-d[ensity]","Input:binary","Optional","1","1","InDensity","inFile::mrcImage","NULL"
 "-c","-c[onfig]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL"
 "-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0"
index c98eb42..57f097b 100755 (executable)
@@ -44,6 +44,10 @@ typedef struct mrcImageFeatureCalcInfo {
     long flagneighbor;
     long neighbor;
     
+    long flagInDensity;
+    char* InDensity;
+    FILE* fptInDensity;
+    
     long flagconfigFile;
     char* configFile;
     FILE* fptconfigFile;
index 51829bb..95dd29f 100755 (executable)
@@ -116,6 +116,17 @@ argCheck(mrcImageFeatureCalcInfo* info, int argc, char* argv[])
                     }
                     SBREAK;
                 }
+                SCASE("d") {
+                    if(i+1<argc) {
+                        info->InDensity = stringGetNthWord(argv[i+1], 1, " ,");
+                        i++;
+                        info->flagInDensity++;
+                    } else {
+                        usage(argv[0]);
+                        exit(EXIT_FAILURE);
+                    }
+                    SBREAK;
+                }
                 SCASE("c") {
                     if(i+1<argc) {
                         info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
index fd549e8..ec66e67 100755 (executable)
@@ -20,6 +20,7 @@ init0(mrcImageFeatureCalcInfo* info)
     info->fptOutChain = NULL;    info->flagOutChain = 0;
     info->fptOutSurfaceArea = NULL;    info->flagOutSurfaceArea = 0;
     info->neighbor = 0;    info->flagneighbor = 0;
+    info->fptInDensity = NULL;    info->flagInDensity = 0;
     info->fptconfigFile = NULL;    info->flagconfigFile = 0;
     info->mode = 0;    info->flagmode = 0;
 }
@@ -65,6 +66,10 @@ init1(mrcImageFeatureCalcInfo* info)
     if(info->flagneighbor) {
     }
     
+    if(info->flagInDensity) {
+        info->fptInDensity = fileOpen(info->InDensity, "r");
+    }
+    
     if(info->flagconfigFile) {
         info->fptconfigFile = fileOpen(info->configFile, "r");
     }
index 82bd268..acf873b 100755 (executable)
@@ -15,8 +15,9 @@
         -O 1 0 1 0 0 1 -1x1+1+9.000000 ' ' 'OutChain' 'Output:ChainID' oC
         -O 1 0 1 0 0 1 -1x1+1+10.500000 ' ' 'OutSurfaceArea' 'Output:SurfaceArea' oS
         -i 1 0 1 0 0 -1x1+1+12.000000 0 0 0 0 0 'neighbor' 'Neighbor: [4(0)|8 or 6(0)|18|26]' n
-        -I 1 0 1 0 0 1 -1x1+1+13.500000 ' ' 'configFile' 'ConfigurationFile' c
-        -i 1 0 1 0 0 -1x1+1+15.000000 0 0 0 0 0 'mode' 'Mode' m
+        -I 1 0 1 0 0 1 -1x1+1+13.500000 ' ' 'InDensity' 'Input:binary' d
+        -I 1 0 1 0 0 1 -1x1+1+15.000000 ' ' 'configFile' 'ConfigurationFile' c
+        -i 1 0 1 0 0 -1x1+1+16.500000 0 0 0 0 0 'mode' 'Mode' m
     -E
   -E
 -E
index 30c9f70..4a3b1ca 100755 (executable)
@@ -15,6 +15,7 @@ usage(char* thisProgram)
     fprintf(stderr, "    [-o[utput]C[hainID]  OutChain            (NULL      ).as(outFile::mrcImage   ) ] :Optional  :Output:ChainID\n");
     fprintf(stderr, "    [-o[utput]S[urfaceArea]OutSurfaceArea      (NULL      ).as(outFile::mrcImage   ) ] :Optional  :Output:SurfaceArea\n");
     fprintf(stderr, "    [-n[eighbor]         neighbor            (0         ).as(Integer             ) ] :Optional  :Neighbor: [4(0)|8 or 6(0)|18|26]\n");
+    fprintf(stderr, "    [-d[ensity]          InDensity           (NULL      ).as(inFile::mrcImage    ) ] :Optional  :Input:binary\n");
     fprintf(stderr, "    [-c[onfig]           configFile          (NULL      ).as(inFile              ) ] :Optional  :ConfigurationFile\n");
     fprintf(stderr, "    [-m[ode]             mode                (0         ).as(Integer             ) ] :Optional  :Mode\n");
     additionalUsage();