MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

25
MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala

Transcript of MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

Page 1: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

MVE-2 Applied in Education Process

Milan Frank

Libor Váša

Václav Skala

Page 2: 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

Page 3: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 3/25

What is MVE-2?

• Modular Visualisation Environment

• algorithm decomposition into– modules– connections– maps

• two front ends:– MapEditor– runmap

Page 4: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 4/25

Page 5: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 6: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 7: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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);

}

}

}

Page 8: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 8/25

MVE-2 simplicity2

private int multiplier;

public int Multiplier

{

get { return (multiplier); }

set { multiplier = value; }

}

Page 9: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 10: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 11: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 12: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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)

Page 13: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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, …)

Page 14: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 14/25

Visualisation data structures

Page 15: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 16: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 17: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 18: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 18/25

Page 19: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 19/25

Page 20: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 21: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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)

Page 22: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 22/25

Page 23: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

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

Page 24: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 24/25

Page 25: MVE-2 Applied in Education Process Milan Frank Libor Váša Václav Skala.

4th .NET Technologies 2006 25/25

Thank you for your attention.

Questions?

http://herakles.zcu.cz/research/mve2