ENH: The top transform is the only one active for registration.

After a new transform is added only that new one will be active for
registration.

Change-Id: I3bbc9fde926bbd687ea5b3920844bcd4bb88ca0c
Ensure only top transform is active

When reading a transform from file or importing from ITK set only the
most recent transform to be active for registration.

Change-Id: I14465c0f828a1d0bdc01ba572d009804d1fb386e
ENH: move CastImageToITK to ProcessObject class

Change location to parrent of method so that it can be utilized by the
ImageRegistrationMethod class.

Change-Id: I11de8672064c4ead15d0487347ff9445ac872a62
Remove cmake message statement used for debugging

Change-Id: I348108dc0f69f9a94e8dbb197fa17dd1e36fe05a
ENH: Adding initial ImageRegistrationMethod

Adding basic method with just the MeanSquares Metric and the
RegularStepGradientDescent optimizer. This is created in a new
registration directory.

Change-Id: I6cc7f85119f3e1e169b61c550206c6af55afcd19
Starting basic C++ testing for ImageRegistrationMethod

Change-Id: I47db63a69df51e75fe21010f45c310bb7c15a253
Adding basic ImageRegistrationMethod python example

Based on ITK's v3 ImageRegistraion1 Example. This example show how to
do this with SimpleITK.

Change-Id: I41489161d11dc61a9c59cc62357d8ecc3118f60e
Adding ImageRegistrationMethod1 example for C++

Change-Id: Ie04f1769d8c71929e3817c5deaa712303e66ce54
Adding CMakeLists for Registration/src

Change-Id: I38a1ed85931d2f527b475171b5513fcd1d47a3ec
Adding ImageRegistrationMethod1.cxx

Change-Id: I5c4b54e91b38d93fc78cb131a8cbf2660ac6b6b6
Adding GradientDescent optimzer to ImageRegistrationMethod

Change-Id: If96b2acac6600ad4bfa076ea8f41dabeb28d6dbd
Adding MutualInformation metric to ImageRegistrationMethod

Change-Id: I3084069349cf1ac0d88716dc2411c9ddece70183
Adding ImageRegistrationMethod2 for Python

This is based on the ImageRegistration2 example in ITK.

Change-Id: I1e626ae5b6fb1a82250481ebe0a2f5b805b2e9dc
Add ImageRegitraionMethod2 for CXX

This example utilizes the MutualInformation metric with a
GradientDescent optimizer. It also feature required preprocessing.

Change-Id: I51bb600f948a4b13a5813f0f642ca6f7e5102b4e
Use nsstd wrapper for tr1::function and bind methods

Change-Id: If2e902247f4db1c22c585f7ad7cdec351f0357c5
Use 1% of pixels for spacial samples in the mutual information metric

This was being incorrectly set to 0, which got changed to 1 sample in
the metric.

Change-Id: I9bdbc32a9b9c89dc7d5d50e74b63c5e6289d8be5
Add explicit conversion to uint64_t from double.

Change-Id: I16e816d55dcac71a5e1920a9d0d5561f59e7788e
Removed old named ImageRegistration1.cxx example.

Change-Id: If2d577bfdde9e431212b8e033296f8f4788e56f4
COMP: Avoid no return value warning

If no case has returned a metric throw an exception. This change in
logic make it clearer to compilers the no return value case can't
occur.

Change-Id: I47c91e901dbbdfd07014647260ae696ef95a3325
Use structure for ProcessObject's Command book keeping

Change from a std::pair to a custom structure for keeping track of
registered commands for the process object. This will allow adding
additional members to improve book keeping.

Change-Id: I12f59e9796ad7ace8ea0aa1b6a48259315f07ad0