CIBC:Seg3D2

From SCIRun Documentation Wiki
Jump to navigation Jump to search

Seg3D 2.0

This wiki contains the developer documentation and discussion forums for the new version of Seg3D called Seg3D 2.0. If you are looking for the most up to date information on this Project, these wiki pages are most likely the best source of information. Besides this wiki the current development team also uses the seg3d2-devel@sci.utah.edu mailing lists for internal communication.

The Seg3D 2 project is a continuation of the original Seg3D project, that was aimed at generating a relatively simple to use segmentation program that could be used for the cases where automatic segmenting programs fail. Hence it has a strong emphasis on manual and semi-manual segmentation, where filtered data guides the user in making decent segmentations of the data. The program is mainly intended for segmentation of biological/medical data, but it is not strictly limited to it. It also serves as the start of the modeling pipeline where, BioMesh3D can be used to turn segmentations into quality meshes and SCIRun can be used to simulate biological process on the segmented images.

Addressing critical flaws from the original Seg3D:

  • Stability - The initial version had a great vision of how the segmentation program should look like, but was limited by its underlying software architecture. Hence the new version is build on a more robust foundation, that uses more modern ways of software engineering, such as signals-and-slots
  • Usability - The initial version had some flaws, that made it at times hard to operate the program. For instance, features like auto saving, session saving etc., were limiting the user severely, as these features were not implemented correctly.
  • Scriptability - The new version aims to have a full scripting engine inside the program, so it can be incorporated in semi automated workflows. The program can be controlled completely over a socket.
  • Provenance - As the program aims to provide a tool for semi automated segmentation, keeping track of what was done to the data is important. Hence the new version will do this.
  • Interface - The old interface in WxWidgets of the initial version meant that on certain platforms only 32 bit versions were available and that the program would not look as professional as one would want. Hence the new version will be based on the Qt toolkit instead.
  • Efficiency - The initial version had a tendency to run out of memory quickly, the new version will use memory more efficiently.

What we will not address at this time:

  • One of the more frequently requested features is support for very large data sets. Although preparations for this feature will go in this version, the project will not include this at this time, as fixing the features mentioned above have currently a higher priority.
  • The other feature that people have asked for, is inclusion of not axis aligned data. As none axis aligned datasets require again a large amount of work and inclusion of new concepts in the program, we have limited the scope for now to importing axis aligned datasets only.

-- Jeroen

Building Seg3D 2

This section contains the information (needed at the present) to build the development version of Seg3D 2.0 for a variety of platforms.

Building Seg3D 2 for Windows

Building Seg3D 2 for OS X

Building Seg3D 2 for Linux

Release builds

Building Seg3D 2 Releases

Developer Documentation

This section contains information about design decisions and overall layout of the project.

Developer Documentation

Extending Seg3D 2

User Feature Suggestions

This section contains a discussion about requested features and design of the interace.

User Suggestions

Documentation

Seg3D classes

Doxygen usage notes