1 /*=========================================================================
2  *
3  *  Copyright Insight Software Consortium
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *         http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #include "itkAmoebaOptimizer.h"
20 #include "itkCompositeValleyFunction.h"
21 #include "itkConjugateGradientOptimizer.h"
22 #include "itkCumulativeGaussianOptimizer.h"
23 #include "itkLBFGSOptimizer.h"
24 #include "itkLevenbergMarquardtOptimizer.h"
25 #include "itkMultivariateLegendrePolynomial.h"
26 #include "itkOnePlusOneEvolutionaryOptimizer.h"
27 #include "itkQuaternionRigidTransformGradientDescentOptimizer.h"
28 #include "itkVersorTransformOptimizer.h"
29 
itkNumericsPrintTest(int,char * [])30 int itkNumericsPrintTest(int , char* [])
31 {
32   itk::AmoebaOptimizer::Pointer AmoebaOptimizerObj =
33     itk::AmoebaOptimizer::New();
34   std::cout << "----------AmoebaOptimizer " << AmoebaOptimizerObj;
35 
36   auto * CacheableScalarFunctionObj = new itk::CacheableScalarFunction;
37   std::cout << "----------CacheableScalarFunction " << CacheableScalarFunctionObj;
38   delete CacheableScalarFunctionObj;
39 
40   itk::ConjugateGradientOptimizer::Pointer ConjugateGradientOptimizerObj =
41     itk::ConjugateGradientOptimizer::New();
42   std::cout << "----------ConjugateGradientOptimizer " << ConjugateGradientOptimizerObj;
43 
44   itk::CumulativeGaussianOptimizer::Pointer CumulativeGaussianOptimizerObj =
45     itk::CumulativeGaussianOptimizer::New();
46   std::cout << "----------CumulativeGaussianOptimizer " << CumulativeGaussianOptimizerObj;
47 
48   itk::CumulativeGaussianCostFunction::Pointer CumulativeGaussianCostFunctionObj =
49     itk::CumulativeGaussianCostFunction::New();
50   std::cout << "----------CumulativeGaussianCostFunction " << CumulativeGaussianCostFunctionObj;
51 
52   itk::GradientDescentOptimizer::Pointer GradientDescentOptimizerObj =
53     itk::GradientDescentOptimizer::New();
54   std::cout << "----------GradientDescentOptimizer " << GradientDescentOptimizerObj;
55 
56   itk::LBFGSOptimizer::Pointer LBFGSOptimizerObj =
57     itk::LBFGSOptimizer::New();
58   std::cout << "----------LBFGSOptimizer " << LBFGSOptimizerObj;
59 
60   itk::LevenbergMarquardtOptimizer::Pointer LevenbergMarquardtOptimizerObj =
61     itk::LevenbergMarquardtOptimizer::New();
62   std::cout << "----------LevenbergMarquardtOptimizer " << LevenbergMarquardtOptimizerObj;
63 
64   using PolynomialType = itk::MultivariateLegendrePolynomial;
65   constexpr unsigned int dimension = 3;
66   constexpr unsigned int degree = 3;
67   PolynomialType::DomainSizeType domainSize(dimension);
68   auto * MultivariateLegendrePolynomialObj = new itk::MultivariateLegendrePolynomial(dimension,degree,domainSize);
69   std::cout << "----------MultivariateLegendrePolynomial " << *MultivariateLegendrePolynomialObj;
70   delete MultivariateLegendrePolynomialObj;
71 
72   itk::OnePlusOneEvolutionaryOptimizer::Pointer OnePlusOneEvolutionaryOptimizerObj =
73     itk::OnePlusOneEvolutionaryOptimizer::New();
74   std::cout << "----------OnePlusOneEvolutionaryOptimizer " << OnePlusOneEvolutionaryOptimizerObj;
75 
76   itk::Optimizer::Pointer OptimizerObj =
77     itk::Optimizer::New();
78   std::cout << "----------Optimizer " << OptimizerObj;
79 
80   itk::QuaternionRigidTransformGradientDescentOptimizer::Pointer QuaternionRigidTransformGradientDescentOptimizerObj =
81     itk::QuaternionRigidTransformGradientDescentOptimizer::New();
82   std::cout << "----------QuaternionRigidTransformGradientDescentOptimizer " << QuaternionRigidTransformGradientDescentOptimizerObj;
83 
84   itk::RegularStepGradientDescentBaseOptimizer::Pointer RegularStepGradientDescentBaseOptimizerObj =
85     itk::RegularStepGradientDescentBaseOptimizer::New();
86   std::cout << "----------RegularStepGradientDescentBaseOptimizer " << RegularStepGradientDescentBaseOptimizerObj;
87 
88   itk::RegularStepGradientDescentOptimizer::Pointer RegularStepGradientDescentOptimizerObj =
89     itk::RegularStepGradientDescentOptimizer::New();
90   std::cout << "----------RegularStepGradientDescentOptimizer " << RegularStepGradientDescentOptimizerObj;
91 
92   auto * SingleValuedVnlCostFunctionAdaptorObj = new itk::SingleValuedVnlCostFunctionAdaptor(3);
93   std::cout << "----------SingleValuedVnlCostFunctionAdaptor " << SingleValuedVnlCostFunctionAdaptorObj;
94   delete SingleValuedVnlCostFunctionAdaptorObj;
95 
96   itk::VersorTransformOptimizer::Pointer VersorTransformOptimizerObj =
97     itk::VersorTransformOptimizer::New();
98   std::cout << "----------VersorTransformOptimizer " << VersorTransformOptimizerObj;
99 
100   return 0;
101 }
102