• R/O
  • HTTP
  • SSH
  • HTTPS

base: Commit

This repository is a base of Eos.


Commit MetaInfo

Revisione3790010d929025baf9ad417493100dfc85eb59e (tree)
Time2014-09-29 19:35:58
AuthorTakuo Yasunaga <yasunaga@bio....>
CommiterTakuo Yasunaga

Log Message

Modifiy mrcImage3DPad: Filament/Sphere/Elliposiod/Rectangle
modified: include/lmrcImage3DPad.h
modified: src/Objects/DataManip/mrcImage/src/lmrcImage3DPad.c
modified: src/Objects/DataManip/mrcImage/src/lmrcImage3DPad.h
modified: src/Tools/mrcImage/mrcImage3DPad/src/mrcImage3DPad.c

Modify genUtil.h

Change Summary

Incremental Difference

Binary files a/hostdepend/X86MAC64/bin/X86MAC64/mrcImage3DPad and b/hostdepend/X86MAC64/bin/X86MAC64/mrcImage3DPad differ
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/libEosObjects.a and b/hostdepend/X86MAC64/lib/X86MAC64/libEosObjects.a differ
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/libmrcImage.a and b/hostdepend/X86MAC64/lib/X86MAC64/libmrcImage.a differ
Binary files a/hostdepend/X86MAC64/lib/X86MAC64/shared/lmrcImage3DPad.sharedo and b/hostdepend/X86MAC64/lib/X86MAC64/shared/lmrcImage3DPad.sharedo differ
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.a and b/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.a differ
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.debug.a and b/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/libmrcImage.debug.a differ
Binary files a/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/lmrcImage3DPad.sharedo and b/hostdepend/X86MAC64/src/Objects/DataManip/mrcImage/src/X86MAC64/lmrcImage3DPad.sharedo differ
--- a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImage3DPad/src/X86MAC64/.Depend
+++ b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImage3DPad/src/X86MAC64/.Depend
@@ -18,7 +18,7 @@ argCheck.o: argCheck.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
1818 /usr/include/sys/_types/_pthread_attr_t.h \
1919 /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
2020 /usr/include/sys/resource.h \
21- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
21+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
2222 /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
2323 /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
2424 /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
@@ -36,7 +36,7 @@ argCheck.o: argCheck.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
3636 /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
3737 ../inc/../inc/mrcImage3DPad.h /Users/tacyas/Eos/include/genUtil.h \
3838 /Users/tacyas/Eos/include/File.h /Users/tacyas/Eos/include/Memory.h \
39- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
39+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/limits.h \
4040 /usr/include/limits.h /usr/include/machine/limits.h \
4141 /usr/include/i386/limits.h /usr/include/i386/_limits.h \
4242 /usr/include/sys/syslimits.h
@@ -60,7 +60,7 @@ init.o: init.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
6060 /usr/include/sys/_types/_pthread_attr_t.h \
6161 /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
6262 /usr/include/sys/resource.h \
63- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
63+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
6464 /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
6565 /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
6666 /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
@@ -78,7 +78,7 @@ init.o: init.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
7878 /Users/tacyas/Eos/include/string.h /usr/include/math.h ../inc/config.h \
7979 ../inc/../inc/mrcImage3DPad.h /Users/tacyas/Eos/include/genUtil.h \
8080 /Users/tacyas/Eos/include/File.h /Users/tacyas/Eos/include/Memory.h \
81- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/limits.h \
81+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/limits.h \
8282 /usr/include/limits.h /usr/include/machine/limits.h \
8383 /usr/include/i386/limits.h /usr/include/i386/_limits.h \
8484 /usr/include/sys/syslimits.h
@@ -102,7 +102,7 @@ mrcImage3DPad.o: mrcImage3DPad.c /usr/include/stdio.h \
102102 /usr/include/sys/_types/_pthread_attr_t.h \
103103 /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
104104 /usr/include/sys/resource.h \
105- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
105+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
106106 /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
107107 /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
108108 /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
@@ -144,7 +144,7 @@ usage.o: usage.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
144144 /usr/include/sys/_types/_pthread_attr_t.h \
145145 /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
146146 /usr/include/sys/resource.h \
147- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
147+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
148148 /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
149149 /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
150150 /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
@@ -180,7 +180,7 @@ util.o: util.c /usr/include/stdio.h /usr/include/sys/cdefs.h \
180180 /usr/include/sys/_types/_pthread_attr_t.h \
181181 /usr/include/sys/_types/_sigset_t.h /usr/include/sys/_types/_uid_t.h \
182182 /usr/include/sys/resource.h \
183- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include/stdint.h \
183+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include/stdint.h \
184184 /usr/include/stdint.h /usr/include/sys/_types/_int8_t.h \
185185 /usr/include/sys/_types/_int16_t.h /usr/include/sys/_types/_int32_t.h \
186186 /usr/include/sys/_types/_int64_t.h /usr/include/_types/_uint8_t.h \
Binary files a/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImage3DPad/src/X86MAC64/mrcImage3DPad and b/hostdepend/X86MAC64/src/Tools/mrcImage/mrcImage3DPad/src/X86MAC64/mrcImage3DPad differ
--- a/include/genUtil.h
+++ b/include/genUtil.h
@@ -69,7 +69,7 @@
6969 #define SBREAK ;
7070 #define SSWITCHEND }
7171 #define IsOdd(x) ((x)%2==1?1:0)
72-#define IsEven(x) ((x)%2==0?1:0)
72+#define IsEven(x) ((x)%2==0?1:0)
7373
7474 #ifdef M68
7575 #define BYTE4SET(x3,x2,x1,x0) ((((x0)<< 0)&0x000f) \
--- a/include/lmrcImage3DPad.h
+++ b/include/lmrcImage3DPad.h
@@ -23,6 +23,13 @@
2323
2424 /* constant begin */
2525
26+typedef enum lmrcImage3DPadShapeMode {
27+ lmrcImage3DPadShapeModeFilament=0,
28+ lmrcImage3DPadShapeModeSphere=1,
29+ lmrcImage3DPadShapeModeEllipsoid=2,
30+ lmrcImage3DPadShapeModeRectangle=3
31+} lmrcImage3DPadShapeMode;
32+
2633 /* constant end */
2734
2835 /* struct begin */
@@ -37,9 +44,27 @@ typedef struct lmrcImage3DPadInfo {
3744 int flagv;
3845 double v;
3946
47+ lmrcImage3DPadShapeMode ShapeMode;
48+
49+ int flagShell;
50+ float shell; // rmax*shell [pixel]
51+
52+ // Filament-type: z-infinity
53+ // or
54+ // Ideal Sphere
4055 int flagr;
4156 float rmax;
4257
58+ // Ellipsoid
59+ float rxmax;
60+ float rymax;
61+ float rzmax;
62+
63+ // Rectangle
64+ float xmax;
65+ float ymax;
66+ float zmax;
67+
4368 int flagFloating;
4469 } lmrcImage3DPadInfo;
4570
@@ -51,10 +76,25 @@ extern "C" {
5176
5277 /* prototype begin */
5378
54-void lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, int mode );
55-double lmrcImage3DPadfilamentCalcavr(mrcImage* in ,double rmax);
56-double lmrcImage3DPadCalcavr(mrcImage* in ,double rmax);
57-void lmrcImage3DPad(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
79+/* General */
80+void lmrcImage3DPadUsage(FILE* fpt);
81+void lmrcImage3DPad(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, int mode );
82+
83+/* FilamentType: no pad: z-axis*/
84+void lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in, lmrcImage3DPadInfo linfo, int mode );
85+double lmrcImage3DPadfilamentCalcavr(mrcImage* in, double rmax, double delr);
86+
87+/* Single Particle Type: Sphere-type */
88+double lmrcImage3DPadSphereCalcavr(mrcImage* in, double rmax, double delr);
89+void lmrcImage3DPadSphere(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
90+
91+/* Single Particle Type: -type */
92+double lmrcImage3DPadEllipsoidCalcavr(mrcImage* in, double rxmax, double rymax, double rzmax, double delx, double dely, double delz);
93+void lmrcImage3DPadEllipsoid(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
94+
95+/* Rectangle-type */
96+double lmrcImage3DPadRectangleCalcavr(mrcImage* in, double xmax, double ymax, double zmax, double delx, double dely, double delz);
97+void lmrcImage3DPadRectangle(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
5898
5999 /* prototype end */
60100
--- a/src/Objects/DataManip/mrcImage/src/lmrcImage3DPad.c
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImage3DPad.c
@@ -13,6 +13,38 @@ static char __sccs_id[] = "%Z%lmrcImage3DPad ver%I%; Date:%D% %Z%";
1313
1414 #include "./lmrcImage3DPad.h"
1515
16+void
17+lmrcImage3DPadUsage(FILE* fpt)
18+{
19+ fprintf(fpt, "%d: Filament-type(cylinder)\n", lmrcImage3DPadShapeModeFilament);
20+ fprintf(fpt, "%d: SingleParticle-type(sphere)\n", lmrcImage3DPadShapeModeSphere);
21+ fprintf(fpt, "%d: SigplePartilce-type(ellipsoid)\n", lmrcImage3DPadShapeModeEllipsoid);
22+ fprintf(fpt, "%d: Rectangle\n", lmrcImage3DPadShapeModeRectangle);
23+}
24+
25+void
26+lmrcImage3DPad(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode)
27+{
28+ switch(linfo.ShapeMode) {
29+ case lmrcImage3DPadShapeModeFilament: {
30+ lmrcImage3DPadfilament(out, in, linfo, mode);
31+ break;
32+ }
33+ case lmrcImage3DPadShapeModeSphere: {
34+ lmrcImage3DPadSphere(out, in, linfo, mode);
35+ break;
36+ }
37+ case lmrcImage3DPadShapeModeEllipsoid: {
38+ lmrcImage3DPadEllipsoid(out, in, linfo, mode);
39+ break;
40+ }
41+ case lmrcImage3DPadShapeModeRectangle: {
42+ lmrcImage3DPadRectangle(out, in, linfo, mode);
43+ break;
44+ }
45+ }
46+}
47+
1648 void
1749 lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, int mode)
1850 {
@@ -20,9 +52,10 @@ lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, i
2052 int x,y,z;
2153 double data,cx,cy,sx,sy,r2,av,c,dr2,averager;
2254 double offset;
55+ double delr;
2356
2457 /* begin */
25- out->Header = in->Header;
58+ out->Header = in->Header;
2659 out->HeaderN.x = linfo.Nx;
2760 out->HeaderN.y = linfo.Ny;
2861 out->HeaderN.z = linfo.Nz;
@@ -34,13 +67,26 @@ lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, i
3467 DEBUGPRINT1("TailerNum %d in Out\n", out->numTailer);
3568 }
3669
70+ // Centre
3771 cx=(in->HeaderN.x-1)*0.5;
3872 cy=(in->HeaderN.y-1)*0.5;
73+
74+ // Offset
3975 sx=(out->HeaderN.x-in->HeaderN.x)*0.5;
4076 sy=(out->HeaderN.y-in->HeaderN.y)*0.5;
77+
78+ // Radius^2
4179 r2=SQR(linfo.rmax);
80+
81+ //
82+ if(linfo.flagShell) {
83+ delr = linfo.shell*linfo.rmax;
84+ } else {
85+ delr = 1;
86+ }
87+
4288 switch(mode){
43- case 0:
89+ case 0: // Ideal-win
4490 if (!linfo.flagv){
4591 if (linfo.rmax > (in->HeaderN.x - 1)/2.0 || linfo.rmax > (in->HeaderN.y - 1)/2.0){
4692 averager = MIN((in->HeaderN.x - 1)/2.0, (in->HeaderN.y - 1)/2.0 );
@@ -48,7 +94,7 @@ lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, i
4894 averager = linfo.rmax;
4995 }
5096 DEBUGPRINT1("r: %g \n",averager);
51- av=lmrcImage3DPadfilamentCalcavr(in ,averager);
97+ av=lmrcImage3DPadfilamentCalcavr(in, averager, delr);
5298 } else {
5399 av=linfo.v;
54100 }
@@ -65,6 +111,7 @@ lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, i
65111 }
66112 }
67113 }
114+
68115 for (z=0;z<in->HeaderN.z;z++){
69116 for (y=0;y<in->HeaderN.y;y++){
70117 for (x=0;x<in->HeaderN.x;x++){
@@ -72,19 +119,18 @@ lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, i
72119 if(linfo.flagr) {
73120 dr2=SQR(x-cx)+SQR(y-cy);
74121 if (dr2<=r2) {
75- mrcPixelDataSet(out ,x+sx ,y+sy ,z ,data-offset, mrcPixelRePart);
122+ mrcPixelDataSet(out, x+sx, y+sy, z, data-offset, mrcPixelRePart);
76123 }
77124 } else {
78- mrcPixelDataSet(out ,x+sx ,y+sy ,z ,data-offset, mrcPixelRePart);
79- }
125+ mrcPixelDataSet(out, x+sx, y+sy, z, data-offset, mrcPixelRePart);
126+ }
80127 }
81128 }
82129 }
83130 break;
84- case 1:
85- case 2:
131+ case 1: // Smooth Connection by cosine-win
86132 if (!linfo.flagv){
87- av = lmrcImage3DPadfilamentCalcavr(in, linfo.rmax+linfo.w);
133+ av = lmrcImage3DPadfilamentCalcavr(in, linfo.rmax+linfo.w, delr);
88134 DEBUGPRINT1("r: %g \n",averager);
89135 fprintf(stdout,"av: %g \n",av);
90136 } else {
@@ -101,16 +147,16 @@ lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, i
101147 mrcPixelDataGet(in ,x ,y ,z ,&data, mrcPixelRePart, mrcPixelHowNearest);
102148 if (linfo.flagr){
103149 dr2=SQR(x-cx)+SQR(y-cy);
104- if (dr2 < SQR(linfo.rmax-linfo.w) ){
105- mrcPixelDataSet(out ,x+sx ,y+sy ,z ,data - offset , mrcPixelRePart);
106- } else if (SQR(linfo.rmax+linfo.w)<dr2 ){
107- mrcPixelDataSet(out ,x+sx ,y+sy ,z ,av - offset , mrcPixelRePart);
150+ if (dr2 < SQR(linfo.rmax-linfo.w) ) {
151+ mrcPixelDataSet(out, x+sx, y+sy, z, data - offset, mrcPixelRePart);
152+ } else if (SQR(linfo.rmax+linfo.w) < dr2 ){
153+ mrcPixelDataSet(out, x+sx, y+sy, z, av - offset, mrcPixelRePart);
108154 } else {
109155 c= (sin( ( linfo.rmax-sqrt(dr2)) / linfo.w *PI/2 )+1 ) /2;
110- mrcPixelDataSet(out ,x+sx ,y+sy ,z ,(data-av)*c+av-offset, mrcPixelRePart);
156+ mrcPixelDataSet(out, x+sx, y+sy, z, (data-av)*c+av-offset, mrcPixelRePart);
111157 }
112158 } else {
113- mrcPixelDataSet(out ,x+sx ,y+sy ,z ,av-offset, mrcPixelRePart);
159+ mrcPixelDataSet(out, x+sx, y+sy, z, av-offset, mrcPixelRePart);
114160 }
115161 }
116162 }
@@ -119,7 +165,7 @@ lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, i
119165 mrcStatDataSet(out ,0);
120166 }
121167
122-double lmrcImage3DPadfilamentCalcavr(mrcImage* in ,double rmax)
168+double lmrcImage3DPadfilamentCalcavr(mrcImage* in, double rmax, double delr)
123169 {
124170 /* variables */
125171 int x,y,z,n;
@@ -128,14 +174,16 @@ double lmrcImage3DPadfilamentCalcavr(mrcImage* in ,double rmax)
128174 /* begin */
129175 n=0;
130176 sum=0;
177+ // Centre
131178 cx=(in->HeaderN.x-1)*0.5;
132179 cy=(in->HeaderN.y-1)*0.5;
180+
133181 for (y=0;y<in->HeaderN.y;y++){
134182 for (x=0;x<in->HeaderN.x;x++){
135183 r2=SQR(x-cx)+SQR(y-cy);
136- if (SQR(rmax) <= r2 && r2<SQR(rmax+1)){
184+ if (SQR(rmax) <= r2 && r2<SQR(rmax+delr)){
137185 for (z=0 ;z<in->HeaderN.z;z++){
138- mrcPixelDataGet(in ,x ,y ,z ,&data, mrcPixelRePart, mrcPixelHowNearest);
186+ mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
139187 sum+=data;
140188 n++;
141189 }
@@ -147,21 +195,21 @@ double lmrcImage3DPadfilamentCalcavr(mrcImage* in ,double rmax)
147195 }
148196
149197
150-void lmrcImage3DPad(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode)
198+void
199+lmrcImage3DPadSphere(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode)
151200 {
152-
153201 /* variables */
154202 int x,y,z;
155203 double data,cx,cy,cz,sx,sy,sz,r2,av,c,dr2;
156204 double dstx, dsty, dstz;
157205 double offset;
158206 double rmax, rmin, ww, rmax2, rmin2;
207+ double delr;
159208
160209 out->Header = in->Header;
161210 out->HeaderN.x = linfo.Nx;
162211 out->HeaderN.y = linfo.Ny;
163212 out->HeaderN.z = linfo.Nz;
164- mrcInit(out,NULL);
165213 if(0<in->numTailer) {
166214 out->numTailer = in->numTailer;
167215 out->Tailer = in->Tailer;
@@ -179,18 +227,28 @@ void lmrcImage3DPad(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int m
179227 rmax2 = SQR(rmax);
180228 rmin = linfo.rmax-linfo.w;
181229 rmin2 = SQR(rmin);
230+
231+
232+ //
233+ if(linfo.flagShell) {
234+ delr = linfo.shell*rmax;
235+ } else {
236+ delr = 1;
237+ }
238+
239+ if (!linfo.flagv){
240+ av=lmrcImage3DPadSphereCalcavr(in, linfo.rmax, delr);
241+ } else {
242+ av=linfo.v;
243+ }
244+ if(linfo.flagFloating) {
245+ offset = av;
246+ } else {
247+ offset = 0;
248+ }
249+
182250 switch(mode){
183251 case 0:
184- if (!linfo.flagv){
185- av=lmrcImage3DPadCalcavr(in, linfo.rmax);
186- } else {
187- av=linfo.v;
188- }
189- if(linfo.flagFloating) {
190- offset = av;
191- } else {
192- offset = 0;
193- }
194252 for (z=0;z<out->HeaderN.z;z++){
195253 for (y=0;y<out->HeaderN.y;y++){
196254 for (x=0;x<out->HeaderN.x;x++){
@@ -201,31 +259,20 @@ void lmrcImage3DPad(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int m
201259 for (z=0;z<in->HeaderN.z;z++){
202260 for (y=0;y<in->HeaderN.y;y++){
203261 for (x=0;x<in->HeaderN.x;x++){
204- mrcPixelDataGet(in ,x ,y ,z ,&data, mrcPixelRePart, mrcPixelHowNearest);
262+ mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
205263 if (linfo.flagr){
206264 dr2=SQR(x-cx)+SQR(y-cy)+SQR(z-cz);
207- if (r2>=dr2 ){
208- mrcPixelDataSet(out ,x+sx ,y+sy ,z+sz ,data-offset, mrcPixelRePart);
265+ if (dr2<=r2) {
266+ mrcPixelDataSet(out, x+sx, y+sy, z+sz, data-offset, mrcPixelRePart);
209267 }
210- } else {
211- mrcPixelDataSet(out ,x+sx ,y+sy ,z+sz ,data-offset, mrcPixelRePart);
268+ } else {
269+ mrcPixelDataSet(out, x+sx, y+sy, z+sz, data-offset, mrcPixelRePart);
212270 }
213271 }
214272 }
215273 }
216274 break;
217275 case 1:
218- case 2:
219- if (!linfo.flagv) {
220- av=lmrcImage3DPadCalcavr(in ,linfo.rmax+linfo.w);
221- } else {
222- av=linfo.v;
223- }
224- if(linfo.flagFloating) {
225- offset = av;
226- } else {
227- offset = 0;
228- }
229276 fprintf(stdout,"av :%g\n",av);
230277 for (z=0;z<in->HeaderN.z;z++){
231278 for (y=0;y<in->HeaderN.y;y++){
@@ -259,7 +306,7 @@ void lmrcImage3DPad(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int m
259306 }
260307
261308 double
262-lmrcImage3DPadCalcavr(mrcImage* in ,double rmax)
309+lmrcImage3DPadSphereCalcavr(mrcImage* in, double rmax, double delr)
263310 {
264311 /* variables */
265312 int x,y,z,n;
@@ -271,11 +318,12 @@ lmrcImage3DPadCalcavr(mrcImage* in ,double rmax)
271318 cx=(in->HeaderN.x-1)*0.5;
272319 cy=(in->HeaderN.y-1)*0.5;
273320 cz=(in->HeaderN.z-1)*0.5;
321+
274322 for (z=0;z<in->HeaderN.z;z++){
275323 for (y=0;y<in->HeaderN.y;y++){
276324 for (x=0;x<in->HeaderN.x;x++){
277325 r2=SQR(x-cx)+SQR(y-cy)+SQR(z-cz);
278- if (SQR(rmax) <= r2 && r2<SQR(rmax+1)) {
326+ if (SQR(rmax) <= r2 && r2<SQR(rmax+delr)) {
279327 mrcPixelDataGet(in ,x ,y ,z ,&data, mrcPixelRePart, mrcPixelHowNearest);
280328 sum+=data;
281329 n++;
@@ -291,3 +339,335 @@ lmrcImage3DPadCalcavr(mrcImage* in ,double rmax)
291339 }
292340 return(av);
293341 }
342+
343+void
344+lmrcImage3DPadEllipsoid(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode)
345+{
346+ /* variables */
347+ int x,y,z;
348+ double data,cx,cy,cz,sx,sy,sz,r2,av,c,dr2;
349+ double dstx, dsty, dstz;
350+ double offset;
351+ double rmax, rmin, ww, rmax2, rmin2;
352+ double delxmax, delymax, delzmax;
353+
354+ out->Header = in->Header;
355+ out->HeaderN.x = linfo.Nx;
356+ out->HeaderN.y = linfo.Ny;
357+ out->HeaderN.z = linfo.Nz;
358+ mrcInit(out,NULL);
359+ if(0<in->numTailer) {
360+ out->numTailer = in->numTailer;
361+ out->Tailer = in->Tailer;
362+ }
363+ DEBUGPRINT3("%d %d %d\n", out->HeaderN.x, out->HeaderN.y, out->HeaderN.z);
364+ cx=(in->HeaderN.x-1)*0.5;
365+ cy=(in->HeaderN.y-1)*0.5;
366+ cz=(in->HeaderN.z-1)*0.5;
367+ sx=(out->HeaderN.x-in->HeaderN.x)*0.5;
368+ sy=(out->HeaderN.y-in->HeaderN.y)*0.5;
369+ sz=(out->HeaderN.z-in->HeaderN.z)*0.5;
370+ r2=SQR(linfo.rmax);
371+ ww = linfo.w*2;
372+ rmax = linfo.rmax+linfo.w;
373+ rmax2 = SQR(rmax);
374+ rmin = linfo.rmax-linfo.w;
375+ rmin2 = SQR(rmin);
376+
377+ //
378+ if(linfo.flagShell) {
379+ delxmax = linfo.shell;
380+ delymax = linfo.shell;
381+ delzmax = linfo.shell;
382+ } else {
383+ delxmax = 1.0/linfo.rxmax;
384+ delymax = 1.0/linfo.rymax;
385+ delzmax = 1.0/linfo.rzmax;
386+ }
387+
388+ if (!linfo.flagv){
389+ av=lmrcImage3DPadEllipsoidCalcavr(in, linfo.rxmax, linfo.rymax, linfo.rzmax, delxmax, delymax, delzmax);
390+ } else {
391+ av=linfo.v;
392+ }
393+ if(linfo.flagFloating) {
394+ offset = av;
395+ } else {
396+ offset = 0;
397+ }
398+ switch(mode){
399+ case 0:
400+ data = av - offset;
401+ for (z=0;z<out->HeaderN.z;z++){
402+ for (y=0;y<out->HeaderN.y;y++){
403+ for (x=0;x<out->HeaderN.x;x++){
404+ mrcPixelDataSet(out, x, y, z, data, mrcPixelRePart);
405+ }
406+ }
407+ }
408+ for (z=0;z<in->HeaderN.z;z++){
409+ for (y=0;y<in->HeaderN.y;y++){
410+ for (x=0;x<in->HeaderN.x;x++){
411+ mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
412+ if (linfo.flagr){
413+ dr2=SQR(x-cx)+SQR(y-cy)+SQR(z-cz);
414+ if (r2>=dr2 ){
415+ mrcPixelDataSet(out, x+sx, y+sy, z+sz, data-offset, mrcPixelRePart);
416+ }
417+ } else {
418+ mrcPixelDataSet(out, x+sx, y+sy, z+sz , data-offset, mrcPixelRePart);
419+ }
420+ }
421+ }
422+ }
423+ break;
424+ case 1:
425+ fprintf(stdout,"av :%g\n",av);
426+ for (z=0;z<in->HeaderN.z;z++){
427+ for (y=0;y<in->HeaderN.y;y++){
428+ for (x=0;x<in->HeaderN.x;x++){
429+ dstx = x + sx;
430+ dsty = y + sy;
431+ dstz = z + sz;
432+ if(-0.5<=dstx && dstx<out->HeaderN.x-0.5
433+ &&-0.5<=dsty && dsty<out->HeaderN.y-0.5
434+ &&-0.5<=dstz && dstz<out->HeaderN.z-0.5) {
435+ mrcPixelDataGet(in ,x ,y ,z ,&data, mrcPixelRePart, mrcPixelHowNearest);
436+ if (linfo.flagr) {
437+ dr2=SQR(x-cx)+SQR(y-cy)+SQR(z-cz);
438+ if (dr2<rmin2) {
439+ mrcPixelDataSet(out ,dstx, dsty, dstz, data-offset, mrcPixelRePart);
440+ } else if (rmax2<dr2) {
441+ mrcPixelDataSet(out ,dstx, dsty, dstz, av-offset, mrcPixelRePart);
442+ } else {
443+ c= (cos((sqrt(dr2) - rmin)/ww*PI ) + 1 )/2;
444+ mrcPixelDataSet(out, dstx, dsty, dstz, (data-av)*c+av-offset , mrcPixelRePart);
445+ }
446+ } else {
447+ mrcPixelDataSet(out ,x+sx ,y+sy ,z+sz ,av-offset, mrcPixelRePart);
448+ }
449+ }
450+ }
451+ }
452+ }
453+ break;
454+ }
455+ mrcStatDataSet(out ,0);
456+}
457+
458+double
459+lmrcImage3DPadEllipsoidCalcavr(mrcImage* in ,double rxmax, double rymax, double rzmax, double delxmax, double delymax, double delzmax)
460+{
461+ /* variables */
462+ int x,y,z,n;
463+ double cx,cy,cz,r2,r2max, sum,data,av;
464+
465+ /* begin */
466+ n=0;
467+ sum=0;
468+ // Centre
469+ cx=(in->HeaderN.x-1)*0.5;
470+ cy=(in->HeaderN.y-1)*0.5;
471+ cz=(in->HeaderN.z-1)*0.5;
472+
473+ for (z=0;z<in->HeaderN.z;z++){
474+ for (y=0;y<in->HeaderN.y;y++){
475+ for (x=0;x<in->HeaderN.x;x++){
476+ r2 =SQR((x-cx)/rxmax)+SQR((y-cy)/rymax)+SQR((z-cz)/rzmax);
477+ r2max=SQR((x-cx)/(rxmax*(1+delxmax)))+SQR((y-cy)/(rymax*(1+delymax)))+SQR((z-cz)/(rzmax*(1+delzmax)));
478+ if (1 <= r2 && r2max <=1) {
479+ mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
480+ sum+=data;
481+ n++;
482+ }
483+ }
484+ }
485+ }
486+ if(0<n) {
487+ av=sum/n;
488+ } else {
489+ fprintf(stderr, "rmax is too large in lmrcImage3DPadCalcavr: %f %f %f\n", rxmax, rymax, rzmax);
490+ av = 0;
491+ }
492+ return(av);
493+}
494+
495+
496+void
497+lmrcImage3DPadRectangle(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode)
498+{
499+ /* variables */
500+ int x,y,z;
501+ double data,cx,cy,cz,sx,sy,sz,r2,av,c,dr2;
502+ double dstx, dsty, dstz;
503+ double offset;
504+ double rmax, rmin, ww, rmax2, rmin2;
505+ double delxmax, delymax, delzmax;
506+ double wx, wy, wz;
507+ double dwx, dwy, dwz;
508+
509+ out->Header = in->Header;
510+ out->HeaderN.x = linfo.Nx;
511+ out->HeaderN.y = linfo.Ny;
512+ out->HeaderN.z = linfo.Nz;
513+ mrcInit(out,NULL);
514+ if(0<in->numTailer) {
515+ out->numTailer = in->numTailer;
516+ out->Tailer = in->Tailer;
517+ }
518+ DEBUGPRINT3("%d %d %d\n", out->HeaderN.x, out->HeaderN.y, out->HeaderN.z);
519+ cx=(in->HeaderN.x-1)*0.5;
520+ cy=(in->HeaderN.y-1)*0.5;
521+ cz=(in->HeaderN.z-1)*0.5;
522+ sx=(out->HeaderN.x-in->HeaderN.x)*0.5;
523+ sy=(out->HeaderN.y-in->HeaderN.y)*0.5;
524+ sz=(out->HeaderN.z-in->HeaderN.z)*0.5;
525+ r2=SQR(linfo.rmax);
526+ ww = linfo.w*2;
527+ rmax = linfo.rmax+linfo.w;
528+ rmax2 = SQR(rmax);
529+ rmin = linfo.rmax-linfo.w;
530+ rmin2 = SQR(rmin);
531+
532+ //
533+ if(linfo.flagShell) {
534+ delxmax = linfo.shell;
535+ delymax = linfo.shell;
536+ delzmax = linfo.shell;
537+ } else {
538+ delxmax = 1.0/linfo.xmax;
539+ delymax = 1.0/linfo.ymax;
540+ delzmax = 1.0/linfo.zmax;
541+ }
542+
543+ if (!linfo.flagv){
544+ av=lmrcImage3DPadRectangleCalcavr(in, linfo.xmax, linfo.ymax, linfo.zmax, delxmax, delymax, delzmax);
545+ } else {
546+ av=linfo.v;
547+ }
548+ if(linfo.flagFloating) {
549+ offset = av;
550+ } else {
551+ offset = 0;
552+ }
553+ switch(mode){
554+ case 0:
555+ data = av - offset;
556+ for (z=0;z<out->HeaderN.z;z++){
557+ for (y=0;y<out->HeaderN.y;y++){
558+ for (x=0;x<out->HeaderN.x;x++){
559+ mrcPixelDataSet(out, x, y, z, data, mrcPixelRePart);
560+ }
561+ }
562+ }
563+ for (z=0;z<in->HeaderN.z;z++){
564+ wz = fabs(z-cz)*2.0;
565+ for (y=0;y<in->HeaderN.y;y++){
566+ wy = fabs(y-cy)*2.0;
567+ for (x=0;x<in->HeaderN.x;x++){
568+ wx = fabs(x-cx)*2.0;
569+
570+ mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
571+ if (linfo.flagr) {
572+ if((wx<linfo.xmax)
573+ ||(wy<linfo.ymax)
574+ ||(wz<linfo.zmax)) {
575+ mrcPixelDataSet(out, x+sx, y+sy, z+sz, data-offset, mrcPixelRePart);
576+ }
577+ } else {
578+ mrcPixelDataSet(out, x+sx, y+sy, z+sz , data-offset, mrcPixelRePart);
579+ }
580+ }
581+ }
582+ }
583+ break;
584+ case 1:
585+ fprintf(stdout,"av :%g\n",av);
586+ for (z=0;z<in->HeaderN.z;z++){
587+ wz = fabs(z-cz)*2.0;
588+ for (y=0;y<in->HeaderN.y;y++){
589+ wy = fabs(y-cy)*2.0;
590+ for (x=0;x<in->HeaderN.x;x++){
591+ wx = fabs(x-cx)*2.0;
592+ dstx = x + sx;
593+ dsty = y + sy;
594+ dstz = z + sz;
595+ if(-0.5<=dstx && dstx<out->HeaderN.x-0.5
596+ &&-0.5<=dsty && dsty<out->HeaderN.y-0.5
597+ &&-0.5<=dstz && dstz<out->HeaderN.z-0.5) {
598+ mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
599+ if (linfo.flagr) {
600+ if((wx<linfo.xmax*(1-linfo.shell))
601+ ||(wy<linfo.ymax*(1-linfo.shell))
602+ ||(wz<linfo.zmax*(1-linfo.shell))){
603+ mrcPixelDataSet(out, x+sx, y+sy, z+sz, data-offset, mrcPixelRePart);
604+ } else if(linfo.xmax*(1+linfo.shell)<wx
605+ ||linfo.ymax*(1+linfo.shell)<wy
606+ ||linfo.zmax*(1+linfo.shell)<wz) {
607+ mrcPixelDataSet(out ,dstx, dsty, dstz, av-offset, mrcPixelRePart);
608+ } else {
609+ c = (cos((wx-linfo.xmax*(1-linfo.shell))/(2*linfo.shell)*M_PI)+1)/2.0
610+ *(cos((wy-linfo.ymax*(1-linfo.shell))/(2*linfo.shell)*M_PI)+1)/2.0
611+ *(cos((wz-linfo.zmax*(1-linfo.shell))/(2*linfo.shell)*M_PI)+1)/2.0;
612+ mrcPixelDataSet(out, dstx, dsty, dstz, (data-av)*c+av-offset , mrcPixelRePart);
613+ }
614+ } else {
615+ mrcPixelDataSet(out ,x+sx ,y+sy ,z+sz ,av-offset, mrcPixelRePart);
616+ }
617+ }
618+ }
619+ }
620+ }
621+ break;
622+ }
623+ mrcStatDataSet(out ,0);
624+}
625+
626+double
627+lmrcImage3DPadRectangleCalcavr(mrcImage* in ,double xmax, double ymax, double zmax, double delxmax, double delymax, double delzmax)
628+{
629+ /* variables */
630+ int x,y,z,n;
631+ double cx,cy,cz,r2,r2max, sum,data,av;
632+ double wx, wy, wz;
633+ double dwx, dwy, dwz;
634+
635+ /* begin */
636+ n=0;
637+ sum=0;
638+ // Centre
639+ cx=(in->HeaderN.x-1)*0.5;
640+ cy=(in->HeaderN.y-1)*0.5;
641+ cz=(in->HeaderN.z-1)*0.5;
642+
643+ dwx = xmax*(1+delxmax);
644+ dwy = ymax*(1+delymax);
645+ dwz = zmax*(1+delzmax);
646+
647+ for (z=0;z<in->HeaderN.z;z++){
648+ wz = fabs(z-cz)*2.0;
649+ for (y=0;y<in->HeaderN.y;y++){
650+ wy = fabs(y-cy)*2.0;
651+ for (x=0;x<in->HeaderN.x;x++){
652+ wx = fabs(x-cx)*2.0;
653+
654+ if((xmax<wx && wx<xmax+dwx)
655+ ||(ymax<wy && wy<ymax+dwy)
656+ ||(zmax<wz && wz<zmax+dwz)) {
657+ mrcPixelDataGet(in, x, y, z, &data, mrcPixelRePart, mrcPixelHowNearest);
658+ sum+=data;
659+ n++;
660+ }
661+ }
662+ }
663+ }
664+ if(0<n) {
665+ av=sum/n;
666+ } else {
667+ fprintf(stderr, "rmax is too large in lmrcImage3DPadCalcavr: %f %f %f\n", xmax, ymax, zmax);
668+ av = 0;
669+ }
670+ return(av);
671+}
672+
673+
--- a/src/Objects/DataManip/mrcImage/src/lmrcImage3DPad.h
+++ b/src/Objects/DataManip/mrcImage/src/lmrcImage3DPad.h
@@ -23,6 +23,13 @@
2323
2424 /* constant begin */
2525
26+typedef enum lmrcImage3DPadShapeMode {
27+ lmrcImage3DPadShapeModeFilament=0,
28+ lmrcImage3DPadShapeModeSphere=1,
29+ lmrcImage3DPadShapeModeEllipsoid=2,
30+ lmrcImage3DPadShapeModeRectangle=3
31+} lmrcImage3DPadShapeMode;
32+
2633 /* constant end */
2734
2835 /* struct begin */
@@ -37,9 +44,27 @@ typedef struct lmrcImage3DPadInfo {
3744 int flagv;
3845 double v;
3946
47+ lmrcImage3DPadShapeMode ShapeMode;
48+
49+ int flagShell;
50+ float shell; // rmax*shell [pixel]
51+
52+ // Filament-type: z-infinity
53+ // or
54+ // Ideal Sphere
4055 int flagr;
4156 float rmax;
4257
58+ // Ellipsoid
59+ float rxmax;
60+ float rymax;
61+ float rzmax;
62+
63+ // Rectangle
64+ float xmax;
65+ float ymax;
66+ float zmax;
67+
4368 int flagFloating;
4469 } lmrcImage3DPadInfo;
4570
@@ -51,10 +76,25 @@ extern "C" {
5176
5277 /* prototype begin */
5378
54-void lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, int mode );
55-double lmrcImage3DPadfilamentCalcavr(mrcImage* in ,double rmax);
56-double lmrcImage3DPadCalcavr(mrcImage* in ,double rmax);
57-void lmrcImage3DPad(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
79+/* General */
80+void lmrcImage3DPadUsage(FILE* fpt);
81+void lmrcImage3DPad(mrcImage* out ,mrcImage* in , lmrcImage3DPadInfo linfo, int mode );
82+
83+/* FilamentType: no pad: z-axis*/
84+void lmrcImage3DPadfilament(mrcImage* out ,mrcImage* in, lmrcImage3DPadInfo linfo, int mode );
85+double lmrcImage3DPadfilamentCalcavr(mrcImage* in, double rmax, double delr);
86+
87+/* Single Particle Type: Sphere-type */
88+double lmrcImage3DPadSphereCalcavr(mrcImage* in, double rmax, double delr);
89+void lmrcImage3DPadSphere(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
90+
91+/* Single Particle Type: -type */
92+double lmrcImage3DPadEllipsoidCalcavr(mrcImage* in, double rxmax, double rymax, double rzmax, double delx, double dely, double delz);
93+void lmrcImage3DPadEllipsoid(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
94+
95+/* Rectangle-type */
96+double lmrcImage3DPadRectangleCalcavr(mrcImage* in, double xmax, double ymax, double zmax, double delx, double dely, double delz);
97+void lmrcImage3DPadRectangle(mrcImage* out, mrcImage* in, lmrcImage3DPadInfo linfo, int mode);
5898
5999 /* prototype end */
60100
--- a/src/Objects/General/genUtil/inc/genUtil.h
+++ b/src/Objects/General/genUtil/inc/genUtil.h
@@ -69,7 +69,7 @@
6969 #define SBREAK ;
7070 #define SSWITCHEND }
7171 #define IsOdd(x) ((x)%2==1?1:0)
72-#define IsEven(x) ((x)%2==0?1:0)
72+#define IsEven(x) ((x)%2==0?1:0)
7373
7474 #ifdef M68
7575 #define BYTE4SET(x3,x2,x1,x0) ((((x0)<< 0)&0x000f) \
--- a/src/Tools/mrcImage/mrcImage3DPad/src/mrcImage3DPad.c
+++ b/src/Tools/mrcImage/mrcImage3DPad/src/mrcImage3DPad.c
@@ -63,11 +63,15 @@ main(int argc, char* argv[])
6363 linfo.flagFloating = info.Floating;
6464
6565 DEBUGPRINT3("N: %d %d %d\n", linfo.Nx, linfo.Ny, linfo.Nz);
66+ /*
6667 if (!info.mode2){
6768 lmrcImage3DPadfilament(&out, &in, linfo, info.mode);
6869 } else {
6970 lmrcImage3DPad(&out, &in, linfo, info.mode);
7071 }
72+ */
73+ linfo.ShapeMode = info.mode2;
74+ lmrcImage3DPad(&out, &in, linfo, info.mode);
7175 mrcFileWrite(&out ,info.Out ,"in main" ,0);
7276 return EXIT_SUCCESS;
7377 }
@@ -79,8 +83,8 @@ additionalUsage()
7983 fprintf(stderr, "0:Default: Out of threshold is avrage of threshold plain.\n");
8084 fprintf(stderr, "1:Mulplying cos function. Default: Out of threshold is avrage of threshold plain.\n");
8185 fprintf(stderr, "----- mode2 -----\n");
82- fprintf(stderr, "0:For filaments. R is calculated from its axis.\n");
83- fprintf(stderr, "1:For particles. R is calculated from its center.\n");
84-
86+ //fprintf(stderr, "0:For filaments. R is calculated from its axis.\n");
87+ //fprintf(stderr, "1:For particles. R is calculated from its center.\n");
88+ lmrcImage3DPadUsage(stderr);
8589 }
8690
--- a/src/Tools/mrcImage/mrcImage3DPad/src/mrcImage3DPad.html
+++ b/src/Tools/mrcImage/mrcImage3DPad/src/mrcImage3DPad.html
@@ -1 +1,33 @@
1-/bin/bash: mrcImage3DPad: そのようなファイルやディレクトリはありません
1+<HTML>
2+<HEAD>
3+<TITLE>mrcImage3DPad</TITLE>
4+</HEAD>
5+<BODY>
6+<H1>mrcImage3DPad</H1>
7+<H2>Usage</H2>
8+<PRE>
9+Usage: mrcImage3DPad
10+Options:
11+ [-i[nput] In (NULL )] :Essential :InputDataFile
12+ [-o[utput] Out (NULL )] :Essential :OutputDataFile
13+ [-c[onfig] configFile (NULL )] :Optional :ConfigurationFile
14+ [-r[max] r (0 )] :Optional :Threshold radius of signal.Default is Nx.
15+ [-w[idth] w (1 )] :Optional :Width of slope. For mode 1.
16+ [-v[alue] v (0 )] :Optional :Value of out of threshold.
17+ [-Nx Nx (0 )] :Optional :Number of x.Default is inputfile.
18+ [-Ny Ny (0 )] :Optional :Number of y.Default is inputfile.
19+ [-Nz Nz (0 )] :Optional :Number of z.Default is inputfile.
20+ [-Floating ] :Optional :Floating
21+ [-m[ode] mode (0 )] :Optional :Mode
22+ [-M[ode2] mode2 (0 )] :Optional :Mode
23+----- mode -----
24+0:Default: Out of threshold is avrage of threshold plain.
25+1:Mulplying cos function. Default: Out of threshold is avrage of threshold plain.
26+----- mode2 -----
27+0: Filament-type(cylinder)
28+1: SingleParticle-type(sphere)
29+2: SigplePartilce-type(ellipsoid)
30+3: Rectangle
31+</PRE>
32+</BODY>
33+</HTML>
Show on old repository browser