Sources module

A module containing objects that wrap CUDS objects and files to Mayavi compatible sources. Please use the simphony_mayavi.sources.api module to access the provided tools.

Classes

CUDSSource([cuds, point_scalars, ...]) A mayavi source of a SimPhoNy CUDS container.
CUDSFileSource(**traits) A mayavi source of a SimPhoNy CUDS File.
EngineSource([engine, dataset, ...]) A mayavi source for reading data from a SimPhoNy Engine

Description

class simphony_mayavi.sources.cuds_source.CUDSSource(cuds=None, point_scalars=None, point_vectors=None, cell_scalars=None, cell_vectors=None, **traits)[source]

Bases: mayavi.sources.vtk_data_source.VTKDataSource

A mayavi source of a SimPhoNy CUDS container.

cuds : instance of ABCParticle/ABCMesh/ABCLattice/H5Mesh
The CUDS container to be wrapped as VTK data source

The cuds attribute holds a reference to the CUDS instance it is assigned to, as oppose to making a copy. Therefore in any given time after setting cuds, the CUDS container could be modified internally and divert from the VTK data source. The update function can be called to update the visualisation.

Constructor

Parameters:
  • cuds (Instance) – The CUDS dataset to be wrapped as VTK data source (i.e. ABCParticles, ABCLattice, ABCMesh or H5Mesh)
  • point_scalars (str) – CUBA name of the data to be selected as point scalars. Default is the first available point scalars.
  • point_vectors (str) – CUBA name of the data to be selected as point vectors. Default is the first available point vectors.
  • cell_scalars (str) – CUBA name of the data to be selected as cell scalars. Default is the first available cell scalars.
  • cell_vectors (str) – CUBA name of the data to be selected as cell vectors. Default is the first available cell vectors.

Note

To turn off visualisation for a point/cell scalar/vector data, assign the attribute to an empty string (i.e. point_scalars=””)

Other optional keyword parameters are parsed to VTKDataSource.

Examples

>>> cuds = Particles("test")
>>> # Say each particle has scalars "TEMPERATURE" and "MASS"
>>> # and vector data: "VELOCITY"
>>> cuds.add_particles([...])
>>> # Initialise the source and specify scalar data to visualise
>>> # but turn off the visualisation for point vectors
>>> source = CUDSSource(cuds=cuds, point_scalars="MASS",
                        point_vectors="")
>>> # Show it in Mayavi!
>>> from mayavi import mlab
>>> mlab.pipeline.glyph(source)
cuds = Property(depends_on='_cuds')

The CUDS container

output_info = PipelineInfo(datasets=['image_data', 'poly_data', 'unstructured_grid'], attribute_types=['any'], attributes=['scalars', 'vectors'])

Output information for the processing pipeline.

update()[source]

Recalculate the VTK data from the CUDS dataset. Useful when cuds is modified after assignment.

Examples

>>> # Add content to cuds after visualisation is set up
>>> source.cuds.add_particles([...])
>>> # update the scene!
>>> source.update()
class simphony_mayavi.sources.cuds_file_source.CUDSFileSource(**traits)[source]

Bases: simphony_mayavi.sources.cuds_source.CUDSSource

A mayavi source of a SimPhoNy CUDS File.

Create a CUDSFileSource instance

Example

>>> source = CUDSFileSource()
>>> source.initialize("path/to/cuds_file.cuds")
dataset = DEnum(values_name='datasets')

The name of the CUDS container that is currently loaded.

datasets = ListStr

The names of the contained datasets.

file_path = Instance(FilePath, '', desc='the current file name')

The file path of the cuds file to read.

initialize(filename)[source]

Initialise the CUDS file source.

initialized = Bool(False)

whether the source is initialized

start()[source]
update()[source]
class simphony_mayavi.sources.engine_source.EngineSource(engine=None, dataset=None, point_scalars=None, point_vectors=None, cell_scalars=None, cell_vectors=None, **traits)[source]

Bases: simphony_mayavi.sources.cuds_source.CUDSSource

A mayavi source for reading data from a SimPhoNy Engine

Constructor

Parameters:
  • engine (ABCModelingEngine) – The SimPhoNy Modeling Engine where dataset is loaded from. Default is None.
  • dataset (str) – Name of the dataset to be extracted from engine. Default is the first available dataset if engine is defined, otherwise it is an empty string
  • point_scalars (str) – CUBA name of the data to be selected as point scalars. Default is the first available point scalars.
  • point_vectors (str) – CUBA name of the data to be selected as point vectors. Default is the first available point vectors.
  • cell_scalars (str) – CUBA name of the data to be selected as cell scalars. Default is the first available cell scalars.
  • cell_vectors (str) – CUBA name of the data to be selected as cell vectors. Default is the first available cell vectors.

Note

To turn off visualisation for a point/cell scalar/vector data, assign the attribute to an empty string (i.e. point_scalars=””)

Other optional keyword parameters are parsed to CUDSSource

Examples

>>> source = EngineSource(engine=some_engine)
>>> source.datasets
["particles", "lattice"]
>>> source.dataset = "particles"
>>> # Alternatively
>>> source = EngineSource(engine=some_engine, dataset="particles")
>>> from mayavi import mlab
>>> mlab.pipline.glypy(source)
update()

Recalculate the VTK data from the CUDS dataset. Useful when cuds is modified after assignment.

Examples

>>> # Add content to cuds after visualisation is set up
>>> source.cuds.add_particles([...])
>>> # update the scene!
>>> source.update()