Ticket #3672 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Design classes relating coordinate systems between MDWorkspaces

Reported by: Janik Zikovsky Owned by: Janik Zikovsky
Priority: major Milestone: Iteration 30
Component: Mantid Keywords:
Cc: owen.arnold@… Blocked By:
Blocking: Tester: Owen Arnold

Description

MDHistoWorkspaces (and possibly later MDEventWorkspaces) are defined in their own coordinate system, relative to an original MDEventWorkspace.

We need to keep a pointer to the original workspace so that we can go back to it for further re-binning (in the case of MDHisto)

We need to be able to relate the two coordinate systems (go from original->rotated and rotated->original).

We want to be able to draw the MDHisto in the coordinate system of the original MDEW (e.g. plot a 2D slice properly rotated in 3D).

Change History

comment:1 Changed 9 years ago by Janik Zikovsky

  • Status changed from new to accepted

comment:2 Changed 9 years ago by Janik Zikovsky

In class: MDGeometry or just at IMDWorkspace

  • IMDDimension getXDimension()
  • ... getYDimension() etc.
  • bool isTransformed() (better name???)
    • Returns true if THIS workspace's geometry is related to an original workspace
  • IMDWorkspace_sptr getOriginalWS()
    • Returns pointer to the original workspace
  • CoordTransform getTransformFromOriginal()
    • Returns the coordinate transformation that goes original->rotated
  • CoordTransform getTransformToOriginal()
    • Returns the coordinate transformation that goes rotated->original
  • VMD getBasisVector(size_t dim)
    • For each dimension in THIS workspace, returns the basis vector in the ORIGINAL workspace.
  • VMD getOrigin()
    • Returns the origin: (0,0) in THIS workspace = getOrigin() in the ORIGINAL workspace.

comment:3 Changed 9 years ago by Owen Arnold

Looks good, but should be on IMDWorkspace not MDGeometry. MDGeometry is specific to MDWorkspace and is used nowhere else.

comment:4 Changed 9 years ago by Janik Zikovsky

In [14421]:

Refs #3672: Renamed MDGeometry to MDGeometryOld, added a start at MDGeometry in API.

comment:5 Changed 9 years ago by Janik Zikovsky

In [14422]:

Refs #3672: Added missing files.

comment:6 Changed 9 years ago by Janik Zikovsky

In [14423]:

Refs #3672: Removed getDimensionIDs() method since it was used only in one place and easily bypassed.

comment:7 Changed 9 years ago by Janik Zikovsky

In [14424]:

Refs #3672: Fix build.

comment:8 Changed 9 years ago by Janik Zikovsky

In [14425]:

Refs #3672: Fix build.

comment:9 Changed 9 years ago by Janik Zikovsky

In [14426]:

Refs #3672: Attempt windows build fix

comment:10 Changed 9 years ago by Janik Zikovsky

In [14434]:

Refs #3672: Moved methods from IMDWorkspace to MDGeometry.

comment:11 Changed 9 years ago by Janik Zikovsky

In [14438]:

Refs #3672: Possible RHEL5 fix?

comment:12 Changed 9 years ago by Janik Zikovsky

In [14440]:

Refs #3672: Moved CoordTransform up to API namespace. Added basis vectors to the output MDHistoWorkspace when calling BinToMDHistoWorkspace.

comment:13 Changed 9 years ago by Janik Zikovsky

In [14441]:

Refs #3672, #3638: Extra tests to check that the coordinate transform info is properly saved.

comment:14 Changed 9 years ago by Janik Zikovsky

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

comment:15 Changed 9 years ago by Owen Arnold

  • Status changed from verify to verifying
  • Tester set to Owen Arnold

comment:16 Changed 9 years ago by Owen Arnold

  • Status changed from verifying to closed

Works. Minor memory issue introduced in this ticket may be fixed here: #3765

comment:17 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 4519

Note: See TracTickets for help on using tickets.