MaxStepLineSearch.h
1 /*
2  * Medical Image Registration ToolKit (MIRTK)
3  *
4  * Copyright 2013-2015 Imperial College London
5  * Copyright 2013-2015 Andreas Schuh
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #ifndef MIRTK_MaxStepLineSearch_H
21 #define MIRTK_MaxStepLineSearch_H
22 
23 #include "mirtk/InexactLineSearch.h"
24 
25 
26 namespace mirtk {
27 
28 
29 /**
30  * Dummy line search which always takes the maximum step
31  *
32  * This line search implements the LS_None line search strategy.
33  */
35 {
36  mirtkLineSearchMacro(MaxStepLineSearch, LS_None);
37 
38  // ---------------------------------------------------------------------------
39  // Construction/Destruction
40 public:
41 
42  /// Constructor
44 
45  /// Copy constructor
47 
48  /// Assignment operator
50 
51  /// Destructor
52  virtual ~MaxStepLineSearch();
53 
54  // ---------------------------------------------------------------------------
55  // Optimization
56 
57  /// Make optimal step along search direction
58  virtual double Run();
59 
60 };
61 
62 
63 } // namespace mirtk
64 
65 #endif // MIRTK_MaxStepLineSearch_H
virtual double Run()
Make optimal step along search direction.
No line search.
Definition: LineSearch.h:34
MaxStepLineSearch & operator=(const MaxStepLineSearch &)
Assignment operator.
virtual ~MaxStepLineSearch()
Destructor.
Definition: IOConfig.h:41
MaxStepLineSearch(ObjectiveFunction *=NULL)
Constructor.