ITK Release 4/Microscopy/File Formats/Hackathon August 2011: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Goals =
= Goals =


* TIFF Update
== TIFF Update ==
*Background
**[http://www.vtk.org/Wiki/ITK_Release_4/Microscopy/File_Formats#TIFF_4.0 TIFF 4.0]
**[https://itk.icts.uiowa.edu/jira/browse/ITK-159 ITK-159 ]
*Tasks
** Complete update of TIFF 4.0 library
** Complete update of TIFF 4.0 library
** Verify usage for TIFF files larger than 4Gb
** Verify usage for TIFF files larger than 4Gb
** Verify usage for TIFF streaming
** Verify usage for TIFF streaming
** Verify usage for TIFF extra resolutions
** Verify usage for TIFF extra resolutions
* JPEG2000 Review
 
== JPEG2000 Review ==
*Background
**[http://www.vtk.org/Wiki/ITK_Release_4/Microscopy/File_Formats#JPEG2000 JPEG2000]
*Tasks
** Verify usage for JPEG2000 files larger than 4Gb
** Verify usage for JPEG2000 files larger than 4Gb
** Verify usage for JPEG2000 streaming
** Verify usage for JPEG2000 streaming
** Verify usage for JPEG2000 extra resolutions
** Verify usage for JPEG2000 extra resolutions
* ITK IO API
 
** Propose API for managing multi-resolution files
== ITK IO API ==
** Image Interpretation layer
* Propose API for managing multi-resolution files
* Image Interpretation layer
** [[Media:ITK-ImageInterpretationLayer.odp‎|ODP]]
** [[Media:ITK-ImageInterpretationLayer.pdf‎|PDF]]
* Issues
** Some file formats ( i.e. TIFF ) support multi-images in a single file
** This can be used for multi-resolution or volumes, how should this be accessed? Should a Image IO present a set of images?
** The current ITK Image Pyramid is designed to maintain the physical center of the images. However for many sized images this lead to changing of physical locations of scale-space extrema.
** How do we indicate what type of operator was used to generate the multi-resolutions? Can we even know for certain filter formats?
 
== TIFF Microscopy Units ==
 
* What to do about lack of units in ITK spacing ?
** mm ?
** Introduce an enum type ? a class ?
** Introduce a units conversion class ?
*** To centralize the computation and prevent inconsistent units conversion.
**** Think of the Mars Rover...
 
== Bioformats Patch ==
 
* Review Gaetan's patch to interface to Bioformats ?


= Participants =
= Participants =
== On Site ==


* Brad Lowekamp
* Brad Lowekamp
Line 20: Line 51:
* Matt McCormick
* Matt McCormick
* Luis Ibanez
* Luis Ibanez
* Andinet Enquobahrie
== Remote ==
* Arnaud Gelas
* Kishore Mosilaganti


= Venue =
= Venue =
Line 47: Line 84:
* 3:30pm Tests of JPEG2000 multi-resolution
* 3:30pm Tests of JPEG2000 multi-resolution
* 4:00pm Adjourn
* 4:00pm Adjourn
= Results =
== Completed ==
* Have working Gerrit patch with TIFF 4.0 Beta 7
http://review.source.kitware.com/#change,2510
** Five failing tests
*** Only on Linux
*** Only when reading FAX images
*** These failing tests turned out to be the result of a misuse of "#cmakedefine" in the tif_config.h.in (Bad Luis...). The expression was used as
**** #cmakedefine FOOBAR  @FOOBAR@,  while it should be
**** #define      FOOBAR  @FOOBAR@
** Passes all tests on Windows and Mac
* The Patch finally build in all platforms and has been merged.
* Succeeded to read a TIFF image larger than 4Gb
* Succeeded to write a TIFF image larger than 4Gb
* Uploaded Example Aperio files to MIDAS
** http://midas.kitware.com/community/view/61
* Converted the Visible Human dataset to a single file, multi-frame TIFF image of size 13 Gb
*
== Work in Progress ==
* OpenSlideImageIO class for ITK
* AperioImageIO class for ITK

Latest revision as of 17:56, 21 August 2011

Goals

TIFF Update

  • Background
  • Tasks
    • Complete update of TIFF 4.0 library
    • Verify usage for TIFF files larger than 4Gb
    • Verify usage for TIFF streaming
    • Verify usage for TIFF extra resolutions

JPEG2000 Review

  • Background
  • Tasks
    • Verify usage for JPEG2000 files larger than 4Gb
    • Verify usage for JPEG2000 streaming
    • Verify usage for JPEG2000 extra resolutions

ITK IO API

  • Propose API for managing multi-resolution files
  • Image Interpretation layer
  • Issues
    • Some file formats ( i.e. TIFF ) support multi-images in a single file
    • This can be used for multi-resolution or volumes, how should this be accessed? Should a Image IO present a set of images?
    • The current ITK Image Pyramid is designed to maintain the physical center of the images. However for many sized images this lead to changing of physical locations of scale-space extrema.
    • How do we indicate what type of operator was used to generate the multi-resolutions? Can we even know for certain filter formats?

TIFF Microscopy Units

  • What to do about lack of units in ITK spacing ?
    • mm ?
    • Introduce an enum type ? a class ?
    • Introduce a units conversion class ?
      • To centralize the computation and prevent inconsistent units conversion.
        • Think of the Mars Rover...

Bioformats Patch

  • Review Gaetan's patch to interface to Bioformats ?

Participants

On Site

  • Brad Lowekamp
  • Curtis Lisle
  • Matt McCormick
  • Luis Ibanez
  • Andinet Enquobahrie

Remote

  • Arnaud Gelas
  • Kishore Mosilaganti

Venue

  • NLM - Bethesda
    • NIH Campus

UnAgenda

Day 1

  • 9:30 Computers / Network setup
  • 10:00 Live Code Review of TIFF Gerrit patch
  • 12:00 Merge of TIFF Gerrit patch
  • 12:30 Lunch
  • 1:30 Tests of 6Gb files
  • 3:30 Streaming tests on TIFF files
  • 5:30 Adjourn

Day 2

  • 9:30am Image interpretation layer (database ?)(Channels/Resolutions/Size)
  • 10:30am Managing files with internal multi-resolution
  • 11:30am Managing TIFF files with J2K compression
  • 12:30pm Lunch
  • 1:30pm Tests of JPEG2000 streaming
  • 3:30pm Tests of JPEG2000 multi-resolution
  • 4:00pm Adjourn


Results

Completed

  • Have working Gerrit patch with TIFF 4.0 Beta 7

http://review.source.kitware.com/#change,2510

    • Five failing tests
      • Only on Linux
      • Only when reading FAX images
      • These failing tests turned out to be the result of a misuse of "#cmakedefine" in the tif_config.h.in (Bad Luis...). The expression was used as
        • #cmakedefine FOOBAR @FOOBAR@, while it should be
        • #define FOOBAR @FOOBAR@
    • Passes all tests on Windows and Mac
  • The Patch finally build in all platforms and has been merged.
  • Succeeded to read a TIFF image larger than 4Gb
  • Succeeded to write a TIFF image larger than 4Gb
  • Uploaded Example Aperio files to MIDAS
  • Converted the Visible Human dataset to a single file, multi-frame TIFF image of size 13 Gb

Work in Progress

  • OpenSlideImageIO class for ITK
  • AperioImageIO class for ITK