CIBC:Project:NCMIR

From NCRR Biomedical Software Development, Engineering, and Dissemination Wiki

Jump to: navigation, search

Contents

Overview

The SCI segmentation application is an OpenGL-based viewer and editor of scientific voxel data. It can handle data types ranging from eight-bit to double precision floating point formats and features three-dimensional navigation and editing of scalar, vector, and RGBA data. Users can simultaneously view multiple orthogonal, two-dimensional slices of the data and create segmentation masks (labeled images) using manual drawing tools and automated segmentation algorithms. Any number of volumes can be displayed relative to each other with correct origin, orientations, and data spacing. Visualization tools include standard and custom color lookup tables, infinite zooming, paning, and surface and volume rendering. Multiple modalities acquired at different resolutions can be displayed using separate color maps with transparency for manual registration. Data may be cropped, resampled, and thresholded. This tool integrates powerful higher-dimensional image processing and segmentation algorithms from the Insight Toolkit such as anisotropic blurring, edge-detection, image statistics, flood filling, morphological operations, and level-set segmentation algorithms.

For up to date information and announcements regarding Seg3D please Join the Seg3D Mailing List.

Seg3D is built atop the LeXoV volume processing engine.

Features

  • Familiar, Photoshop-style interface
  • Entirely open source code
  • Layered volumes displayed in unified coordinate space
  • Automated filtering plus Manual Contouring and Painting
  • Integrated ITK filtering vs. wrapping or bridging – uses native ITK callback & data types
  • Realtime display of ITK filter output allows for computational steering
  • Custom interface design (e.g. VCR controls for level-sets)
  • Customizable layout and event management engine XML-based
  • Cross platform: Only requires OpenGL context (ported to Windows, OSX, & Linux)
  • Supports many common biomedical formats (ITK File IO)
  • Event capture and replay (not currently enabled)
  • Session save / reload allows user to return to previous program state
  • 64-bit enabled for massive volumes on large memory machines
  • Custom volume rendering engine w/ 2 dimensional transfer function maninpulation in real-time (not currently exposed)

Screen Shots

Capecchi Collab Screenshot 1

Capecchi Collab Screenshot 2

Matt Jolley Collab Screenshot

Dr. Valentino @ UCLA Collab Screenshot

NCMIR Collab Screenshot


Movies

720x480 PowerPoint optimized movies Movie scripts on LeXoV.org wiki

Design

Seg3D Concept

Diagram describing dataflow in the app.
Enlarge
Diagram describing dataflow in the app.
  • 3D analog to Photoshop
  • Work with multiple volumes simultaneously
  • Volumes are organized in Layers
  • Layers may be visualized separately or as blended overlays
  • Each layer is assigned its own color map
  • Layers may be piped to Filters (ITK or other)
  • Filter output is piped back into a new Layer
  • Any number of Label Layers may be created
  • Label Layers are bit masks that represent a hierarchy of binary segmentations
  • Segmentations are either produced manually by slice-by-slice painting, or produced using Filter operations.
  • File IO via ITK (Analyze, DICOM, Nrrd, MetaImage, tiff, jpeg, png, and more)
  • Users may save work in sessions and reload

Hand Contouring / Painting

  • Each label represented as 1-bit in memory
  • Respects logical operations (AND, OR, NOT, etc)
  • Heierarchical label management
  • Ontologies may be enforced by mapping to these logical operations

Image Processing and Segmentation

  • ITK Filters, Teem Filters, & custom filters
  • Focus on integration of filters versus simple wrapping
    • Integrated with the manual segmentation interface
    • Real-time visualization of automated processing
    • Minimize number of parameters that need to be exposed to user

Visualization

  • Customizable 2D layouts (specified by XML)
  • 3D slice views with isosurfacing
  • Volume rendering coming soon

LeXoV Engine

  • Infrastructure for volume processing applications
  • Provides layer management, manual editing and visualization
  • Allows for sharing of volume memory between Nrrd and Insight filters
  • Small (5-10mb binary)
  • Minimal dependencies (OpenGL, Freetype)
  • Cross platform: PowerPC & Intel Mac, 32/64-bit Linux, and Windows
  • Based on SCIRun Core libraries

Software Process

  • Uses existing open source projects (ITK, freetype, libxml2)
  • Rapid prototyping & development supported by CMake and Dart
  • Source code is freely available and reusable under BSD style license

Interested Parties

  • NCMIR, Mark Ellisman (UCSD)
  • Mario Capecchi (University of Utah)
  • Matt Jolley (Childrens Hospital, Boston)
  • Gregory Sharp and George Chen (Harvard MGH)
  • Dr. Valentino (UCLA, LONI pipeline)
  • Chris Butson (Cleveland Clinic)
  • SCI Institute people
  • Makeig-Worrell?




Schedule

  • 9/5/2006 Phone TCON with NCMIR
  • 9/14/2006 TCON with Slicer folks (email discussions are ongoing)
  • 10/6/2006 - 10/13/2006 limited release to NCMIR (see release notes below)
  • 10/15/2006 Limited release date pushed back to 10/18/2006
  • 12/31/2006 Tentative release date for general Alpha release (see release notes below)

Notes

9/11/06-9/15/06 McKay and Darby finishing CMake build. McKay porting to Mac. Windows port coming, courtesy of Brian. Goal for first of next week is downloadable executables for Linux, Mac, and maybe Windows.

9/18/06-9/22/06 McKay works on manual contouring infrastructure.

9/12/06-10/09/06 Continued work on manual contouring and layer management. Final requirements for limited release specified. Static binary builds for Mac and Linux are worked out.

10/10/06-10/18/06 Documentation, testing, final details...

11/01/06 We are now in a continous release mode for our "limited NCMIR release", focusing on bug fixes. Binaries are being posted at www.lexov.org. New features are on hold until we have the bugs under control. Brian still finalizing Windows port.

Release Notes

Limited NCMIR Release

Planned features, in order of priority.

  • Labeled image management. Functionality is required to handle nested labeling (for ontologies). Datastructures are required to manage the "contains" dependencies among labels. Additional functionality and design is needed to transparently manage conversion between label volumes and image volumes for automated processing. Most of the work is here
  • GUI work to support above: primitive layer dialog?
  • Additional paint brush options to support label painting/ contouring
  • Visualization of label maps: contour view
  • Volume-rendering of multiple isosurfaces (some work needed).
  • Interactive (VCR controls) level-sets w/ dialog will specifically target mitochondria data (mostly done).
  • Stand alone executables: mac linux, maybe windows

Alpha release

Additional features beyond those in NCMIR Release.

  • Full-featured layer dialog
  • Isosurfacing.
  • Volume rendering with 2D transfer function widget.
  • Tool dialog design and implementation
  • Windows, Linux, Mac binaries.
  • Additional ITK filtering.
Personal tools