Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Oleksii Turkot
CrystFEL
Commits
97c023d0
Commit
97c023d0
authored
Jun 07, 2011
by
Thomas White
Browse files
Banish find_projected_peaks()
parent
150c54e9
Changes
6
Hide whitespace changes
Inline
Side-by-side
Makefile.am
View file @
97c023d0
...
...
@@ -41,7 +41,8 @@ src_pattern_sim_SOURCES = src/pattern_sim.c src/diffraction.c src/utils.c \
src/image.c src/cell.c src/hdf5-file.c
\
src/detector.c src/peaks.c
\
src/reflist-utils.c src/beam-parameters.c
\
src/symmetry.c src/thread-pool.c src/reflist.c
src/symmetry.c src/thread-pool.c src/reflist.c
\
src/geometry.c
if
HAVE_OPENCL
src_pattern_sim_SOURCES
+=
src/diffraction-gpu.c src/cl-utils.c
...
...
Makefile.in
View file @
97c023d0
...
...
@@ -193,14 +193,15 @@ am__src_pattern_sim_SOURCES_DIST = src/pattern_sim.c src/diffraction.c \
src/utils.c src/image.c src/cell.c src/hdf5-file.c
\
src/detector.c src/peaks.c src/reflist-utils.c
\
src/beam-parameters.c src/symmetry.c src/thread-pool.c
\
src/reflist.c src/diffraction-gpu.c src/cl-utils.c
src/reflist.c src/geometry.c src/diffraction-gpu.c
\
src/cl-utils.c
am_src_pattern_sim_OBJECTS
=
src/pattern_sim.
$(OBJEXT)
\
src/diffraction.
$(OBJEXT)
src/utils.
$(OBJEXT)
\
src/image.
$(OBJEXT)
src/cell.
$(OBJEXT)
src/hdf5-file.
$(OBJEXT)
\
src/detector.
$(OBJEXT)
src/peaks.
$(OBJEXT)
\
src/reflist-utils.
$(OBJEXT)
src/beam-parameters.
$(OBJEXT)
\
src/symmetry.
$(OBJEXT)
src/thread-pool.
$(OBJEXT)
\
src/reflist.
$(OBJEXT)
$(am__objects_1)
src/reflist.
$(OBJEXT)
src/geometry.
$(OBJEXT)
$(am__objects_1)
src_pattern_sim_OBJECTS
=
$(am_src_pattern_sim_OBJECTS)
src_pattern_sim_LDADD
=
$(LDADD)
src_pattern_sim_DEPENDENCIES
=
$(top_builddir)
/lib/libgnu.a
...
...
@@ -634,7 +635,7 @@ src_pattern_sim_SOURCES = src/pattern_sim.c src/diffraction.c \
src/utils.c src/image.c src/cell.c src/hdf5-file.c
\
src/detector.c src/peaks.c src/reflist-utils.c
\
src/beam-parameters.c src/symmetry.c src/thread-pool.c
\
src/reflist.c
$(am__append_3)
src/reflist.c
src/geometry.c
$(am__append_3)
@HAVE_OPENCL_TRUE@
tests_gpu_sim_check_SOURCES
=
tests/gpu_sim_check.c src/utils.c
\
@HAVE_OPENCL_TRUE@ src/diffraction.c src/diffraction-gpu.c
\
@HAVE_OPENCL_TRUE@ src/thread-pool.c src/cell.c src/cl-utils.c
\
...
...
src/indexamajig.c
View file @
97c023d0
...
...
@@ -146,10 +146,6 @@ static void show_help(const char *s)
"
\n\n
"
"You can control what information is included in the output stream using
\n
"
"' --record=<flag1>,<flag2>,<flag3>' and so on. Possible flags are:
\n\n
"
" pixels Include a list of sums of pixel values within the
\n
"
" integration domain, correcting for individual pixel
\n
"
" solid angles.
\n
"
"
\n
"
" integrated Include a list of reflection intensities, produced by
\n
"
" integrating around predicted peak locations.
\n
"
"
\n
"
...
...
@@ -160,8 +156,7 @@ static void show_help(const char *s)
"
\n
"
" peaksifnotindexed As 'peaks', but only if the pattern could NOT be indexed.
\n
"
"
\n\n
"
"The default is '--record=integrated'. The flags 'pixels' and 'integrated'
\n
"
"are mutually exclusive, as are the flags 'peaks' and 'peaksifindexed'.
\n
"
"The default is '--record=integrated'.
\n
"
"
\n\n
"
"For more control over the process, you might need:
\n\n
"
" --cell-reduction=<m> Use <m> as the cell reduction method. Choose from:
\n
"
...
...
@@ -324,26 +319,19 @@ static void process_image(void *pp, int cookie)
/* Do EITHER: */
//image.div = beam->divergence;
//image.bw = beam->bandwidth;
//image.profile_radius = 0.0001e9;
//image.reflections = find_intersections(&image,
// image.indexed_cell, 0);
if
(
image
.
indexed_cell
!=
NULL
)
{
image
.
reflections
=
find_projected_peaks
(
&
image
,
image
.
indexed_cell
,
0
,
0
.
1
);
image
.
div
=
beam
->
divergence
;
image
.
bw
=
beam
->
bandwidth
;
image
.
profile_radius
=
0.0001e9
;
image
.
reflections
=
find_intersections
(
&
image
,
image
.
indexed_cell
,
0
);
integrate_reflections
(
&
image
,
config_polar
,
pargs
->
static_args
.
config_closer
,
pargs
->
static_args
.
config_bgsub
);
/* OR */
//image.reflections = integrate_pixels(&image, 0, 0.1,
// config_polar);
}
else
{
image
.
reflections
=
NULL
;
...
...
src/pattern_sim.c
View file @
97c023d0
...
...
@@ -33,6 +33,7 @@
#include
"symmetry.h"
#include
"reflist.h"
#include
"reflist-utils.h"
#include
"geometry.h"
static
void
show_help
(
const
char
*
s
)
...
...
@@ -547,24 +548,14 @@ int main(int argc, char *argv[])
if
(
config_nearbragg
)
{
/* Do EITHER: */
//image.div = beam->divergence;
//image.bw = beam->bandwidth;
//image.profile_radius = 0.0001e9;
//image.reflections = find_intersections(&image,
// image.indexed_cell, 0);
image
.
reflections
=
find_projected_peaks
(
&
image
,
image
.
indexed_cell
,
0
,
0
.
1
);
image
.
div
=
image
.
beam
->
divergence
;
image
.
bw
=
image
.
beam
->
bandwidth
;
image
.
profile_radius
=
0.0001e9
;
image
.
reflections
=
find_intersections
(
&
image
,
image
.
indexed_cell
,
0
);
integrate_reflections
(
&
image
,
0
,
0
,
0
);
/* OR */
//image.reflections = integrate_pixels(&image, 0, 0.1,
// config_polar);
}
if
(
powder_fn
!=
NULL
)
{
...
...
src/peaks.c
View file @
97c023d0
...
...
@@ -449,86 +449,6 @@ void search_peaks(struct image *image, float threshold, float min_gradient)
}
RefList
*
find_projected_peaks
(
struct
image
*
image
,
UnitCell
*
cell
,
int
circular_domain
,
double
domain_r
)
{
int
fs
,
ss
;
double
ax
,
ay
,
az
;
double
bx
,
by
,
bz
;
double
cx
,
cy
,
cz
;
RefList
*
reflections
;
double
alen
,
blen
,
clen
;
int
n_reflections
=
0
;
reflections
=
reflist_new
();
/* "Borrow" direction values to get reciprocal lengths */
cell_get_reciprocal
(
cell
,
&
ax
,
&
ay
,
&
az
,
&
bx
,
&
by
,
&
bz
,
&
cx
,
&
cy
,
&
cz
);
alen
=
modulus
(
ax
,
ay
,
az
);
blen
=
modulus
(
bx
,
by
,
bz
);
clen
=
modulus
(
cx
,
cy
,
cz
);
cell_get_cartesian
(
cell
,
&
ax
,
&
ay
,
&
az
,
&
bx
,
&
by
,
&
bz
,
&
cx
,
&
cy
,
&
cz
);
fesetround
(
1
);
/* Round towards nearest */
for
(
fs
=
0
;
fs
<
image
->
width
;
fs
++
)
{
for
(
ss
=
0
;
ss
<
image
->
height
;
ss
++
)
{
double
hd
,
kd
,
ld
;
/* Indices with decimal places */
double
dh
,
dk
,
dl
;
/* Distances in h,k,l directions */
signed
int
h
,
k
,
l
;
struct
rvec
q
;
double
dist
;
Reflection
*
refl
;
double
cur_dist
;
q
=
get_q
(
image
,
fs
,
ss
,
NULL
,
1
.
0
/
image
->
lambda
);
hd
=
q
.
u
*
ax
+
q
.
v
*
ay
+
q
.
w
*
az
;
kd
=
q
.
u
*
bx
+
q
.
v
*
by
+
q
.
w
*
bz
;
ld
=
q
.
u
*
cx
+
q
.
v
*
cy
+
q
.
w
*
cz
;
h
=
lrint
(
hd
);
k
=
lrint
(
kd
);
l
=
lrint
(
ld
);
dh
=
hd
-
h
;
dk
=
kd
-
k
;
dl
=
ld
-
l
;
if
(
circular_domain
)
{
/* Circular integration domain */
dist
=
sqrt
(
pow
(
dh
*
alen
,
2
.
0
)
+
pow
(
dk
*
blen
,
2
.
0
)
+
pow
(
dl
*
clen
,
2
.
0
));
if
(
dist
>
domain_r
)
continue
;
}
else
{
/* "Crystallographic" integration domain */
dist
=
sqrt
(
pow
(
dh
,
2
.
0
)
+
pow
(
dk
,
2
.
0
)
+
pow
(
dl
,
2
.
0
));
if
(
dist
>
domain_r
)
continue
;
}
refl
=
find_refl
(
reflections
,
h
,
k
,
l
);
if
(
refl
!=
NULL
)
{
cur_dist
=
get_excitation_error
(
refl
);
if
(
dist
<
cur_dist
)
{
set_detector_pos
(
refl
,
dist
,
fs
,
ss
);
}
}
else
{
Reflection
*
new
;
new
=
add_refl
(
reflections
,
h
,
k
,
l
);
set_detector_pos
(
new
,
dist
,
fs
,
ss
);
n_reflections
++
;
}
}
}
optimise_reflist
(
reflections
);
return
reflections
;
}
int
peak_sanity_check
(
struct
image
*
image
,
UnitCell
*
cell
,
int
circular_domain
,
double
domain_r
)
{
...
...
src/peaks.h
View file @
97c023d0
...
...
@@ -30,9 +30,6 @@ extern void integrate_reflections(struct image *image,
extern
int
peak_sanity_check
(
struct
image
*
image
,
UnitCell
*
cell
,
int
circular_domain
,
double
domain_r
);
extern
RefList
*
find_projected_peaks
(
struct
image
*
image
,
UnitCell
*
cell
,
int
circular_domain
,
double
domain_r
);
/* Exported so it can be poked by integration_check */
extern
int
integrate_peak
(
struct
image
*
image
,
int
cfs
,
int
css
,
double
*
pfs
,
double
*
pss
,
double
*
intensity
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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