# Consolidate Image Region Splitting

Bradley Lowekamp
2013-04-05
The ImageRegionsSplitters have been refactored to be used for multi-threading in the image filters, streaming IO, and still the StreamingImageFilter. To do this a new ImageRegionSplitterBase class was created, and the old algorithms where migrated to new classes, while still preserving the old splitters as functioning.

For those users who explicitly used these classes turning on the depreciated module everything would work with out changes.

For users who used these classes and doesn't want to turn on the module they need to simply use the new class name.

For the users who wrote a custom splitter for streaming, it can work in the new framework as is with depreciated module turned on. This was a little tricky to do, but the user can now plug their splitter method into an ImageFilter. However, it's recommended that they rewrite it in the compiled templateles new framework.

Move the old splitter classes into the deprecated module, along with their tests.

Updated all tests to use the current splitter. The prior patches demonstrated backwards compatibility that these tests were still working with out changes, with the new interface.

#include "itkImageRegionMultidimensionalSplitter.h"

itk::ImageRegionMultidimensionalSplitter>2<::Pointer splitter;
#include "itkImageRegionSplitterMultidimensional.h"

itk::ImageRegionSplitterMultidimensional::Pointer splitter;
Id7985c69828c88e4b78740e51430299c57ba528f
Modules/Compatibility/Deprecated/include/itkImageRegionMultidimensionalSplitter.h Modules/Compatibility/Deprecated/include/itkImageRegionMultidimensionalSplitter.hxx Modules/Compatibility/Deprecated/include/itkImageRegionSplitter.h Modules/Compatibility/Deprecated/include/itkImageRegionSplitter.hxx Modules/Compatibility/Deprecated/test/CMakeLists.txt Modules/Compatibility/Deprecated/test/itkStreamingImageFilterTest.cxx Modules/Compatibility/Deprecated/test/itkStreamingImageFilterTest2.cxx Modules/Compatibility/Deprecated/test/itkStreamingImageFilterTest3.cxx Modules/Core/Common/include/itkImageRegionMultidimensionalSplitter.h Modules/Core/Common/include/itkImageRegionMultidimensionalSplitter.hxx Modules/Core/Common/include/itkImageRegionSplitter.h Modules/Core/Common/include/itkImageRegionSplitter.hxx Modules/Core/Common/include/itkStreamingImageFilter.hxx Modules/Core/Common/test/itkStreamingImageFilterTest2.cxx Modules/Core/Common/test/itkStreamingImageFilterTest3.cxx Modules/Core/Common/wrapping/itkImageRegionSplitter.wrap Modules/Filtering/ImageGrid/test/itkPasteImageFilterTest.cxx Modules/Nonunit/IntegratedTest/test/itkCommonPrintTest.cxx