Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge CIF coordinates into NeXus #112

Closed
stuartcampbell opened this issue May 5, 2014 · 14 comments
Closed

Merge CIF coordinates into NeXus #112

stuartcampbell opened this issue May 5, 2014 · 14 comments
Assignees

Comments

@stuartcampbell
Copy link
Member

Original reporter: prjemian

Merge the method used by CIF to define coordinates into the NeXus coordinate system.

@stuartcampbell
Copy link
Member Author

Original reporter: zjttoefs

The manual already talks about e.g. the transformation_type attribute, but I cannot see that in any NXDL. Have I lost my grep skills or have we really not added that yet?

I was looking for the right place to put the dependency business.

@stuartcampbell
Copy link
Member Author

Original reporter: prjemian

The transformation_type has not yet been added. That's part of the work for this ticket. Is there yet a clear description of what work should be done? Reference to this term is in manual/design.xml.

Perhaps we should pull the parts of the manual using transformation_type until its use is decided and built into NeXus.

@stuartcampbell
Copy link
Member Author

Original reporter: prjemian

In [1062]:

#CommitTicketReference repository="" revision="1062"
refs #112, transformation_type is not yet built into NeXus, this part is getting ahead of ourselves

@stuartcampbell
Copy link
Member Author

Original reporter: zjttoefs

I believe in Oak Ridge we decided to have transformation_type (and vector). What is open (and what I am currently working on) is recording the dependencies, i.e. order of transformations.

So rather than removing it from the manual I'd put it into the NXDL.

@stuartcampbell
Copy link
Member Author

Original reporter: zjttoefs

Pete, I'd really like to get this going. But someone needs to make a call where this geometry needs to be defined. Should that be based in NXobject? That would be my guess.

@stuartcampbell
Copy link
Member Author

Original reporter: prjemian

NXobject has no content. It is the base definition for the NeXus base classes.

The definitions should go into either nxdlTypes.xsd or nxdl.xsd. Please post a proposition or example in this ticket.

@stuartcampbell
Copy link
Member Author

Original reporter: zjttoefs

An example would be:

         DATASET "tilt" {
            DATATYPE  H5T_IEEE_F32LE
            DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
            DATA {
            (0): 0.05
            }
            ATTRIBUTE "depends_on" {
               DATATYPE  H5T_STRING {
                     STRSIZE 47;
                     STRPAD H5T_STR_NULLPAD;
                     CSET H5T_CSET_ASCII;
                     CTYPE H5T_C_S1;
                  }
               DATASPACE  SCALAR
               DATA {
               (0): "/entry1/instrument/manipulator/azimuthal_angle"
               }
            }
            ATTRIBUTE "transformation_type" {
               DATATYPE  H5T_STRING {
                     STRSIZE 8;
                     STRPAD H5T_STR_NULLPAD;
                     CSET H5T_CSET_ASCII;
                     CTYPE H5T_C_S1;
                  }
               DATASPACE  SCALAR
               DATA {
               (0): "rotation"
               }
            }
            ATTRIBUTE "units" {
               DATATYPE  H5T_STRING {
                     STRSIZE 6;
                     STRPAD H5T_STR_NULLPAD;
                     CSET H5T_CSET_ASCII;
                     CTYPE H5T_C_S1;
                  }
               DATASPACE  SCALAR
               DATA {
               (0): "degree"
               }
            }
            ATTRIBUTE "vector" {
               DATATYPE  H5T_IEEE_F32LE
               DATASPACE  SIMPLE { ( 3 ) / ( 3 ) }
               DATA {
               (0): 1, 0, 0
               }
            }
         }

The depends_on is new, the rest should be in there already (but isn't) since it was agreed in Oak Ridge.

The idea is that a missing depends_on would signal that this transformation starts in the origin of the coordinate system. You could say that explicitly with depends_on=.

To fix e.g. an NXdetector in space a depends_on field would point to the last translation or rotation in the chain required to reach the location.

@stuartcampbell
Copy link
Member Author

Original reporter: prjemian

A table in manual/source/design.rst has been commented out awaiting resolution of this ticket. Before closing the ticket, resolve the TODO item at or near line 606 in that file.

@stuartcampbell
Copy link
Member Author

Original reporter: mkoennecke

In [changeset:1180]:

#CommitTicketReference repository="" revision="1180"
- Updated the manual to describe the CIF style transformation encoding 
  properly. refs #112

@stuartcampbell
Copy link
Member Author

Original reporter: prjemian

In [changeset:1181]:

#CommitTicketReference repository="" revision="1181"
typos and formatting. refs #112

@stuartcampbell
Copy link
Member Author

Original reporter: mkoennecke

In [changeset:1186]:

#CommitTicketReference repository="" revision="1186"
- Clarified (hpefully) an issue about the depends_on field. refs #112

@stuartcampbell
Copy link
Member Author

Original reporter: zjttoefs

Pete, I need your input on how to represent the axis in NXDL. I am stuck there.

@stuartcampbell
Copy link
Member Author

Original reporter: mkoennecke

In [changeset:1242]:

#CommitTicketReference repository="" revision="1242"
- Marked the polar coordinate system and NXgeometry as planned to be deprecated

Refs #112

@zjttoefs
Copy link
Contributor

zjttoefs commented Apr 9, 2015

This is done, when #273 is done.

@zjttoefs zjttoefs closed this as completed Apr 9, 2015
@prjemian prjemian modified the milestone: later Jun 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants