From 8a15866307f7dde7ba70ed9de756cf0392904e30 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 3 Mar 2014 15:10:54 +0100 Subject: Add things to stream if they were mentioned in beam or geom, and remove clen_ entries --- libcrystfel/src/hdf5-file.c | 7 +++++++ libcrystfel/src/stream.c | 15 +++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'libcrystfel') diff --git a/libcrystfel/src/hdf5-file.c b/libcrystfel/src/hdf5-file.c index ed3b1e29..08e1c5e3 100644 --- a/libcrystfel/src/hdf5-file.c +++ b/libcrystfel/src/hdf5-file.c @@ -883,6 +883,13 @@ void free_copy_hdf5_field_list(struct copy_hdf5_field *n) void add_copy_hdf5_field(struct copy_hdf5_field *copyme, const char *name) { + int i; + + /* Already on the list? Don't re-add if so. */ + for ( i=0; in_fields; i++ ) { + if ( strcmp(copyme->fields[i], name) == 0 ) return; + } + /* Need more space? */ if ( copyme->n_fields == copyme->max_fields ) { diff --git a/libcrystfel/src/stream.c b/libcrystfel/src/stream.c index 04d2277f..4cf02414 100644 --- a/libcrystfel/src/stream.c +++ b/libcrystfel/src/stream.c @@ -213,15 +213,15 @@ void write_chunk(Stream *st, struct image *i, struct hdfile *hdfile, fprintf(st->fh, "indexed_by = %s\n", indexer); free(indexer); + fprintf(st->fh, "photon_energy_eV = %f\n", + J_to_eV(ph_lambda_to_en(i->lambda))); + + copy_hdf5_fields(hdfile, i->copyme, st->fh); + if ( i->det != NULL ) { int j; - for ( j=0; jdet->n_panels; j++ ) { - fprintf(st->fh, "camera_length_%s = %f\n", - i->det->panels[j].name, i->det->panels[j].clen); - } - for ( j=0; jdet->n_rigid_groups; j++ ) { struct rigid_group *rg = i->det->rigid_groups[j]; @@ -246,17 +246,12 @@ void write_chunk(Stream *st, struct image *i, struct hdfile *hdfile, } - copy_hdf5_fields(hdfile, i->copyme, st->fh); - fprintf(st->fh, "num_peaks = %lli\n", i->num_peaks); fprintf(st->fh, "num_saturated_peaks = %lli\n", i->num_saturated_peaks); if ( include_peaks ) { write_peaks(i, st->fh); } - fprintf(st->fh, "photon_energy_eV = %f\n", - J_to_eV(ph_lambda_to_en(i->lambda))); - for ( j=0; jn_crystals; j++ ) { write_crystal(st, i->crystals[j], include_reflections); } -- cgit v1.2.3