Presentation is loading. Please wait.

Presentation is loading. Please wait.

Designing Workflows: An Example from Image Analysis Yolanda Gil Information Sciences Institute University of Southern California October 17,

Similar presentations


Presentation on theme: "Designing Workflows: An Example from Image Analysis Yolanda Gil Information Sciences Institute University of Southern California October 17,"— Presentation transcript:

1 Designing Workflows: An Example from Image Analysis Yolanda Gil Information Sciences Institute University of Southern California gil@isi.edu October 17, 2007 Jihie Kim Varun Ratnakar Information Sciences Institute University of Southern California Vijay Kumar Tahsin Kurk Joel Saltz Deparment of Biomedical Informatics The Ohio State University

2 Microscopy Image Correction [Saltz et al 05] Microscope takes image tiles, one at a time, for all the slices –tens of GBytes uncompressed Image is corrected, then warped to map to standard brain, then pre-processed for efficient querying Correction workflow: original image has repeated areas across tiles, this needs to be corrected. Steps: 1.Z-projection: picks the best pixel from all the z-slices. 2.Normalization 3.Auto-alignment: piece together the image mosaic from the tiles Uses a feature matching algorithm, output is "offsets”, the alignment is given a score, goal is to maximize the score 4.Stitching: remove overlapping regions, so the tiles can "transition" more smoothly by finding best match across tiles. Optimization algorithm picks the right offsets and stitches them together MPI

3 Chunkisize Z-projection Normalize Auto-align Stitch Starting point: high-level dataflow Warp [Sharma et al 07]: 3D image layers Chunked into tiles Projected into the Z plane Normalized and aligned Stitched back into a single 2D image Tiles and parallelism are not explicit!

4 Where we started from…

5 Format conversion Chunkisize Z-projection Normalize Auto-align Stitch Initial workflow: All steps are single computations Warp Problem: Parameters and parallel processes are not explicitly represented in the workflow

6 Some restructuring of the workflow that helped…

7 Format conversion Chunkisize Z-projection Normalize Auto-align Stitch Separated “conversion” from “chunkisize”, since the latter is an MPI code

8 Format conversion Chunkisize Z-projection Normalize Auto-align Stitch Controllable parameter: Chunk size?? Now we have a parameter that is explicit and is related to parallel processing Problem: Is this the right parameter?

9 Format conversion Chunkisize Z-projection Generate magic tiles Normalize Auto-align Stitch Controllable parameter: Chunk size?? Separated “normalize” from generation of 2 “magic” tiles since they process different tiles

10 Format conversion Chunkisize Z-projection Generate magic tiles Normalize Auto-align MST Stitch Controllable parameter: Chunk size?? Separated “auto- align” from MST since auto-align is an MPI code

11 Format conversion Chunkisize Z-projection Generate magic tiles Normalize Auto-align MST Normalize Stitch Controllable parameter: Chunk size?? Splitting “normalize” steps to separate the processing of the z- projection and the processing of the z layers of the image

12 Now we could see the iterations and the parameters…

13 Format conversion Chunkisize Z-projection Generate magic tiles Normalize Auto-align MST Normalize Stitch Controllable parameter: p p is number of chunks in an image layer Identified which should be parallel codes (MPI) because of communication needs

14 Format conversion Chunkisize Z-projection Generate magic tiles Normalize Auto-align MST Normalize Stitch Controllable parameter: p p is number of chunks in an image layer Identified steps that could be parallelized as independent nodes in the workflow

15 Format conversion Chunkisize Z-projection Generate magic tiles Normalize Auto-align MST Normalize Stitch Controllable parameter: p p is number of chunks in an image layer Now we could see that the controllable parameter should be the number of chunks

16 Now we could see the workflow!!!

17 Format conversion Chunkisize Z-projection Generate magic tiles Normalize Auto-align MST Normalize Stitch Set of stacks of chunks Collections of z layers, each has p chunks, each chunk has t tiles) p (one per chunk stack) p * z (one per chunk per layer) p (one per chunk of z-proj) Sets of chunks for z-proj Internally iterates over each chunk of the z-proj Internally iterates over each chunk of the normalized z-proj 2 magic tiles Sets of normalized chunks for z-proj Scores per pairs of chunks in z-proj Graph Sets of normalized chunks for all layers Internally iterates over each chunk of each layer Sets of stitched norm. chunks for all layers Will be expanded to several nodes Parallel codes (MPI) with one computation node Regular codes LEGEND Set of z layers each with t tiles (.IMG) Set of z layers each with t tiles (.DIM) Controllable parameter: p p is number of chunks in an image layer Sketch of a workflow template

18 Format conversion Chunkisize Generate magic tiles Auto-align MST Norm Stitch p p * zp Internally iterates over each chunk of the z-proj Internally iterates over each chunk of the normalized z-proj Internally iterates over each chunk of each layer Controllable parameter: p p is number of chunks in an image layer Norm … … Z-proj … Computation nodes Parallel codes (MPI) with one computation node Regular codes LEGEND Sketch of computations in the workflow


Download ppt "Designing Workflows: An Example from Image Analysis Yolanda Gil Information Sciences Institute University of Southern California October 17,"

Similar presentations


Ads by Google