DRAFT DICTIONARY

CBF/imgCIF Extensions Dictionary

Draft version 1.5 for comment


[IUCr Home Page] [CIF Home Page] [CBF/imgCIF] [CBFlib]


Index

Image dictionary (imgCIF) version 1.5.4

Revision history

========================================================================
Version 1.5.4 (2007-07-28)
------------------------------------------------------------------------
  Typographics corrections (HJB)

     + Corrected embedded degree characters to \%
     + Corrected embedded Aring to \%A
     + Added trailing ^ for a power
     + Removed 2 cases of a space after an underscore
       in tag name.

========================================================================
Version 1.5.3 (2007-07-08)
------------------------------------------------------------------------
  Changes to support SLS miniCBF and suggestions
   from the 24 May 07 BNL imgCIF workshop (HJB)

     + Added new data items
       '_array_data.header_contents',
       '_array_data.header_convention',
       '_diffrn_data_frame.center_fast',
       '_diffrn_data_frame.center_slow',
       '_diffrn_data_frame.center_units',
       '_diffrn_measurement.sample_detector_distance',
       '_diffrn_measurement.sample_detector_voffset
     + Deprecated data items
       '_diffrn_detector_element.center[1]',
       '_diffrn_detector_element.center[2]'
     + Added comments and example on miniCBF
     + Changed all array_id data items to implicit

========================================================================
Version 1.5.2 (2007-05-06)
------------------------------------------------------------------------
  Further clarifications of the coordinate system. (HJB)

========================================================================
Version 1.5.1 (2007-04-26)
------------------------------------------------------------------------
  Improve defintion of X-axis to cover the case of no goniometer
   and clean up more line folds (HJB)

========================================================================
Version 1.5 (2007-07-25)
------------------------------------------------------------------------
  This is a cummulative list of the changes proposed since the
   imgCIF workshop in Hawaii in July 2006.  It is the result
   of contributions by H. J. Bernstein, A. Hammersley,
   J. Wright and W. Kabsch.

   2007-02-19 Consolidated changes (edited by HJB)
     + Added new data items
       '_array_structure.compression_type_flag',
       '_array_structure_list_axis.fract_displacement',
       '_array_structure_list_axis.displacement_increment',
       '_array_structure_list_axis.reference_angle',
       '_array_structure_list_axis.reference_displacement',
       '_axis.system',
       '_diffrn_detector_element.reference_center_fast',
       '_diffrn_detector_element.reference_center_slow',
       '_diffrn_scan_axis.reference_angle',
       '_diffrn_scan_axis.reference_displacement',
       '_map.details', '_map.diffrn_id',
       '_map.entry_id', '_map.id',
       '_map_segment.array_id', '_map_segment.binary_id',
       '_map_segment.mask_array_id', '_map_segment.mask_binary_id',
       '_map_segment.id', '_map_segment.map_id',
       '_map_segment.details.
     + Change type of
       '_array_structure.byte_order' and
       '_array_structure.compression_type'
       to ucode to make these values case-insensitive
     + Add values 'packed_v2' and 'byte_offset' to enumeration of values for
       '_array_structure.compression_type'
     + Add to definitions for the binary data type to handle new compression 
       types, maps, and a variety of new axis types.
    2007-07-25 Cleanup of typos for formal release (HJB)
     + Corrected text fields for reference_ tag descriptions that
       were off by one column
     + Fix typos in comments listing fract_ tags
     + Changed name of release from 1.5_DRAFT to 1.5
     + Fix unclosed text fields in various map definitions


========================================================================
Version 1.4 (2006-07-04)
------------------------------------------------------------------------
  This is a change to reintegrate all changes made in the course of
   publication of ITVG, by the RCSB from April 2005 through
   August 2008 and changes for the 2006 imgCIF workshop in
   Hawaii.

   2006-07-04 Consolidated changes for the 2006 imgCIF workshop (edited by HJB)
     + Correct type of '_array_structure_list.direction' from 'int' to 'code'.
     + Added new data items suggested by CN
       '_diffrn_data_frame.details'
       '_array_intensities.pixel_fast_bin_size',
       '_array_intensities.pixel_slow_bin_size and
       '_array_intensities.pixel_binning_method
     + Added deprecated item for completeness
       '_diffrn_frame_data.details'
     + Added entry for missing item in contents list
       '_array_structure_list_axis.displacement'
     + Added new MIME type X-BASE32K based on work by VL, KM, GD, HJB
     + Correct description of MIME boundary delimiter to start in
       column 1.
     + General cleanup of text fields to conform to changes for ITVG
       by removing empty lines at start and finish of text field.
     + Amend example for ARRAY_INTENSITIES to include binning.
     + Add local copy of type specification (as 'code') for all children
       of '_diffrn.id'.
     + For consistency, change all references to 'pi' to '\p' and all
       references to 'Angstroms' to '\%Angstroms'.
     + Clean up all powers to use IUCr convention of '^power^', as in
       '10^3^' for '10**3'.
     + Update 'yyyy-mm-dd' type regex to allow truncation from the right
       and improve comments to explain handling of related mmCIF
       'yyyy-mm-dd:hh:mm' type, and use of 'Z' for GMT time zone.

   2005-03-08 and
   2004-08-08 fixed cases where _item_units.code  used
              instead of _item_type.code (JDW)
   2004-04-15 fixed item ordering in
               _diffrn_measurement_axis.measurement_id
               added sub_category 'vector' (JDW)

========================================================================
Version 1.3.2 (2005-06-25)
------------------------------------------------------------------------
  2005-06-25 ITEM_TYPE_LIST: code, ucode, line, uline regexps updated
              to those of current mmCIF; float modified by allowing integers
              terminated by a point as valid. The 'time' part of
              yyyy-mm-dd types made optional in the regexp. (BM)

   2005-06-17 Minor corrections as for proofs for IT G Chapter 4.6
   (NJA)

   2005-02-21  Minor corrections to spelling and punctuation
   (NJA)

   2005-01-08 Changes as per Nicola Ashcroft.
   + Updated example 1 for DIFFRN_MEASUREMENT to agree with mmCIF.
   + Spelled out "micrometres" for "um" and "millimetres" for "mm".
   + Removed phrase "which may be stored" from ARRAY_STRUCTURE
     description.
   + Removed unused 'byte-offsets' compressions and updated
     cites to ITVG for '_array_structure.compression_type'.
   (HJB)

========================================================================
Version 1.3.1 (2003-08-13)
------------------------------------------------------------------------

   Changes as per Frances C. Bernstein.
   + Identify initials.
   + Adopt British spelling for centre in text.
   + Set \p and \%Angstrom and powers.
   + Clean up commas and unclear wordings.
   + Clean up tenses in history.
   Changes as per Gotzon Madariaga.
   + Fix the ARRAY_DATA example to align '_array_data.binary_id'
   and X-Binary-ID.
   + Add a range to '_array_intensities.gain_esd'.
   + In the example of DIFFRN_DETECTOR_ELEMENT,
   '_diffrn_detector_element.id' and
   '_diffrn_detector_element.detector_id' interchanged.
   + Fix typos for direction, detector and axes.
   + Clarify description of polarisation.
   + Clarify axes in '_diffrn_detector_element.center[1]'
    '_diffrn_detector_element.center[2]'.
   + Add local item types for items that are pointers.
   (HJB)

========================================================================
Version 1.3.0 (2003-07-24)
------------------------------------------------------------------------

   Changes as per Brian McMahon.
   + Consistently quote tags embedded in text.
   + Clean up introductory comments.
   + Adjust line lengths to fit in 80 character window.
   + Fix several descriptions in AXIS category which
     referred to '_axis.type' instead of the current item.
   + Fix erroneous use of deprecated item
     '_diffrn_detector_axis.id' in examples for
     DIFFRN_SCAN_AXIS.
   + Add deprecated items '_diffrn_detector_axis.id'
     and '_diffrn_measurement_axis.id'.
   (HJB)

========================================================================
Version 1.2.4 (2003-07-14)
------------------------------------------------------------------------

   Changes as per I. David Brown.
   + Enhance descriptions in DIFFRN_SCAN_AXIS to make them less
     dependent on the descriptions in DIFFRN_SCAN_FRAME_AXIS.
   + Provide a copy of the deprecated DIFFRN_FRAME_DATA
     category for completeness.
   (HJB)

========================================================================
Version 1.2.3 (2003-07-03)
------------------------------------------------------------------------

   Cleanup to conform to ITVG.
   + Correct sign error in ..._cubed units.
   + Correct '_diffrn_radiation.polarisn_norm' range.
   (HJB)

========================================================================
Version 1.2.2 (2003-03-10)
------------------------------------------------------------------------

   Correction of typos in various DIFFRN_SCAN_AXIS descriptions.
   (HJB)

========================================================================
Version 1.2.1 (2003-02-22)
------------------------------------------------------------------------

   Correction of ATOM_ for ARRAY_ typos in various descriptions.
   (HJB)

========================================================================
Version 1.2 (2003-02-07)
------------------------------------------------------------------------

   Corrections to encodings (remove extraneous hyphens) remove
   extraneous underscore in '_array_structure.encoding_type'
   enumeration.  Correct typos in items units list.  (HJB)

========================================================================
Version 1.1.3 (2001-04-19)
------------------------------------------------------------------------

   Another typo corrections by Wilfred Li, and cleanup by HJB.

========================================================================
Version 1.1.2 (2001-03-06)
------------------------------------------------------------------------

   Several typo corrections by Wilfred Li.

========================================================================
Version 1.1.1 (2001-02-16)
------------------------------------------------------------------------

   Several typo corrections by JW.

========================================================================
Version 1.1 (2001-02-06)
------------------------------------------------------------------------

   Draft resulting from discussions on header for use at NSLS.  (HJB)

   + Change DIFFRN_FRAME_DATA to DIFFRN_DATA_FRAME.

   + Change '_diffrn_detector_axis.id' to '_diffrn_detector_axis.detector_id'.

   + Add '_diffrn_measurement_axis.measurement_device' and change
     '_diffrn_measurement_axis.id' to
     '_diffrn_measurement_axis.measurement_id'.

   + Add '_diffrn_radiation.div_x_source', '_diffrn_radiation.div_y_source',
    '_diffrn_radiation.div_x_y_source',
    '_diffrn_radiation.polarizn_source_norm',
   '_diffrn_radiation.polarizn_source_ratio', '_diffrn_scan.date_end',
   '_diffrn_scan.date_start', '_diffrn_scan_axis.angle_rstrt_incr',
   '_diffrn_scan_axis.displacement_rstrt_incr',
   '_diffrn_scan_frame_axis.angle_increment',
   '_diffrn_scan_frame_axis.angle_rstrt_incr',
   '_diffrn_scan_frame_axis.displacement',
   '_diffrn_scan_frame_axis.displacement_increment',and
   '_diffrn_scan_frame_axis.displacement_rstrt_incr'.

   + Add '_diffrn_measurement.device' to category key.

   + Update yyyy-mm-dd to allow optional time with fractional seconds
     for time stamps.

   + Fix typos caught by RS.

   + Add ARRAY_STRUCTURE_LIST_AXIS category, and use concept of axis sets to
     allow for coupled axes, as in spiral scans.

   + Add examples for fairly complete headers thanks to R. Sweet and P.
     Ellis.

========================================================================
Version 1.0 (2000-12-21)
------------------------------------------------------------------------

   Release version - few typos and tidying up.  (BM & HJB)

   + Move ITEM_TYPE_LIST, ITEM_UNITS_LIST and DICTIONARY_HISTORY to end
   of dictionary.

   + Alphabetize dictionary.

========================================================================
Version 0.7.1 (2000-09-29)
------------------------------------------------------------------------

   Cleanup fixes.  (JW)

   + Correct spelling of diffrn_measurement_axis in '_axis.id'

   + Correct ordering of uses of '_item.mandatory_code' and
   '_item_default.value'.

========================================================================
Version 0.7.0 (2000-09-09)
------------------------------------------------------------------------

   Respond to comments by I. David Brown.  (HJB)

   + Add further comments on '\n' and '\t'.

   + Update ITEM_UNITS_LIST by taking section from mmCIF dictionary
     and adding metres.  Change 'meter' to 'metre' throughout.

   + Add missing enumerations to '_array_structure.compression_type'
     and make 'none' the default.

   + Remove parent-child relationship between
     '_array_structure_list.index' and '_array_structure_list.precedence'.

   + Improve alphabetization.

   + Fix '_array_intensities_gain.esd' related function.

   + Improve comments in AXIS.

   + Fix DIFFRN_FRAME_DATA example.

   + Remove erroneous DIFFRN_MEASUREMENT example.

   + Add '_diffrn_measurement_axis.id' to the category key.

========================================================================
Version 0.6.0 (1999-01-14)
------------------------------------------------------------------------

   Remove redundant information for ENC_NONE data.  (HJB)

   + After the D5 remove binary section identifier, size and
     compression type.

   + Add Control-L to header.

========================================================================
Version 0.5.1 (1999-01-03)
------------------------------------------------------------------------

   Cleanup of typos and syntax errors.  (HJB)

   + Cleanup example details for DIFFRN_SCAN category.

   + Add missing quote marks for '_diffrn_scan.id' definition.

========================================================================
Version 0.5 (1999-01-01)
------------------------------------------------------------------------

   Modifications for axis definitions and reduction of binary header.  (HJB)

   + Restore '_diffrn_detector.diffrn_id' to DIFFRN_DETECTOR KEY.

   + Add AXIS category.

   + Bring in complete DIFFRN_DETECTOR and DIFFRN_MEASUREMENT categories
     from cif_mm.dic for clarity.

   + Change '_array_structure.encoding_type' from type code to uline and
     added X-Binary-Element-Type to MIME header.

   + Add detector beam centre '_diffrn_detector_element.center[1]' and
     '_diffrn_detector_element.center[2]'.

   + Correct item name of '_diffrn_refln.frame_id'.

   + Replace reference to '_array_intensities.undefined' by
     '_array_intensities.undefined_value'.

   + Replace references to '_array_intensity.scaling' with
     '_array_intensities.scaling'.

   + Add DIFFRN_SCAN... categories.

========================================================================
Version 0.4 (1998-08-11)
------------------------------------------------------------------------

   Modifications to the 0.3 imgCIF draft.  (HJB)

   + Reflow comment lines over 80 characters and corrected typos.

   + Update examples and descriptions of MIME encoded data.

   + Change name to cbfext98.dic.

========================================================================
Version 0.3 (1998-07-04)
------------------------------------------------------------------------

   Modifications for imgCIF.  (HJB)

   + Add binary type, which is a text field containing a variant on
     MIME encoded data.

   + Change type of '_array_data.data' to binary and specify internal
     structure of raw binary data.

   + Add '_array_data.binary_id', and make
     '_diffrn_frame_data.binary_id' and '_array_intensities.binary_id'
     into pointers to this item.

========================================================================
Version 0.2 (1997-12-02)
------------------------------------------------------------------------

   Modifications to the CBF draft.  (JW)

   + Add category hierarchy for describing frame data developed from
     discussions at the BNL imgCIF Workshop Oct 1997.   The following
     changes are made in implementing the workshop draft.  Category
     DIFFRN_ARRAY_DATA is renamed to DIFFRN_FRAME_DATA.  Category
     DIFFRN_FRAME_TYPE is renamed to DIFFRN_DETECTOR_ELEMENT.   The
     parent item for '_diffrn_frame_data.array_id' is changed from
     '_array_structure_list.array_id' to '_array_structure.id'. Item
     '_diffrn_detector.array_id' is deleted.
   + Add data item '_diffrn_frame_data.binary_id' to identify data
     groups within a binary section.  The formal identification of the
     binary section is still fuzzy.

========================================================================
Version 0.1 (1997-01-24)
------------------------------------------------------------------------

   First draft of this dictionary in DDL 2.1 compliant format by John
   Westbrook (JW).  This version is adapted from the Crystallographic
   Binary File (CBF) Format Draft Proposal provided by Andy Hammersley
   (AH).

   Modifications to the CBF draft.  (JW)

   + In this version the array description has been cast in the categories
     ARRAY_STRUCTURE and ARRAY_STRUCTURE_LIST.  These categories
     have been generalized to describe array data  of arbitrary dimension.

   + Array data in this description are contained in the category
     ARRAY_DATA.  This departs from the CBF notion of data existing
     in some special comment. In this description, data are handled as an
     ordinary data item encapsulated in a character data type.   Although
     data this manner deviates from CIF conventions, it does not violate
     any DDL 2.1 rules.  DDL 2.1 regular expressions can be used to define
     the binary representation which will permit some level of data
     validation.  In this version, the placeholder type code "any" has
     been used. This translates to a regular expression which will match
     any pattern.

     It should be noted that DDL 2.1 already supports array data objects
     although these have not been used in the current mmCIF dictionary.
     It may be possible to use the DDL 2.1 ITEM_STRUCTURE and
     ITEM_STRUCTURE_LIST categories to provide the information that is
     carried in by the ARRAY_STRUCTURE and ARRAY_STRUCTURE_LIST.  By
     moving the array structure to the DDL level it would be possible to
     define an array type as well as a regular expression defining the
     data format.

   + Multiple array sections can be properly handled within a single
     datablock.

========================================================================

HTML version of draft dictionary created by modified version of makedicthtml by B. McMahon from modified version of imgCIF dcitionary 1.3.2 which is subject to the following copyright: