BUG: Test harness gave false positives

When the test images are missing it was possible
to get false positive results.

int result=0;
result+=1;   //First failure
result+=itk::NumericLimits<int>::max(); //Second failure
std::cout << result << std::endl; // This prints zero!

Avoid this probelm by only retaining a boolean condition
of pass/fail status, not the accumlated failure codes.

Change-Id: Ibc8f2c71afc44b497e8d1774b263255556d0c6c3
BUG: Remove duplicate file in wrong place

The file
Modules/Compatibility/Deprecated/test/itkExponentialDisplacementFieldImageFilter.hxx

is an exact duplicate of
Modules/Nonunit/Review/include/itkExponentialDisplacementFieldImageFilter.hxx

but does not have a corresponding .h file.  It is assumed that this file
was accidently committed in the wrong place.

Change-Id: I69f51cab29a71f3a14f0b68c9d3a8296e85355c6
COMP: Remove unnecessary const_cast.

A re-write allows the the removal of the const_cast
that was only needed because of the signature of the
parent class.  A protected function with the
non-const signature was added to avoid the
need for a const_cast.

Change-Id: Ief60bbfc8b573de570dff521414760cdfa1de9a2
BUG: GPU tests sometimes fails

GPUGradientAnisotropicDiffusionImageFilterTest2D was failing on a
certain Mac OS X 10.7.2 and 10.7.4 configuration even though the 3D
version passed there and the 2D version passed on the same hardware
with OS X 10.6.8.  After much effort, it was determined that this
patch fixes the problem.  It had been documented that Apple OpenCL
implementations weren't handling nested if statements like if(A && B
&& C), but in this case, the implementation wasn't working for if (A
&& B).  Breaking into two individual statements seems to work, but it
is not clear whether other compound if statements are affected.  Right
now, they seem to be working.

However, this compound if statement could be the issue for
GPUMeanImageFilterTest3D which is failing on other Mac
configurations.  Therefore, this patch cleans up those compound if
statements as well.  The GPUMeanImageFilterTest has also been modified
to output the result images in case this patch does not fix the problem.

Change-Id: Ia13343bc557b77b53abfb3da4a091d11d87a34a1
COMP: propogate compiler selection & flags to FFTW build

FFTW gets built via a CMake ExternalProject. The actual
build is done via an autoconf configure/make recipe. The
compiler and compiler flags weren't being propagated down into
the FFTW configuration pass; consequently FFTW could get built
with a different compiler and compiler flags than the rest
of ITK.

Change-Id: I81f3b42daf25d95742e5e2ef3a2fcf7e895a6d20
BUG: Fix WrapITK GCCXML ExternalProject dependency.

Redundant dependencies specified in the wrong location were causing multiple
simultaneous attempts at fetching GCCXML, which would cause CVS to fail.  The
extra dependency is removed.  Note that the dependency is already specified in
the itk_end_wrap_submodule_gccxml macro.

Also the most appropriate dependency for completion of an ExternalProject is
<ProjectName> instead of <ProjectName>-install.  This fixes build errors where
the build of GCC_XML complete, but make fails, requiring a manual restart of
make.

Change-Id: I2b289e1e55bacb11b84e0b62f0c2259cd7a5e99e
COMP: Compile wrapITK for python2.7,64bit on windows

Compile the python bindings for Python 2.7 64-bit on Windows 7 (64 bit)
using Visual Studio 2008 (Express, patched for 64-bit build)
Major Change is the gccxml flag -D"_HAS_TR1=0" needed for VS2008

Change-Id: I0574612cdb6f1476220bef456340434740da8571
COMP: Make sure the VC script gets executed after gccxml installation.

Change-Id: I88180fa3b6254bbdbaa6f0673ebe9bcc398c8240
COMP: Add "#include <functional>" to classes for VS2012

Change-Id: I4b106fd5b72059386d407b0cabf5ff0875ee96cd
BUG: fix writing a corrupt meta image header from unknow metadata

If an entry in the metadata dictionary which had a type that the
MetaImagIO did not know about then an empty string in the written out
for the value. This is not readable by the metaIO library. So these
unknow or empty metadata entries, are not written.

Change-Id: I322676fdc63ba3b76e21968f986e1e841c0b8e38
BUG: Added missing include <algorithm>

The missing include turned up when compiling an application
with Visual Studio 2008.

Change-Id: Ide1c8f417273a769a613b6c0d29bac892dfd653a
PERF: Fix usage of ElementAt in PolyLineParametricPath to use const version

PolyLineParametricPath::Evaluate function uses VectorContainer::ElementAt function.

There are 2 function signatures of ElementAt, differing only by return type and function const-ness.
The non-const version of the function also calls Modified on its object, which is relatively expensive operation

Calls to m_VertexList->ElementAt() in PolyParametricPath:Evaluate result in the non-const version being used. This solution static_cast the m_VertexList object to the const version which will tell the compiler to use the const version of ElementAt.

Change-Id: If4d256c65bebe6a6d57092b8a091d8ae0305f61e