Giter Site home page Giter Site logo

nexusformat / definitions Goto Github PK

View Code? Open in Web Editor NEW
26.0 26.0 55.0 215.06 MB

Definitions of the NeXus Standard File Structure and Contents

Home Page: https://manual.nexusformat.org/

License: Other

XSLT 12.53% Shell 1.89% CSS 0.33% HTML 1.66% C 3.95% Java 0.55% Python 70.75% Fortran 1.41% Batchfile 2.15% MATLAB 2.26% Makefile 2.51%

definitions's People

Contributors

aalbino2 avatar atomprobe-tc avatar benajamin avatar cmmngr avatar domna avatar eugenwintersberger avatar freddieakeroyd avatar jwuttke avatar lukaspie avatar mattclarke avatar matthew-d-jones avatar mkoennecke avatar mkuehbach avatar peterc-dls avatar peterfpeterson avatar phyy-nx avatar pkienzle avatar prjemian avatar rayosborn avatar rjgildea avatar rubelmozumder avatar russberg avatar sanbrock avatar sherjeelshabih avatar soph-dec avatar stuartcampbell avatar tcspain avatar woutdenolf avatar yayahjb avatar zjttoefs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

definitions's Issues

Review: NXcrystal

Original reporter: sic

  • Split up "unit_cell" into lengths and angles and add the units.[[BR]]
  • Remove rank attribute from "unit_cell_volume".[[BR]]
  • Add NX_UNITLESS units to "reflection" field (depends on #18)

Add NX_UNITLESS unit

Original reporter: sic

Add a NX_UNITLESS unit for fields that don't have a unit (e.g. HKL) so that they don't inherit the wrong units.

Review: NXdetector

Original reporter: sic

*Add units of NX_ANY to "data" and "data_error"[[BR]]
*Add units to distance, polar_angle, azimuthal_angle[[BR]]
*Add units of NX_TIME to "dead_time"[[BR]]
*Add units of NX_TIME to "count_time"

Review: NXdata

Original reporter: sic

  • Add axis attribute to "variable" field. This would take the value 1,2,3,etc...

NXguide fields need units attributes and other work

Original reporter: prjemian

in NXguide, some field declarations need units

  • incident_angle
  • bend_angle_x
  • bend_angle_y
  • m_value
  • substrate_thickness
  • substrate_roughness
  • coating_roughness
  • number_sections

Documentation is needed for most fields, but especially m_value

NXsensor/measurement/enumeration/item values use inconsistent names

Original reporter: prjemian

Some of the possible enumeration values for the measurement field use inconsistent conventions (such as magnetic_field, electric field, and surface_pressure). Should we standardize the use of an underscore "_" or a blank space " " to delimit words?

<item value="magnetic_field" />
<item value="electric field" />
<item value="conductivity" />
<item value="resistance" />
<item value="voltage" />
<item value="pressure" />
<item value="flow" />
<item value="stress" />
<item value="strain" />
<item value="shear" />
<item value="surface_pressure" />

Review: NXmonitor

Original reporter: sic

  • preset, sampled_fraction needs to be NX_UNITLESS[[BR]]
  • change range description to be more non-neutron centric.[[BR]]
  • range needs units.[[BR]]
  • efficiency needs units (or unitless).[[BR]]

Review: NXinstrument

Original reporter: sic

  • NXcollimator is mentioned twice.[[BR]]
  • Need to check that all the possible components are listed.

revise definitions directory structure

Original reporter: prjemian

(This is related to Trac ticket #15)

At the 2008-12-17 Tech Committee meeting, it was agreed that a re-arrangement of the definitions directory structure was in order.

 base_classes/nxdl.xsd     moves up to the top directory level
 base_classes/             stays the same
 instruments/              changes to    applications/
 contributed_definitions/  is added
 schema/NeXus.xsd          moves up to the top directory level

Review: NXpolarizer

Original reporter: sic

  • reflection should have units[[BR]]
  • efficiency should be unitless[[BR]]

Short name for facility

Original reporter: peterfpeterson

Add a short_name attribute to the /NXentry/NXinstrument/NXsource/name field. This is similar to the short_name attribute on the /NXentry/NXinstrument/name field.

Tag definitions

Original reporter: peterfpeterson

Tag definitions prior to NIAC meeting as version 1.0; those ratified/changed at the meeting become version 2.0

Review: NXevent_data

Original reporter: sic

  • Add "NX_DIMENSIONLESS" units to "pixel_number".[[BR]]
  • Add "NX_DIMENSIONLESS" units to "events_per_pulse".[[BR]]
  • Add type and units to "offset".

ADD svnid attribute to NXDL definition element

Original reporter: prjemian

When developing the documentation (#30) for NeXus base classes (as defined by the NXDL), it seems valuable to identify a specific revision of the NXDL instance in the DocBook documentation for each base class.

One way to do this is to add the SVN Id or Revision keyword as an attribute to the definition element. An existing definition element (example from NXaperture)

<definition xmlns="http://definition.nexusformat.org/schema/3.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://definition.nexusformat.org/schema/3.1 ../nxdl.xsd"
    name="NXaperture" 
    type="group" extends="../nxdl">

would change to

<definition xmlns="http://definition.nexusformat.org/schema/3.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://definition.nexusformat.org/schema/3.1 ../nxdl.xsd"
    name="NXaperture" 
    svnid="$Id: NXaperture.nxdl.xml 218 2008-12-17 20:41:06Z Pete Jemian $"
    type="group" extends="../nxdl">

With this change, the definition/@svnid could be added to the DocBook documentation to indicate which revision of the NXDL instance was used to generate the documentation presented.

Review: NXmirror

Original reporter: prjemian

  • incident_angle, bend_angle_x, bend_angle_y, substrate_thickness needs units[[BR]]
  • reflectivity, m_value, *_roughness need to be NX_UNITLESS

License model for NeXus

Original reporter: prjemian

Should we change from the Lesser General Public License to a Creative Commons license?
see http://CreativeCommons.org/about/licenses

We need to choose a model that will allow commercial entities (such as detector vendors) to write NeXus files directly. Either Share Alike or No Derivative Works may suffice. Attribution Share Alike perhaps is the right choice.

Instrument scientists need to be able to create instrument definitions.
NeXus needs to control NX class definitions.

Review: NXcollimator

Original reporter: sic

*Change the units on soller_angle to be NX_ANGLE rather than NX_TIME.[[BR]]

  • Add units to:
divergence_*
frequency
blade_thickness
blade_spacing
  • Add documentation

Review: NXfilter

Original reporter: sic

  • Split up "unit_cell" field into separates fields for length and angles. (as per #19)[[BR]]
  • Remove rank from "unit_cell_volume"[[BR]]
  • Add NX_DIMENSIONLESS to "m_value".[[BR]]
  • Add units to "substrate_thickness".[[BR]]
  • Add units to "substrate_roughness" and "coating_roughness".

Review: NXgeometry

Original reporter: sic

  • In string it says that an NXgeometry should be called "geometry" - should this be removed as we cannot enforce it anyway?[[BR]]

Review: NXguide

Original reporter: sic

  • incident_angle, substrate_thickness, bend_angle_x, bend_angle_y[[BR]]
  • substrate_material, coating_material need to be NX_STRING[[BR]]
  • reflectivity, m_value, *_roughness need to be NX_UNITLESS

NXDL groups and name attribute - NeXus design flaw?

Original reporter: prjemian

There is a problem with the names of groups when constructing XML Schema from the NXDL. Easiest to illustrate this by a brief NXDL excerpt:

     <group type="NXlog"/>
     <field name="name"/>
     <field name="date"/>
     <field name="place"/>
     <group type="NXlog" name="second_log"/>

Present NeXus rules say to name each of the NXlog entries as NXlog. This would result in this XSD (XML Schema):

<xs:element name="NXlog" minOccurs="0" maxOccurs="unbounded" type="nx:NXlog" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="nx:NX_CHAR" />
<xs:element name="date" minOccurs="0" maxOccurs="1" type="nx:NX_CHAR" />
<xs:element name="place" minOccurs="0" maxOccurs="1" type="nx:NX_CHAR" />
<xs:element name="NXlog" minOccurs="0" maxOccurs="unbounded" type="nx:NXlog">
  <!-- what to do with the name="second_log" information from the NXDL? -->
</xs:element>

Since any of these elements are optional, the XSD cannot validate whether or not an appearance of NXlog is the first one or the second one. XSD rules do not permit this definition to exist. It is reported in oXygen as a violation of "Unique Particle Attribution" and causes the XSD to be invalid.

One way to satisfy the XSD rules is to set the default rule (in NXDL) for group declarations that the resulting XSD element name will be the NXDL group's type. _If_ a name attribute is present in the NXDL group declaration, then the name attribute will be used as the name of the resulting XSD element. The XSD (which is now valid) then becomes:

<xs:element name="NXlog" minOccurs="0" maxOccurs="unbounded" type="nx:NXlog" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="nx:NX_CHAR" />
<xs:element name="date" minOccurs="0" maxOccurs="1" type="nx:NX_CHAR" />
<xs:element name="place" minOccurs="0" maxOccurs="1" type="nx:NX_CHAR" />
<xs:element name="second_log" minOccurs="0" maxOccurs="unbounded" type="nx:NXlog"/>

This type of rule is needed to avoid having duplicate name errors (Unique Particle Attribution violations) in the XML Schema files. Problems that cropped up were multiple NXlog entries with the same name in NXsample or multiple NXnote entries in NXentry and NXdetector and perhaps other similar instances. (This also looks like the intent of the name attribute in the NXDL group declaration and the metaDTD.)

  • Is this a design flaw in the definitions?
  • Should the base classes be allowed to specify the name of a group?

Review: NXbeam

Original reporter: sic

Replace units for "incident_wavelength" and "incident_wavelength_spread" from "NX_ATOM_DISTANCE" to "NX_WAVELENGTH"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.