scale parameters optimizer registration

Hi,

I have a code working with Normalized Correlation for the coregistration.
The optimizer is set like that (from an example I found):
Superclass::m_Optimizer->MinimizeOn();
Superclass::m_Optimizer->SetMaximumStepLength(m_MaxStepLength );
Superclass::m_Optimizer->SetMinimumStepLength(m_MinStepLength );
Superclass::m_Optimizer->SetNumberOfIterations(m_Iterations );
Superclass::m_Optimizer->SetRelaxationFactor(m_RelaxationFactor );
Superclass::m_Optimizer->SetGradientMagnitudeTolerance(m_GradientMagnitudeTolerance );

OptimizerScalesType optimizerScales( Superclass::m_Transform -> GetNumberOfParameters() );

optimizerScales[0] = 1.0;
optimizerScales[1] = 1.0;
optimizerScales[2] = 1.0;
optimizerScales[3] = 1.0/100.0;
optimizerScales[4] = 1.0/100.0;
optimizerScales[5] = 1.0/100.0;
Superclass::m_Optimizer->SetScales( optimizerScales );

The default values are set to:
m_Iterations = 2000;
m_GradientMagnitudeTolerance=1e-4;
m_MinStepLength = 0.0001;
m_MaxStepLength = 0.2;
m_RelaxationFactor = 0.5;

I didn’t find where these parameters are explain.
for example if I have a case with a lot of mouvement between scans and a case not, should I modify them ?
should I keep the same default values or not ?

Moreover I want to give the user the possibility to choose between NormalizedCorrealtion metric and MattesMutualInformationMetric.
the parameters used are the same ? if yes, should I keep the same default values are there depend on the metrics ?