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

Need an application definition that shows mixed use of NXreflections and NXmx #748

Open
phyy-nx opened this issue Jan 30, 2020 · 9 comments

Comments

@phyy-nx
Copy link
Contributor

phyy-nx commented Jan 30, 2020

The DIALS program dials.export makes these kind of files. See
https://github.com/nexusformat/exampledata/blob/master/DLS/reflections/hdf5/thaumatin_integrated.nxs

They look like this:

/entry:NXentry/experiment_0:NXsubentry <- this is Nxmx
/entry:NXentry/reflections:NXsubentry <- this is NXreflections

After #727 is fixed, they would look like this:

/entry:NXentry/experiment_0:NXsubentry <- this is Nxmx
/entry:NXentry/reflections:NXreflections

So the proposal is for an application definition for this use case. Or should NXreflections be added as an optional group in NXmx?

@prjemian
Copy link
Contributor

prjemian commented Jan 30, 2020

NXreflections is a base class. NXmx is an application definition.
Inspired by figure in https://manual.nexusformat.org/classes/index.html, perhaps like this?

entry:NXentry
   experiment_0:NXsubentry
      definition="NXmx"
   reflections:NXreflections

or

entry:NXmx
   ... content required by NXnmx
   ... then this additional content
   reflections:NXreflections

@yayahjb
Copy link
Contributor

yayahjb commented Jan 30, 2020 via email

@mkoennecke
Copy link
Contributor

mkoennecke commented Jan 31, 2020 via email

@phyy-nx phyy-nx added the telco label Feb 5, 2020
@phyy-nx
Copy link
Contributor Author

phyy-nx commented Feb 5, 2020

Hi, let's discuss this on the next telco. I'll have the three options summarized on a slide and we can work out what makes sense and what needs to change.

@phyy-nx
Copy link
Contributor Author

phyy-nx commented Apr 24, 2020

From Telco (group discussion): two action items to support multiple use cases

  1. Add NXreflections as optional to NXmx (example use case: unmergered data from a single crystal)
  2. Create separate application definition to bring many NXmx subentries together with a NXreflections. (example use case: merged data from multiple crystals)

@phyy-nx
Copy link
Contributor Author

phyy-nx commented Apr 24, 2020

(reminder for me: on Telco it was mentioned that base classes cannot be entries or subenteries, but instead for the second case, NXreflections would be a child of the root NXentry)

Also: NXnote would be good for the 2nd case (the application definition) indicating how the NXreflections was derived)

Proposed name for application definition: NXreflection_list (additional options solicited :)

@phyy-nx
Copy link
Contributor Author

phyy-nx commented Oct 20, 2020

Feedback from code camp: putative application definition: use multiple NXentry to distinguish between 'journaled' steps. How to indicate directionality between them? Eg. entry2 derives from entry1.

Example processing path in DIALS

  1. Import
  2. Find spots (depends on 1)
  3. Index (depends 2)
  4. Refine (depends on 3)
  5. Find spots again (depends on 1)
  6. Index again (depends on 5)
  7. Index again (depends on 5)
  8. Refine again (depends on 7)
  9. Integrate (depends on 8)

Proposal: make each of the steps an NXentry with an NXprocess group. See https://manual.nexusformat.org/rules.html#content-of-a-processed-data-nxentry-group. Note, NXparameters could contain a path to the previous step! Maybe a field like parent_entry. Use links as much as possible to not copy things like NXmx or NXreflections.

@prjemian
Copy link
Contributor

prjemian commented Dec 8, 2020

I'm removing the telco label for now since there is a clear course of action described in the previous comment.

@prjemian prjemian removed the telco label Dec 8, 2020
@prjemian
Copy link
Contributor

prjemian commented Dec 8, 2020

@phyy-nx: Should this remain on the list of code camp topics? If not, remove the code camp label as well.

@phyy-nx phyy-nx removed the code camp label Dec 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants