ENH: Accomodate Philips 4D Multiframe DICOM files

Change-Id: Ieaa37f9dbf8daea63acb7b1d5a555fa566a90357
COMP: Remove unused TransformFileWriter::m_Precision ivar

Resolves issue 3183:

https://issues.itk.org/jira/browse/ITK-3183

Change-Id: Idefce0cb502d47c479d22969bc182d8ce38db569
BUG: ITK_USE_Review did not turn Review module ON.

In an exsiting build tree where ITK_USE_REIVEW is OFF
(the Cache variable Module_ITKReview is OFF),  When users turn
ITK_USE_REVIEW ON, the Module ITKReview should be enabled.

Adding "FORCE" argument to the Set() command makes sure the ITKReview
module can be enabled by ITK_USE_Review properly.

Change-Id: I8e0ff84634dc2f4bc7a2f8e6a30411ad798a410c
COMP: Do not try to include float.h for MinGW.

float.h is needed for FloatingPointExceptions.  ITK can fail
to compile with MinGW, because there are two float.h files on Windows
in this case.  If it happens that the MinGW one is found first,
a failure will occur because a

  #include_next <float.h>

is not in the GCC version.  While this problem has been reported by others to
upstream GCC many times in the past, it has not been addressed.  To get around
this, we avoid trying to include float.h with MinGW.

Change-Id: I2e8022a5b4c67a6fbef930b5ceda403bcb31c97f
STYLE: TScalarType -> TScalar

According to ITK Style Guidelines, for type XX, TXX is used in the template
declaration, and "typedef TXX XXType;" is used within the class to refer to
the type.

Change-Id: I319855e2ccbec2429368a0f9663128f64e48332a
COMP: Fix NIFTI CMake variable separation warning.

For:

Syntax Warning in cmake code at

    /home/kevin/kitware/ITK/Modules/ThirdParty/NIFTI/src/nifti/CMakeLists.txt:103:38

Argument not separated from preceding token by whitespace.

Change-Id: If87b17603a808caaff4fb307bf797df007bb0d50
Merge topic 'remove-dead-TransformFileWriter-m_Precision'

a05095d COMP: Remove unused TransformFileWriter::m_Precision ivar
ENH: Simplify the steps to build remote modules.

Currently, two CMake swtiches are associated with each remote module.
Fetch_{module_name} is used to download the remote module into
the source tree, and then the Module_{module_name} will appear,
it takes another configuration to enable the module in the build
tree.

This commit removes the Fetch_{module_name} switch. Module_{module_name}
will be used to trigger the download and reconfiguration steps at once.

Change-Id: I5e3e3e8962a1657cf8995f61b21a8d6aa33c92ee
ENH: Turn remote module LSTK off by default.

In the updated version of LSTK repo,"EXCLUDE_FROM_ALL"
tag is added to the module dependency.Also the module name
no longer has ITK prefix in it.

Change-Id: Ia4467a0b2861a7e89e97028fe89d2ca61cb88c57
ENH: Deprecate ITK_USE_REVIEW.

There are two CMake variables (ITK_USE_REVIEW and Module_ITKReview)
that are used to enable/disable ITKReview module. To avoid confusion
and redundancy, ITK_USE_REVIEW is deprecated. The c++ preprocessor
defines are just there for the backward compatibility.

Change-Id: Ied3a3176a4b7b64f65576274b13fc74456149fe5
Merge topic 'TScalarType'

0946f35 STYLE: TScalarType -> TScalar
ENH: Use MINC API to free memory allocated by MINC

The MINC API provides mifree_name(..) to deallocate memory that was
allocated within miget_dimension_name(..). For consistency, the elements
of MINCImageIO::m_DimensionName should use the proper MINC API for both
operations.

API documented at:
https://github.com/BIC-MNI/libminc/blob/3cacf3b7f8b3a5edde3c779ac5f4a89bcbc559f8/libsrc2/minc2_api.h#L92

Additionally, the MINCImageIO::m_DimensionName has no reason to be const.

Change-Id: I1a72a205b0687177b398114e5d44852407baf1b5
BUG: fix KWStyle errors in itkVTKVisualize* files

Change-Id: Iacc7ca1b751bcc32dc3e7380ce9991a124cde4c9
BUG: Fix visualization of 3D level-sets

This code was not tested and as expected, it did not work. So now a test has
been added.

Change-Id: I4603eaeea9b776e5e6f1f9c1dcac0198c160e397
Merge topic 'FixBugVis3d'

1b0c5c1 BUG: Fix visualization of 3D level-sets
4efb8a4 BUG: fix KWStyle errors in itkVTKVisualize* files
ENH: transform reader/writer filters are templated on output precision type

Currently in the transform reader/writer classes of itk, the template
argument reflects the internal precision type of the input transform.
However, these classes should be able to get the input transform
precision type internally, and they should ask users just about the
expected precision type of the output transform.

Two different methods are used for Reader and Writer to enhance their
functionalities:

-Enhance TransformFileReader:
we convert the parameters precision types instantly when we read them
from transform buffer. Minimum changes are needed and just four
files (itkTransformBaseIO.hxx and itkHDF5/Txt/MatlabTransformIO.hxx)
are affected.

-Enhance TransformFileWriter:
Main changes are applied to "itkTransformFileWriter" filter files.
In this filter, "SetInput(TransformBaseTemplate<T> *transform)" function
has been changed to "SetInput(Object *transform)". While setting the
input transform, we cast its parameters value types to the requested
precision type one by one. Then, we continue the writing procedure
as before using the new converted input transform.

Change-Id: I7b008d5afed9218e60e52fda284c10133e16811a
DOC: Migration guide for ITK_USE_REVIEW deprecation.

Document the deprecation of "ITK_USE_REVIEW".

Change-Id: I2c243ea4bc1a646dc18ce9570c39a2f941233c4d
Merge topic 'changeTransFileReaderWriterAPI_10'

dab6060 ENH: transform reader/writer filters are templated on output precision type
Merge topic 'LSTK'

cf265e5 ENH: Turn remote module LSTK off by default.
4ae1739 ENH: Simplify the steps to build remote modules.
Merge topic 'MinGWFloat.h'

399018e COMP: Do not try to include float.h for MinGW.