250 likes | 355 Views
MVE-2 Applied in Education Process . Milan Frank Libor V áša Václav Skala. Outline. what is MVE-2 MVE-2 features development of MVE-2 core development of MVE-2 visualisation modules MVE-2 used in education MVE-2 used in research. What is MVE-2?. Modular Visualisation Environment
E N D
MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala
Outline • what is MVE-2 • MVE-2 features • development of MVE-2 core • development of MVE-2 visualisation modules • MVE-2 used in education • MVE-2 used in research 4th .NET Technologies 2006
What is MVE-2? • Modular Visualisation Environment • algorithm decomposition into • modules • connections • maps • two front ends: • MapEditor • runmap 4th .NET Technologies 2006
MVE-2 features • .NET • Framework (XML, collections, …) • language independence • generality • modules/data structures easily added • any functionality • simplicity • experimental purposes • flexibility • general execution model 4th .NET Technologies 2006
MVE-2 and XML • XML suggested data format • Saved maps • Map topology (connections) • Additional information for the GUI • Custom module settings • Saved data structures • XML serialization/deserialization required from any data structure • XML serialization modules are provided by Elemetals library 4th .NET Technologies 2006
MVE-2 simplicity • basic module source code (whole!): • using System; • using Zcu.Mve.Core; • using Zcu.Mve.Numerics; • namespace Examples{ • class SimpleSine:Module{ • public SimpleSine(){ • AddInPort("Argument", typeof(Scalar)); • AddOutPort("Value", typeof(Scalar)); • } • public override void Execute(){ • Scalar input = (Scalar)GetInput("Argument"); • Scalar result = Math.Sin(input); • SetOutput("Value", result); • } • } • } 4th .NET Technologies 2006
MVE-2 simplicity2 • private int multiplier; • public int Multiplier • { • get { return (multiplier); } • set { multiplier = value; } • } 4th .NET Technologies 2006
MVE-2 flexibility • general maps • support for cycles • map sublevels • advanced execution • on-demand execution (non-auto update port) • port events • connection estabilished • connection removed • data ready 4th .NET Technologies 2006
MMDOC • documentation generator • uses: • metadata • documentation comments • special attributes • PortInfo, ModuleInfo • generates: • documentation in variety of formats • html, chm, … • list of missing comments 4th .NET Technologies 2006
MVE history • first version (1996) • static set of data structures • problems with different languages, compilers • MVE-2 (2002) • completely new code • core is pure .NET • PhD. work of Milan Frank • used in the GSVD course 2005, 2006 • used in research at UWB 4th .NET Technologies 2006
Development of MVE-2 core • Milan Frank – team leader, software architect • a team of MSc. Students • core implementation (Miroslav Fuksa) • MapEdit implementation (Zdeněk Češka) • mmdoc implementation (Petr Dvořák) • data visualisation module library (Miroslav Vavruška) • early versions used in research • mesh stripification (Petr Vaněček) 4th .NET Technologies 2006
Visualisation • Module library by Miroslav Vavruška and Milan Frank • Common visualisation tasks • Data structures • Similar to VTK • Basic elements (points, vectors, matrices, …) • Data sets • structured/unstructured • regular/irregular • Separate geometry (points) and topology (cells) • Assignable attributes (point attributes, cell attributes) • Modules • Sources • Basic renderers (image, curve, …) 4th .NET Technologies 2006
Visualisation data structures 4th .NET Technologies 2006
MVE-2 in education • environment for GSVD courseworks • system improvements • automatic GUI using PropertyGrid component (Přemysl Zítka) • new modules • mesh displace (Jiří Skála) • loaders/savers of various data formats (TRI, STL, PLY, CMX, ...) • will be used in the future 4th .NET Technologies 2006
Benefits from using MVE-2 in education • enforces good programming habits • clear problem decomposition • early architectural decisions • straightforward code reusability • students are forced to read and understand existing code • data visualisation pipeline is clearly shown • familiarizes the students with basic data visualisation concepts (Visualisation library similar to VTK) • team work 4th .NET Technologies 2006
MVE-2 in diploma thesis • task: renderer (Jan Kaiser) • data structures from Visualisation • additional new data structures • lights • objects (geometry+material) • camera • scene (objects+lights+camera) • problems to solve • interactivity (backloop, minimisation of updates) • generality (D3DUT) • overall architecture decisions 4th .NET Technologies 2006
MVE-2 in research • used by PhD. students and researchers at UWB • benefits • simplicity for experimental purposes (small overhead when compared to similar systems such as ParaView) • cooperation • use of existing modules • Petr Vaněček • mesh stripification • Libor Váša • dynamic mesh comparison 4th .NET Technologies 2006
MVE-2 in research • Martin Janda and Ivo Hanák • digital holography • hologram renderer module (Martin Janda) • renders an artifical scene into a hologram • Hologram reconstruction module (Ivo Hanák) • renders a scene represented by a hologram as an image • new data structure for hologram (easily added) • MVE-2 allows straightforward cooperation and verification • negligible performance loss (intensive computations) 4th .NET Technologies 2006
Future work • standard modules developped as courseworks of data visualisation subjects • volume data visualisation • basic image processing (in collaboration with University of South Bohemia) • environment improvements • automatic parallelisation of inherently parallel maps • use in research • holography (continued) • dynamic mesh decimation 4th .NET Technologies 2006
Thank you for your attention. • Questions? • http://herakles.zcu.cz/research/mve2 4th .NET Technologies 2006