Presentation is loading. Please wait.

Presentation is loading. Please wait.

Daniel Blezek, 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: "Daniel Blezek, Jesus Caban, Brad Lowkamp, Dan Muller, Fabrice de Chaumont, Julien Michel, Harvey Cline, Gabe Hart, Ghassam Hamarech, John Galeotti, Raghu."— Presentation transcript:

1 Daniel Blezek, 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 SimpleITK Status

2 Problem 2

3 Complexity Powerful but complex Powerful but complex Steep learning curve Steep learning curve Mainly C++ Mainly C++ 2 pages of GCC error messages 2 pages of GCC error messages ITK often unused ITK often unused But it’s the best... But it’s the best... 3

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

5 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 5

6 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 6 Gabe Hart

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

8 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 8

9 API Procedural / functional? Procedural / functional? 9

10 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 10

11 Dimensionality 3D critical 3D critical 4D nice 4D nice How to support? How to support? 4D == vector of 3D images? 4D == vector of 3D images? 4D == 3D with vector pixels? 4D == 3D with vector pixels? 11

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

13 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 called for all 13

14 Wrapping SWIG SWIG Languages Languages Matlab Matlab Python Python Java Java C# C# Others: Tcl, R, Perl, Ruby... Others: Tcl, R, Perl, Ruby... 14

15 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 15

16 Daniel Blezek, 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 SimpleITK Status


Download ppt "Daniel Blezek, 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