aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/itrans-threshold.c30
1 files changed, 22 insertions, 8 deletions
diff --git a/src/itrans-threshold.c b/src/itrans-threshold.c
index 1aee5ca..69acd24 100644
--- a/src/itrans-threshold.c
+++ b/src/itrans-threshold.c
@@ -26,6 +26,7 @@ unsigned int itrans_peaksearch_threshold(ImageRecord imagerecord, ControlContext
unsigned int n_reflections = 0;
uint16_t *image = imagerecord.image;
double tilt_degrees = imagerecord.tilt;
+ uint16_t max = 0;
width = imagerecord.width;
height = imagerecord.height;
@@ -33,17 +34,26 @@ unsigned int itrans_peaksearch_threshold(ImageRecord imagerecord, ControlContext
/* Simple Thresholding */
for ( y=0; y<height; y++ ) {
for ( x=0; x<width; x++ ) {
+ if ( image[x + width*y] > max ) max = image[x + width*y];
+ }
+ }
- if ( image[x + width*y] > 10 ) {
+ for ( y=0; y<height; y++ ) {
+ for ( x=0; x<width; x++ ) {
+ if ( image[x + width*y] > max/3 ) {
if ( imagerecord.fmode == FORMULATION_PIXELSIZE ) {
- reflection_add_from_reciprocal(ctx, (signed)(x-imagerecord.x_centre)*imagerecord.pixel_size, (signed)(y-imagerecord.y_centre)*imagerecord.pixel_size,
- tilt_degrees, image[x + width*y]);
+ reflection_add_from_reciprocal(ctx,
+ (signed)(x-imagerecord.x_centre)*imagerecord.pixel_size,
+ (signed)(y-imagerecord.y_centre)*imagerecord.pixel_size,
+ tilt_degrees, image[x + width*y]);
} else {
- reflection_add_from_dp(ctx, (signed)(x-imagerecord.x_centre)/imagerecord.resolution, (signed)(y-imagerecord.y_centre)/imagerecord.resolution, tilt_degrees, image[x + width*y]);
+ reflection_add_from_dp(ctx,
+ (signed)(x-imagerecord.x_centre)/imagerecord.resolution,
+ (signed)(y-imagerecord.y_centre)/imagerecord.resolution,
+ tilt_degrees, image[x + width*y]);
}
n_reflections++;
}
-
}
}
@@ -84,10 +94,14 @@ unsigned int itrans_peaksearch_adaptive_threshold(ImageRecord imagerecord, Contr
if ( max_val > 50 ) {
if ( imagerecord.fmode == FORMULATION_PIXELSIZE ) {
- reflection_add_from_reciprocal(ctx, (signed)(x-imagerecord.x_centre)*imagerecord.pixel_size, (signed)(y-imagerecord.y_centre)*imagerecord.pixel_size,
- tilt_degrees, image[x + width*y]);
+ reflection_add_from_reciprocal(ctx,
+ (signed)(x-imagerecord.x_centre)*imagerecord.pixel_size,
+ (signed)(y-imagerecord.y_centre)*imagerecord.pixel_size,
+ tilt_degrees, image[x + width*y]);
} else {
- reflection_add_from_dp(ctx, (signed)(x-imagerecord.x_centre)/imagerecord.resolution, (signed)(y-imagerecord.y_centre)/imagerecord.resolution, tilt_degrees, image[x + width*y]);
+ reflection_add_from_dp(ctx, (signed)(x-imagerecord.x_centre)/imagerecord.resolution,
+ (signed)(y-imagerecord.y_centre)/imagerecord.resolution,
+ tilt_degrees, image[x + width*y]);
}
n_reflections++;