|
DRAFT DICTIONARY CBF/imgCIF Extensions Dictionary |
Draft version 1.5 for comment |
Description:
Data items in the DIFFRN_SCAN category describe the parameters of one
or more scans, relating axis positions to frames.
Examples:
Example 1 - derived from a suggestion by R. M. Sweet.
The vector of each axis is not given here, because it is provided in
the AXIS category. By making _diffrn_scan_axis.scan_id and
_diffrn_scan_axis.axis_id keys of the DIFFRN_SCAN_AXIS category,
an arbitrary number of scanning and fixed axes can be specified for a
scan. In this example, three rotation axes and one translation axis
at nonzero values are specified, with one axis stepping. There is no
reason why more axes could not have been specified to step. Range
information has been specified, but note that it can be calculated from
the number of frames and the increment, so the data item
_diffrn_scan_axis.angle_range could be dropped.
Both the sweep data and the data for a single frame are specified.
Note that the information on how the axes are stepped is given twice,
once in terms of the overall averages in the value of
_diffrn_scan.integration_time and the values for DIFFRN_SCAN_AXIS,
and precisely for the given frame in the value for
_diffrn_scan_frame.integration_time and the values for
DIFFRN_SCAN_FRAME_AXIS. If dose-related adjustments are made to
scan times and nonlinear stepping is done, these values may differ.
Therefore, in interpreting the data for a particular frame it is
important to use the frame-specific data.
_diffrn_scan.id 1
_diffrn_scan.date_start '2001-11-18T03:26:42'
_diffrn_scan.date_end '2001-11-18T03:36:45'
_diffrn_scan.integration_time 3.0
_diffrn_scan.frame_id_start mad_L2_000
_diffrn_scan.frame_id_end mad_L2_200
_diffrn_scan.frames 201
loop_
_diffrn_scan_axis.scan_id
_diffrn_scan_axis.axis_id
_diffrn_scan_axis.angle_start
_diffrn_scan_axis.angle_range
_diffrn_scan_axis.angle_increment
_diffrn_scan_axis.displacement_start
_diffrn_scan_axis.displacement_range
_diffrn_scan_axis.displacement_increment
1 omega 200.0 20.0 0.1 . . .
1 kappa -40.0 0.0 0.0 . . .
1 phi 127.5 0.0 0.0 . . .
1 tranz . . . 2.3 0.0 0.0
_diffrn_scan_frame.scan_id 1
_diffrn_scan_frame.date '2001-11-18T03:27:33'
_diffrn_scan_frame.integration_time 3.0
_diffrn_scan_frame.frame_id mad_L2_018
_diffrn_scan_frame.frame_number 18
loop_
_diffrn_scan_frame_axis.frame_id
_diffrn_scan_frame_axis.axis_id
_diffrn_scan_frame_axis.angle
_diffrn_scan_frame_axis.angle_increment
_diffrn_scan_frame_axis.displacement
_diffrn_scan_frame_axis.displacement_increment
mad_L2_018 omega 201.8 0.1 . .
mad_L2_018 kappa -40.0 0.0 . .
mad_L2_018 phi 127.5 0.0 . .
mad_L2_018 tranz . . 2.3 0.0
|
Example 2 - a more extensive example (R. M. Sweet, P. J. Ellis &
H. J. Bernstein).
A detector is placed 240 mm along the Z axis from the goniometer.
This leads to a choice: either the axes of
the detector are defined at the origin, and then a Z setting of -240
is entered, or the axes are defined with the necessary Z offset.
In this case, the setting is used and the offset is left as zero.
This axis is called DETECTOR_Z.
The axis for positioning the detector in the Y direction depends
on the detector Z axis. This axis is called DETECTOR_Y.
The axis for positioning the detector in the X direction depends
on the detector Y axis (and therefore on the detector Z axis).
This axis is called DETECTOR_X.
This detector may be rotated around the Y axis. This rotation axis
depends on the three translation axes. It is called DETECTOR_PITCH.
A coordinate system is defined on the face of the detector in terms of
2300 0.150 mm pixels in each direction. The ELEMENT_X axis is used to
index the first array index of the data array and the ELEMENT_Y
axis is used to index the second array index. Because the pixels
are 0.150mm X 0.150mm, the centre of the first pixel is at (0.075,
0.075) in this coordinate system.
###CBF: VERSION 1.1
data_image_1
# category DIFFRN
_diffrn.id P6MB
_diffrn.crystal_id P6MB_CRYSTAL7
# category DIFFRN_SOURCE
loop_
_diffrn_source.diffrn_id
_diffrn_source.source
_diffrn_source.type
P6MB synchrotron 'SSRL beamline 9-1'
# category DIFFRN_RADIATION
loop_
_diffrn_radiation.diffrn_id
_diffrn_radiation.wavelength_id
_diffrn_radiation.monochromator
_diffrn_radiation.polarizn_source_ratio
_diffrn_radiation.polarizn_source_norm
_diffrn_radiation.div_x_source
_diffrn_radiation.div_y_source
_diffrn_radiation.div_x_y_source
P6MB WAVELENGTH1 'Si 111' 0.8 0.0 0.08
0.01 0.00
# category DIFFRN_RADIATION_WAVELENGTH
loop_
_diffrn_radiation_wavelength.id
_diffrn_radiation_wavelength.wavelength
_diffrn_radiation_wavelength.wt
WAVELENGTH1 0.98 1.0
# category DIFFRN_DETECTOR
loop_
_diffrn_detector.diffrn_id
_diffrn_detector.id
_diffrn_detector.type
_diffrn_detector.number_of_axes
P6MB MAR345-SN26 'MAR 345' 4
# category DIFFRN_DETECTOR_AXIS
loop_
_diffrn_detector_axis.detector_id
_diffrn_detector_axis.axis_id
MAR345-SN26 DETECTOR_X
MAR345-SN26 DETECTOR_Y
MAR345-SN26 DETECTOR_Z
MAR345-SN26 DETECTOR_PITCH
# category DIFFRN_DETECTOR_ELEMENT
loop_
_diffrn_detector_element.id
_diffrn_detector_element.detector_id
ELEMENT1 MAR345-SN26
# category DIFFRN_DATA_FRAME
loop_
_diffrn_data_frame.id
_diffrn_data_frame.detector_element_id
_diffrn_data_frame.array_id
_diffrn_data_frame.binary_id
FRAME1 ELEMENT1 ARRAY1 1
# category DIFFRN_MEASUREMENT
loop_
_diffrn_measurement.diffrn_id
_diffrn_measurement.id
_diffrn_measurement.number_of_axes
_diffrn_measurement.method
P6MB GONIOMETER 3 rotation
# category DIFFRN_MEASUREMENT_AXIS
loop_
_diffrn_measurement_axis.measurement_id
_diffrn_measurement_axis.axis_id
GONIOMETER GONIOMETER_PHI
GONIOMETER GONIOMETER_KAPPA
GONIOMETER GONIOMETER_OMEGA
# category DIFFRN_SCAN
loop_
_diffrn_scan.id
_diffrn_scan.frame_id_start
_diffrn_scan.frame_id_end
_diffrn_scan.frames
SCAN1 FRAME1 FRAME1 1
# category DIFFRN_SCAN_AXIS
loop_
_diffrn_scan_axis.scan_id
_diffrn_scan_axis.axis_id
_diffrn_scan_axis.angle_start
_diffrn_scan_axis.angle_range
_diffrn_scan_axis.angle_increment
_diffrn_scan_axis.displacement_start
_diffrn_scan_axis.displacement_range
_diffrn_scan_axis.displacement_increment
SCAN1 GONIOMETER_OMEGA 12.0 1.0 1.0 0.0 0.0 0.0
SCAN1 GONIOMETER_KAPPA 23.3 0.0 0.0 0.0 0.0 0.0
SCAN1 GONIOMETER_PHI -165.8 0.0 0.0 0.0 0.0 0.0
SCAN1 DETECTOR_Z 0.0 0.0 0.0 -240.0 0.0 0.0
SCAN1 DETECTOR_Y 0.0 0.0 0.0 0.6 0.0 0.0
SCAN1 DETECTOR_X 0.0 0.0 0.0 -0.5 0.0 0.0
SCAN1 DETECTOR_PITCH 0.0 0.0 0.0 0.0 0.0 0.0
# category DIFFRN_SCAN_FRAME
loop_
_diffrn_scan_frame.frame_id
_diffrn_scan_frame.frame_number
_diffrn_scan_frame.integration_time
_diffrn_scan_frame.scan_id
_diffrn_scan_frame.date
FRAME1 1 20.0 SCAN1 1997-12-04T10:23:48
# category DIFFRN_SCAN_FRAME_AXIS
loop_
_diffrn_scan_frame_axis.frame_id
_diffrn_scan_frame_axis.axis_id
_diffrn_scan_frame_axis.angle
_diffrn_scan_frame_axis.displacement
FRAME1 GONIOMETER_OMEGA 12.0 0.0
FRAME1 GONIOMETER_KAPPA 23.3 0.0
FRAME1 GONIOMETER_PHI -165.8 0.0
FRAME1 DETECTOR_Z 0.0 -240.0
FRAME1 DETECTOR_Y 0.0 0.6
FRAME1 DETECTOR_X 0.0 -0.5
FRAME1 DETECTOR_PITCH 0.0 0.0
# category AXIS
loop_
_axis.id
_axis.type
_axis.equipment
_axis.depends_on
_axis.vector[1] _axis.vector[2] _axis.vector[3]
_axis.offset[1] _axis.offset[2] _axis.offset[3]
GONIOMETER_OMEGA rotation goniometer . 1 0 0 . . .
GONIOMETER_KAPPA rotation goniometer GONIOMETER_OMEGA 0.64279
0 0.76604 . . .
GONIOMETER_PHI rotation goniometer GONIOMETER_KAPPA 1 0 0
. . .
SOURCE general source . 0 0 1 . . .
GRAVITY general gravity . 0 -1 0 . . .
DETECTOR_Z translation detector . 0 0 1 0 0 0
DETECTOR_Y translation detector DETECTOR_Z 0 1 0 0 0 0
DETECTOR_X translation detector DETECTOR_Y 1 0 0 0 0 0
DETECTOR_PITCH rotation detector DETECTOR_X 0 1 0 0 0 0
ELEMENT_X translation detector DETECTOR_PITCH
1 0 0 172.43 -172.43 0
ELEMENT_Y translation detector ELEMENT_X
0 1 0 0 0 0
# category ARRAY_STRUCTURE_LIST
loop_
_array_structure_list.array_id
_array_structure_list.index
_array_structure_list.dimension
_array_structure_list.precedence
_array_structure_list.direction
_array_structure_list.axis_set_id
ARRAY1 1 2300 1 increasing ELEMENT_X
ARRAY1 2 2300 2 increasing ELEMENT_Y
# category ARRAY_STRUCTURE_LIST_AXIS
loop_
_array_structure_list_axis.axis_set_id
_array_structure_list_axis.axis_id
_array_structure_list_axis.displacement
_array_structure_list_axis.displacement_increment
ELEMENT_X ELEMENT_X 0.075 0.150
ELEMENT_Y ELEMENT_Y 0.075 0.150
# category ARRAY_ELEMENT_SIZE
loop_
_array_element_size.array_id
_array_element_size.index
_array_element_size.size
ARRAY1 1 150e-6
ARRAY1 2 150e-6
# category ARRAY_INTENSITIES
loop_
_array_intensities.array_id
_array_intensities.binary_id
_array_intensities.linearity
_array_intensities.gain
_array_intensities.gain_esd
_array_intensities.overload
_array_intensities.undefined_value
ARRAY1 1 linear 1.15 0.2 240000 0
# category ARRAY_STRUCTURE
loop_
_array_structure.id
_array_structure.encoding_type
_array_structure.compression_type
_array_structure.byte_order
ARRAY1 "signed 32-bit integer" packed little_endian
# category ARRAY_DATA
loop_
_array_data.array_id
_array_data.binary_id
_array_data.data
ARRAY1 1
;
--CIF-BINARY-FORMAT-SECTION--
Content-Type: application/octet-stream;
conversions="X-CBF_PACKED"
Content-Transfer-Encoding: BASE64
X-Binary-Size: 3801324
X-Binary-ID: 1
X-Binary-Element-Type: "signed 32-bit integer"
Content-MD5: 07lZFvF+aOcW85IN7usl8A==
AABRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBQSr1sKNBOeOe9HITdMdDUnbq7bg
...
8REo6TtBrxJ1vKqAvx9YDMD6J18Qg83OMr/tgssjMIJMXATDsZobL90AEXc4KigE
--CIF-BINARY-FORMAT-SECTION----
;
|
Example 3 - Example 2 revised for a spiral scan (R. M. Sweet,
P. J. Ellis & H. J. Bernstein).
A detector is placed 240 mm along the Z axis from the
goniometer, as in Example 2 above, but in this example the
image plate is scanned in a spiral pattern from the outside edge in.
The axis for positioning the detector in the Y direction depends
on the detector Z axis. This axis is called DETECTOR_Y.
The axis for positioning the detector in the X direction depends
on the detector Y axis (and therefore on the detector Z axis).
This axis is called DETECTOR_X.
This detector may be rotated around the Y axis. This rotation axis
depends on the three translation axes. It is called DETECTOR_PITCH.
A coordinate system is defined on the face of the detector in
terms of a coupled rotation axis and radial scan axis to form
a spiral scan. The rotation axis is called ELEMENT_ROT and the
radial axis is called ELEMENT_RAD. A 150 micrometre radial pitch
and a 75 micrometre 'constant velocity' angular pitch are assumed.
Indexing is carried out first on the rotation axis and the radial axis
is made to be dependent on it.
The two axes are coupled to form an axis set ELEMENT_SPIRAL.
###CBF: VERSION 1.1
data_image_1
# category DIFFRN
_diffrn.id P6MB
_diffrn.crystal_id P6MB_CRYSTAL7
# category DIFFRN_SOURCE
loop_
_diffrn_source.diffrn_id
_diffrn_source.source
_diffrn_source.type
P6MB synchrotron 'SSRL beamline 9-1'
# category DIFFRN_RADIATION
loop_
_diffrn_radiation.diffrn_id
_diffrn_radiation.wavelength_id
_diffrn_radiation.monochromator
_diffrn_radiation.polarizn_source_ratio
_diffrn_radiation.polarizn_source_norm
_diffrn_radiation.div_x_source
_diffrn_radiation.div_y_source
_diffrn_radiation.div_x_y_source
P6MB WAVELENGTH1 'Si 111' 0.8 0.0 0.08
0.01 0.00
# category DIFFRN_RADIATION_WAVELENGTH
loop_
_diffrn_radiation_wavelength.id
_diffrn_radiation_wavelength.wavelength
_diffrn_radiation_wavelength.wt
WAVELENGTH1 0.98 1.0
# category DIFFRN_DETECTOR
loop_
_diffrn_detector.diffrn_id
_diffrn_detector.id
_diffrn_detector.type
_diffrn_detector.number_of_axes
P6MB MAR345-SN26 'MAR 345' 4
# category DIFFRN_DETECTOR_AXIS
loop_
_diffrn_detector_axis.detector_id
_diffrn_detector_axis.axis_id
MAR345-SN26 DETECTOR_X
MAR345-SN26 DETECTOR_Y
MAR345-SN26 DETECTOR_Z
MAR345-SN26 DETECTOR_PITCH
# category DIFFRN_DETECTOR_ELEMENT
loop_
_diffrn_detector_element.id
_diffrn_detector_element.detector_id
ELEMENT1 MAR345-SN26
# category DIFFRN_DATA_FRAME
loop_
_diffrn_data_frame.id
_diffrn_data_frame.detector_element_id
_diffrn_data_frame.array_id
_diffrn_data_frame.binary_id
FRAME1 ELEMENT1 ARRAY1 1
# category DIFFRN_MEASUREMENT
loop_
_diffrn_measurement.diffrn_id
_diffrn_measurement.id
_diffrn_measurement.number_of_axes
_diffrn_measurement.method
P6MB GONIOMETER 3 rotation
# category DIFFRN_MEASUREMENT_AXIS
loop_
_diffrn_measurement_axis.measurement_id
_diffrn_measurement_axis.axis_id
GONIOMETER GONIOMETER_PHI
GONIOMETER GONIOMETER_KAPPA
GONIOMETER GONIOMETER_OMEGA
# category DIFFRN_SCAN
loop_
_diffrn_scan.id
_diffrn_scan.frame_id_start
_diffrn_scan.frame_id_end
_diffrn_scan.frames
SCAN1 FRAME1 FRAME1 1
# category DIFFRN_SCAN_AXIS
loop_
_diffrn_scan_axis.scan_id
_diffrn_scan_axis.axis_id
_diffrn_scan_axis.angle_start
_diffrn_scan_axis.angle_range
_diffrn_scan_axis.angle_increment
_diffrn_scan_axis.displacement_start
_diffrn_scan_axis.displacement_range
_diffrn_scan_axis.displacement_increment
SCAN1 GONIOMETER_OMEGA 12.0 1.0 1.0 0.0 0.0 0.0
SCAN1 GONIOMETER_KAPPA 23.3 0.0 0.0 0.0 0.0 0.0
SCAN1 GONIOMETER_PHI -165.8 0.0 0.0 0.0 0.0 0.0
SCAN1 DETECTOR_Z 0.0 0.0 0.0 -240.0 0.0 0.0
SCAN1 DETECTOR_Y 0.0 0.0 0.0 0.6 0.0 0.0
SCAN1 DETECTOR_X 0.0 0.0 0.0 -0.5 0.0 0.0
SCAN1 DETECTOR_PITCH 0.0 0.0 0.0 0.0 0.0 0.0
# category DIFFRN_SCAN_FRAME
loop_
_diffrn_scan_frame.frame_id
_diffrn_scan_frame.frame_number
_diffrn_scan_frame.integration_time
_diffrn_scan_frame.scan_id
_diffrn_scan_frame.date
FRAME1 1 20.0 SCAN1 1997-12-04T10:23:48
# category DIFFRN_SCAN_FRAME_AXIS
loop_
_diffrn_scan_frame_axis.frame_id
_diffrn_scan_frame_axis.axis_id
_diffrn_scan_frame_axis.angle
_diffrn_scan_frame_axis.displacement
FRAME1 GONIOMETER_OMEGA 12.0 0.0
FRAME1 GONIOMETER_KAPPA 23.3 0.0
FRAME1 GONIOMETER_PHI -165.8 0.0
FRAME1 DETECTOR_Z 0.0 -240.0
FRAME1 DETECTOR_Y 0.0 0.6
FRAME1 DETECTOR_X 0.0 -0.5
FRAME1 DETECTOR_PITCH 0.0 0.0
# category AXIS
loop_
_axis.id
_axis.type
_axis.equipment
_axis.depends_on
_axis.vector[1] _axis.vector[2] _axis.vector[3]
_axis.offset[1] _axis.offset[2] _axis.offset[3]
GONIOMETER_OMEGA rotation goniometer . 1 0 0 . . .
GONIOMETER_KAPPA rotation goniometer GONIOMETER_OMEGA 0.64279
0 0.76604 . . .
GONIOMETER_PHI rotation goniometer GONIOMETER_KAPPA 1 0 0
. . .
SOURCE general source . 0 0 1 . . .
GRAVITY general gravity . 0 -1 0 . . .
DETECTOR_Z translation detector . 0 0 1 0 0 0
DETECTOR_Y translation detector DETECTOR_Z 0 1 0 0 0 0
DETECTOR_X translation detector DETECTOR_Y 1 0 0 0 0 0
DETECTOR_PITCH rotation detector DETECTOR_X 0 1 0 0 0 0
ELEMENT_ROT translation detector DETECTOR_PITCH 0 0 1 0 0 0
ELEMENT_RAD translation detector ELEMENT_ROT 0 1 0 0 0 0
# category ARRAY_STRUCTURE_LIST
loop_
_array_structure_list.array_id
_array_structure_list.index
_array_structure_list.dimension
_array_structure_list.precedence
_array_structure_list.direction
_array_structure_list.axis_set_id
ARRAY1 1 8309900 1 increasing ELEMENT_SPIRAL
# category ARRAY_STRUCTURE_LIST_AXIS
loop_
_array_structure_list_axis.axis_set_id
_array_structure_list_axis.axis_id
_array_structure_list_axis.angle
_array_structure_list_axis.displacement
_array_structure_list_axis.angular_pitch
_array_structure_list_axis.radial_pitch
ELEMENT_SPIRAL ELEMENT_ROT 0 . 0.075 .
ELEMENT_SPIRAL ELEMENT_RAD . 172.5 . -0.150
# category ARRAY_ELEMENT_SIZE
# the actual pixels are 0.075 by 0.150 mm
# We give the coarser dimension here.
loop_
_array_element_size.array_id
_array_element_size.index
_array_element_size.size
ARRAY1 1 150e-6
# category ARRAY_INTENSITIES
loop_
_array_intensities.array_id
_array_intensities.binary_id
_array_intensities.linearity
_array_intensities.gain
_array_intensities.gain_esd
_array_intensities.overload
_array_intensities.undefined_value
ARRAY1 1 linear 1.15 0.2 240000 0
# category ARRAY_STRUCTURE
loop_
_array_structure.id
_array_structure.encoding_type
_array_structure.compression_type
_array_structure.byte_order
ARRAY1 "signed 32-bit integer" packed little_endian
# category ARRAY_DATA
loop_
_array_data.array_id
_array_data.binary_id
_array_data.data
ARRAY1 1
;
--CIF-BINARY-FORMAT-SECTION--
Content-Type: application/octet-stream;
conversions="X-CBF_PACKED"
Content-Transfer-Encoding: BASE64
X-Binary-Size: 3801324
X-Binary-ID: 1
X-Binary-Element-Type: "signed 32-bit integer"
Content-MD5: 07lZFvF+aOcW85IN7usl8A==
AABRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBQSr1sKNBOeOe9HITdMdDUnbq7bg
...
8REo6TtBrxJ1vKqAvx9YDMD6J18Qg83OMr/tgssjMIJMXATDsZobL90AEXc4KigE
--CIF-BINARY-FORMAT-SECTION----
;
|
Mandatory category: no
Copyright © 2005 International Union of Crystallography