MVE-2 Applied in Education Process
Milan Frank
Libor Váša
Václav Skala
4th .NET Technologies 2006 2/25
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 3/25
What is MVE-2?
• Modular Visualisation Environment
• algorithm decomposition into– modules– connections– maps
• two front ends:– MapEditor– runmap
4th .NET Technologies 2006 4/25
4th .NET Technologies 2006 5/25
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 6/25
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 7/25
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 8/25
MVE-2 simplicity2
private int multiplier;
public int Multiplier
{
get { return (multiplier); }
set { multiplier = value; }
}
4th .NET Technologies 2006 9/25
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 10/25
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 11/25
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 12/25
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 13/25
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 14/25
Visualisation data structures
4th .NET Technologies 2006 15/25
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 16/25
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 17/25
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 18/25
4th .NET Technologies 2006 19/25
4th .NET Technologies 2006 20/25
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 21/25
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 22/25
4th .NET Technologies 2006 23/25
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 24/25
4th .NET Technologies 2006 25/25
Thank you for your attention.
Questions?
http://herakles.zcu.cz/research/mve2
Top Related