aboutsummaryrefslogtreecommitdiff
path: root/src/partialator.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2011-05-26 17:14:48 +0200
committerThomas White <taw@physics.org>2012-02-22 15:27:29 +0100
commit211af60eed86a0e0d24f244c999acb35b5c40b7f (patch)
tree81cd90dbd35c82edaa73dde984af85c565f3a0db /src/partialator.c
parent75e02ae0f4ae01364311bf8a158172161f8b01a0 (diff)
partialator: Take reference file
Diffstat (limited to 'src/partialator.c')
-rw-r--r--src/partialator.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/partialator.c b/src/partialator.c
index ad07b9cb..64546a7b 100644
--- a/src/partialator.c
+++ b/src/partialator.c
@@ -56,6 +56,9 @@ static void show_help(const char *s)
" an HDF5 file.\n"
" -y, --symmetry=<sym> Merge according to symmetry <sym>.\n"
" -n, --iterations=<n> Run <n> cycles of scaling and post-refinement.\n"
+" --reference=<file> Refine images against reflections in <file>,\n"
+" instead of taking the mean of the intensity\n"
+" estimates.\n"
"\n"
" -j <n> Run <n> analyses in parallel.\n");
}
@@ -167,6 +170,8 @@ int main(int argc, char *argv[])
int n_notfound = 0;
char *cref;
int n_usable_patterns = 0;
+ char *reference_file = NULL;
+ RefList *reference;
/* Long options */
const struct option longopts[] = {
@@ -177,6 +182,7 @@ int main(int argc, char *argv[])
{"beam", 1, NULL, 'b'},
{"symmetry", 1, NULL, 'y'},
{"iterations", 1, NULL, 'n'},
+ {"reference", 1, NULL, 1},
{0, 0, NULL, 0}
};
@@ -223,6 +229,10 @@ int main(int argc, char *argv[])
}
break;
+ case 1 :
+ reference = strdup(optarg);
+ break;
+
case 0 :
break;
@@ -267,6 +277,12 @@ int main(int argc, char *argv[])
return 1;
}
+ if ( reference_file != NULL ) {
+ reference = read_reflections(reference_file);
+ free(reference_file);
+ if ( reference == NULL ) return 1;
+ }
+
n_total_patterns = count_patterns(fh);
if ( n_total_patterns == 0 ) {
ERROR("No patterns to process.\n");