This is an email sent by H. J. Bernstein to Jon Wright,
Andy hammersley and Claudio Ferraro
on 18 January 2007 reporting on some of the work done in
a meeting at ESRF in Grenoble from 14 to 20 January 2007.
Delivered-To: yaya-bernstein-plus-sons:com-yaya at bernstein-plus-sons dot com
Date: Thu, 18 Jan 2007 17:28:02 -0500 (EST)
From: "Herbert J. Bernstein" <yaya at bernstein-plus-sons dot com>
X-X-Sender: yaya at epsilon.pair dot com
To: wright at esrf dot fr, hammersl at esrf dot fr, ferrero atesrf dot fr
cc: sweet at bnl dot gov
Subject: Status of stuff
X-Status: A
X-Keywords:
Dear Colleagues,
First, let me say thank you for a very productive and enjoyable
visit. I apologize for my cold and the constraints imposed
by my diet, but for me, with such interesting work and such
fine colleagues, this was a minor inconvenience.
Let me summarize where I believe things stand. Please
add to or correct anything I say here.
1. Improved handling of beam centers. After very useful
discussions with Andy and Jon, it became clear that the
major problem with the use of the CBFlib beam centering
protocol was that you needed a center taken against reference
axis settings in addition to the existing code which works
against current axis settings. While the problem could
be addressed by adjusting the relevant angles to 0 while
computing the beam center, it proved both simple and
effective to add code in the library to simulate that
action and to even extend it to allow for more general
reference settings in each file. The code has been
written and after testing by Andy and more discussion
with Andy and Jon, readjusted to preserve translation
axis displacements even no reference setting is
provided. After further testing by Andy, the result
now seems to be within 1/2 pixel of expected results.
We will test further tomorow, but it is clear that
any final adjustment can be taken care of by email.
2. Monitors. Neither mmCIF nor has clearly identified
tags for beam monitors. Below my signature you will find
what I suggest as additions to handle monitors. It is
simple, and, if you like it, I will add the usual
get/set routines to CBFlib. If you think it helpful,
I can also add a ".details" tag for comments on the
type of monitor, or we could even add a special list
of types.
3. Documentation of the orientation matrix to add
clarity about the relationship of CBFlib axes.
While this is actually an mmCIF issue, there is
not harm in adding details in the imgCIF dictionary.
When I get home, I will set down and write up
something for your review and comments.
4. Andy has a copy of the revised CBFlib to this
point. I will try to upload the very latest
version to blondie.dowling dot edu before I leave,
and that is also the location to look for
changes over the next few weeks. I hope to
post a consolidated draft version CBFlib_0.7.7
with both these changes and the SLS changes
by the end of next week. The SLS changes will
provide two compression types not previously
working in CBFlib and usefull additions to the
MIME header of a binary section giving details
on the sizes of the dimension.
5. Windows compatibility issues. My thanks to
Andy for pointing out the conflicts between
CBFlib and the Window Visual Studio compiler.
All but one minor issue now seem to be resolved.
That last issue is non-fatal, but I will investigate
further.
5. The talk. It was great fun for me. I hope
you and your colleagues found it useful.
Thank you again for your hospitality and for helping
to defray some of the costs.
Regards,
Herbert
# category DIFFRN_DATA_FRAME_MONITORS
#
# _diffrn_data_frame_monitors.frame_id
# _diffrn_data_frame_monitors.detector_element_id
# _diffrn_data_frame_monitors.gross_counts
# _diffrn_data_frame_monitors.count_rate
##############################
# DIFFRN_DATA_FRAME_MONITORS #
##############################
save_DIFFRN_DATA_FRAME_MONITORS
_category.description
; Data items in the DIFFRN_DATA_FRAME_MONITORS category
describe the monitor data obtained from detectors
collecting beam intensities and other monitoring
information during the data collection for
a frame. The monitor detector element may be the same as
or different from the detector element collecting image
data for the frame. More than one detector element may be
listed for the same frame.
;
_category.id diffrn_data_frame_monitors
_category.mandatory_code no
loop_
_category_key.name '_diffrn_data_frame_monitors.frame_id'
'_diffrn_data_frame_monitors.detector_element_id'
loop_
_category_group.id 'inclusive_group'
'diffrn_group'
loop_
_category_examples.detail
_category_examples.case
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; Example 1 - The frame monitored by a beam monitor showing
a complete beam failure
;
;
loop_
_diffrn_data_frame_monitors.frame_id
_diffrn_data_frame_monitors.detector_element_id
_diffrn_data_frame_monitors.count_rate
frame_1 beam_monitor 0
;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
save_
save__diffrn_data_frame_monitors.frame_id
_item_description.description
; This item is a pointer to _diffrn_data_frame.id
in the DIFFRN_DATA_FRAME category.
;
_item.name '_diffrn_data_frame_monitors.frame_id'
_item.category_id _diffrn_data_frame_monitors
_item.mandatory_code yes
_item_type.code code
save_
save__diffrn_data_frame_monitors.detector_element_id
_item_description.description
; This item is a pointer to _diffrn_detector_element.id
in the DIFFRN_DETECTOR_ELEMENT category.
;
_item.name
'_diffrn_data_frame_monitors.detector_element_id'
_item.category_id diffrn_data_frame_monitors
_item.mandatory_code yes
_item_type.code code
save_
save__diffrn_data_frame_monitors.gross_counts
_item_description.description
; The value of _diffrn_data_frame_monitors.gross_counts
reports the gross counts detected during the time of
data collection for the frame.
For a working monitor, either
_diffrn_data_frame_monitors.gross_counts
or _diffrn_data_frame_monitors.count_rate
should be reported.
;
_item.name '_diffrn_data_frame_monitors.gross_counts'
_item.category_id _diffrn_data_frame_monitors
_item.mandatory_code no
_item_type.code float
loop_
_item_range.maximum
_item_range.minimum
. 0.0
_item_units.code 'counts'
save_
save__diffrn_data_frame_monitors.count_rate
_item_description.description
; The value of _diffrn_data_frame_monitors.count_rate
reports the average counts per second detected
during the time of data collection for the frame.
For a working monitor, either
_diffrn_data_frame_monitors.gross_counts
or _diffrn_data_frame_monitors.count_rate
should be reported.
;
_item.name '_diffrn_data_frame_monitors.count_rate'
_item.category_id _diffrn_data_frame_monitors
_item.mandatory_code no
_item_type.code float
loop_
_item_range.maximum
_item_range.minimum
. 0.0
_item_units.code 'counts_per_second'
save_
=====================================================
Herbert J. Bernstein, Professor of Computer Science
Dowling College, Kramer Science Center, KSC 121
Idle Hour Blvd, Oakdale, NY, 11769
+1-631-244-3035
yaya at dowling dot edu
=====================================================