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