SimpleITK
From KitwarePublic
Simple ITK
Goals
- Provide an easy-access layer to ITK for non-C++ expert developers
Sandbox
Scope
Suggested Areas to Cover
- IO
- Basic Filters
- Registration
- Basic Framework
- Deformable registration
- BSplines
- Demons
- Segmentation
- Region Growing
- Level Sets
- Classifiers
Types
- Image pixel types supported
- int8_t
- int16_t
- int32_t
- float
- Image dimensions supported
- 3D
- Is 2D managed as a 3D image of 1 slice ?
- Performance penalty for neighborhood filters... ?
- Could be "2D" versions of 3D filters, i.e. RecursiveGaussianFilter2D. This would work on a slice-by-slice basis.
Languages
Wrapped languages will be any that SWIG supports, if someone is willing to write tests / any needed glue code.
- C++ Layer
- Python
- Lua
- Java
- ?
Implementation Details
- Coding Style
- Copyright Headers & License
- Const correctness (can we avoid using const's completely?)
- Testing
- C++ testing (Google Test?)
- Python tests (PyUnit?)
- Lua tests (?!?)
- Java tests (JUnit)
- ? other languages ?
- Managing basic types
- Arrays
- Regions
- Transforms
- Not so basic types (could these be enums passed as ivars?)
- Interpolators
- Optimizers
- Metrics
Plan
- Image classes
- IO
TCons
Tcon topics 7/15/2010
Toll-Free #: 1-800-704-9804 International #: 1-404-920-6604 Participant Code: 61466276 Thursday, July 15th, 3:30-5:00pm EDT (2:30-4:00pm Central).
- General architecture
- Wrapping efficiency
- Should SimpleITK be mixable with normal ITK ?
- At C++ level ?
- At WrapITK (Python, Tcl ) level ?
- Provide access to the underlying ITK image ?
- SimpleImage class
- Include casting to other image types.
- Introduce in ITK an itk::ImageBase class that is not templated over Dimension.
- Use Pointer semantics ?
- image->getDepth() vs image.getDepth()
- What kind of flexibility to provide for Users to add functionalities to SimpleITK
- It should be easy to write (even if the class is conceptually complex).
Tcon topics 7/22/2010
- Should SimpleITK be mixable with VTK?
- SimpleImage class include casting to vtkImage?
- Concept: interactive programming languages are really cool if they include data visualization. We need to have a way to visualize images as we process them.