Ticket #3669 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Create save instrument to NeXus as text string algorithm.

Reported by: Alex Buts Owned by: Janik Zikovsky
Priority: major Milestone: Iteration 30
Component: Mantid Keywords:
Cc: Alex.Buts@… Blocked By: #3701
Blocking: #3687 Tester: Roman Tolchenov

Description

1) an algorithm, which would be used as part of saveMDworkspace algorithm or separately. 2) Allows to write xml instrument description into specified location 3) Allows to write one or more instrument, the additional instruments can be links to basis instrument and does or does not have specific parts. 4) writes all information, necessary for analysis MD analysis 5) in a future, would allow to transform test description into something, more similar to NeXus

Change History

comment:1 Changed 9 years ago by Alex Buts

  • Status changed from new to accepted

comment:2 Changed 9 years ago by Alex Buts

In [14412]:

refs #3669
A routine, which transforms a path into vector of strings

comment:3 Changed 9 years ago by Alex Buts

In [14413]:

refs #3669 Fixing unix error

comment:4 Changed 9 years ago by Alex Buts

In [14418]:

refs #3669 a unix warning fixed

comment:5 Changed 9 years ago by Alex Buts

In [14446]:

refs #3669 fixing error in cmake test generation

comment:6 Changed 9 years ago by Janik Zikovsky

  • Owner changed from Alex Buts to Janik Zikovsky

comment:7 Changed 9 years ago by Janik Zikovsky

In [14470]:

Refs #3669: First go at a XML parser for Components

comment:8 Changed 9 years ago by Janik Zikovsky

In [14471]:

Refs #3669: to/fromString methods in V3D and Quat

comment:9 Changed 9 years ago by Janik Zikovsky

Performance tests, writing out to XML 1 million Component objects (the simplest possible: name, rotation and position).

  • 26.1782 s, CPU 1.00 to write out simple XML with Poco XMLWriter. 76000000 chars.
  • 3.0425 s, CPU 1.00 to write out simple XML by manually appending strings (fastest possible). 80000000 chars.
  • 8.8952 s, CPU 1.00 to parse 1000000 entries.

comment:10 Changed 9 years ago by Janik Zikovsky

Also, combining the components into one large array and writing it out as HDF:

  • 0.7284 s, CPU 0.51 to write a NXS array 1000000 entries.

(Have not written parsing code yet for this scenario)

Last edited 9 years ago by Janik Zikovsky (previous) (diff)

comment:11 Changed 9 years ago by Janik Zikovsky

In [14510]:

Refs #3515: Sample saving to NXS complete except SampleEnvironment. Refs #3669: Some code testing XML saving/parsing.

comment:12 Changed 9 years ago by Janik Zikovsky

  • Blocking 3687 added

comment:13 Changed 9 years ago by Janik Zikovsky

  • Blocked By 3701 added

comment:14 Changed 9 years ago by Janik Zikovsky

In [14577]:

Refs #3669: method to save spectra nd detectors in MatrixWorkspace object.

comment:15 Changed 9 years ago by Janik Zikovsky

In [14602]:

Refs #3669: instrument XML contents are saved in NXS processed file. Much more painful then it needed to be.

comment:16 Changed 9 years ago by Janik Zikovsky

  • Status changed from accepted to verify
  • Resolution set to fixed

Fixed. Note to testers: the field is under "instrument" in the NXS entry, and then there is an instrument_xml field.

comment:17 Changed 9 years ago by Janik Zikovsky

In [14618]:

Refs #3669: Refactored LoadInstrument by moving the parsing code to Geometry/InstrumentDefinitionParser. This allowed ExperimentInfo to use it to load the instrument directly.

comment:18 Changed 9 years ago by Janik Zikovsky

In [14619]:

Refs #3669: Fix build, moved helper methods to the parser class.

comment:19 Changed 9 years ago by Janik Zikovsky

In [14622]:

Refs #3669: Removed unnecessary include. Win build fix?

comment:20 Changed 9 years ago by Janik Zikovsky

In [14623]:

Refs #3669: Removed unnecessary include. Win build fix?

comment:21 Changed 9 years ago by Janik Zikovsky

In [14626]:

Refs #3669: Build fix

comment:22 Changed 9 years ago by Roman Tolchenov

  • Status changed from verify to verifying
  • Tester set to Roman Tolchenov

comment:23 Changed 9 years ago by Roman Tolchenov

  • Status changed from verifying to closed

Confirmed that SaveNexusProcessed saves the instrument in the nxs file as xml instrument definition. Although, it seems that this was not implemented as a separate algorithm, change of plans? Also confirmed that loading the saved file loads the instrument.

comment:24 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 4516

Note: See TracTickets for help on using tickets.