Documentation/Labs
This is the place where we will keep track of our experiments and projects.
Contents
On-going
Roadmap
Internals
- NrrdReading_Writing_Optimizations
- OpenGLFilters
- DeprecatedModules extension
- FHS compliant directory structure
- Fiber Tract measurement and visualization
- VTK Widgets improvements
- CLI infrastructure cleanup and refactoring
- Upgrading Compiler Infrastructure
- View Infrastructure Improvements
- CDash Improvements
- SlicerBridge
- Continuous Integration and Nightly packages build infrastructure
- Parameter Serializer support for CLIs
- Augmented Reality and Virtual Reality support
- Infrastucture Status
- Improving Slicer Packages Download experience
- Sequences
- Improving Markups
- Surface Toolbox update
- Sample Data Module Improvements
Libraries
Python
Compilers & IDE
- Modernize to c++11
The use of auto
run-clang-tidy.py -checks=-*,modernize-use-auto -header-filter=.* -fix
The automatic fix use auto in cases where static_cast is used:
- int a = static_cast<int>(something); + auto a = static_cast<int>(something);
No much gain on this particular case, however, when using iterators and other verbose types, it really helps readability.
The change should be discussed with the main developers to reach a consensus. VTK and ITK are using auto in a lot of cases.
Move not implemented constructors and assignment operators to the public interface
Now that we use = delete, we don't need the constructors and assignment operator to be in the private interface. Moving them to the public interface is better. Including better integrations with IDE's.
Other modernizers
clang-tidy --list-checks -checks='*' | grep "modernize" modernize-avoid-bind modernize-deprecated-headers modernize-loop-convert modernize-make-shared modernize-make-unique modernize-pass-by-value modernize-raw-string-literal modernize-redundant-void-arg modernize-replace-auto-ptr modernize-replace-random-shuffle modernize-return-braced-init-list modernize-shrink-to-fit modernize-unary-static-assert modernize-use-auto # ToDiscuss modernize-use-bool-literals modernize-use-default-member-init modernize-use-emplace # easy! modernize-use-equals-default # DONE modernize-use-equals-delete # DONE modernize-use-noexcept modernize-use-nullptr # DONE modernize-use-override # DONE modernize-use-transparent-functors modernize-use-uncaught-exceptions modernize-use-using # Better style, to discuss.
Check https://github.com/InsightSoftwareConsortium/ITK/tree/master/Utilities/ITKv5Preparation for a list of commands used in the ITKv5 transition.
Virtual Machines
Documentation
Tutorials
Source code management
Extension
Functionalities
- Fly-through Navigation
- Automatic Update and Installation Framework
- Application usage analytics
- Plotting 2D Line Segments
Packaging
- [[Documentation/Labs/HomebrewCask|Homebrew Cask]
Completed
Extension
Internals
- Slicer startup time improvement
- CMake-ified Python - See r21911, r21912, r21913
- Full support for non-linear transforms
Libraries
Python
Compilers & IDE
Modules
Tutorials testing
Debug
Internals
- Segmentations
- MultiDimensional Data Management
- DICOM Export
- Slice View Annotations
- Subject hierarchy module and plugins
- Internationalization
- Units
- SlicerExecutionModel Parameter Serialization