ITK Release 4/Microscopy

From KitwarePublic
Jump to navigationJump to search

Microscopy

Overview

Microscopy applications bring new challenges to ITK at many different levels

  • Very Large datasets (TeraBytes)
    • Examples:
      • Brainbow dataset = 11000x15000x1000 x (RGB) = 500 Gigabytes for one 3D image.
      • In-toto imaging dataset = 1000x1000x200x1000x5 ~ 500 GB for one imaging session (one organ)
      • Data acquisition
        • Today 100Gb / day
        • Tomorrow 1 Tb / day
        • 3D Stacks of 250Mb (8 seconds to acquire, 900 to deconvolve)
        • J.J. Field Optics Express 2010.
  • Temporal data (2D+t, 3D+t)
  • Multiple Components
  • Very large number of objects of interest per image

Technical Details

The toolkit needs

  • More explicit representation of time and channels
  • Management of multi-resolution datasets
  • Management of multi-gigabyte datasets (TeraBytes being the standard to look for in 5 years)
  • Richer set of classes for object representations

Reference Applications

Related Events


Tcons

August 12th 2010

Attendees

  • Alex Gouaillard - Cosmo
  • Sean Megason - Harvard
  • Marc Niethammer -UNC
  • Cory Quanmenn -UNC
  • Russ Taylor - UNC
  • Marcus Hanwell - Kitware
  • Brad Lowekamp - NLM
  • Luis Ibanez - Kitware
  • Dominik Spinczyk - Silesian University
  • Dhanannjay Deo - Kitware

Topics

Challenges

  • Large Images: Larger than local RAM
  • Pixel Types:
    • Scalar, Vector, Tensor,
  • Time
  • Many channels
    • sometimes they are packaged as "RGB" for convenience, but are really independent channels.
  • Cropping M-Dimensional image into N-Dimensional image (e.g. 4D --> 3D)
  • Dealing with multi-resolution images
    • Jpeg 2000
    • TIFFs ?
  • Non-regular spacing
    • Across Z (in optical confocal microscopy)
    • Across time (time points not acquired regularly)

Technologies Needed

  • Being able to extract subpieces from a larger image
    • Boost hash map
  • Need time-date-stamps in images (maybe at the slice level)
  • Data structures
    • For image of multiple channels ?
      • Most common algorithms access a full channel at a time
        • instead of accessing all the components of a given pixel
    • Streaming? (off-memory)
      • Extend many filters to support streaming
    • Sub-sampled version of the image
  • JAVA World
    • How to interface with them
    • Using Java libraries from C++
    • Using C++ libraries from Java
  • File Formats
    • Synergy with Bioformats
    • Support Microscopy formats.
    • Reverse engineering existing code
    • Extend the ITK TIFF reader to support mult-channels (Luis volunteered to do it)
    • Synergy with ImageJ
      • ITK Plugins
  • I/O
    • Reading specific channels (channel regions)
    • Reading specific time points or time regions
    • Reading subsampled versions of the image
    • Making them non-blocking
      • Attempt prediction of next region to load (when doing streaming).
  • Remote computing, HPC
    • Large datasets
      • processing data remotely
      • sending scripts & to be executed in data servers

Meetings

"Automated Imaging & High-Throughput Phenotyping" http://meetings.cshl.edu/meetings/autoimag10.shtml