VTK/GSoC 2013
Project ideas for the Google Summer of Code 2013
Guidelines
Students
These ideas were contributed by developers and users of VTK and ParaView. If you wish to submit a proposal based on these ideas you should contact the developers to find out more about the idea you are looking at, get to know the developers your proposal will be reviewed by and receive feedback on your ideas.
The Google Summer of Code program is competitive, and accepted students will usually have thoroughly researched the technologies of their proposed project, been in frequent contact with potential mentors and ideally have submitted a patch or two to fix bugs in the project they intend to work (through Gerrit). Kitware makes extensive use of mailing lists, and this would be your best point of initial contact for any of the proposed projects you would like to apply for. The mailing lists can be found on the project pages linked to in the preceding paragraph. Please see GSoC proposal guidelines for further guidelines on writing your proposal.
Adding Ideas
When adding a new idea to this page, please try to include the following information:
- A brief explanation of the idea
- Expected results/feature additions
- Any prerequisites for working on the project
- Links to any further information, discussions, bug reports etc
- Any special mailing lists if not the standard mailing list for the VTK
- Your name and email address for contact (if willing to mentor, or nominated mentor)
If you are not a developer for the project concerned, please contact a developer about the idea before adding it here.
Project Ideas
Project page, mailing lists, dashboard.
Project: Biochemistry Visualization
Brief explanation: Addition of new data types, mappers and visualizations for biochemistry visualization. VTK has already been used in several open source biochemistry applications, but only has limited support for protein ribbons. This would build on previous work done in chemistry. Features such as marching cubes, GPU accelerated volume rendering and glyph mappers could be leveraged here. This could also make use of existing work in infovis and 2D charting to display numerical data associated with biochemistry and bioinformatics applications. Looking at the boundary between quantum calculations and molecular dynamics, with QMMM data and other output ideally.
Expected results: Support for standard biochemical representations, advanced visualization techniques of electronic structure using volume rendering, surfaces, contours etc.
Prerequisites: Experience in C++, some experience with VTK and/or OpenGL ideally, but not necessary.
Mentor: Marcus Hanwell (marcus dot hanwell at kitware dot com).
Project: Supporting a Visualization Grammar
Brief explanation: Visualization grammars like Protovis and the upcoming Vega are new declarative techniques for rendering arbitrary visualizations by mapping data attributes to visual properties. This project would provide a baseline implementation of a visualization grammar in VTK, combining rapid prototyping of visualizations with the graphical power and OpenGL performance of VTK.
Expected results: The result would be VTK classes to support a grammar such as Vega that for example supports that JSON specification completely or a significant subset. Features would include grammar mark implementations in VTK/OpenGL, data specification and mapping to VTK data objects like vtkTable, and infrastructure for custom interaction binding.
Prerequisites: C++ experience required, Javascript experience a plus.
Mentor: Jeff Baumes (jeff dot baumes at kitware dot com).
Biocomputing In Situ Visualization
Brief explanation: Biocomputing involves using computer simulations to study biological problems. Of particular interest is [GROMACS], a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles. It is primarily designed for biochemical molecules like proteins, lipids and nucleic acids that have a lot of complicated bonded interactions. GROMACS is optimized to run on distributed memory clusters with recent support for GPU and SSE optimization. These GROMACS supercomputing simulations produce enormous (terabytes) file output to be analyzed post process by tools that only read the trajectory (position, velocity, and forces) or coordinate (molecular structure) information, and simply guess at the topology rather than using the simulations topology defined in GROMACS.
This project would provide a baseline implementation of ParaView Catalyst for molecular in situ visualization and data analysis embedded in GROMACS based on GROMACS' computed topology and trajectory information.
Expected results: The result would be ParaView Catalyst adaptors, example python scripts, and new advanced visualization techniques for GROMACS in order to enhance the biocomputing workflow.
Prerequisites: C++ and python experience required, some experience with VTK and ParaView ideally, but not required.
Mentor: Patrick O'Leary (patrick dot oleary at kitware dot com).