Lab Course SS 2004: Intra-operative Imaging & Visualization
Participants:
Bastian Seehaus
David Flade
Frederik Bender
Henning Herbers
General Discussions
- General Discussion Forum Go ahead - Take a look!
- Our work is sustained by good Documentation. Still there are some variables and methods not documented.
Achievements
Recent
July 22nd
- added quick hack to enable and disable the SliceInteraction during runtime
- now all m_renderer[] are recomputed after update (better documentation in SliceViewGL would have made this a 1 minute job...)
- as allways: added documentation for those coming after us
- last and definately not least: made some testing for presentation and tagged this running version in cvs as "presentationSliceinteraction" (so now we can still work on it and be sure to have a running version tomorrow morning no matter what )
July 21st later at night or early in the morning
- added more Interface methods to Slice and VolumeViewGL and Mainframe
- started on concept for handling Images and Views
July 21st
- added Interaction functionality (only for Sliceview::m_renpose, but works nicely allready, try 4 different sliceviews on a head and use different views in each one (cubeview, fullview etc.)) to be continued...
- changed menustructure
- added autoload again (/home/shared/data/MR/headbla)
July 19th - a little bit later... good fight, good night
- some kind of multi-view mode added. to be continued...
July 19th
- moved all Slice / VolumeViewGL specifics out of ViewGL; ViewGL is now a base class for all GL outputs, not only renderers
- reworked most of the MainframeUI and Mainframe to integrate Multiple View Support (not finished)
- research in this $@$#@%^# matter of not drawing at start
July 16th
- All bugs should be removed now, new version stable as old version
- All buttons work in Fullview mode
- New image is automatically selected in browser after loading
- Views are part of a tile, its size is dynamic and adapts on window size. This is all done in MainFrame.cpp
- You don't have to set the 4 parameters in SliceViewUI.cxx and VolumeViewUI.cxx manually anymore to make them a subwindow after a "make clean"!!!
July 15th
- Again, goal achieved. a running version is in the cvs.
July 14th
- WOHOO! Goal achieved, a yes-it-compiles-again version was created (next goal will be a linking version )
- That is due to GREAT TEAMWORK! and effort from everybody. Good work guys!
- restructuring complete, now we can finish the edges (mainframe) and tidy up a bit (viewgl and sliceviewgl are woven together too much)
- a lot of documentation was added
Old
Next Meeting
generally
every Monday 13 o'clock
but next Monday is cancelled; afternoon on Tuesday then
Links, Tutorials
FLTK Reference
OpenGL Reference
Doxygen Manual
gnu make doc
gnu make tutorial
Design Patterns
Script about Design Patterns
astyle (code formatter)
Eclipse project
Eclipse C Development Tools
Medcyclopedia, tons of information on medical imaging/technology
Osirix, Multidimensional DICOM Viewer for MacOS X. Check the screenshots!
Introduction to some popular GUI Toolkits
The Fast Light Toolkit
Insight Registration and Segmentation Toolkit
The Visualization Toolkit
SGI OpenInventor Main Page
FL-Inventor, OpenInventor stuff in fltk
Coin, another implementation of the OpenInventor API
Time schedule
Week | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Problem | ### | ### | | | | | |
Enviroment | ### | ### | | | | | |
Implementation | | ## | ### | ### | | | |
Documentation | | | ### | ### | ### | | |
Combination | | | | | ### | ### | |
Testing | | | | | ### | ### | |
Final presentation | | | | | | | ### |
Recent objectives include:
- Development of various OpenGL Views and appropriate widgets. (for integration of all renderer included in framework)
- Design of a cool and flexible alignement in the main frame.
- First thoughts on concept and interface for the controller.
- Sketch the model class. (beyond use of Wolfgang's image class)
- Development of a basic view class to be extended by fluid interfaces.
Wolfgang encourages us to meet on a regular basis and get going on programming.
For further, more specific assignments, also check the meeting minutes.
Meeting Minutes
01.07.2004
10.05.2004
03.05.2004
28.04.2004
26.04.2004
22.04.2004
Books
- Erich Gamma: Design Patterns (Tonnen davon in der Bib verfuegbar)
Remarks to the development environment
Code Format mit astyle
astyle can be downloaded
here(linux/w32)
Documentation and Installation (easy)
Easiest way is to put the astyle binary in your PraktSS04 dir or somewhere accessible.
Create ".astylerc" in your home with following content:
--style=kr -c -C -T
usage:
astyle bla.cpp bla.h
astyle *.cpp *.h
Then the file(s) will be reformatted and a backup is made to bla.cpp.orig
CVS
For using cvs, you have to set an environment variable. This can be done automatically by adding a line in the file .bashrc (begins with a dot and thus is hidden in the normal file view) in your home directory:
export CVSROOT=/home/shared/cvs
If you wanna do the same over the internet:
export CVSROOT=:ext:atnavab5.informatik.tu-muenchen.de:/home/shared/cvs
export CVS_RSH=ssh
(the last line tells that the Remote SHell for the connection is ssh)
If you are annoyed by the editor that comes up if you do changes:
export CVS_EDITOR=/usr/bin/yourfavoriteeditor
CVS and Eclipse
Fürs CVS bei Eclipse ist folgendes nötig:
Unterm Menu Window/Preferences/Team/CVS/ext Connection Method:
CVS_RSH unter Linux:
ssh
CVS_RSH unter Windows:
Pfad\plink.exe
Parameters:
""
CVS_SERVER:
/usr/bin/cvs
Unter den Properties des Repositorys:
repository path:
/home/shared/cvs
connection type:
ext
user:
usernamehalt
password:
blank (if you have the ssh key)
host:
atnavab5.informatik.tu-muenchen.de