Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bill Hoffman, Jesus Caban, Brad Lowkamp, Dan Muller, Fabrice de Chaumont, Julien Michel, Harvey Cline, Gabe Hart, Ghassam Hamarech, John Galeotti, Raghu.

Similar presentations


Presentation on theme: "Bill Hoffman, Jesus Caban, Brad Lowkamp, Dan Muller, Fabrice de Chaumont, Julien Michel, Harvey Cline, Gabe Hart, Ghassam Hamarech, John Galeotti, Raghu."— Presentation transcript:

1 Bill Hoffman, Jesus Caban, Brad Lowkamp, Dan Muller, Fabrice de Chaumont, Julien Michel, Harvey Cline, Gabe Hart, Ghassam Hamarech, John Galeotti, Raghu Machiraju, Hans Johnson, Wes Turner, Luis Ibanez, Terry Yoo, Daniel Blezek SimpleITK Status

2 Problem 2

3 Problem Doxygen for itk::Image Doxygen for itk::Image 42 pages long 42 pages long 3

4 Complexity Powerful but complex Powerful but complex Steep learning curve Steep learning curve ever had 2 pages of compile errors? ever had 2 pages of compile errors? Mainly C++ Mainly C++ ITK often unused ITK often unused But it’s the best... But it’s the best... 4

5 Audience Students Students Grad students Grad students Researchers Researchers Microscopy Microscopy Computer vision Computer vision Remote sensing Remote sensing Application developers Application developers 5

6 Simplify As simple as possible As simple as possible But no simpler But no simpler Simple for: Simple for: users users application developers application developers developers developers 6

7 Goals Simple Simple “On ramp” “On ramp” Wrapping Wrapping Integration Integration In apps In apps With ITK, VTK, etc With ITK, VTK, etc Extensible Extensible 7

8 Survey Says! 214 respondents 214 respondents Takeaways Takeaways Compiled packages Compiled packages 3D & 4D 3D & 4D Out of core processing Out of core processing Object model Object model char, short, float/double, vector char, short, float/double, vector Visualization Visualization 8 Gabe Hart

9 Decisions API API Datatypes Datatypes Dimensionality Dimensionality Pipeline? Pipeline? Out of core processing Out of core processing Wrapping Wrapping Distribution Distribution 9

10 Strawman Proposal Object model Object model 3D images (& slice-by-slice for 2D) 3D images (& slice-by-slice for 2D) 4D as vector of images 4D as vector of images char, short, float (double?) char, short, float (double?) No exposed pipeline No exposed pipeline Out of core orchestration framework Out of core orchestration framework VOI readers/writers VOI readers/writers Call list of filters / handle boundaries Call list of filters / handle boundaries SWIG wrapping SWIG wrapping 10

11 API Procedural / functional? Procedural / functional? 11

12 Data types Which to support? Which to support? Scalar in all filters? Scalar in all filters? Vector in limited set? Vector in limited set? How to support? How to support? Dynamic loading? Dynamic loading? Compile time configured? Compile time configured? Template meta programming? Template meta programming? Macros? Macros? 12

13 Dimensionality 3D critical 3D critical 4D nice 4D nice How to support? How to support? 4D == 4D itk::Image? 4D == 4D itk::Image? 4D == vector of 3D images? 4D == vector of 3D images? 4D == 3D with vector pixels? 4D == 3D with vector pixels? 13

14 Pipeline Unnecessary complexity Unnecessary complexity Utility in streaming Utility in streaming Not (fully) implemented in ITK Not (fully) implemented in ITK 14

15 Out of core processing Essential Essential ITK Pipeline? ITK Pipeline? OpenCL model? OpenCL model? single pixel kernel pixel single pixel kernel pixel called for all pixels called for all pixels “orchestration” framework “orchestration” framework 15

16 Wrapping SWIG SWIG Languages Languages Matlab Matlab Python Python Java Java C# C# Others: Tcl, R, Perl, Ruby... Others: Tcl, R, Perl, Ruby... Interact with WrapITK nice to have Interact with WrapITK nice to have 16

17 Distribution Binary Binary Matlab (somehow) Matlab (somehow) Python egg Python egg Java jar Java jar C++ lib/dll/so & include C++ lib/dll/so & include Source Source Less useful Less useful 17

18 Bill Hoffman, Jesus Caban, Brad Lowkamp, Dan Muller, Fabrice de Chaumont, Julien Michel, Harvey Cline, Gabe Hart, Ghassam Hamarech, John Galeotti, Raghu Machiraju, Hans Johnson, Wes Turner, Luis Ibanez, Terry Yoo, Daniel Blezek SimpleITK Status


Download ppt "Bill Hoffman, Jesus Caban, Brad Lowkamp, Dan Muller, Fabrice de Chaumont, Julien Michel, Harvey Cline, Gabe Hart, Ghassam Hamarech, John Galeotti, Raghu."

Similar presentations


Ads by Google