diff options
author | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2008-01-12 18:41:58 +0000 |
---|---|---|
committer | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2008-01-12 18:41:58 +0000 |
commit | 2cf80ca8beaf98868c6c61400cd74636e925def1 (patch) | |
tree | 87b3ae58b41c27f6b566031394eff176f6a416b4 /src/refine.c | |
parent | cbc4ab593fb319d417a0305d63eb6c6cdbfa4d1f (diff) |
More IPR testing
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@250 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src/refine.c')
-rw-r--r-- | src/refine.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/refine.c b/src/refine.c index f173e99..6bd2225 100644 --- a/src/refine.c +++ b/src/refine.c @@ -3,7 +3,7 @@ * * Refine the reconstruction * - * (c) 2007 Thomas White <taw27@cam.ac.uk> + * (c) 2007-2008 Thomas White <taw27@cam.ac.uk> * * dtr - Diffraction Tomography Reconstruction * @@ -61,6 +61,7 @@ ImageFeature *refine_fit_image(Basis *cell, ImageRecord *image) { gsl_permutation *perm; int s; + double det; gsl_matrix_set_zero(M); gsl_vector_set_zero(p); @@ -107,7 +108,7 @@ ImageFeature *refine_fit_image(Basis *cell, ImageRecord *image) { val = gsl_vector_get(p, 0); val += xy * h; gsl_vector_set(p, 0, val); val = gsl_vector_get(p, 1); val += xy * k; gsl_vector_set(p, 1, val); val = gsl_vector_get(p, 2); val += xy * l; gsl_vector_set(p, 2, val); - + gsl_matrix_get(M, 2, 2); /* Elements of "M" */ val = gsl_matrix_get(M, 0, 0); val += h * h; gsl_matrix_set(M, 0, 0, val); val = gsl_matrix_get(M, 0, 1); val += k * h; gsl_matrix_set(M, 0, 1, val); @@ -125,7 +126,7 @@ ImageFeature *refine_fit_image(Basis *cell, ImageRecord *image) { } - if ( !ns ) { + if ( ns == 0 ) { printf("RF: No partners found\n"); gsl_matrix_free(M); gsl_vector_free(p); @@ -133,8 +134,12 @@ ImageFeature *refine_fit_image(Basis *cell, ImageRecord *image) { } /* Do the fitting */ + //gsl_matrix_set(M, 2, 2, 1.0); + matrix_vector_show(M, p); perm = gsl_permutation_alloc(M->size1); gsl_linalg_LU_decomp(M, perm, &s); + det = gsl_linalg_LU_det(M, s); + printf("Determinant of M = %f\n", det); q = gsl_vector_alloc(3); /* This is the "answer" */ gsl_vector_set_zero(q); |