ENH: XML DOM for ITK preview 5.

ITK provided functions to read objects from or write objects to XML files.
However, the included XML parser uses the SAX (Simple API for XML)
technique, which makes implementing user XML-based readers/writers quite
difficult and error-prone. This is because the information are pushed to users
during parsing, and the users have to keep the incomplete intermediate states
and instantly handle every piece of incoming information.

This patch adds DOM (Document Object Model) based XML reading/writing
functions to ITK, which greatly simplifies the processes of XML-based
object reading/writing. In this I/O model, reading/writing is with respect
to an intermediate DOM object that represents an XML file. The advantages are
that pulling/pushing information from/to an ITK object is easy, and
reading/writing a DOM object from/to an XML file is performed implicitly.
Information are cached in the intermediate DOM object, so the user doesn't
have to track the states during the reading/writing process.

This patch includes DOM-based add-ons to ITK library ITKIOXML, testings
for the implementation, testing data (XML files), and examples that
demonstrate the use of this new feature.

Change-Id: Ibfacbac653e32f20ff1784d4a4349bed3cd92a56
Signed-off-by: Ren-Hui Gong <rhgong@gmail.com>
ENH: Add Subsampling Strategies to Statistics

Add several subsampling strategies to Statistics.
The API was designed to meet the needs of the patch-based denoising
filter, but should be more general-purpose.  It may even be useful
for the registration framework.  Now using the itkCloneMacro /
InternalClone mechanism to deep copy the subsamplers.

Change-Id: I8ff369f1d2f85fe86f868f50f38461ae66500a34
ENH: A2D2 Denoising

Add patch-based denoising filters.  This patch is dependent on
change I8ff369f1: Add Subsampling Strategies to Statistics.

The patch-based denoising filters now work for scalar images as well
as RGB, DiffusionTensor3D and other Images of Vectors and FixedArrays.
Once the VectorImageToImageAdaptor is working, these filters will also
work for VectorImages (all hooks are in place and tested).

The noise model updates require the use of the bessel functions
currently implemented in GaussianOperator.  In this patch those
functions have been changed to be public, but it would really be nice
if they were separated from GaussianOperator and made generally
available.  What's the best way to do this?

The first test tests the denoiser without a noise model (fidelity
weight == 0).  The next three tests denoise images that have Gaussian,
Rician and Poisson noise added respectively using the appropriate
noise model. The fifth test denoises a 6-component diffusion tensor
image by doing the computations in the appropriate Riemannian space.

Change-Id: I046486f5db2b527e9a56a6afb5197750afd4e62b
ENH: Add interface to use vnl_sparse_lu as solver for mesh parameterization

add corresponding tests

Change-Id: I168c48156640c1cf577ea965fad506e764654ffb
Merge topic 'SparseLU'

d4f2005 ENH: Add interface to use vnl_sparse_lu as solver for mesh parameterization
Merge topic 'add-statistics-subsampling'

65e90f7 ENH: A2D2 Denoising
51f149e ENH: Add Subsampling Strategies to Statistics
Merge topic 'XML-DOM-for-ITK'

189f637 ENH: XML DOM for ITK preview 5.
STYLE: fixes for KWStyle

Add suppression for \class in itkMacro.h

Change-Id: Ibcda76700295185b7e1b395f6ebfc20c23220559
COMP: correcting the ObjectToObjectMetric for WrapITK

Change-Id: I734eec997fde48a57e998a74f2a8a9d8bad71d07
Merge topic 'ObjectToObjectMetricForWrapITK'

03c1857 COMP: correcting the ObjectToObjectMetric for WrapITK
Merge topic 'FixStyleErrors'

c6f841e STYLE: fixes for KWStyle