Slicer4:MultiVolumeContainer

From Slicer Wiki
Jump to: navigation, search
Home < Slicer4:MultiVolumeContainer
Back to Slicer4 Projects

Introduction

This page describes the concept for an API for time series management. What is needed is an image informatics frame work to organize, manage, and analyze multi volume data inside Slicer. If successful, this will allow more user-friendlyness.

Examples

  • R: RECIST analysis
  • M: Time Series Analysis of MRI's from an MS Patient
  • P: Time Series Analysis of SUV values in MR/CT PET
  • D: Dynamic Contrast Enhancement (DCE)

Common Features and Needs

  • These are all time series of scalar volumes and need to be organized in a number of dimensions: space, time, signal intensities, feature space (such as channels in multichannel data, gradient strength in dMRI data, etc.)
  • Typically the volumes need to be registered to each other in order to organize them in space: Fusion between the channels, fusion across the time points
  • bias correction is often needed: MR, PET, CT(?)
  • Window/Level:
    • Allow manual setting of w/l for the reference time point.
    • CT: one w/l for all time points, PET, MR: the SUV concept could be expanded to MRI: use one or two user selected/drawn ROI to adjust window level across time points.

Viewing and Analysis

  • view across time: movie (loop, bounce)
  • graphing: resample across time
  • need to do analysis across time: ROI's (label map) for voxel statistics across time. Create spreadsheet / graph as result.
  • need to store the organizational frame work. When the patient comes for the next scan we need ability to add a time point, fix data (registration, w/l, update spreadsheet/graph)

Workflows

Initial Setup of a MultiVolumeContainer

  • Assume that all data have been loaded into Slicer already
  • Create a new MultiVolumeContainer.
    • MVC's are always multi-channel. Single channel is just a special case.
    • User specifies the number of channels.
    • one of the volumes is assigned as the reference volume (default is the first loaded, user can change manually by clicking a checkbox)

Things you can do with MVC's

  • editing the MVC by adding or removing time points or changing their order
  • change the reference volume
  • assign registration types between the channels and between the time points
  • execute the registration cascade
  • adjust W/L across time for each channel using histogram equalization with manual override
  • across time analysis: time versus voxel-statistics or dimensions, static, interactive adjustments
    • special case for SUV across time
  • RECIST: determination at each time point, use previous one as initialization
  • Modeling: In addition to time versus voxel-statistics type of curves sometimes there is a need for modeling and parameter extraction.
    • DCE requires computation of the Tofts model: a curve is fitted to each voxel time course and different parameters are extracted per voxel.
    • NukMed uses other, similar formulas,
    • DWI to DTI uses the Stejskal formula (or similar). The resulting tensor fields are then used for further post-processing.