140 likes | 161 Views
Data Product Suite. Problem: Design, Implementation, and Assimilation of new data products is expensive. Constraints: Efficiency 15K+ daily images, 1GB+ data files Maintainability changing grids: quad cells changing file formats: removed null values
E N D
Data Product Suite • Problem: • Design, Implementation, and Assimilation of new data products is expensive. • Constraints: • Efficiency • 15K+ daily images, 1GB+ data files • Maintainability • changing grids: quad cells • changing file formats: removed null values • changing resource constraints: new machines Algebraic Optimization Data Independence
Data Independence We want: • Different algorithms, each dependent on data characteristics. • Changes to data characteristics mean changes to recipe • Logical equivalences are obscured… vtkExtractGeometry vtkThreshold vtkExtractGrid vtkExtractVOI vtkThresholdPoints VTK:
cross restrict cross restrict Exposing Equivalences for Algebraic Optimization result(A) A: • result(B) = result(A), but cost(B) < cost(A) • Implies ‘Cross’ and ‘Restrict’ should be commutative • Difficult to determine which library routines, if any, have this property (“Documentational Semantics”) result(B) B:
3D Data Products F G H(x,y,b) r(z>b) r(region) b(s) V(z) F r(x,y) H(x,y,b) r(z>b) b(s) r(z) V(z)
Horizontal Slice F H H(x,y,b) r(z>b) slice b(s) V(z) r(z>b) b(s) apply H(x,y,b) <depth>
Vertical Slice F H(x,y,b) r(z>b) search b(s) V(z) P V P P P V
Vertical Slice H(x,y,b) search b(s) first P V(z) H(x,y,b) search b(s) interp P V(z) r(x,y) H(x,y,b) r(z>b) b(s) interp r(z) V(z) search P V(z)
Plume Volume F H(x,y,b) r(region) r(z>b) b(s) V(z) r(salt<26) area merge sum H(x,y,b) r(ocean) apply(*) length Time dependent V(z)
Another Optimization A=B r(salt<26) A merge C r(ocean) B A merge r(salt<26) r(ocean) C B A merge r(salt<26) C r(ocean) B B’
Software APIs API
Data Independence We want: Custom: makeSmallGrid() vtkExtractGeometry vtkExtractStructuredGrid vtkExtractThreshold vtkExtractGrid vtkExtractVOI vtkThresholdPoints0 VTK: