Ticket #8365 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Import ILL D2B diffractometer ascii data into Mantid.

Reported by: Ricardo Leal Owned by: Ricardo Leal
Priority: major Milestone: Release 3.2
Component: Framework Keywords: ILL D2B Loader
Cc: Blocked By: #9523
Blocking: Tester: Martyn Gigg

Description (last modified by Ricardo Leal) (diff)

TODO:

  • IDF
  • Load ILL ASCII format.
  • D2B detector moves during data collection:
    • Create multiple Workspaces: One Workspace2D per detector position.
    • As D2B has usually 25 different scans this would give 25 Workspaces per data file
  • New algorithm to group all these workspaces into a single one
    • Create a virtual instrument including all pixel positions. This would give a 25 x 128 x 128 pixel detector and as many spectra.

Instrument web page:

DONE:

This ended up to be a proof of concept. The multi-scan data is converted into an MD Event workspace through a temp file and the algorithm ImportMDEventWorkspace.

To test, Load the file :

Test/AutoTestData/ILLD2B_123944

And see the resulting Event workspace in Vates (Click Rebin on top pane followed by apply Porperties on the left pane). A half circle should be visible.

Change History

comment:1 Changed 7 years ago by Ricardo Leal

  • Status changed from new to inprogress

Re #8365 initial set of files for D2B

Changeset: 56ff6b2d0487ff19c9b10c5340e71102186c8ed7

comment:2 Changed 7 years ago by Ricardo Leal

Re #8365 Loader confidence

Changeset: 49349178c33229e5522241da6d295fe1e535b979

comment:3 Changed 7 years ago by Ricardo Leal

Re #8365 out WSs are created by scan

Changeset: d04ae722fd4a27e1974d8bdc489417f1987e4639

comment:4 Changed 7 years ago by Ricardo Leal

Re #8365 Move instrument is not working yet

Changeset: 1ebe98564932599978e6965fb80fb5fbf1d42ef1

comment:5 Changed 7 years ago by Ricardo Leal

Re #8365 Detector / Intrument merge imcomplete

Changeset: 234cd93ecc3807f641d743cc79f1e412bdfde656

comment:6 Changed 7 years ago by Ricardo Leal

Re #8365 Added a few comments

Changeset: d4941fa355057b14bee5a0c843f4407f8665b9f8

comment:7 Changed 7 years ago by Ricardo Leal

Re #8365 Tests. Still cant merge the instruments.

Changeset: b26120db68e9fec63a4e4e47ef0ffc361d729af4

comment:8 Changed 7 years ago by Ricardo Leal

Re #8365 tests done at ISIS. Nothing works.

Changeset: 7fa41132bc283b2d06606d9ca61c3d550a368080

comment:9 Changed 7 years ago by Owen Arnold

refs #8365. Fix issues around parameter maps.

Changeset: 89ff79d05db2d08f4b1966add8ab82702c74c2df

comment:10 Changed 7 years ago by Ricardo Leal

Re #8365 Before Adding log values.

Changeset: a8b91b6f6cae283b6559f18ec0de4b946eec554c

comment:11 Changed 7 years ago by Ricardo Leal

Re #8365 IDF with log values.

Changeset: 6f2b638b4c5ab4f4d7eb6704f3caa39701774b9b

comment:12 Changed 7 years ago by Ricardo Leal

Re #8365 Removed move instr. Add test ascii parser.

Changeset: 26690877e9c1a0b70cf9ab5fbe797d0268f18640

comment:13 Changed 7 years ago by Ricardo Leal

Re #8365 Outputs data in ascii to be used in ImportMDEvents

Changeset: fc8eee067b8ca3ca97895045d85357b6fbdef95a

comment:14 Changed 7 years ago by Ricardo Leal

  • Milestone changed from Release 3.1 to Release 3.2

comment:15 Changed 7 years ago by Ricardo Leal

  • Milestone changed from Release 3.2 to Backlog

comment:16 Changed 7 years ago by Ricardo Ferraz Leal

Re #8365 Restore file as original

Changeset: 424590563e86645c7a1b94e0fb0ab4be27de6ddf

comment:17 Changed 7 years ago by Ricardo Ferraz Leal

Re #8365 Set current time in rotangle

Changeset: 2a11d1e1a685be09bbeb9c7e61b9d3de41585fea

comment:18 Changed 7 years ago by Ricardo Ferraz Leal

Re #8365 Loading into MD passes by a temp file

Changeset: d07e1e20269552eab5283b30df5e0be4672272c2

comment:19 Changed 7 years ago by Ricardo Ferraz Leal

Re #8365 Added test file

Changeset: c49c8046e957fc05713d388f7f9616715b3fe715

comment:20 Changed 7 years ago by Ricardo Ferraz Leal

Re #8365 Restored from master.

Changeset: 85f896c05b16b40e030f8692af07389b291d6e6f

comment:21 Changed 7 years ago by Ricardo Ferraz Leal

Re #8365 Test and cleaning.

Changeset: 47f8f06a15a79cb929acf24f42ee661495c5e5fe

comment:22 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Test and Trimmed the test file.

Changeset: 7df09bcf0c7b403dd7977d12c10da09571dac9f8

comment:23 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix conflict in Develop

Changeset: 8640d0bbb5e849931fa8d0dc582a83659d1637f9

comment:24 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix build. stdlib missing?

Changeset: 8a56b962240c7c2abf2c3c682b970d05630012e3

comment:25 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix win build. cast tellg to long.

Changeset: 1809e3753b908470c053144197ba612c9c05a98f

comment:26 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix win build. Added DLLExport.

Changeset: 093b091d6a7f2e62871be26130cf9c1c65c381ac

comment:27 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix win build. Correct DLL Macros.

Changeset: 11d44944a7075f7f8580e09548a5e2ecb186e0e0

comment:28 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix win build. Remove DLL macros.

Changeset: e8648ebf16d04342cd998a8d347cb93af7548a6d

comment:29 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix the XSD of the IDF.

Changeset: 79d71916c55a637f7056648a3cf7ae57c4fdb264

comment:31 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix uninitialised warning.

Changeset: 0ce3cda14075e39f40b02e2004e67d3d43d0de50

comment:32 Changed 6 years ago by Ricardo Leal

  • Summary changed from Import ILL D2D diffractometer ascii data into Mantid. to Import ILL D2B diffractometer ascii data into Mantid.

comment:33 Changed 6 years ago by Ricardo Leal

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

This ended up to be a proof of concept. The multi-scan data is converted into an MD Event workspace through a temp file and the algorithm ImportMDEventWorkspace.

To test, Load the file :

Test/AutoTestData/ILLD2B_123944

And see the resulting Event workspace in Vates (Click Rebin on top pane followed by apply Porperties on the left pane). A half circle should be visible.

comment:34 Changed 6 years ago by Ricardo Leal

  • Milestone changed from Backlog to Release 3.2

comment:35 Changed 6 years ago by Russell Taylor

  • Status changed from verify to reopened
  • Resolution fixed deleted

There are still 4 cppcheck warnings from LoadILLAsciiHelper

comment:36 Changed 6 years ago by Russell Taylor

In addition, there are 3 doxygen warnings that should be addressed.

comment:37 Changed 6 years ago by Russell Taylor

One more thing.... There's are two memory leaks in ParametrizedComponentTest::testMergeComponents (see https://builds.sns.gov/view/Static%20Analysis/job/ornl_valgrind_develop/275/valgrindResult/pid=19786/)

comment:38 Changed 6 years ago by Ricardo Ferraz Leal

  • Status changed from reopened to inprogress

Re #8365 Fix CPPCheck and Doxygen warnings.

Changeset: 5d8e577ff8c7c5ec19c62554ebb23a469f5e9918

comment:39 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Removed unfinished test.

Changeset: 4365b49bfa1ebe25010abab9bd7d14772d2acfa6

comment:40 Changed 6 years ago by Ricardo Leal

No Doxygen or cppcheck warnings. Valgrind will run tonight but shouldn't show any leaks either.

comment:41 Changed 6 years ago by Ricardo Leal

  • Status changed from inprogress to verify
  • Resolution set to fixed
  • Description modified (diff)

comment:42 Changed 6 years ago by Russell Taylor

Re #8365. Clear a compiler warning on Windows.

No reason to catch exception at all if nothing's being done with it.

Changeset: 90ea87daf1ac8a0db7006d9db2344effd04db5a6

comment:43 Changed 6 years ago by Vickie Lynch

  • Status changed from verify to verifying
  • Tester set to Vickie Lynch

comment:44 Changed 6 years ago by Vickie Lynch

  • Status changed from verifying to verify
  • Tester Vickie Lynch deleted

Browse would not find this file for me, but I could load typing in name. Do not have Vates installed to finish testing.

comment:45 Changed 6 years ago by Russell Taylor

  • Status changed from verify to reopened
  • Resolution fixed deleted

There's a dependency problem here. By using ImportMDEventWorkspace in LoadILLAscii you're creating an explicit depency of DataHandling on MDEvents. I think this explains why the test has been failing on occasion. Such dependencies between algorithm packages do exist but this would be the first example of a DataHandling algorithm using something from another package.

The simplest solution might be for this algorithm to be moved to MDAlgorithms.

comment:46 Changed 6 years ago by Martyn Gigg

There is also a problem on one of our windows machines when using the tmpnam function. It seems to generate a filename that can't be opened but I'm not sure why it only affects this machine.

In any case I think we would be better off using Poco::TemporaryFile. It is a better abstraction and handles the automatic clear up of the file. Around line 279 I suggest something like

Poco::TemporaryFile tmpFile;
std::string tmpFileName = tmpFile.path()
...

and then use this further down rather than the raw C array.

comment:47 Changed 6 years ago by Martyn Gigg

  • Status changed from reopened to inprogress

Use Poco::TemporaryFile instead of tmpnam to create filename

tmpnam seems to have problems on some windows systems and the Poco class has the added bonus of automatic clear up. Refs #8365

Changeset: 178347153829739277e9ad51609b576edfc76a41

comment:48 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Moved Loader from DataHandling to MDAlgorithms.

Changeset: a250443ee901596640070702a03932479fefce66

comment:49 Changed 6 years ago by Ricardo Ferraz Leal

Re #8365 Fix Merge conflict.

Changeset: 6e3e4fa18c372b0618402c3400d01dee2fe510e0

comment:50 Changed 6 years ago by Ricardo Leal

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

LoadILLAscii* moved from DataHandling to MDAlgorithms as requested.

comment:51 Changed 6 years ago by Jay Rainey

  • Blocked By 9523 added

comment:52 Changed 6 years ago by Martyn Gigg

  • Status changed from verify to verifying
  • Tester set to Martyn Gigg

comment:53 Changed 6 years ago by Martyn Gigg

Remove old initDocs in favour of summary method()

Refs #8365

Changeset: dac5ba724055735ef5d00bf587f525688553f008

comment:54 Changed 6 years ago by Martyn Gigg

Add a basic documentation file.

Refs #8365

Changeset: f4f5f771b188a7fb92390b0a866b01e27aad8116

comment:55 Changed 6 years ago by Ricardo Leal

  • Status changed from verifying to closed

Merge branch 'feature/8365_ILL_D2B' of github.com:mantidproject/mantid into feature/8365_ILL_D2B

Full changeset: 210c9938cdcac816b9eef8e8519894efb66868c9

comment:56 Changed 6 years ago by Ricardo Ferraz Leal

Merge branch 'feature/8365_ILL_D2B' of github.com:mantidproject/mantid into feature/8365_ILL_D2B

Full changeset: da5b91d7e4597e1476b48b8cf4deb7a1d3d602ce

comment:57 Changed 6 years ago by Martyn Gigg

Merge remote-tracking branch 'origin/feature/8365_ILL_D2B'

Full changeset: dd3ce0435abf4e0a311dfb35c94636d41800e3c6

comment:58 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9210

Note: See TracTickets for help on using tickets.