ITK Release 4/Microscopy: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(19 intermediate revisions by 4 users not shown)
Line 26: Line 26:
* Management of multi-gigabyte datasets (TeraBytes being the standard to look for in 5 years)
* Management of multi-gigabyte datasets (TeraBytes being the standard to look for in 5 years)
* Richer set of classes for object representations
* Richer set of classes for object representations
* Support for commonly used File Formats
== File Formats ==
* Support for commonly used [[ITK_Release_4/Microscopy/File Formats|File Formats]]
== Image Registration ==
* Image registration for microscopy applications
* [[ITK_Release_4/Microscopy/Image Registration|Image Registration]]


= Reference Applications =
= Reference Applications =
Line 43: Line 53:
=== Attendees ===
=== Attendees ===


* Alex Gouaillard - Cosmo
* Alex Gouaillard - A*STAR
* Sean Megason - Harvard
* Sean Megason - Harvard
* Arnaud Gelas - Harvard
* Kishore Mosaliganti - Harvard
* Marc Niethammer -UNC
* Marc Niethammer -UNC
* Cory Quanmenn -UNC
* Cory Quammen -UNC
* Russ Taylor - UNC
* Russ Taylor - UNC
* Marcus Hanwell - Kitware
* Marcus Hanwell - Kitware
Line 74: Line 86:
=== Technologies Needed ===
=== Technologies Needed ===


* being able to extract subpieces from a larger image
* Being able to extract subpieces from a larger image
** Boost hash map
** Boost hash map (MultiIndexContainer http://www.boost.org/doc/libs/1_39_0/libs/multi_index/doc/index.html)
* Need time-date-stamps in images (maybe at the slice level)
* Need time-date-stamps in images (maybe at the slice level)
* Data structures for image of multiple channels ?
* Data structures  
** Most common algorithms access a full channel at a time
** For image of multiple channels ?
*** instead of accessing all the components of a given pixel
*** 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
* JAVA World
** How to interface with them
** How to interface with them
Line 85: Line 101:
** Using C++ libraries from Java
** Using C++ libraries from Java
* File Formats
* File Formats
** Synergy with Bioformats
** Support Microscopy formats.
** Support Microscopy formats.
** Reverse engineering existing code
** Reverse engineering existing code
** Extend the ITK TIFF reader to support mult-channels
** 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" (December 5th-8th)
** http://meetings.cshl.edu/meetings/autoimag10.shtml
 
 
= Microscopy Conferences to Promote ITK =

Latest revision as of 15:48, 4 May 2011

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
  • Support for commonly used File Formats

File Formats

Image Registration

Reference Applications

Related Events


Tcons

August 12th 2010

Attendees

  • Alex Gouaillard - A*STAR
  • Sean Megason - Harvard
  • Arnaud Gelas - Harvard
  • Kishore Mosaliganti - Harvard
  • Marc Niethammer -UNC
  • Cory Quammen -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
  • 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


Microscopy Conferences to Promote ITK