aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-02-13 19:04:40 +0000
committertaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-02-13 19:04:40 +0000
commit10ece6fb4017738589e4cad309b9d4091a2745a3 (patch)
tree2691fda5f9d47d64588644573153c302ca48e0cc /src
parent2badf2f6f6ae8cc571cf376ce5885e5df695ee4e (diff)
Trap on failure to find initial basis
Display pixel_size from MRC header Fix trivial comment typo git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@6 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src')
-rw-r--r--src/ipr.c10
-rw-r--r--src/mrc.c1
-rw-r--r--src/reflections.c2
3 files changed, 12 insertions, 1 deletions
diff --git a/src/ipr.c b/src/ipr.c
index 365ff75..720369f 100644
--- a/src/ipr.c
+++ b/src/ipr.c
@@ -156,6 +156,15 @@ static Basis *ipr_choose_initial_basis(ControlContext *ctx) {
}
reflection = reflection->next;
+ /* End of list? */
+ if ( !reflection ) {
+ if ( (basis->a.modulus == 1e30) || (basis->b.modulus == 1e30) || (basis->c.modulus == 1e30) ) {
+ printf("IP: Failed to find appropriate starting basis!\n");
+ free(basis);
+ return NULL;
+ }
+ }
+
} while ( reflection || (basis->a.modulus == 1e30) || (basis->b.modulus == 1e30) || (basis->c.modulus == 1e30) );
printf("IP: Initial basis:\n");
@@ -239,6 +248,7 @@ void ipr_reduce(ControlContext *ctx) {
Basis *basis;
basis = ipr_choose_initial_basis(ctx);
+ if ( !basis ) return;
ctx->reflectionctx->basis = basis;
/* Get rid of the original list and replace it with the prediction list */
diff --git a/src/mrc.c b/src/mrc.c
index 4815626..95f0ad2 100644
--- a/src/mrc.c
+++ b/src/mrc.c
@@ -66,6 +66,7 @@ int mrc_read(ControlContext *ctx) {
}
pixel_size = ext[0].pixel_size;
+ printf("pixel_size=%f\n", pixel_size);
nx = mrc.nx;
ny = mrc.ny;
nz = (mrc.nx > mrc.ny)?mrc.nx:mrc.ny;
diff --git a/src/reflections.c b/src/reflections.c
index dbe2a7d..d2bc9db 100644
--- a/src/reflections.c
+++ b/src/reflections.c
@@ -138,7 +138,7 @@ void reflection_add_from_dp(ControlContext *ctx, double x, double y, double tilt
}
/* Alternative formulation for when the input data is already in reciprocal space units
- x and y in metres^-1 (in reciprocal space */
+ x and y in metres^-1 (in reciprocal space) */
void reflection_add_from_reciprocal(ControlContext *ctx, double x, double y, double tilt_degrees, double intensity) {
double nx, ny, nz;