Ticket #6396 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Make GUI for SCD reduction, with key capabilties from IsawEV

Reported by: Dennis Mikkelson Owned by: Dennis Mikkelson
Priority: major Milestone: Release 2.5
Component: Mantid Keywords:
Cc: petersonpf@…, mikkelsonr@…, pascal.manuel@…, owen.arnold@…, nick.draper@… Blocked By:
Blocking: Tester: Vickie Lynch

Description

A GUI that will help users go through the initial SCD data reduction steps as required by TOPAZ will be useful. Specific steps include:

  1. Select an MD event workspace (possibly "live")
  2. Find peaks in the MD event workspace
  3. Find a UB matrix that indexes the peaks
  4. Modify the UB matrix to correspond to a conventional cell
  5. Modify the UB matrix to transform the hkls.
  6. Integrate the raw event data in one of several ways, producing a .integrate file for further processing by Anvred.

Change History

comment:1 Changed 8 years ago by Dennis Mikkelson

  • Status changed from new to accepted

comment:2 Changed 8 years ago by Dennis Mikkelson

RE 6396, Initial commit of MantidEV

This is a very early, partial implementation of a CustomInterface for SCD reduction.

refs #6396

Changeset: 73c7f49bb19c8dec04f0a16459f4b64d97299657

comment:3 Changed 8 years ago by Dennis Mikkelson

RE 6396 MantidEV now does work outside Qt thread.

This update makes two changes to the initial version of MantidEV that was previously checked in (before the new git workflow).

  1. The first tab now supports loading and converting to MD directly from an event file. This is much more convenient for the typical user than separately loading and converting to MD using the MantidPlot GUI and just specifying the workspaces to MantidEV. The user can still specify and use event and MD workspaces already in MantidPlot, if they choose to do so.
  2. Running longer calculations like loading, converting to MD, finding peaks and integrating within the Qt GUI thread caused the MantidPlot GUI to become non-responsive. To avoid this, a local thread pool with one thread was added to MantidEV, and the compute intensive tasks are now run in the thread from the thread pool. Only one thread was provided, since the operations typically must be carried out in sequence. Other operations are blocked while the computation thread runs. Since the algorithms that are launched from the one thread can in turn launch multiple other threads, using one thread at this point does not hurt performance, but will prevent users from making simple mistakes, such as trying to find peaks, before the MD workspace has been completely constructed.

refs #6396

Changeset: bae22a4fef501386a3096cea310d9dbac2870241

comment:4 Changed 8 years ago by Dennis Mikkelson

NOTE: Support for live data will NOT be implemented at this time.

comment:5 Changed 8 years ago by Dennis Mikkelson

RE 6396 MantidEV now does work outside Qt thread.

This update makes two changes to the initial version of MantidEV that was previously checked in (before the new git workflow).

  1. The first tab now supports loading and converting to MD directly from an event file. This is much more convenient for the typical user than separately loading and converting to MD using the MantidPlot GUI and just specifying the workspaces to MantidEV. The user can still specify and use event and MD workspaces already in MantidPlot, if they choose to do so.
  2. Running longer calculations like loading, converting to MD, finding peaks and integrating within the Qt GUI thread caused the MantidPlot GUI to become non-responsive. To avoid this, a local thread pool with one thread was added to MantidEV, and the compute intensive tasks are now run in the thread from the thread pool. Only one thread was provided, since the operations typically must be carried out in sequence. Other operations are blocked while the computation thread runs. Since the algorithms that are launched from the one thread can in turn launch multiple other threads, using one thread at this point does not hurt performance, but will prevent users from making simple mistakes, such as trying to find peaks, before the MD workspace has been completely constructed.

refs #6396

Changeset: bae22a4fef501386a3096cea310d9dbac2870241

comment:6 Changed 8 years ago by Dennis Mikkelson

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

NOTES TO TESTER:

  1. The branch name is: feature/6396_basic_MantidEV
  2. This GUI can be started from the MantidPlot Interfaces menu item: "SCD Event Data Reduction".
  3. To test, load a TOPAZ SCD event file, and verify that you can find peaks, find a UB matrix (and index the peaks), choose a conventional cell, and integrate the peaks.
  4. Please also verify that the user cannot start another operation by hitting the Apply button on some tab, while a long-running operation such as load/convert to MD, find peaks or integrate, is still executing.
  5. Note that the MantidPlot GUI is still active while such a long running operation is executing. The progress of the underlying algorithms shows properly in the MantidPlot progress bar.

comment:7 Changed 8 years ago by Gesner Passos

  • Status changed from verify to verifying
  • Tester set to Gesner Passos

comment:8 Changed 8 years ago by Gesner Passos

I could not understand how to test it.

comment:9 Changed 8 years ago by Gesner Passos

  • Status changed from verifying to verify
  • Tester Gesner Passos deleted

comment:10 Changed 8 years ago by Vickie Lynch

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

comment:11 Changed 8 years ago by Vickie Lynch

  • Status changed from verifying to closed

Very nice GUI! Everything ran OK for TOPAZ_3131.

comment:12 Changed 8 years ago by Dennis Mikkelson

RE 6396 MantidEV now does work outside Qt thread.

This update makes two changes to the initial version of MantidEV that was previously checked in (before the new git workflow).

  1. The first tab now supports loading and converting to MD directly from an event file. This is much more convenient for the typical user than separately loading and converting to MD using the MantidPlot GUI and just specifying the workspaces to MantidEV. The user can still specify and use event and MD workspaces already in MantidPlot, if they choose to do so.
  2. Running longer calculations like loading, converting to MD, finding peaks and integrating within the Qt GUI thread caused the MantidPlot GUI to become non-responsive. To avoid this, a local thread pool with one thread was added to MantidEV, and the compute intensive tasks are now run in the thread from the thread pool. Only one thread was provided, since the operations typically must be carried out in sequence. Other operations are blocked while the computation thread runs. Since the algorithms that are launched from the one thread can in turn launch multiple other threads, using one thread at this point does not hurt performance, but will prevent users from making simple mistakes, such as trying to find peaks, before the MD workspace has been completely constructed.

refs #6396

Changeset: bae22a4fef501386a3096cea310d9dbac2870241

comment:13 Changed 8 years ago by Dennis Mikkelson

RE 6396 MantidEV now does work outside Qt thread.

This update makes two changes to the initial version of MantidEV that was previously checked in (before the new git workflow).

  1. The first tab now supports loading and converting to MD directly from an event file. This is much more convenient for the typical user than separately loading and converting to MD using the MantidPlot GUI and just specifying the workspaces to MantidEV. The user can still specify and use event and MD workspaces already in MantidPlot, if they choose to do so.
  2. Running longer calculations like loading, converting to MD, finding peaks and integrating within the Qt GUI thread caused the MantidPlot GUI to become non-responsive. To avoid this, a local thread pool with one thread was added to MantidEV, and the compute intensive tasks are now run in the thread from the thread pool. Only one thread was provided, since the operations typically must be carried out in sequence. Other operations are blocked while the computation thread runs. Since the algorithms that are launched from the one thread can in turn launch multiple other threads, using one thread at this point does not hurt performance, but will prevent users from making simple mistakes, such as trying to find peaks, before the MD workspace has been completely constructed.

refs #6396

Changeset: bae22a4fef501386a3096cea310d9dbac2870241

comment:14 Changed 8 years ago by Dennis Mikkelson

RE 6396 MantidEV now does work outside Qt thread.

This update makes two changes to the initial version of MantidEV that was previously checked in (before the new git workflow).

  1. The first tab now supports loading and converting to MD directly from an event file. This is much more convenient for the typical user than separately loading and converting to MD using the MantidPlot GUI and just specifying the workspaces to MantidEV. The user can still specify and use event and MD workspaces already in MantidPlot, if they choose to do so.
  2. Running longer calculations like loading, converting to MD, finding peaks and integrating within the Qt GUI thread caused the MantidPlot GUI to become non-responsive. To avoid this, a local thread pool with one thread was added to MantidEV, and the compute intensive tasks are now run in the thread from the thread pool. Only one thread was provided, since the operations typically must be carried out in sequence. Other operations are blocked while the computation thread runs. Since the algorithms that are launched from the one thread can in turn launch multiple other threads, using one thread at this point does not hurt performance, but will prevent users from making simple mistakes, such as trying to find peaks, before the MD workspace has been completely constructed.

refs #6396

Changeset: d97a8a8320407e28ff20113ce4215b38847595cd

comment:15 Changed 8 years ago by Dennis Mikkelson

RE 6396 MantidEV now does work outside Qt thread.

This update makes two changes to the initial version of MantidEV that was previously checked in (before the new git workflow).

  1. The first tab now supports loading and converting to MD directly from an event file. This is much more convenient for the typical user than separately loading and converting to MD using the MantidPlot GUI and just specifying the workspaces to MantidEV. The user can still specify and use event and MD workspaces already in MantidPlot, if they choose to do so.
  2. Running longer calculations like loading, converting to MD, finding peaks and integrating within the Qt GUI thread caused the MantidPlot GUI to become non-responsive. To avoid this, a local thread pool with one thread was added to MantidEV, and the compute intensive tasks are now run in the thread from the thread pool. Only one thread was provided, since the operations typically must be carried out in sequence. Other operations are blocked while the computation thread runs. Since the algorithms that are launched from the one thread can in turn launch multiple other threads, using one thread at this point does not hurt performance, but will prevent users from making simple mistakes, such as trying to find peaks, before the MD workspace has been completely constructed.

refs #6396

Changeset: bae22a4fef501386a3096cea310d9dbac2870241

comment:16 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7242

Note: See TracTickets for help on using tickets.