CGG   Témata na ročníkové projekty (NPRG0033 a NPRG034, nově NPRG045 a NPRG046)


Pravidla:

Termíny (aktuálně pro školní rok 2009/2010)


Volná témata:

Rámcová témata:

Obecná témata:

NewProjekt Morpho

Projekt Morpho je softwarová platforma, která je vyvíjena CGG ve spolupráci s PřF UK. Jde o software pro zpracování a řešení tzv. morfometrických problémů, tedy měření tvaru a jeho změn. To se typicky provádí na datech, která souvisí s biologií, antropologií, medicínou, apod. Tato data se dají představit jako lékařská data (rentgeny, fotografie, CT snímky exponátů i povrchové snímky obličejů, odlitků kostí, orgánů, jedinců, apod.). Existují softwarová řešení, která však trpí různými problémy spojenými s tím, že je vyvíjejí neprogramátoři. Úlohy se mohou týkat vizualizačních problémů (zobrazování trojúhelníkových sítí a objemových dat), morphingu (změna jednoho tvaru na druhý), zpracování trojúhelníkových sítí (automatická registrace - něco jako vytváření panoramatických fotografií), nástroje pro měření (vzdálenosti na povrchu, zadávání bodů, křivek, ploch a jejich automatické hledání), statistické výpočty a rozpoznávání vzorů. Konkrétní zadání podle dohody.

Projekt MedV4D

Jedná se o implementaci konkrétních součástí systému MedV4D. Systém MedV4D je framework pro analýzu a zpracování lékařských dat vyvíjený skupinou CGG na naší fakultě. Jedná se o různé úlohy počínaje různými typy zobrazování 2D i volumetrických dat, přes datové konverze, haptický interface, webové rozhraní, části uživatelského rozhraní a podobně. Konkrétní zadání podle dohody.

Konkrétní témata:

Framework pro testování počítačových her a interaktivních aplikací

Automatické testování má dnes své místo ve vývojovém cyklu většiny velkých/komerčních/dobře vedených projektů. Známe jsou například technologie JUnit, CPPUnit, apodob. Učebnice, manuály a tutoriály zabývající se touto problematikou nabízejí většinou pouze jednoduché příklady toho jak testovat že součet dvou čísel funguje. Na principu neustálého testování jsou založené celé programátorské metodologie (test-driven programming). V komplexním projektu, jakým muže být například počítačová hra, kde na sobě závisí mnoho akcí, a kde se mnoho věcí projeví pouze tehdy, pokud hra běží v reálném čase, se podobné testy píší velice těžko. Jak by měl vypadat framework, který usnadní vývojaři testování i samotný vývoj počítačové hry? Jak takový systém navrhnou, aby šel zapojit do existujícího projektu? Autor by mohl ke studiu a vývoji testovacího frameworku použít některý z existujících open-source herních projektů.

Téma je možné po dohodě dostatečně zúžit. Například se omezit na konkrétní platformu, knihovnu, engine (DirectX, OpenGL, SDL, Ogre, ...). Použitý jazyk, cílová platforma závisí primárně na řešení, pro které se autor rozhodne. Může jít o kombinaci více jazyků, nástrojů (knihovna + klientská aplikace, apodob.).


Zadaná témata:

Editor objemových dat

Zadáno: 25.2.08

Řešitel: Jiří Kavalík

Existuje mnoho editorů rastrových obrázků, několik málo editorů vektorových obrázků a ještě méně editorů trojrozměrných vektorových obrázků (3D Studio,...). Objemová data (skládajcící se z voxelů na místo pixelů) jsou prostředek, kterým přinést mnohem více informace do 3D počítačové grafiky než dovoluje tradiční povrchový model. Ze zpracování objemových dat těží například medicína, nebo materiálový, či chemický průmysl. S rostoucí kapacitou a rychlostí počítačů nachází objemová data čím dál větší uplatnění. Objemová data lze analyzovat, zobrazovat, ale také editovat. Jak pro analýzu tak i pro zobrazování jsou vyvíjeny nové algoritmy a postupy, které se odlišují od svých dvourozměrných předků. Stejně tak úloha editace skýtá velký prostor pro nové přístupy. Například pro editování obrázků se zažil pojem štětce s možnostmi nastavení tloušťky, průsvitnosti. Analogií pro editaci objemových dat by mohlo být dláto, kterým se budou oškrabovat voxely. Co v případě editování jiného než binárního obrazu? Jaké jiné nástroje uživatelského rozhraní by se daly použít? Průměty do rovin, masky, šablony, množinové operace...?

Tento projekt je velice snadno rozšiřitelný na bakalářskou práci. S trochou fantazie i nad úroveň bakalářské práce.

Použitý jazyk, cílová platforma závisí na dohodě. Preferováno je C++ a multiplatformnost.

Deformace objemových dat

Zadáno: 7.3.08

Řešitel: Josef Talaš

Řešitel se pokusí implementovat, složitější operaci pro editování objemových dat založenou na nelineárních deformacích. Jde o operace podobné warpingu 2D obrázku. Řešitel si prostuduje dostupnou literaturu k dané problematice a zaměří se na implementaci algoritmu s vlastnostmi důležitými pro interaktivní editační nástroj.

Tento projekt je velice snadno rozšiřitelný na bakalářskou práci. S trochou fantazie i nad úroveň bakalářské práce.

Použitý jazyk, cílová platforma závisí na dohodě. Preferováno je C++ a multiplatformnost.

Literatura:
Mario Botsch, Mark Pauly, Martin Wicke, Markus Gross: Adaptive Space Deformations Based on Rigid Cells
Liviu Tancau, Ravin Balakrishnan, Michael J. McGuffin: Using Deformations for Browsing Volumetric Data
H. Chen, J. Hesser, R. Männer: Fast Volume Deformation Using Inverse-Ray-Deformation and FFD
Tom Brunet, K. Evan Nowak, Michael Gleicher: Integrating Dynamic Deformations into Interactive Volume Visualization
Florian Schulze, Katja Buhler, Markus Hadwiger: Interactive deformation and visualization of large volume datasets
Simon Walton, Mark Jones: Interacting with Volume Data: Deformations using Forward Projection
Remco K. Chang: Simulation Techniques For Deformable Animated Characters, master thesis
Carlos D. Correa, Deborah Silver, Min Chen: Volume Deformation via Scattered Data Interpolation

Počítačový hráč pokeru Texas Hold'em

Zadáno: 10.3.08

Řešitel: Vojtěch Kolomičenko

Řešitel implementuje hráče karetní hry Texas Hold'em, který se bude rozhodovat na základě svých karet, stavu hry (pozice u stolu, množství vsazených peněz, sázky ostatních hráčů). Program bude udržovat statistiku chování ostatních hráčů, díky které se pokusí vyhodnocovat jejich vlastnosti a taktiky. Nakonec může některé vlastnosti sám zkoušet (blafování, check-raise, tight-loose, ...). Řešitel se může inspirovat existující literaturou zabývající se optimalními strategiemi v této hře.

Aby mohl počítač hrát proti ostatním hráčům, vytvoří řešitel grafické rozhraní. Kromě toho implementuje i hru více hráčů po síti s architekturou klient-server. Jeden server bude spravovat uživatelské účty a bude schopen obsluhovat více klientů najednou. Klienti se budou připojovat ke hře v rámci sezení, během kterého budou na server posílat své herní akce akce (sázka, složení karet, ...) a budou přijímat informace o akcích ostatních klientů.

Literatura:
Ankur Chopra: Knowledge and Strategy-based Computer Player for Texas Hold'em Poker, Master thesis, www.inf.ed.ac.uk/publications/thesis/online/IM060394.pdf
Andrew Gilpin and Tuomas Sandholm: A competitive Texas Hold'em poker player via automated abstraction and real-time equilibrium computation, www.cs.cmu.edu/People/sandholm/texas.aaai06.pdf
Peter Bro Miltersen, Troels Bjerre Sorensen: A Near-Optimal Strategy for a Heads-Up No-Limit Texas Hold'em Poker Tournament, www.daimi.au.dk/~bromille/Papers/aamaspoker.pdf
Andrew Gilpin, Tuomas Sandholm: A Texas Hold'em poker player based on automated abstraction and real-time equilibrium computation, http://www.cs.cmu.edu/~sandholm/texas_demo.aamas-06.pdf


Last update: Thu Mar 27 14:19:21 CET 2008