BUG: FFTConvolutionImageFilter outputs incorrect

When convolving an image (first) with a kernel (second)
the output image should maintain the physical spacing of
the first image.

Previous code always resulted in Identity for direction, spacing
and origin values.

Change-Id: Ie114408edf66e734e9adbc49fc9ae6c408efc325
COMP: Failed to check dynamic_cast results

Coverity reports:
Unchecked dynamic_cast
If the dynamic_cast fails, a null pointer dereference will occur; if
the dynamic_cast cannot fail, using static_cast instead offers better
performance.

Change-Id: I5ba9d18d262343f437b9a8905d2bd25e7783994f
STYLE: GetStopConditionDescription abstract method

Every derivative class of itkObjectToObjectOptimizerBase
had a GetStopConditionDescription function defined and
making it an abstract method so that it is accessible to
the SimpleITK layer consistently.

virtual const StopConditionReturnStringType
GetStopConditionDescription() const = 0;

Change-Id: Ic37b656b677be7c153dd2ec3df88a7d37949a376
Merge topic 'FixConvolutionOutputImageInformation'

bc13c812 BUG: FFTConvolutionImageFilter outputs incorrect
Merge topic 'Coverity_FEMTestDynamicCast'

1c06ef18 COMP: Failed to check dynamic_cast results
ENH: Add AmoebaOptimizerv4 to ITKv4 registration

Amoeba optimizer is converted from the ITKv3 to v4 registration
framework. A test is designed for this newly converted optimizer
and is passed successfully.

Change-Id: I093e006ccd84f599fa94b43802237ab4db57eedd
Merge topic 'AddAbstractBaseMethodForOptimizer'

e658eb6b STYLE: GetStopConditionDescription abstract method
Merge topic 'AmoebaOptv4'

2a11941b ENH: Add AmoebaOptimizerv4 to ITKv4 registration
ENH: Add ExhaustiveOptimizerv4 to ITKv4 registration

Exhaustive optimizer is converted from the ITKv3 to v4 registration
framework. A test is designed for this newly converted optimizer
and is passed successfully.

Change-Id: I6972471e177b47e12343eb549afa995cda151ab2
Merge topic 'ExhaustiveOptv4'

02e2d273 ENH: Add ExhaustiveOptimizerv4 to ITKv4 registration