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.
- Examples:
- 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
- Arnaud Gelas - Harvard
- Kishore Mosaliganti - 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
- Most common algorithms access a full channel at a time
- Streaming? (off-memory)
- Extend many filters to support streaming
- Sub-sampled version of the image
- For image of multiple channels ?
- 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
- Large datasets
Meetings
- "Automated Imaging & High-Throughput Phenotyping" (December 5th-8th)