@@ -36,7 +36,7 @@ Last modification : April 20 2017
3636#include < Core/Algorithms/Legacy/Inverse/TikhonovAlgoAbstractBase.h>
3737#include < Core/Algorithms/Legacy/Inverse/TikhonovImpl.h>
3838#include < Core/Algorithms/Legacy/Inverse/SolveInverseProblemWithStandardTikhonovImpl.h>
39- #include < Core/Algorithms/Legacy/Inverse/SolveInverseProblemWithTikhonovSVD_impl.h>
39+ // #include <Core/Algorithms/Legacy/Inverse/SolveInverseProblemWithTikhonovSVD_impl.h>
4040
4141// Datatypes
4242#include < Core/Datatypes/Matrix.h>
@@ -66,7 +66,7 @@ const AlgorithmOutputName TikhonovAlgoAbstractBase::InverseSolution("InverseSolu
6666const AlgorithmOutputName TikhonovAlgoAbstractBase::RegularizationParameter (" RegularizationParameter" );
6767const AlgorithmOutputName TikhonovAlgoAbstractBase::RegInverse (" RegInverse" );
6868
69- const AlgorithmParameterName TikhonovAlgoAbstractBase::TikhonovImplementation (" NoMethodSelected " );
69+ const AlgorithmParameterName TikhonovAlgoAbstractBase::TikhonovImplementation (" TikhonovImplementationOption " );
7070const AlgorithmParameterName TikhonovAlgoAbstractBase::RegularizationMethod (" lambdaMethodComboBox" );
7171const AlgorithmParameterName TikhonovAlgoAbstractBase::regularizationChoice (" autoRadioButton" );
7272const AlgorithmParameterName TikhonovAlgoAbstractBase::LambdaFromDirectEntry (" lambdaDoubleSpinBox" );
@@ -95,6 +95,7 @@ const AlgorithmParameterName TikhonovAlgoAbstractBase::regularizationResidualSub
9595
9696TikhonovAlgoAbstractBase::TikhonovAlgoAbstractBase ()
9797{
98+ addParameter (TikhonovImplementation, NoMethodSelected);
9899 addParameter (RegularizationMethod, " lcurve" );
99100 addParameter (regularizationChoice, 0 );
100101 addParameter (LambdaFromDirectEntry,1e-6 );
@@ -216,18 +217,18 @@ AlgorithmOutput TikhonovAlgoAbstractBase::run(const AlgorithmInput & input) cons
216217
217218 // Determine specific Tikhonov Implementation
218219 TikhonovImpl *algoImpl;
219- if ( TikhonovImplementation_gotten == " standardTikhonov" ){
220+ if ( get (RegularizationMethod). toInt () == standardTikhonov ){
220221 // get Parameters
221222 int regularizationChoice_ = get (regularizationChoice).toInt ();
222223 int regularizationSolutionSubcase_ = get (regularizationSolutionSubcase).toInt ();
223224 int regularizationResidualSubcase_ = get (regularizationResidualSubcase).toInt ();
224225
225226 algoImpl = new SolveInverseProblemWithStandardTikhonovImpl ( *castMatrix::toDense (forwardMatrix_), *castMatrix::toDense (measuredData_), *castMatrix::toDense (sourceWeighting_), *castMatrix::toDense (sensorWeighting_), regularizationChoice_, regularizationSolutionSubcase_, regularizationResidualSubcase_);
226227 }
227- else if ( TikhonovImplementation_gotten == " TikhonovSVD" ){
228- algoImpl = new SolveInverseProblemWithTikhonovSVD_impl ( *castMatrix::toDense (forwardMatrix_), *castMatrix::toDense (measuredData_), *castMatrix::toDense (sourceWeighting_), *castMatrix::toDense (sensorWeighting_));
228+ else if ( get (RegularizationMethod). toInt () == TikhonovSVD ){
229+ // algoImpl = new SolveInverseProblemWithTikhonovSVD_impl( *castMatrix::toDense(forwardMatrix_), *castMatrix::toDense(measuredData_), *castMatrix::toDense(sourceWeighting_), *castMatrix::toDense(sensorWeighting_));
229230 }
230- else if ( TikhonovImplementation_gotten == " TikhonovTSVD" ){
231+ else if ( get (RegularizationMethod). toInt () == TikhonovTSVD ){
231232 THROW_ALGORITHM_PROCESSING_ERROR (" Tikhonov TSVD not implemented yet" );
232233 }
233234 else {
0 commit comments