Discussion List Archives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Imgcif-l] imgCIF X axis

  • To: The Crystallographic Binary File and its imgCIF application to image data<imgcif-l@iucr.org>
  • Subject: Re: [Imgcif-l] imgCIF X axis
  • From: James H via imgcif-l <imgcif-l@iucr.org>
  • Date: Thu, 23 Jun 2022 10:36:17 +1000
  • Cc: James H <jamesrhester@gmail.com>
  • In-Reply-To: <83b02817-d35f-8e5d-afa4-d9a87d401df0@esrf.fr>
  • References: <CAM+dB2c5Hv=g03gGkC4==awB_ygVL6Hvdp-vf6R86pVOoRSmYQ@mail.gmail.com><CABcsX25oGH95vP8RLOET9R=BQZHDoizOu4FDht2ZjbXuYyYw8g@mail.gmail.com><CAM+dB2cRnOFZA+6RLD4oBEbz769aJ2TU-02NpeSFPUaBUKty0Q@mail.gmail.com><CABcsX24zMJ8yU+JFVKLOxaQKy02cMwE2h5eobWc_4C+NRkxmjw@mail.gmail.com><CAM+dB2dqj7M_PEpftjo3H5zfV98=80XQC6Hf-qDQ2SoUOk-qHg@mail.gmail.com><CABcsX24roBmnZ5wtsqXctbgoF5EmxTkEYAaMKHGL7wQDOZKt6g@mail.gmail.com><CAM+dB2eub4fzZexSig9cZqBooR+iiVspOyzNy7yfAcZUpm-xrA@mail.gmail.com><CABcsX25Q33aGhFm-hBFOXk6vLuu-MkLZk9B7wkgioYWo_KZFEQ@mail.gmail.com><83b02817-d35f-8e5d-afa4-d9a87d401df0@esrf.fr>
Hi Jon,

On Thu, 23 Jun 2022 at 03:12, Jonathan WRIGHT via imgcif-l <
imgcif-l@iucr.org> wrote:

> Dear Herbert, James,
>
> Thanks for sharing the useful discussion. A few queries on co-ordinate
> axis
> conventions:
>
> - what to do when there is no diffractometer for the sample? e.g. a 2D
> detector
> for a simple saxs/powder setup. Is a detector pixel direction then a
> principle
> direction? Any preference for which one?
>

The selection of the X axis is covered by the dictionary for this case, by
my reading it should be the fast pixel direction on the detector, see
https://github.com/yayahjb/cbflib/blob/main/doc/cif_img_1.8.6.dic#L3236

>
> - what to do when the X-ray beam direction changes? When adding a KB
> mirror the
> X-ray beam moves sideways and up (as well as focusing). There seem to be
> dual
> source instruments on the market too.
>

> I guess the Milch and Minor [1] recipe for finding spot positions (and
> others
> like it) is a good motivation for putting co-ordinate vectors along a
> rotation
> axis. For people with moving X-ray beams, the first few axes on the floor
> (translations + tilt) are often there just to follow the beam. For those
> cases,
> you might want to keep the principle axis as one that stays aligned to the
> beam
> and rotates during the experiment.
>

Sounds reasonable to me. A basic design criterion for such instruments
would be that there was a rotation axis that could be moved to intersect
the beam.
The dictionary (near the line referenced above) does require that the X
axis aligns with a positioner axis that intersects the origin, so
positioners that move
parallel to the beam shouldn't be used as the X axis. The "laboratory"
coordinate system ends up ducking and weaving to follow the beam, and the
positioner
axis directions under the rotation axis (and e.g. gravity) have no fixed
direction so could only be represented by either starting a new data block
every time the beam
position changed, or using the "_axis.variant" tag.


> Best regards,
> 
> Jon
> ===
> 
> [1] J. Appl. Cryst. (1974). 7, 502-505.
> https://doi.org/10.1107/S0021889874010284
> 
> On 22/06/2022 16:47, Herbert J. Bernstein via imgcif-l wrote:
> > Dear James,
> >    I am used to omega at the bottom, not kappa, so it would be omega on
> top
> > of
> > a translational positioner.  I would expect one of the translational
> rails
> > to be
> > the principal axis.
> >    Regards,
> >      Herbert
> >
> > On Wed, Jun 22, 2022 at 10:36 AM James H <jamesrhester@gmail.com> wrote:
> >
> >> My comments in relation to kappa were simply in response to your
> apparent
> >> suggestion that my working principle of the "bottom-most rotation axis"
> >> being the principal axis might not work very well if a kappa axis is
> >> sitting on top of translation stages. However, if there is an omega axis
> >> somewhere underneath the kappa axis, as in the example you just
> provided,
> >> then that working principle remains valid.
> >>
> >> If we return to your original example of a kappa axis sitting on top of
> >> translation stages, with no further rotation axes underneath, can you
> >> please explain what the principal axis must be in this case? The
> positive
> >> direction of movement of the bottom-most translation stage perhaps?
> >>
> >> I agree that in a few places the documentation both in Vol G and the
> >> dictionary does need to be improved. In my experience the concept of a
> >> "principal axis" is not readily understood by the general reader (not
> just
> >> me) so should be explained. Your kappa on translation stage example
> might
> >> be very illuminating in this case. And emphasising that the direction
> of X
> >> matches the direction of the principal axis (not just "aligns") might
> also
> >> help.
> >>
> >> I would be very surprised if the issues with NSLS and DLS had anything
> to
> >> do with the coordinate system as such. The laws of physics are invariant
> >> against rotation and translation, so I suspect that the problem was more
> >> likely to be that some axis somewhere was not given the correct
> components
> >> relative to the chosen coordinate system.
> >>
> >> all the best,
> >> James.
> >>
> >>
> >> On Wed, 22 Jun 2022 at 22:26, Herbert J. Bernstein <yayahjb@gmail.com>
> >> wrote:
> >>
> >>> Dear James,
> >>>    Here is an example from the AXIS category i the dictionary:
> >>>
> >>>   Example 1.
> >>>
> >>>          This example shows the axis specification of the axes of a
> >>>          kappa-geometry goniometer [see Stout, G. H. & Jensen, L. H.
> >>>          (1989). X-ray structure determination. A practical
> >>>          guide, 2nd ed. p. 134. New York: Wiley Interscience].
> >>>
> >>>          There are three axes specified, and no offsets.  The
> outermost axis,
> >>>          omega, is pointed along the *X* axis.  The next innermost
> axis, kappa,
> >>>          is at a 50 degree angle to the *X* axis, pointed away from
> the source.
> >>>          The innermost axis, phi, aligns with the *X* axis when omega
> and
> >>>          phi are at their zero points.  If T-omega, T-kappa and T-phi
> >>>          are the transformation matrices derived from the axis
> settings,
> >>>          the complete transformation would be:
> >>>              *X*' = (T-omega) (T-kappa) (T-phi) *X*
> >>> ;
> >>> ;
> >>>           loop_
> >>>          _axis.id <
> http://www.bernstein-plus-sons.com/software/CBF/doc/cif_img_1.8.4.html#_axis.i
d
> >
> >>>          _axis.type <
> http://www.bernstein-plus-sons.com/software/CBF/doc/cif_img_1.8.4.html#_axis.t
ype
> >
> >>>          _axis.equipment <
> http://www.bernstein-plus-sons.com/software/CBF/doc/cif_img_1.8.4.html#_axis.e
quipment
> > 
> >>>          _axis.depends_on <
> http://www.bernstein-plus-sons.com/software/CBF/doc/cif_img_1.8.4.html#_axis.d
epends_on
> >
> >>>          _axis.vector[1] <
> http://www.bernstein-plus-sons.com/software/CBF/doc/cif_img_1.8.4.html#_axis.v
ector[1]>
> _axis.vector[2] <
> http://www.bernstein-plus-sons.com/software/CBF/doc/cif_img_1.8.4.html#_axis.v
ector[2]>
> _axis.vector[3] <
> http://www.bernstein-plus-sons.com/software/CBF/doc/cif_img_1.8.4.html#_axis.v
ector[3]
> >
> >>>          omega rotation goniometer     .    1        0        0
> >>>          kappa rotation goniometer omega    -.64279  0       -.76604
> >>>          phi   rotation goniometer kappa    1        0        0
> >>> ;
> >>>
> >>>
> >>>
> >>> Note that it is omega and phi that point along X, not kappa and omega
> is
> >>> grounded, so I really
> >>> did mean omega as the principal axis is this case.  I also do mean to
> >>> suggest that a
> >>> translation rail can define X.  Please tell me what in the dictionary
> you
> >>> are seeing that
> >>> says that "kappa axis to be the principal axis, no questions asked".
> It
> >>> comes as a
> >>> surprise to me.
> >>>
> >>> At NSLS-II and DLS the choice of coordinate system has had a definite
> >>> impact on analysis
> >>> of the data.  Flipping X messes up handling of the beam center, which
> >>> leads to one
> >>> of these annoying hunts through the 8 alternatives which can undo beam
> >>> center flips.
> >>>
> >>> Please send me a copy of the documentation you are working from.  It
> >>> sounds like we
> >>> have some work to do to make sure this is really clear.
> >>>
> >>> Regards,
> >>>      Herbert
> >>> On Wed, Jun 22, 2022 at 3:35 AM James H <jamesrhester@gmail.com>
> wrote:
> >>>
> >>>> Thanks Herbert. I assume in your kappa example you mistyped and meant
> >>>> that kappa (not omega) would be the principal axis according to my
> working
> >>>> definition. Meanwhile, you seem to be implying that there may be some
> >>>> flexibility in the choice of "principal axis" for certain
> goniometers. That
> >>>> is, in your example a more intuitive choice of principal axis might
> be that
> >>>> of an imaginary omega stage underneath the translation stages, at
> which
> >>>> point you have the freedom to choose rotation direction and therefore
> X
> >>>> axis orientation. However, my reading of the current definition in
> the AXIS
> >>>> category would require the kappa axis to be the principal axis, no
> >>>> questions asked, so I'm not sure how much freedom there actually is.
> >>>>
> >>>> I guess it's worth noting as well that the choice of coordinate system
> >>>> makes zero difference to the analysis of the data, so ambiguity in the
> >>>> definition of X is not a major issue. However I do think we need to be
> >>>> clear if and when this freedom of choice does exist.
> >>>>
> >>>> all the best,
> >>>> James.
> >>>>
> >>>> On Wed, 22 Jun 2022 at 11:30, Herbert J. Bernstein <yayahjb@gmail.com
> >
> >>>> wrote:
> >>>>
> >>>>> Dear James,
> >>>>>    To be clear, it usually works best to do as you say and to choose
> a
> >>>>> goniometer
> >>>>> axis that does not depend on any other axes, but that may conflict
> with
> >>>>> your
> >>>>> preference for a rotation axis, as when a kappa goniometer is
> mounted on
> >>>>> an x,y,z translation stage, which means that one of the translations
> >>>>> would
> >>>>> be the one that depends on no other axes.  Then if you choose omega
> as
> >>>>> the
> >>>>> principal axis axis to stick to using a rotation axis you have to
> >>>>> jigger all your
> >>>>> software to deal with a variable coordinate frame -- not a terrible
> >>>>> thing if your
> >>>>> software is carefully written to follow robotics conventions, but a
> >>>>> likely source
> >>>>> of bugs in general.
> >>>>>    I would leave the wording at "principal axis"
> >>>>>    Regards,
> >>>>>      Herbert
> >>>>>
> >>>>> On Tue, Jun 21, 2022 at 8:39 PM James H <jamesrhester@gmail.com>
> wrote:
> >>>>>
> >>>>>> Just to pick up on something else in Herbert's reply: I've noticed
> >>>>>> some confusion when talking to people as to what exactly "the
> principal
> >>>>>> axis of the goniometer" is. My current working definition is "the
> >>>>>> bottom-most rotation axis of the goniometer".  In terms of the
> imgCIF AXIS
> >>>>>> category, this would be the goniometer rotation axis that
> depends_on no
> >>>>>> other axis, typically omega on a 4-circle diffractometer, and so by
> >>>>>> definition of X this axis would have axis vector of [1 0 0] in
> >>>>>> non-pathological cases. Is my understanding correct? Are there
> subtleties
> >>>>>> not covered by my working definition?
> >>>>>>
> >>>>>> thanks,
> >>>>>> James.
> >>>>>>
> >>>>>> On Wed, 15 Jun 2022 at 21:34, Herbert J. Bernstein <
> yayahjb@gmail.com>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> Dear James,
> >>>>>>>    This is a little tricky.  The relevant rules are:
> >>>>>>>
> >>>>>>> "Axis 1 (X): The X-axis is aligned to the mechanical axis pointing
> >>>>>>> from
> >>>>>>>       the sample or specimen along the  principal axis of the
> >>>>>>> goniometer."
> >>>>>>>
> >>>>>>>    "If the axis involved is a rotation axis, it is right-handed,
> i.e.
> >>>>>>> as
> >>>>>>>       one views the object to be rotated from the origin (the
> tail) of
> >>>>>>> the
> >>>>>>>       unit vector, the rotation is clockwise.  If a translation
> axis is
> >>>>>>>       specified, the direction of the unit vector specifies the
> sense
> >>>>>>> of
> >>>>>>>       positive translation"
> >>>>>>>
> >>>>>>> So, yes the x-axis starts from the sample, but where it point to in
> >>>>>>> the
> >>>>>>> goniometer depends on where in the goniometer the "principal"
> >>>>>>> axis of the goniometer points _and_ in which direction the axis
> >>>>>>> settings increase and whether the principal axis is a rotation
> >>>>>>> axis or a translation axis.  The only way I have figured out to
> >>>>>>> do this is to start from the engineering diagrams (or at least
> >>>>>>> photos) of the goniometer, and even then, I once screwed up
> >>>>>>> the x-axis for a beamline at DLS (ask Graeme Winter).
> >>>>>>>
> >>>>>>>    Regards,
> >>>>>>>      Herbert
> >>>>>>>
> >>>>>>> On Wed, Jun 15, 2022 at 2:38 AM James H via imgcif-l <
> >>>>>>> imgcif-l@iucr.org> wrote:
> >>>>>>>
> >>>>>>>> Dear imgCIF experts,
> >>>>>>>>
> >>>>>>>> Just to double-check, is it correct to say that the imgCIF X axis
> >>>>>>>> always
> >>>>>>>> points from the specimen towards the goniometer base? Closely
> >>>>>>>> parsing the
> >>>>>>>> dictionary and Volume G suggests that the X axis being "aligned"
> >>>>>>>> with the
> >>>>>>>> principal axis could also allow the X axis to point from the
> >>>>>>>> specimen away
> >>>>>>>> from the goniometer base, particularly if the sense of rotation of
> >>>>>>>> the
> >>>>>>>> principal goniometer axis is taken into account when defining X
> (is
> >>>>>>>> it?).
> >>>>>>>>
> >>>>>>>> thanks,
> >>>>>>>> James.
> >>>>>>>> --
> >>>>>>>> T +61 (02) 9717 9907
> >>>>>>>> F +61 (02) 9717 3145
> >>>>>>>> M +61 (04) 0249 4148
> >>>>>>>> _______________________________________________
> >>>>>>>> imgcif-l mailing list
> >>>>>>>> imgcif-l@iucr.org
> >>>>>>>> http://mailman.iucr.org/cgi-bin/mailman/listinfo/imgcif-l
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> T +61 (02) 9717 9907
> >>>>>> F +61 (02) 9717 3145
> >>>>>> M +61 (04) 0249 4148
> >>>>>>
> >>>>>
> >>>>
> >>>> --
> >>>> T +61 (02) 9717 9907
> >>>> F +61 (02) 9717 3145
> >>>> M +61 (04) 0249 4148
> >>>>
> >>>
> >>
> >> --
> >> T +61 (02) 9717 9907
> >> F +61 (02) 9717 3145
> >> M +61 (04) 0249 4148
> >>
> > _______________________________________________
> > imgcif-l mailing list
> > imgcif-l@iucr.org
> > http://mailman.iucr.org/cgi-bin/mailman/listinfo/imgcif-l
> _______________________________________________
> imgcif-l mailing list
> imgcif-l@iucr.org
> http://mailman.iucr.org/cgi-bin/mailman/listinfo/imgcif-l

--
T +61 (02) 9717 9907
F +61 (02) 9717 3145
M +61 (04) 0249 4148
_______________________________________________
imgcif-l mailing list
imgcif-l@iucr.org
http://mailman.iucr.org/cgi-bin/mailman/listinfo/imgcif-l

Reply to: [list | sender only]