From 9277d74b7ae5188fcf9f2bd9ab8c59a961b9d7e9 Mon Sep 17 00:00:00 2001 From: Takuo Yasunaga Date: Fri, 10 Apr 2020 09:15:10 +0900 Subject: [PATCH] mrcImageSN: Add trimedAVG/Median 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: modified: bin/wish/Display2/tclIndex modified: include/lmrcImageMasking.h modified: include/lmrcImagesStatDataGet.h modified: src/Objects/DataManip/mrcImage/src/lmrcImageMasking.c modified: src/Objects/DataManip/mrcImage/src/lmrcImageMasking.h modified: src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.c modified: src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.h modified: src/Tools/Config/Define.inc modified: src/Tools/mrcImage/.Source new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Define.inc new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/OptionControlFile new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Target.inc new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/Makefile new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/doc/Makefile new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/config.h new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/mrcImageFlatFieldCorrection.h new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Depend new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Source new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/Makefile new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/X86MAC64 new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/argCheck.c new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/init.c new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.c new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.pane new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/usage.c new file: src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/util.c modified: src/Tools/mrcImage/mrcImageSN/Config/OptionControlFile modified: src/Tools/mrcImage/mrcImageSN/inc/mrcImageSN.h modified: src/Tools/mrcImage/mrcImageSN/src/argCheck.c modified: src/Tools/mrcImage/mrcImageSN/src/init.c modified: src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.c modified: src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.html modified: src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.pane new file: src/Tools/mrcImage/mrcImageSN/src/test/Makefile new file: src/Tools/mrcImage/mrcImageSN/src/test/data modified: src/Tools/mrcImage/mrcImageSN/src/usage.c --- bin/wish/Display2/tclIndex | 148 +++---- include/lmrcImageMasking.h | 10 +- include/lmrcImagesStatDataGet.h | 5 + .../DataManip/mrcImage/src/lmrcImageMasking.c | 82 ++++ .../DataManip/mrcImage/src/lmrcImageMasking.h | 10 +- .../DataManip/mrcImage/src/lmrcImagesStatDataGet.c | 62 +++ .../DataManip/mrcImage/src/lmrcImagesStatDataGet.h | 5 + src/Tools/Config/Define.inc | 7 + src/Tools/mrcImage/.Source | 1 + .../mrcImageFlatFieldCorrection/Config/Define.inc | 4 + .../Config/OptionControlFile | 8 + .../mrcImageFlatFieldCorrection/Config/Target.inc | 0 .../mrcImage/mrcImageFlatFieldCorrection/Makefile | 115 ++++++ .../mrcImageFlatFieldCorrection/doc/Makefile | 2 + .../mrcImageFlatFieldCorrection/inc/config.h | 6 + .../inc/mrcImageFlatFieldCorrection.h | 46 +++ .../mrcImageFlatFieldCorrection/src/.Depend | 0 .../mrcImageFlatFieldCorrection/src/.Source | 0 .../mrcImageFlatFieldCorrection/src/Makefile | 430 +++++++++++++++++++++ .../mrcImageFlatFieldCorrection/src/X86MAC64 | 1 + .../mrcImageFlatFieldCorrection/src/argCheck.c | 96 +++++ .../mrcImageFlatFieldCorrection/src/init.c | 91 +++++ .../src/mrcImageFlatFieldCorrection.c | 57 +++ .../src/mrcImageFlatFieldCorrection.pane | 16 + .../mrcImageFlatFieldCorrection/src/usage.c | 36 ++ .../mrcImageFlatFieldCorrection/src/util.c | 4 + .../mrcImage/mrcImageSN/Config/OptionControlFile | 3 + src/Tools/mrcImage/mrcImageSN/inc/mrcImageSN.h | 11 + src/Tools/mrcImage/mrcImageSN/src/argCheck.c | 33 ++ src/Tools/mrcImage/mrcImageSN/src/init.c | 14 + src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.c | 9 + src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.html | 3 + src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.pane | 17 +- src/Tools/mrcImage/mrcImageSN/src/test/Makefile | 17 + src/Tools/mrcImage/mrcImageSN/src/test/data | 1 + src/Tools/mrcImage/mrcImageSN/src/usage.c | 3 + 36 files changed, 1268 insertions(+), 85 deletions(-) create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Define.inc create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/OptionControlFile create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Target.inc create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/Makefile create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/doc/Makefile create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/config.h create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/mrcImageFlatFieldCorrection.h create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Depend create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Source create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/Makefile create mode 120000 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/X86MAC64 create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/argCheck.c create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/init.c create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.c create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.pane create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/usage.c create mode 100755 src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/util.c create mode 100755 src/Tools/mrcImage/mrcImageSN/src/test/Makefile create mode 120000 src/Tools/mrcImage/mrcImageSN/src/test/data diff --git a/bin/wish/Display2/tclIndex b/bin/wish/Display2/tclIndex index c4c3f5aa63..03796f98b3 100644 --- a/bin/wish/Display2/tclIndex +++ b/bin/wish/Display2/tclIndex @@ -6,17 +6,43 @@ # element name is the name of a command and the value is # a script that loads the command. -set auto_index(display2BindingSet) [list source [file join $dir Display2Binding.wish]] -set auto_index(colormapChange) [list source [file join $dir Display2Colormap.wish]] -set auto_index(display2DesktopSet) [list source [file join $dir Display2Desktop.wish]] -set auto_index(display2ETCSet) [list source [file join $dir Display2ETCSet.wish]] -set auto_index(fileOpenWinCreate) [list source [file join $dir Display2File.wish]] -set auto_index(fileNewWinCreate) [list source [file join $dir Display2File.wish]] -set auto_index(seqFileOpenWinCreate) [list source [file join $dir Display2File.wish]] -set auto_index(seqFileNewWinCreate) [list source [file join $dir Display2File.wish]] +set auto_index(roiAreaSelectStart) [list source [file join $dir RoiAreaSelect.wish]] +set auto_index(roiAreaSelectMotion) [list source [file join $dir RoiAreaSelect.wish]] +set auto_index(roiAreaSelectEnd) [list source [file join $dir RoiAreaSelect.wish]] +set auto_index(roiAreaSelectOK) [list source [file join $dir RoiAreaSelect.wish]] +set auto_index(projectionRecreate) [list source [file join $dir ProjectionUtil.wish]] +set auto_index(projectionCreate) [list source [file join $dir ProjectionUtil.wish]] +set auto_index(projectionClear) [list source [file join $dir ProjectionUtil.wish]] +set auto_index(projectionChange) [list source [file join $dir ProjectionUtil.wish]] set auto_index(fileOpen) [list source [file join $dir Display2Image.wish]] set auto_index(mainImagePut) [list source [file join $dir Display2Image.wish]] set auto_index(overviewImagePut) [list source [file join $dir Display2Image.wish]] +set auto_index(roiAreaFFT) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(splineNearPoint) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(rectangleNearPoint) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(lineNearPoint) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(pointDistance) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(pointDistance2) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(vectorAngle) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(coordGetInMainImageToReal) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(coordGetInMainImageToCanvas) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(dataGetInMainImageToReal) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(dataGetInMainImageToCanvas) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(pointSet) [list source [file join $dir RoiAreaUtil.wish]] +set auto_index(roiAreaZoomIn) [list source [file join $dir RoiAreaZoom.wish]] +set auto_index(roiAreaZoomOut) [list source [file join $dir RoiAreaZoom.wish]] +set auto_index(roiAreaZoom) [list source [file join $dir RoiAreaZoom.wish]] +set auto_index(colormapChange) [list source [file join $dir Display2Colormap.wish]] +set auto_index(display2SetVar) [list source [file join $dir Display2Init.wish]] +set auto_index(display2InitVar) [list source [file join $dir Display2Init.wish]] +set auto_index(display2InitVarSet) [list source [file join $dir Display2Init.wish]] +set auto_index(diplay2CanvasInit) [list source [file join $dir Display2Init.wish]] +set auto_index(display2Init) [list source [file join $dir Display2Init.wish]] +set auto_index(roiInformationWinCreate) [list source [file join $dir Display2InfoROI.wish]] +set auto_index(roiLineInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]] +set auto_index(roiSplineInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]] +set auto_index(roiRectangleInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]] +set auto_index(roiAnalysisFrameCreate) [list source [file join $dir Display2InfoROI.wish]] set auto_index(histgramGraphCreate) [list source [file join $dir Display2Info.wish]] set auto_index(display2InformationWinCreate) [list source [file join $dir Display2Info.wish]] set auto_index(fileReopen) [list source [file join $dir Display2Info.wish]] @@ -28,41 +54,7 @@ set auto_index(sectionInformationWinCreate) [list source [file join $dir Display set auto_index(ctfInformationWinCreate) [list source [file join $dir Display2Info.wish]] set auto_index(unitCellInformationWinCreate) [list source [file join $dir Display2Info.wish]] set auto_index(scaleInfoWinCreate) [list source [file join $dir Display2Info.wish]] -set auto_index(roiInformationWinCreate) [list source [file join $dir Display2InfoROI.wish]] -set auto_index(roiLineInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]] -set auto_index(roiSplineInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]] -set auto_index(roiRectangleInfoFrameCreate) [list source [file join $dir Display2InfoROI.wish]] -set auto_index(roiAnalysisFrameCreate) [list source [file join $dir Display2InfoROI.wish]] -set auto_index(display2SetVar) [list source [file join $dir Display2Init.wish]] -set auto_index(display2InitVar) [list source [file join $dir Display2Init.wish]] -set auto_index(display2InitVarSet) [list source [file join $dir Display2Init.wish]] -set auto_index(diplay2CanvasInit) [list source [file join $dir Display2Init.wish]] -set auto_index(display2Init) [list source [file join $dir Display2Init.wish]] -set auto_index(display2MenuSet) [list source [file join $dir Display2Menu.wish]] -set auto_index(menuFileCreate) [list source [file join $dir Display2Menu.wish]] -set auto_index(menuSeqFileCreate) [list source [file join $dir Display2Menu.wish]] -set auto_index(menuWindowCreate) [list source [file join $dir Display2Menu.wish]] -set auto_index(menuInfoCreate) [list source [file join $dir Display2Menu.wish]] -set auto_index(menuHelpCreate) [list source [file join $dir Display2Menu.wish]] -set auto_index(menuExitCreate) [list source [file join $dir Display2Menu.wish]] -set auto_index(display2MenuSet2) [list source [file join $dir Display2Menu2.wish]] -set auto_index(roiRelatedObjectRecreate) [list source [file join $dir Display2MenuROI.wish]] -set auto_index(menuRoiCreate) [list source [file join $dir Display2MenuROI.wish]] -set auto_index(menuRoiCancelCommand) [list source [file join $dir Display2MenuROI.wish]] -set auto_index(menuRoiSingleMultiTransform) [list source [file join $dir Display2MenuROI.wish]] -set auto_index(menuMultiRoiOKCommand) [list source [file join $dir Display2MenuROI.wish]] -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]] -set auto_index(layerLineChange) [list source [file join $dir LayerLineUtil.wish]] -set auto_index(projectionRecreate) [list source [file join $dir ProjectionUtil.wish]] -set auto_index(projectionCreate) [list source [file join $dir ProjectionUtil.wish]] -set auto_index(projectionClear) [list source [file join $dir ProjectionUtil.wish]] -set auto_index(projectionChange) [list source [file join $dir ProjectionUtil.wish]] set auto_index(roiAreaCreateStart) [list source [file join $dir RoiAreaCreate.wish]] set auto_index(roiAreaCreateMotion) [list source [file join $dir RoiAreaCreate.wish]] set auto_index(roiAreaCreateEnd) [list source [file join $dir RoiAreaCreate.wish]] @@ -80,15 +72,22 @@ set auto_index(roiSplineEnd) [list source [file join $dir RoiAreaCreate.wish]] set auto_index(splineCreate) [list source [file join $dir RoiAreaCreate.wish]] set auto_index(knobShow) [list source [file join $dir RoiAreaCreate.wish]] set auto_index(knobHide) [list source [file join $dir RoiAreaCreate.wish]] -set auto_index(roiMultiAreaInfoSave) [list source [file join $dir RoiAreaFile.wish]] -set auto_index(roiMultiAreaInfoLoad) [list source [file join $dir RoiAreaFile.wish]] -set auto_index(roiAreaFileSave) [list source [file join $dir RoiAreaFile.wish]] -set auto_index(roiAreaMoveStart) [list source [file join $dir RoiAreaMove.wish]] -set auto_index(roiAreaMoveMotion) [list source [file join $dir RoiAreaMove.wish]] -set auto_index(roiAreaMoveEnd) [list source [file join $dir RoiAreaMove.wish]] -set auto_index(rectangleMove) [list source [file join $dir RoiAreaMove.wish]] -set auto_index(lineMove) [list source [file join $dir RoiAreaMove.wish]] -set auto_index(splineMove) [list source [file join $dir RoiAreaMove.wish]] +set auto_index(display2BindingSet) [list source [file join $dir Display2Binding.wish]] +set auto_index(display2MenuSet) [list source [file join $dir Display2Menu.wish]] +set auto_index(menuFileCreate) [list source [file join $dir Display2Menu.wish]] +set auto_index(menuSeqFileCreate) [list source [file join $dir Display2Menu.wish]] +set auto_index(menuWindowCreate) [list source [file join $dir Display2Menu.wish]] +set auto_index(menuInfoCreate) [list source [file join $dir Display2Menu.wish]] +set auto_index(menuHelpCreate) [list source [file join $dir Display2Menu.wish]] +set auto_index(menuExitCreate) [list source [file join $dir Display2Menu.wish]] +set auto_index(roiRelatedObjectRecreate) [list source [file join $dir Display2MenuROI.wish]] +set auto_index(menuRoiCreate) [list source [file join $dir Display2MenuROI.wish]] +set auto_index(menuRoiCancelCommand) [list source [file join $dir Display2MenuROI.wish]] +set auto_index(menuRoiSingleMultiTransform) [list source [file join $dir Display2MenuROI.wish]] +set auto_index(menuMultiRoiOKCommand) [list source [file join $dir Display2MenuROI.wish]] +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(roiAreaResizeStart) [list source [file join $dir RoiAreaResize.wish]] set auto_index(roiAreaResizeMotion) [list source [file join $dir RoiAreaResize.wish]] set auto_index(roiAreaResizeEnd) [list source [file join $dir RoiAreaResize.wish]] @@ -105,29 +104,18 @@ set auto_index(lineRotate) [list source [file join $dir RoiAreaRotate.wish]] set auto_index(lineRotateCalc) [list source [file join $dir RoiAreaRotate.wish]] set auto_index(splineRotate) [list source [file join $dir RoiAreaRotate.wish]] set auto_index(splineRotateCalc) [list source [file join $dir RoiAreaRotate.wish]] -set auto_index(roiAreaSelectStart) [list source [file join $dir RoiAreaSelect.wish]] -set auto_index(roiAreaSelectMotion) [list source [file join $dir RoiAreaSelect.wish]] -set auto_index(roiAreaSelectEnd) [list source [file join $dir RoiAreaSelect.wish]] -set auto_index(roiAreaSelectOK) [list source [file join $dir RoiAreaSelect.wish]] -set auto_index(roiAreaFFT) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(splineNearPoint) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(rectangleNearPoint) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(lineNearPoint) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(pointDistance) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(pointDistance2) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(vectorAngle) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(coordGetInMainImageToReal) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(coordGetInMainImageToCanvas) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(dataGetInMainImageToReal) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(dataGetInMainImageToCanvas) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(pointSet) [list source [file join $dir RoiAreaUtil.wish]] -set auto_index(roiAreaZoomIn) [list source [file join $dir RoiAreaZoom.wish]] -set auto_index(roiAreaZoomOut) [list source [file join $dir RoiAreaZoom.wish]] -set auto_index(roiAreaZoom) [list source [file join $dir RoiAreaZoom.wish]] -set auto_index(ScaleRecreate) [list source [file join $dir ScaleUtil.wish]] -set auto_index(ScaleCreate) [list source [file join $dir ScaleUtil.wish]] -set auto_index(ScaleClear) [list source [file join $dir ScaleUtil.wish]] -set auto_index(ScaleChange) [list source [file join $dir ScaleUtil.wish]] +set auto_index(roiMultiAreaInfoSave) [list source [file join $dir RoiAreaFile.wish]] +set auto_index(roiMultiAreaInfoLoad) [list source [file join $dir RoiAreaFile.wish]] +set auto_index(roiAreaFileSave) [list source [file join $dir RoiAreaFile.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]] +set auto_index(layerLineChange) [list source [file join $dir LayerLineUtil.wish]] +set auto_index(fileOpenWinCreate) [list source [file join $dir Display2File.wish]] +set auto_index(fileNewWinCreate) [list source [file join $dir Display2File.wish]] +set auto_index(seqFileOpenWinCreate) [list source [file join $dir Display2File.wish]] +set auto_index(seqFileNewWinCreate) [list source [file join $dir Display2File.wish]] +set auto_index(display2DesktopSet) [list source [file join $dir Display2Desktop.wish]] set auto_index(sectionInit) [list source [file join $dir SectionUtil.wish]] set auto_index(sectionRecreateAll) [list source [file join $dir SectionUtil.wish]] set auto_index(sectionRecreate) [list source [file join $dir SectionUtil.wish]] @@ -136,4 +124,16 @@ set auto_index(sectionCreate) [list source [file join $dir SectionUtil.wish]] 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(ScaleRecreate) [list source [file join $dir ScaleUtil.wish]] +set auto_index(ScaleCreate) [list source [file join $dir ScaleUtil.wish]] +set auto_index(ScaleClear) [list source [file join $dir ScaleUtil.wish]] +set auto_index(ScaleChange) [list source [file join $dir ScaleUtil.wish]] set auto_index(unitCellRecreate) [list source [file join $dir UnitCell.wish]] +set auto_index(display2MenuSet2) [list source [file join $dir Display2Menu2.wish]] +set auto_index(roiAreaMoveStart) [list source [file join $dir RoiAreaMove.wish]] +set auto_index(roiAreaMoveMotion) [list source [file join $dir RoiAreaMove.wish]] +set auto_index(roiAreaMoveEnd) [list source [file join $dir RoiAreaMove.wish]] +set auto_index(rectangleMove) [list source [file join $dir RoiAreaMove.wish]] +set auto_index(lineMove) [list source [file join $dir RoiAreaMove.wish]] +set auto_index(splineMove) [list source [file join $dir RoiAreaMove.wish]] +set auto_index(display2ETCSet) [list source [file join $dir Display2ETCSet.wish]] diff --git a/include/lmrcImageMasking.h b/include/lmrcImageMasking.h index 459d5035eb..a7f1fa3deb 100644 --- a/include/lmrcImageMasking.h +++ b/include/lmrcImageMasking.h @@ -21,13 +21,19 @@ typedef enum lmrcImageMaskingInfoShape { lmrcImageMaskingInfoShapeSphere=0, lmrcImageMaskingInfoSquare=1, - lmrcImageMaskingInfoCylinder=2 + lmrcImageMaskingInfoCylinder=2, + lmrcImageMaskingInfoRoundedSquare=3, + lmrcImageMaskingInfoCone=4, + lmrcImageMaskingInfoSquareCone=5, + lmrcImageMaskingInfoRoundedSquareCone=6, + lmrcImageMaskingInfoSquareConePlatform=7, + lmrcImageMaskingInfoRoundedSquareConePlatform=8 } lmrcImageMaskingInfoShape; typedef struct lmrcImageMaskingInfo { mrcImageParaTypeRealCoord n; mrcImageParaTypeRealCoord c; - + // int flagRotation; char Euler[4]; diff --git a/include/lmrcImagesStatDataGet.h b/include/lmrcImagesStatDataGet.h index bf10c4f117..d44cc49f91 100644 --- a/include/lmrcImagesStatDataGet.h +++ b/include/lmrcImagesStatDataGet.h @@ -22,6 +22,11 @@ typedef struct lmrcImagesStatDataGetInfo { int flagAvg; mrcImage Avg; + int flagTrimmedAvg; + double TrimmedRange; + mrcImage TrimmedAvg; + int flagMedian; + mrcImage Median; int flagSQRAvg; mrcImage SQRAvg; int flagVar; diff --git a/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.c b/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.c index dc2a1850ca..6ccb77b086 100755 --- a/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.c +++ b/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.c @@ -167,6 +167,7 @@ lmrcImageMasking(mrcImage* out, mrcImage* in, lmrcImageMaskingInfo* linfo, int m } } break; + case lmrcImageMaskingInfoSquare: sum = 0.0; count = 0; avg = 0; if (linfo->mode==0){ @@ -244,6 +245,7 @@ lmrcImageMasking(mrcImage* out, mrcImage* in, lmrcImageMaskingInfo* linfo, int m } } break; + case lmrcImageMaskingInfoCylinder: sum = 0.0; count = 0; avg = 0; if (linfo->mode==0){ @@ -324,6 +326,86 @@ lmrcImageMasking(mrcImage* out, mrcImage* in, lmrcImageMaskingInfo* linfo, int m } } break; + + + case lmrcImageMaskingInfoRoundedSquare: + sum = 0.0; count = 0; avg = 0; + if (linfo->mode==0){ + for(z=0; zHeaderN.z; z++) { + for(y=0; yHeaderN.y; y++) { + for(x=0; xHeaderN.x; x++) { + if(!linfo->flagRotation) { + if( fabs(x - linfo->c.x ) > (linfo->n.x/2.0) + || fabs(y - linfo->c.y ) > (linfo->n.y/2.0) + || fabs(z - linfo->c.z ) > (linfo->n.z/2.0) ) { // Outside + mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest); + sum += data; + count++; + } + } else { + x0 = (nx.data[0]*(x-cx0.data[0])+nx.data[1]*(y-cx0.data[1])+nx.data[2]*(z-cx0.data[2])); + x1 = (nx.data[0]*(x-cx1.data[0])+nx.data[1]*(y-cx1.data[1])+nx.data[2]*(z-cx1.data[2])); + y0 = (ny.data[0]*(x-cy0.data[0])+ny.data[1]*(y-cy0.data[1])+ny.data[2]*(z-cy0.data[2])); + y1 = (ny.data[0]*(x-cy1.data[0])+ny.data[1]*(y-cy1.data[1])+ny.data[2]*(z-cy1.data[2])); + z0 = (nz.data[0]*(x-cz0.data[0])+nz.data[1]*(y-cz0.data[1])+nz.data[2]*(z-cz0.data[2])); + z1 = (nz.data[0]*(x-cz1.data[0])+nz.data[1]*(y-cz1.data[1])+nz.data[2]*(z-cz1.data[2])); + if(x0*x1 > 0 || y0*y1 > 0 || z0*z1 > 0) { // + //DEBUGPRINT6("x0-z1: %f %f %f %f %f %f\n", x0, x1, y0, y1, z0, z1); + mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest); + sum += data; + count++; + } + } + } + } + } + if(0HeaderN.z; z++) { + for(y=0; yHeaderN.y; y++) { + for(x=0; xHeaderN.x; x++) { + data = orgData; + flagIn = 0; + if(!linfo->flagRotation) { + //DEBUGPRINT("Not Rotated\n") + if( fabs(x - linfo->c.x ) <= (linfo->n.x/2.0) + && fabs(y - linfo->c.y ) <= (linfo->n.y/2.0) + && fabs(z - linfo->c.z ) <= (linfo->n.z/2.0) ) { // Inside + mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest); + DEBUGPRINT3("(%d, %d, %d) inside square\n", x, y, z); + flagIn = 1; + } + } else { + x0 = (nx.data[0]*(x-cx0.data[0])+nx.data[1]*(y-cx0.data[1])+nx.data[2]*(z-cx0.data[2])); + x1 = (nx.data[0]*(x-cx1.data[0])+nx.data[1]*(y-cx1.data[1])+nx.data[2]*(z-cx1.data[2])); + y0 = (ny.data[0]*(x-cy0.data[0])+ny.data[1]*(y-cy0.data[1])+ny.data[2]*(z-cy0.data[2])); + y1 = (ny.data[0]*(x-cy1.data[0])+ny.data[1]*(y-cy1.data[1])+ny.data[2]*(z-cy1.data[2])); + z0 = (nz.data[0]*(x-cz0.data[0])+nz.data[1]*(y-cz0.data[1])+nz.data[2]*(z-cz0.data[2])); + z1 = (nz.data[0]*(x-cz1.data[0])+nz.data[1]*(y-cz1.data[1])+nz.data[2]*(z-cz1.data[2])); + if(x0*x1 <= 0 && y0*y1 <= 0 && z0*z1 <= 0) { + mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest); + flagIn = 1; + } + } + if(flagIn==1) { + if(linfo->mode==0) { + data -= avg; + } else if(linfo->mode==1) { + data = 0.0; + } else if(linfo->mode==2) { + data = 1.0; + } + } + mrcPixelDataSet(out, x, y, z, data, mrcPixelRePart); + } + } + } + break; + default: { fprintf(stderr, "Not supported shape: %d\n", linfo->shape); exit(EXIT_FAILURE); diff --git a/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.h b/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.h index 459d5035eb..a7f1fa3deb 100755 --- a/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.h +++ b/src/Objects/DataManip/mrcImage/src/lmrcImageMasking.h @@ -21,13 +21,19 @@ typedef enum lmrcImageMaskingInfoShape { lmrcImageMaskingInfoShapeSphere=0, lmrcImageMaskingInfoSquare=1, - lmrcImageMaskingInfoCylinder=2 + lmrcImageMaskingInfoCylinder=2, + lmrcImageMaskingInfoRoundedSquare=3, + lmrcImageMaskingInfoCone=4, + lmrcImageMaskingInfoSquareCone=5, + lmrcImageMaskingInfoRoundedSquareCone=6, + lmrcImageMaskingInfoSquareConePlatform=7, + lmrcImageMaskingInfoRoundedSquareConePlatform=8 } lmrcImageMaskingInfoShape; typedef struct lmrcImageMaskingInfo { mrcImageParaTypeRealCoord n; mrcImageParaTypeRealCoord c; - + // int flagRotation; char Euler[4]; diff --git a/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.c b/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.c index 51309d9e71..3bab0b60a9 100755 --- a/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.c +++ b/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.c @@ -14,8 +14,14 @@ static char __sccs_id[] = "@(#)lmrcImagesStatDataGet ver1.1; Date:97/01/23 @(#)" #include #undef DEBUG #include "genUtil.h" +#include "Memory.h" #include "lmrcImagesStatDataGet.h" +static int compare_double(const void* a, const void* b) +{ + return *(double*)a - *(double*)b; +} + void lmrcImagesStatDataGet(lmrcImagesStatDataGetInfo* linfo, mrcImage* srcs, int n, long mode) { @@ -29,6 +35,53 @@ lmrcImagesStatDataGet(lmrcImagesStatDataGetInfo* linfo, mrcImage* srcs, int n, l linfo->Avg.Header = srcs[0].Header; mrcInit(&(linfo->Avg), NULL); + if(linfo->flagMedian || linfo->flagTrimmedAvg) { + double* dd; + int icen, flag; + int imin, imax; + int nn; + icen = n/2; + flag = n%2; + imin = linfo->TrimmedRange*n; + imax = n -1 - linfo->TrimmedRange*n; + nn = imax - imin + 1; + dd = memoryAllocate(sizeof(double)*n, "in lmrcImagesStatDataGet"); + + linfo->Median.Header = srcs[0].Header; + mrcInit(&(linfo->Median), NULL); + linfo->TrimmedAvg.Header = srcs[0].Header; + mrcInit(&(linfo->TrimmedAvg), NULL); + + for(x=0; xMedian.HeaderN.x; x++) { + for(y=0; yMedian.HeaderN.y; y++) { + for(z=0; zMedian.HeaderN.z; z++) { + for(i=0; iMedian, x, y, z, data, mrcPixelRePart); + data = 0; + for(i=imin; i<=imax; i++) { + data+=dd[i]; + } + if(nn>0) { + data /= nn; + } else { + fprintf(stderr, "Cannot calculate trimmed average due to too small number\n"); + exit(EXIT_FAILURE); + } + mrcPixelDataSet(&linfo->TrimmedAvg, x, y, z, data, mrcPixelRePart); + } + } + } + memoryFree(dd); + } + linfo->SQRAvg.Header = srcs[0].Header; mrcInit(&(linfo->SQRAvg), NULL); @@ -83,6 +136,15 @@ lmrcImagesStatDataGet(lmrcImagesStatDataGetInfo* linfo, mrcImage* srcs, int n, l } } + for(x=0; xAvg.HeaderN.x; x++) { + for(y=0; yAvg.HeaderN.y; y++) { + for(z=0; zAvg.HeaderN.z; z++) { + mrcPixelDataSet(&linfo->Avg, x, y, z, 0.0, mrcPixelRePart); + mrcPixelDataSet(&linfo->SQRAvg, x, y, z, 0.0, mrcPixelRePart); + } + } + } + for(i=0; iAvg.HeaderN.x || srcs[i].HeaderN.y!=linfo->Avg.HeaderN.y diff --git a/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.h b/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.h index bf10c4f117..d44cc49f91 100755 --- a/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.h +++ b/src/Objects/DataManip/mrcImage/src/lmrcImagesStatDataGet.h @@ -22,6 +22,11 @@ typedef struct lmrcImagesStatDataGetInfo { int flagAvg; mrcImage Avg; + int flagTrimmedAvg; + double TrimmedRange; + mrcImage TrimmedAvg; + int flagMedian; + mrcImage Median; int flagSQRAvg; mrcImage SQRAvg; int flagVar; diff --git a/src/Tools/Config/Define.inc b/src/Tools/Config/Define.inc index 9ee2d89475..557babe216 100644 --- a/src/Tools/Config/Define.inc +++ b/src/Tools/Config/Define.inc @@ -1 +1,8 @@ WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools +WORLDNAME=Tools diff --git a/src/Tools/mrcImage/.Source b/src/Tools/mrcImage/.Source index c02c7fe500..6545c9cb5a 100644 --- a/src/Tools/mrcImage/.Source +++ b/src/Tools/mrcImage/.Source @@ -122,6 +122,7 @@ mrcImageFilamentSearchResultShow \ mrcImageFilterCreate \ mrcImageFilteringbyFile \ mrcImageFilteringbyFileForVariance \ +mrcImageFlatFieldCorrection \ mrcImageFloating \ mrcImageFourierNeighborCorrelation \ mrcImageFourierPowerSpectrum \ diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Define.inc b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Define.inc new file mode 100755 index 0000000000..3cbf3f9cec --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Define.inc @@ -0,0 +1,4 @@ +OBJECTNAME = mrcImageFlatFieldCorrection +EXTRA_LIB = +EXTRA_CCOPTS = +EXTRA_INC = diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/OptionControlFile b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/OptionControlFile new file mode 100755 index 0000000000..6ceaf2620e --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/OptionControlFile @@ -0,0 +1,8 @@ +# OptionControlFile +# FileFormat +"-i","-i[nput]","Input::mrcImage","Essential","1","1","In","inFile","NULL" +"-o","-o[utput]","Output::mrcImage","Essential","1","1","Out","outFile","NULL" +"-f","-f[latField]","Input::mrcImage","Essential","1","1","Flat","inFile","NULL" +"-d","-d[arkField]","Input::mrcImage","Essential","1","1","Dark","inFile","NULL" +"-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/mrcImageFlatFieldCorrection/Config/Target.inc b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Config/Target.inc new file mode 100755 index 0000000000..e69de29bb2 diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Makefile b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Makefile new file mode 100755 index 0000000000..3d1cbd98da --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/Makefile @@ -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/mrcImageFlatFieldCorrection/doc/Makefile b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/doc/Makefile new file mode 100755 index 0000000000..8215199e1b --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/doc/Makefile @@ -0,0 +1,2 @@ +install: + cd ../src; make install-doc; cd ../doc diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/config.h b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/config.h new file mode 100755 index 0000000000..f5ae4ccbd7 --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/config.h @@ -0,0 +1,6 @@ +#ifndef CONFIG_H +#define CONFIG_H + +#include "../inc/mrcImageFlatFieldCorrection.h" + +#endif /* CONFIG_H */ diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/mrcImageFlatFieldCorrection.h b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/mrcImageFlatFieldCorrection.h new file mode 100755 index 0000000000..b70d3a420c --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/inc/mrcImageFlatFieldCorrection.h @@ -0,0 +1,46 @@ +#ifndef MRCIMAGEFLATFIELDCORRECTION_H +#define MRCIMAGEFLATFIELDCORRECTION_H +#include +#include + +#define OPTION_FLAG '-' +#define OPTION_FLAG_POS (0) +#define OPTION_POS (1) + + + + +typedef struct mrcImageFlatFieldCorrectionInfo { + long flagRedirect; + + long flagIn; + char* In; + FILE* fptIn; + + long flagOut; + char* Out; + FILE* fptOut; + + long flagconfigFile; + char* configFile; + FILE* fptconfigFile; + + long flagmode; + long mode; + +} mrcImageFlatFieldCorrectionInfo; +#ifdef __cplusplus +extern "C" { +#endif +extern void argCheck(mrcImageFlatFieldCorrectionInfo* info, int argc, char* avgv[]); +extern void khorosInit(int argc, char* avgv[]); +extern void init0(mrcImageFlatFieldCorrectionInfo* info); +extern void init1(mrcImageFlatFieldCorrectionInfo* info); +extern void usage(char* usage); +extern void additionalUsage(void); +extern void htmlBeforeUsage(char* usage); +extern void htmlAfterUsage(char* usage); +#ifdef __cplusplus +}; +#endif +#endif /* MRCIMAGEFLATFIELDCORRECTION_H */ diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Depend b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Depend new file mode 100755 index 0000000000..e69de29bb2 diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Source b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/.Source new file mode 100755 index 0000000000..e69de29bb2 diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/Makefile b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/Makefile new file mode 100755 index 0000000000..a360703891 --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/Makefile @@ -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/mrcImageFlatFieldCorrection/src/X86MAC64 b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/X86MAC64 new file mode 120000 index 0000000000..5e8a200b3b --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/X86MAC64 @@ -0,0 +1 @@ +../../../../../hostdepend/X86MAC64/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/X86MAC64 \ No newline at end of file diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/argCheck.c b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/argCheck.c new file mode 100755 index 0000000000..e6023e11ff --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/argCheck.c @@ -0,0 +1,96 @@ +#include +#include +#include +#include +#include "../inc/config.h" +#include "genUtil.h" +#include "eosString.h" +#include "File.h" +#include "Memory.h" + + +void +argCheck(mrcImageFlatFieldCorrectionInfo* info, int argc, char* argv[]) +{ + long i; + char s[1024]; + FILE* fpt; + + if(NULL==(fpt=fopen(".EosLog", "a+"))) { + + } else { + for(i=0; iIn = stringGetNthWord(argv[i+1], 1, " ,"); + i++; + info->flagIn++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } + SCASE("o") { + if(i+1Out = stringGetNthWord(argv[i+1], 1, " ,"); + i++; + info->flagOut++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } + SCASE("c") { + if(i+1configFile = stringGetNthWord(argv[i+1], 1, " ,"); + i++; + info->flagconfigFile++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } + SCASE("m") { + if(i+1mode = 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/mrcImageFlatFieldCorrection/src/init.c b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/init.c new file mode 100755 index 0000000000..d0873c7ba1 --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/init.c @@ -0,0 +1,91 @@ +#include +#include +#include +#include +#include "../inc/config.h" +#include "genUtil.h" +#include "eosString.h" +#include "File.h" +#include "Memory.h" + + +void +init0(mrcImageFlatFieldCorrectionInfo* info) +{ + info->fptIn = NULL; info->flagIn = 0; + info->fptOut = NULL; info->flagOut = 0; + info->fptconfigFile = NULL; info->flagconfigFile = 0; + info->mode = 0; info->flagmode = 0; +} + +void +init1(mrcImageFlatFieldCorrectionInfo* 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->flagconfigFile) { + info->fptconfigFile = fileOpen(info->configFile, "r"); + } + + if(info->flagmode) { + } + +} +#ifdef KHOROS +#include +#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/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.pane", eospath); + khoros_initialize(argc, argv, "EOS"); + fpt = fopen(panepath, "r"); if(NULL!=fpt) { + fclose(fpt); + kclui_initialize(panepath, KGEN_NONE, "EOS", "mrcImageFlatFieldCorrection", + func_usage_additions, + func_get_args, + func_free_args); + } +} +#endif /* KHOROS */ diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.c b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.c new file mode 100755 index 0000000000..96753c0922 --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.c @@ -0,0 +1,57 @@ +/* +# mrcImageFlatFieldCorrection : $Revision$ +# $Date$ +# Created by $Author$ +# Usage : mrcImageFlatFieldCorrection +# Attention +# $Loccker$ +# $State$ +# +*/ +#include +#include +#include +#include +#define GLOBAL_DECLARATION +#include "../inc/config.h" + +#define DEBUG +#include "genUtil.h" +#include "mrcImage.h" + +/* +Example: +typedef struct lmrcImageFlatFieldCorrectionInfo { + float a; + int b; +} lmrcImageFlatFieldCorrectionInfo; + +typedef enum lmrcImageFlatFieldCorrectionMode { + a=0, + b=1 +} lmrcImageFlatFieldCorrectionMode; +*/ + +int +main(int argc, char* argv[]) +{ + mrcImageFlatFieldCorrectionInfo info; + mrcImage in; + mrcImage out; + mrcImage inFlat; + mrcImage inDark; + + init0(&info); + argCheck(&info, argc, argv); + init1(&info); + + DEBUGPRINT("Program Start\n"); + + exit(EXIT_SUCCESS); +} + +void +additionalUsage() +{ + fprintf(stderr, "----- Additional Usage -----\n"); +} diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.pane b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.pane new file mode 100755 index 0000000000..931d96dbe8 --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/mrcImageFlatFieldCorrection.pane @@ -0,0 +1,16 @@ +-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 ' ' mrcImageFlatFieldCorrection + -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/mrcImageFlatFieldCorrection + -H 1 5x1+41+0 'Help' 'help page' $EOS/src/Tools/mrcImage/mrcImageFlatFieldCorrection/doc/mrcImageFlatFieldCorrection.doc help + -Q 1 0 5.25x1+47+0 'Close' + -I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'InputDataFile' i + -O 1 0 1 1 0 1 -1x1+1+3.000000 ' ' 'Out' 'OutputDataFile' o + -I 1 0 1 0 0 1 -1x1+1+4.500000 ' ' 'configFile' 'ConfigurationFile' c + -i 1 0 1 0 0 -1x1+1+6.000000 0 0 0 0 0 'mode' 'Mode' m + -E + -E +-E diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/usage.c b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/usage.c new file mode 100755 index 0000000000..c3e4fc6eae --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/usage.c @@ -0,0 +1,36 @@ +#include +#include +#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 ) ] :Essential :InputDataFile\n"); + fprintf(stderr, " [-o[utput] Out (NULL ).as(outFile ) ] :Essential :OutputDataFile\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, "\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "%s\n", thisProgram); + fprintf(stderr, "\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "

%s

\n", thisProgram); + fprintf(stderr, "

Usage

\n"); + fprintf(stderr, "
\n");
+}
+
+void
+htmlAfterUsage(char* thisProgram)
+{
+    fprintf(stderr, "
\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "\n"); +} diff --git a/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/util.c b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/util.c new file mode 100755 index 0000000000..ee5e5f2324 --- /dev/null +++ b/src/Tools/mrcImage/mrcImageFlatFieldCorrection/src/util.c @@ -0,0 +1,4 @@ +#include +#include +#include "../inc/config.h" + diff --git a/src/Tools/mrcImage/mrcImageSN/Config/OptionControlFile b/src/Tools/mrcImage/mrcImageSN/Config/OptionControlFile index b4fe4fe31f..0f8f943abb 100755 --- a/src/Tools/mrcImage/mrcImageSN/Config/OptionControlFile +++ b/src/Tools/mrcImage/mrcImageSN/Config/OptionControlFile @@ -2,10 +2,13 @@ # FileFormat "-i","-i[nput]","InputList","Essential","1","1","In","inFileList","NULL" "-A","-A[verage]","Output: Average","Optional","1","1","Avg","outFile","NULL" +"-TrimmedA","-TrimmedA[verage]","Output: TrimmedAverage","Optional","1","1","TrimmedAvg","outFile","NULL" +"-M","-M[edian]","Output: Median","Optional","1","1","Median","outFile","NULL" "-SN","-SN","Output: SN:=Average/SD","Optional","1","1","SN","outFile","NULL" "-t","-t","Output: t=:Average/SD/sqrt(n-2)","Optional","1","1","t","outFile","NULL" "-SE","-SE","Output: Standard Error","Optional","1","1","SE","outFile","NULL" "-SD","-SD","Output: Standard Deviation","Optional","1","1","SD","outFile","NULL" "-Var","-Var","Output: Variance","Optional","1","1","Var","outFile","NULL" +"-Trimmed","-Trimmed","TrimmedRange::Real","Optional","1","1","TrimmedRange","Real","0.1" "-c","-c[onfigFile]","ConfigurationFile","Optional","1","1","configFile","inFile","NULL" "-m","-m[ode]","Mode","Optional","1","1","mode","Integer","0" diff --git a/src/Tools/mrcImage/mrcImageSN/inc/mrcImageSN.h b/src/Tools/mrcImage/mrcImageSN/inc/mrcImageSN.h index 635d9202fb..6273c3d0a9 100755 --- a/src/Tools/mrcImage/mrcImageSN/inc/mrcImageSN.h +++ b/src/Tools/mrcImage/mrcImageSN/inc/mrcImageSN.h @@ -23,6 +23,14 @@ typedef struct mrcImageSNInfo { char* Avg; FILE* fptAvg; + long flagTrimmedAvg; + char* TrimmedAvg; + FILE* fptTrimmedAvg; + + long flagMedian; + char* Median; + FILE* fptMedian; + long flagSN; char* SN; FILE* fptSN; @@ -43,6 +51,9 @@ typedef struct mrcImageSNInfo { char* Var; FILE* fptVar; + long flagTrimmedRange; + float TrimmedRange; + long flagconfigFile; char* configFile; FILE* fptconfigFile; diff --git a/src/Tools/mrcImage/mrcImageSN/src/argCheck.c b/src/Tools/mrcImage/mrcImageSN/src/argCheck.c index 0d679afec3..0d4736cee8 100755 --- a/src/Tools/mrcImage/mrcImageSN/src/argCheck.c +++ b/src/Tools/mrcImage/mrcImageSN/src/argCheck.c @@ -50,6 +50,28 @@ argCheck(mrcImageSNInfo* info, int argc, char* argv[]) } SBREAK; } + SCASE("TrimmedA") { + if(i+1TrimmedAvg = stringGetNthWord(argv[i+1], 1, " ,"); + i++; + info->flagTrimmedAvg++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } + SCASE("M") { + if(i+1Median = stringGetNthWord(argv[i+1], 1, " ,"); + i++; + info->flagMedian++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } SCASE("SN") { if(i+1SN = stringGetNthWord(argv[i+1], 1, " ,"); @@ -105,6 +127,17 @@ argCheck(mrcImageSNInfo* info, int argc, char* argv[]) } SBREAK; } + SCASE("Trimmed") { + if(i+1TrimmedRange = stringGetNthRealData(argv[i+1], 1, " ,"); + i++; + info->flagTrimmedRange++; + } else { + usage(argv[0]); + exit(EXIT_FAILURE); + } + SBREAK; + } SCASE("c") { if(i+1configFile = stringGetNthWord(argv[i+1], 1, " ,"); diff --git a/src/Tools/mrcImage/mrcImageSN/src/init.c b/src/Tools/mrcImage/mrcImageSN/src/init.c index 43a3b01054..186e0dd528 100755 --- a/src/Tools/mrcImage/mrcImageSN/src/init.c +++ b/src/Tools/mrcImage/mrcImageSN/src/init.c @@ -14,11 +14,14 @@ init0(mrcImageSNInfo* info) { info->fptIn = NULL; info->fptInList = NULL; info->flagIn = 0; info->fptAvg = NULL; info->flagAvg = 0; + info->fptTrimmedAvg = NULL; info->flagTrimmedAvg = 0; + info->fptMedian = NULL; info->flagMedian = 0; info->fptSN = NULL; info->flagSN = 0; info->fptt = NULL; info->flagt = 0; info->fptSE = NULL; info->flagSE = 0; info->fptSD = NULL; info->flagSD = 0; info->fptVar = NULL; info->flagVar = 0; + info->TrimmedRange = 0.1; info->flagTrimmedRange = 0; info->fptconfigFile = NULL; info->flagconfigFile = 0; info->mode = 0; info->flagmode = 0; } @@ -56,6 +59,14 @@ init1(mrcImageSNInfo* info) info->fptAvg = fileOpen(info->Avg, "w"); } + if(info->flagTrimmedAvg) { + info->fptTrimmedAvg = fileOpen(info->TrimmedAvg, "w"); + } + + if(info->flagMedian) { + info->fptMedian = fileOpen(info->Median, "w"); + } + if(info->flagSN) { info->fptSN = fileOpen(info->SN, "w"); } @@ -76,6 +87,9 @@ init1(mrcImageSNInfo* info) info->fptVar = fileOpen(info->Var, "w"); } + if(info->flagTrimmedRange) { + } + if(info->flagconfigFile) { info->fptconfigFile = fileOpen(info->configFile, "r"); } diff --git a/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.c b/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.c index b61adc9434..03d858bad3 100755 --- a/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.c +++ b/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.c @@ -38,6 +38,9 @@ main(int argc, char* argv[]) } linfo.numImage = info.flagIn; linfo.flagAvg = info.flagAvg; + linfo.flagTrimmedAvg = info.flagTrimmedAvg; + linfo.TrimmedRange = info.TrimmedRange; + linfo.flagMedian = info.flagMedian; linfo.flagSN = info.flagSN; linfo.flagt = info.flagt; linfo.flagSE = info.flagSE; @@ -49,6 +52,12 @@ main(int argc, char* argv[]) if(info.flagAvg) { mrcFileWrite(&(linfo.Avg), info.Avg, "in main", 0); } + if(info.flagTrimmedAvg) { + mrcFileWrite(&(linfo.TrimmedAvg), info.TrimmedAvg, "in main", 0); + } + if(info.flagMedian) { + mrcFileWrite(&(linfo.Median), info.Median, "in main", 0); + } if(info.flagSN) { mrcFileWrite(&(linfo.SN), info.SN, "in main", 0); } diff --git a/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.html b/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.html index 752f00075e..4ab39f769c 100755 --- a/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.html +++ b/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.html @@ -10,11 +10,14 @@ Usage: mrcImageSN Options: [-i[nput] In (NULL ).as(inFileList ) ] :Essential :InputList [-A[verage] Avg (NULL ).as(outFile ) ] :Optional :Output: Average + [-TrimmedA[verage] TrimmedAvg (NULL ).as(outFile ) ] :Optional :Output: TrimmedAverage + [-M[edian] Median (NULL ).as(outFile ) ] :Optional :Output: Median [-SN SN (NULL ).as(outFile ) ] :Optional :Output: SN:=Average/SD [-t t (NULL ).as(outFile ) ] :Optional :Output: t=:Average/SD/sqrt(n-2) [-SE SE (NULL ).as(outFile ) ] :Optional :Output: Standard Error [-SD SD (NULL ).as(outFile ) ] :Optional :Output: Standard Deviation [-Var Var (NULL ).as(outFile ) ] :Optional :Output: Variance + [-Trimmed TrimmedRange (0.1 ).as(Real ) ] :Optional :TrimmedRange::Real [-c[onfigFile] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode diff --git a/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.pane b/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.pane index e8cb3b3aee..12eaee4972 100755 --- a/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.pane +++ b/src/Tools/mrcImage/mrcImageSN/src/mrcImageSN.pane @@ -9,13 +9,16 @@ -Q 1 0 5.25x1+47+0 'Close' -I 1 0 1 1 0 1 -1x1+1+1.500000 ' ' 'In' 'InputList' i -O 1 0 1 0 0 1 -1x1+1+3.000000 ' ' 'Avg' 'Output: Average' A - -O 1 0 1 0 0 1 -1x1+1+4.500000 ' ' 'SN' 'Output: SN:=Average/SD' SN - -O 1 0 1 0 0 1 -1x1+1+6.000000 ' ' 't' 'Output: t=:Average/SD/sqrt(n-2)' t - -O 1 0 1 0 0 1 -1x1+1+7.500000 ' ' 'SE' 'Output: Standard Error' SE - -O 1 0 1 0 0 1 -1x1+1+9.000000 ' ' 'SD' 'Output: Standard Deviation' SD - -O 1 0 1 0 0 1 -1x1+1+10.500000 ' ' 'Var' 'Output: Variance' Var - -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 + -O 1 0 1 0 0 1 -1x1+1+4.500000 ' ' 'TrimmedAvg' 'Output: TrimmedAverage' TrimmedA + -O 1 0 1 0 0 1 -1x1+1+6.000000 ' ' 'Median' 'Output: Median' M + -O 1 0 1 0 0 1 -1x1+1+7.500000 ' ' 'SN' 'Output: SN:=Average/SD' SN + -O 1 0 1 0 0 1 -1x1+1+9.000000 ' ' 't' 'Output: t=:Average/SD/sqrt(n-2)' t + -O 1 0 1 0 0 1 -1x1+1+10.500000 ' ' 'SE' 'Output: Standard Error' SE + -O 1 0 1 0 0 1 -1x1+1+12.000000 ' ' 'SD' 'Output: Standard Deviation' SD + -O 1 0 1 0 0 1 -1x1+1+13.500000 ' ' 'Var' 'Output: Variance' Var + -f 1 0 1 0 0 -1x1+1+15.000000 0 0 0.100000 0 0 0 'TrimmedRange' 'TrimmedRange::Real' Trimmed + -I 1 0 1 0 0 1 -1x1+1+16.500000 ' ' 'configFile' 'ConfigurationFile' c + -i 1 0 1 0 0 -1x1+1+18.000000 0 0 0 0 0 'mode' 'Mode' m -E -E -E diff --git a/src/Tools/mrcImage/mrcImageSN/src/test/Makefile b/src/Tools/mrcImage/mrcImageSN/src/test/Makefile new file mode 100755 index 0000000000..2b768a46b3 --- /dev/null +++ b/src/Tools/mrcImage/mrcImageSN/src/test/Makefile @@ -0,0 +1,17 @@ +include ../../Config/Define.inc +include ../../../Config/Define.inc +include ../../../../Config/Define.inc +include ../../../../../Config/Define.inc + +all: help exec + +help: + @echo "----- Help Message Check -----" + @../$(OSTYPE)/$(OBJECTNAME) -h + +exec: + @echo "----- Execution Check -----" + ../$(OSTYPE)/$(OBJECTNAME) -i data/test.in -A data/test.avg -M data/test.medain -TrimmedA data/test.trimedAvg -Trimmed 0.1 + @echo "----- Calc check -----" + +clean: diff --git a/src/Tools/mrcImage/mrcImageSN/src/test/data b/src/Tools/mrcImage/mrcImageSN/src/test/data new file mode 120000 index 0000000000..e34b869bff --- /dev/null +++ b/src/Tools/mrcImage/mrcImageSN/src/test/data @@ -0,0 +1 @@ +../../../../../..//data/mrcImageSN \ No newline at end of file diff --git a/src/Tools/mrcImage/mrcImageSN/src/usage.c b/src/Tools/mrcImage/mrcImageSN/src/usage.c index b163bde837..9d551057cb 100755 --- a/src/Tools/mrcImage/mrcImageSN/src/usage.c +++ b/src/Tools/mrcImage/mrcImageSN/src/usage.c @@ -9,11 +9,14 @@ usage(char* thisProgram) fprintf(stderr, "Options:\n"); fprintf(stderr, " [-i[nput] In (NULL ).as(inFileList ) ] :Essential :InputList\n"); fprintf(stderr, " [-A[verage] Avg (NULL ).as(outFile ) ] :Optional :Output: Average\n"); + fprintf(stderr, " [-TrimmedA[verage] TrimmedAvg (NULL ).as(outFile ) ] :Optional :Output: TrimmedAverage\n"); + fprintf(stderr, " [-M[edian] Median (NULL ).as(outFile ) ] :Optional :Output: Median\n"); fprintf(stderr, " [-SN SN (NULL ).as(outFile ) ] :Optional :Output: SN:=Average/SD\n"); fprintf(stderr, " [-t t (NULL ).as(outFile ) ] :Optional :Output: t=:Average/SD/sqrt(n-2)\n"); fprintf(stderr, " [-SE SE (NULL ).as(outFile ) ] :Optional :Output: Standard Error\n"); fprintf(stderr, " [-SD SD (NULL ).as(outFile ) ] :Optional :Output: Standard Deviation\n"); fprintf(stderr, " [-Var Var (NULL ).as(outFile ) ] :Optional :Output: Variance\n"); + fprintf(stderr, " [-Trimmed TrimmedRange (0.1 ).as(Real ) ] :Optional :TrimmedRange::Real\n"); fprintf(stderr, " [-c[onfigFile] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile\n"); fprintf(stderr, " [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode\n"); additionalUsage(); -- 2.11.0