Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
MPIBP-Hummer
BioEM
Commits
ec9bda82
Commit
ec9bda82
authored
Apr 23, 2014
by
Pilar Cossio
Browse files
Volume parameter corrected and input
parent
645871e9
Changes
1
Hide whitespace changes
Inline
Side-by-side
param.cpp
View file @
ec9bda82
...
...
@@ -112,7 +112,7 @@ int bioem_param::readParameters()
token
=
strtok
(
NULL
,
" "
);
angleGridPointsBeta
=
int
(
atoi
(
token
));
if
(
angleGridPointsBeta
<
0
)
{
cout
<<
"*** Error: Negative GRIDPOINTS_BETA "
;
exit
(
1
);}
cout
<<
"Grid points beta "
<<
angleGridPointsBeta
<<
"
\n
"
;
cout
<<
"Grid points
in Cosine (
beta
)
"
<<
angleGridPointsBeta
<<
"
\n
"
;
yesGPbe
=
true
;
}
...
...
@@ -223,8 +223,13 @@ int bioem_param::readParameters()
if
(
not
(
yesMDC
)
)
{
cout
<<
"**** INPUT MISSING: Please provide MAX_D_CENTER
\n
"
;
exit
(
1
);};
if
(
not
(
yesGCen
)
)
{
cout
<<
"**** INPUT MISSING: Please provide PIXEL_GRID_CENTER
\n
"
;
exit
(
1
);};
//More checks with input parameters
//if only one grid point for PSF kernel:
if
(
(
myfloat_t
)
numberGridPointsCTF_amp
==
1
)
gridCTF_amp
=
startGridCTF_amp
;
if
(
(
myfloat_t
)
numberGridPointsCTF_phase
==
1
)
gridCTF_phase
=
startGridCTF_phase
;
if
(
(
myfloat_t
)
numberGridPointsEnvelop
==
1
)
gridEnvelop
=
startGridEnvelop
;
//More checks with input parameters
// Envelope should not have a standard deviation greater than Npix/2
if
(
sqrt
(
1.
/
(
(
myfloat_t
)
numberGridPointsDisplaceCenter
*
gridEnvelop
+
startGridEnvelop
))
>
float
(
param_device
.
NumberPixels
)
/
2.0
)
{
cout
<<
"MAX Standar deviation of envelope is larger than Allowed KERNEL Length"
;
...
...
@@ -236,11 +241,12 @@ int bioem_param::readParameters()
exit
(
1
);
}
if
(
(
myfloat_t
)
numberGridPointsCTF_amp
*
gridCTF_amp
+
startGridCTF_amp
<
0
||
(
myfloat_t
)
numberGridPointsCTF_amp
*
gridCTF_amp
+
startGridCTF_amp
>
1
){
if
(
(
myfloat_t
)
numberGridPointsCTF_amp
*
gridCTF_amp
+
startGridCTF_amp
<
0
||
(
myfloat_t
)
(
numberGridPointsCTF_amp
-
1
)
*
gridCTF_amp
+
startGridCTF_amp
>
1
){
cout
<<
"Value should be between 0 and 1
\n
"
;
exit
(
1
);
}
cout
<<
" +++++++++++++++++++++++++++++++++++++++++
\n
"
;
cout
<<
"Preparing FFTs
\n
"
;
...
...
@@ -324,12 +330,14 @@ int bioem_param::CalculateGridsParam() //TO DO FOR QUATERNIONS
}
nTotGridAngles
=
n
;
// ********** Calculating normalized volumen element *********
param_device
.
volu
=
grid_alpha
*
grid_alpha
*
cos_grid_beta
*
(
myfloat_t
)
param_device
.
GridSpaceCenter
*
pixelSize
*
(
myfloat_t
)
param_device
.
GridSpaceCenter
*
pixelSize
*
gridCTF_phase
*
gridCTF_amp
*
gridEnvelop
/
(
2.
f
*
M_PI
)
/
(
2.
f
*
M_PI
)
/
2.
f
/
(
2.
f
*
(
myfloat_t
)
param_device
.
maxDisplaceCenter
)
/
(
2.
f
*
(
myfloat_t
)
param_device
.
maxDisplaceCenter
)
/
((
myfloat_t
)
numberGridPointsCTF_amp
*
gridCTF_amp
+
startGridCTF_amp
)
/
((
myfloat_t
)
numberGridPointsCTF_phase
*
gridCTF_phase
+
startGridCTF_phase
)
/
((
myfloat_t
)
numberGridPointsEnvelop
*
gridEnvelop
+
startGridEnvelop
);
*
gridCTF_phase
*
gridCTF_amp
*
gridEnvelop
/
(
2.
f
*
M_PI
)
/
(
2.
f
*
M_PI
)
/
2.
f
/
(
2.
f
*
(
myfloat_t
)
param_device
.
maxDisplaceCenter
)
/
(
2.
f
*
(
myfloat_t
)
param_device
.
maxDisplaceCenter
)
/
((
myfloat_t
)
numberGridPointsCTF_amp
*
gridCTF_amp
)
/
((
myfloat_t
)
numberGridPointsCTF_phase
*
gridCTF_phase
)
/
((
myfloat_t
)
numberGridPointsEnvelop
*
gridEnvelop
);
// cout << "VOLU " << param_device.volu << " " << gridCTF_amp << "\n";
// *** Number of total pixels***
param_device
.
Ntotpi
=
(
myfloat_t
)
(
param_device
.
NumberPixels
*
param_device
.
NumberPixels
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment