Ticket #2918 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

Visualisation of 1d, 2d and 3d IMDWorkspaces

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: major Milestone: Iteration 29
Component: VATES Keywords:
Cc: Blocked By:
Blocking: Tester: Janik Zikovsky

Description

The current implementation expects the IMDWorkspace to present mappings for 4 dimensions (x, y, z, t). In the case that these mappings are not required, or when the actual dimensionality is less than 4, we currently have no way of providing the visualisation.

In addition to providing additional versions of vtkDataSetFactory for the 1D, 2D and 3D cases, we should also implement a Chain Of Responsibility pattern starting with the 4D case and cascading down to the 1D case. This way the vtkDataSetFactories will be self managing, and delegate to other chained factories if they are unable to render the IMDWorkspaces themselves.

Change History

comment:1 Changed 9 years ago by Owen Arnold

  • Component changed from Mantid to VATES

comment:2 Changed 9 years ago by Owen Arnold

(In [11249]) re #2918 2D case handler implemented.

comment:3 Changed 9 years ago by Owen Arnold

(In [11265]) re #2918 base type vtkDataSetFactory adapted to support chaining. 4D and 2D unstructured grid factory types are now capable of opting-in to this chaining. 3D and 1D types are still missing. These will be generated next.

comment:4 Changed 9 years ago by Owen Arnold

(In [11279]) re #2918 Now have implementations for missing 1D and 3D factory types. Chain implemented in vtkEventNexusReader. Does the right thing.

comment:5 Changed 9 years ago by Owen Arnold

(In [11290]) re #2918. Discovered and fixed errors with test code.

comment:6 Changed 9 years ago by Owen Arnold

(In [11640]) re #3037 #2918 First off need to have accurate way of working out which dimensions are not-integrated.

comment:7 Changed 9 years ago by Owen Arnold

(In [11648]) re #3037 #2918 Factory type selections made on the basis of number of nonintegrateddimensions.

comment:8 Changed 9 years ago by Owen Arnold

  • Status changed from new to accepted

comment:9 Changed 9 years ago by Owen Arnold

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

Done. Individual unit tests for each type of vtkDataSet generated from a IMDWorkspace in VatesAPITests.

comment:10 Changed 9 years ago by Janik Zikovsky

  • Status changed from verify to verifying
  • Tester set to Janik Zikovsky

comment:11 Changed 9 years ago by Janik Zikovsky

  • Status changed from verifying to reopened
  • Resolution fixed deleted

1,2,3 dimensions work, but you can get a crash if you do this:

  • Load the CNCS event nxs file.
  • Check "integrated" on all 3 dimensions (go down to 0d). I know this is silly :)
  • Click apply:
BinToMDHistoWorkspace-[Notice] BinToMDHistoWorkspace started
BinToMDHistoWorkspace-[Information] Algorithm: BinToMDHistoWorkspace v1
BinToMDHistoWorkspace-[Information] Parameters:
BinToMDHistoWorkspace-[Information]   Name: InputWorkspace, Value: eventWsId, Default?: No, Direction: InOut
BinToMDHistoWorkspace-[Information]   Name: DimX, Value: , Default?: Yes, Direction: Input
BinToMDHistoWorkspace-[Information]   Name: DimY, Value: , Default?: Yes, Direction: Input
BinToMDHistoWorkspace-[Information]   Name: DimZ, Value: , Default?: Yes, Direction: Input
BinToMDHistoWorkspace-[Information]   Name: DimT, Value: , Default?: Yes, Direction: Input
BinToMDHistoWorkspace-[Information]   Name: ImplicitFunctionXML, Value: , Default?: Yes, Direction: Input
BinToMDHistoWorkspace-[Information]   Name: OutputWorkspace, Value: histogramWsId, Default?: No, Direction: Output
BinToMDHistoWorkspace-[Error] Logic Error in execution of algorithm BinToMDHistoWorkspace
BinToMDHistoWorkspace-[Error] 0 valid dimensions were given to the MDHistoWorkspace constructor!

and then a crash.

comment:12 Changed 9 years ago by Owen Arnold

  • Status changed from reopened to accepted

I take the view that If it can be done users will eventually try it. Better to fix now.

comment:13 Changed 9 years ago by Owen Arnold

(In [12859]) re #2918. Not allowed to collapse all dimensions now.

comment:14 Changed 9 years ago by Owen Arnold

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

comment:15 Changed 9 years ago by Janik Zikovsky

  • Status changed from verify to verifying

comment:16 Changed 9 years ago by Janik Zikovsky

  • Status changed from verifying to closed

0d is not allowed.

comment:17 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3765

Note: See TracTickets for help on using tickets.