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 * [])30int 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