ENH: Add Remote module group description to Doxygen.

Change-Id: Ic70edec4c163ae0f06a42c3aff6b8ea0f1c7c8be
ENH: Add GetCurrentIteration to ExhaustiveOptimizerv4

Change-Id: I823d080c1e5cf1a6b906d0d975695592aa45bdb4
ENH: Add FDFImageIO as a remote module.

This adds a  read-only image IO for FDF format files.

Initial work was done by Glenn Pierce (glennpierce@gmail.com) Code
brought up to current ITK standards by Nicholas Tustison
(mtustison@gmail.com) Converted to an ITK Remote module by Kent
Williams (norman-k-williams@uiowa.edu)

Change-Id: Ib4d0de862fe4dff5351e14991fd28af7762fcd21
ENH: Improve DataObjectDecorator with Modifiable, Graft ReleaseData

Allow the component held by the DataObjectDecorator to be
modified via the GetModifiable method. The MTime of the held component is propagate to the
decorator.

Additionally a Graft method is added which just copies the pointer so
the two object refer to the same component.

The Initialize method was implement to add support for ReleaseData
during pipeline execution.

Because the ImageRegistrationMethod uses the output as input for the
initial transform, the output data object can't be released before
update. The image filters also by default operator by no releasing the
output by default.

Change-Id: I2bea47efdcfdadcfa6a52c7e650435e63db34d46
BUG: Buffer not null terminated

Coverity reports:
buffer_size_warning: Calling strncpy with a maximum size argument of
32 bytes on destination array "header.filename" of size 32 bytes might
leave the destination string unterminated.

If the buffer is treated as a null terminated string in later
operations, a buffer overflow or over-read may occur.  In
itk::​BioRadImageIO::​Write(void const*): The string buffer may not
have a null terminator if the source string's length is equal to the
buffer size.

Change-Id: I3b2a5fa83b0354580a99a48907a0518e785f2a6e
PERF: replace image allocate followed by fillbuffer with allocate(true)

As per the C++2003 spec, a new-initializer of () will initialize
POD, and arrays of POD to 0.

This makes the idiom

image->Allocate();
image->FillBuffer(0);

can be replaced by

image->Allocate(true);

The rationale for the change is that the built-in initialization,
probably something like an in-line call to memset, is going to be
more efficient than FillBuffer.

Structured types are initialized by their default constructor.

The default of 'Allocate' (i.e. image->Allocate()) is the old
behavior, with no initialization.

Change-Id: Iaea48be9a245c24e32faa921230321699b285f5e
BUG: Remove FEMRegistrationFilter debug code.

Change-Id: I091bf69010061e2075ab919226eeff73cf884c45
ENH: Add currentIteration to the AmoebaOptimizerv4

The "get_num_evaluations" function, from the vnl optimizer, returns
the number of evaluations used in last call to the "minimize" function.

The number of evaluations are summed up after each call, and the sum
value is compared to the maximum number of iterations to check the
convergence value. Therefore this sum value is considered as the number
of current iteration.

Change-Id: I7770550f903c2a97bb9c0adf0eb263207a121fdf
Merge topic 'Coverity_BioRadImageIO'

6773f205 BUG: Buffer not null terminated
ENH: Improve Resample's use of pipeline inputs

Make the input transform to the ResampleImageFilter a proper pipeline
input. The private ivar m_Transform can safely be removed. It's is now
a named required input to the process object. It's is automatically
verified that it's non-null before pipeline execution, and the MTime
is automatically propagated during pipeline execution. NOTE: There is
a subtle change in the behavior of ResampleImageFilter::GetMTime.

The ReferenceImage is not a named input, remaining optional an on
input 2.

SmartPointers were changed to raw pointers for object being held by
the pipeline.

Change-Id: Id3a67bef2646bd4fbbe4391e4c7b8da8a2194895
ENH: Adding output of line and file on test failure

This is useful information.

Change-Id: Iff1dcd868fef09162e06a5c024f2f303b0a699b3
Merge topic 'maxNoOfIters_2'

6df2abeb ENH: Add currentIteration to the AmoebaOptimizerv4
Merge topic 'ImproveDataObjectDecorator'

fb366c91 ENH: Improve DataObjectDecorator with Modifiable, Graft ReleaseData
Merge topic 'currIterForExhOptv4'

b294e955 ENH: Add GetCurrentIteration to ExhaustiveOptimizerv4
Merge topic 'FEMRegistrationDebug'

3b20d837 BUG: Remove FEMRegistrationFilter debug code.
Merge topic 'FDFImageIO'

cbcd1d85 ENH: Add FDFImageIO as a remote module.
Merge topic 'AddZeroInitialization'

bfae2966 PERF: replace image allocate followed by fillbuffer with allocate(true)
PERF: Move the currentIteration to optimizersv4 base class

Change-Id: I94808c1fba60d354e72882590301140d068d58c2
ENH: Move the NumberOfIterations to the Optimizersv4 base class

In Optimizersv4 directory, either MaximumNumberOfIterations or
NumberOfIterations were used to reflect the upper limit for the number
of iterations. However, in this patch a consistent name is used in all
classes as "NumberOfIterations".

Also, this variable is moved to the "ObjectToObjectOptimizerBase" class,
and all other optimizers inherits that from the base class.

Change-Id: I03f55943b52b5cfe59d86557667621f4ad4c10a7
ENH: Added *.remote.cmake for remote module VariationalRegistration

This version uses bd3ae2f8a37f76dc1700e7369e8edb03c31ff6dd.

Change-Id: I0dd31de20480934229efc019ef95416245286224