[NeXus-definitions-tickets] [NeXusDefinitions] #268: CIF->NeXus mapping

NeXus Base Classes and Instrument Definitions noreply at nexusformat.org
Tue Sep 17 23:41:04 BST 2013


#268: CIF->NeXus mapping
-------------------------+------------------------
 Reporter:  Pete Jemian  |      Owner:  Unassigned
     Type:  task         |     Status:  new
 Priority:  major        |  Milestone:  NXDL 3.2
Component:  general      |   Keywords:  CIF
-------------------------+------------------------
 as emailed from Tobias Richter, 2013-09-17
 {{{


 Additions/Changes required for CIF conversion
 ---------------------------------------------

 A faithful mapping of CIF data into NeXus requires some changes or
 additions to what is currently *documented*. For example the geometry
 decritpion is (largely) part of the official standard, but has not been
 put in NXDL yet. Some items are new or different, though.

 translation and rotation
 ========================

 * no particular name
 * a 'transformation_type' attribute which should be set to 'rotation' or
 'translation'
 * a 'vector' attribute defining the axis to rotate around or to translate
 in(I assume in a right-handed direction), whose magnitude is not
 significant;
 * units given by the 'units' attribute;
 * an offset defining a point to be rotated around, relative to the origin
 of the local coordinate system (with units given by the 'offset_units'
 attribute, which doesn't have a natural default but can be omitted if the
 offset is zero and is not used here);
 * a 'depends_on' attribute with the path to the previous axis in the
 chain. A '.' denotes the coordinate system origin

 depends_on as field
 ===================

 Instead of NXgeometry or the like any (sensible) NXclass can carry a
 depends_on field to enter the chain of transformations that places that
 device in space.

 This needs a definition where on each device it's own origin lies.

 NXgoniometer
 ============

 We write an NXgoniometer group that contains the group of axes provided by
 a piece of equipment for which usually a single purchase order is issued.
 This keeps things toegther that scientists think of as one unit.
 Not much would be lost if we used an NXcollection instead though.

 In fact our NXdetector carries a set of transformations in an NXcollection
 (named "axes" currently - which isn't nice).

 NXdetector added scaling_factor
 ===============================

 As far as I could see scaling_factor was only defined inside NXdata.
 It should (with offset) be also in NXdetector.

 NXdetector documentation
 ========================

 CIF has:

 diffrn_detector.type 'ADSC QUANTUM315'
 we currently map it to NXdetector/description

 diffrn_detector.details 'slow mode'
 we currently map it to NXdetector/details (which is new)

 diffrn_detector.detector 'pixel array'
 we currently map it to NXdetector/type

 NXcollimator
 ============

 Jonathan currently maps to this, but from the documentation this looks
 like a false friend in the translation as
 NXcollimator appears to be neutron only. What is the last status of
 http://wiki.nexusformat.org/NXaperture_and_Slits ?

 new (canSAS-style) axes
 =======================

 We use @axes, @signal and @<axisdataset>_indices on NXdata as presented to
 NIAC in 2012.

 polarisation
 ============

 The current array indices for recording polarisation is wrong. The scheme
 to record polarisation could be more precise.
 We now write:

 /entry/sample/beam/incident_polarisation_stokes

 The _stokes could be implied by the dataset being 4 long.

 See http://en.wikipedia.org/wiki/Stokes_parameters

 }}}

-- 
Ticket URL: <http://trac.nexusformat.org/definitions/ticket/268>
NeXus Base Classes and Instrument Definitions <http://www.nexusformat.org/>
NeXus Base Classes and Instrument Definitions



More information about the NeXus-definitions-tickets mailing list