Class CDOptimizeSA
- java.lang.Object
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CDOptimizeBase
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CDOptimizeSA
-
public class CDOptimizeSA extends CDOptimizeBase
This is the Java modified version of C++ active appearance model API (AAM_API). It is modified with a subset of required functions for automatic MRI prostate segmentation. AAM-API LICENSE - file: license.txt This software is freely available for non-commercial use such as research and education. Please see the full disclaimer below. All publications describing work using this software should cite the reference given below. Copyright (c) 2000-2003 Mikkel B. Stegmann, mbs@imm.dtu.dk IMM, Informatics & Mathematical Modelling DTU, Technical University of Denmark Richard Petersens Plads, Building 321 DK-2800 Lyngby, Denmark http://www.imm.dtu.dk/~aam/ REFERENCES Please use the reference below, when writing articles, reports etc. where the AAM-API has been used. A draft version the article is available from the homepage. I will be happy to receive pre- or reprints of such articles. /Mikkel ------------- M. B. Stegmann, B. K. Ersboll, R. Larsen, "FAME -- A Flexible Appearance Modelling Environment", IEEE Transactions on Medical Imaging, IEEE, 2003 (to appear) ------------- 3RD PART SOFTWARE The software is partly based on the following libraries: - The Microsoft(tm) Vision Software Developers Kit, VisSDK - LAPACK DISCLAIMER This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any non-commercial purpose, and to alter it, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -- No guarantees of performance accompany this software, nor is any responsibility assumed on the part of the author or IMM. This software is provided by Mikkel B. Stegmann and IMM ``as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall IMM or Mikkel B. Stegmann be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. $Revision: 1.4 $ $Date: 2003/04/23 14:49:15 $ IMM, Department of Mathematical Modelling Technical University of Denmark, Building 321 DK-2800 Lyngby, Denmark http://www.imm.dtu.dk/~diva author: Rune Fisker Header-file for the simulated annealing optimization class. Simulated annealing [1,2] is implemented with the Metroplis algorithm [3], random walk and temperature scheme T_t+1 = k T_t [1] [1] Kirkpatrick, S. and Gellant, C. D. and Vecchi, M. P., Optimization by simulated annealing, Science, 1983, vol. 220, pp.671-680 [2] Cerny, V., Thermodynamical approach to the traveling salesman problem: an efficient simulation algorithm}, Jour. of Optimization Theory and Applications, 1985, vol. 45, pp. 41-45 [3] Metropolis, N. and Rosenbluth, A. W. and Rosenbluth, M. N. and Teller A. H. and Teller E., Equations of state calculations by fast computing machines, Jour. Chemical Physics, 1953, 21, 1087-1092- Author:
- Ruida Cheng
-
-
Field Summary
Fields Modifier and Type Field Description static int
eseedNo
static int
eseedRandom
int
eSeedToRandom
static int
essedConstant
private double
m_dK
decrease factor in the temperature scheme.private double
m_dStartTemperature
start temperature.private int
m_eSeedToRand
flag for random seed in random walk.static int
RAND_MAX
-
Fields inherited from class gov.nih.mipav.view.renderer.WildMagic.AAM.CDOptimizeBase
CentralDifference, ENumGrad, eoptBFGS, eoptConjugateGradient, EOptMethod, eoptPatternSearch, eoptSimulatedAnnealing, eoptSteepestDescent, eoptUnknown, ETermCode, etermConsecMaxStepMax, etermDeltaFuncVal, etermGradTol, etermLineSearch, etermMaxFuncEval, etermMaxIterations, etermNoStop, etermStepTol, etermUnknown, FitLine, ForwardDifference, m_dDeltaFuncVal, m_dEta, m_dGradTol, m_dMachEps, m_dMaxStep, m_dStepTol, m_dTypF, m_eNumGrad, m_fAnalyticGrad, m_fLogFuncValues, m_iStopCriteria, m_nConsecMax, m_nConsecMaxStepMax, m_nFDigits, m_nFuncEval, m_nGradEval, m_nIterations, m_vFuncVal, m_vNFuncEval, m_vvFuncParm
-
-
Constructor Summary
Constructors Constructor Description CDOptimizeSA()
constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
DecFac()
get decreasing factor.void
dispose()
dispose memory.double
Gauss()
make randomize gauss.int
Minimize(CDVector x, CDOptimizeFuncBase pFuncEvalBase)
minimization using steepest annealing.java.lang.String
Name()
name of optimization method.int
OptMethod()
optimizaitn method type.int
RandomSeed()
flag for random seed in random walk.void
SetDecFac(double dK)
decrease factor in the temperature scheme.void
SetRandomSeed(int eSeedToRand)
get random seeding flag.void
SetStartTemperature(double dStartTemperature)
start temperature.double
StartTemperature()
get start tempature.-
Methods inherited from class gov.nih.mipav.view.renderer.WildMagic.AAM.CDOptimizeBase
EvalFunction, EvalGradient, ExactLineSearch, GetFuncEvalBase, LineSearch, LineSearch, MaxFuncEval, MaxIterations, MethodPar, MinimizeNum, NumGrad, SetFuncEvalBase, SetMachineEps, SetMaxFuncEval, SetMaxIterations, SetMethodPar, SoftLineSearch, UmStop, UmStop0
-
-
-
-
Field Detail
-
RAND_MAX
public static int RAND_MAX
-
eSeedToRandom
public int eSeedToRandom
-
eseedNo
public static int eseedNo
-
eseedRandom
public static int eseedRandom
-
essedConstant
public static int essedConstant
-
m_dStartTemperature
private double m_dStartTemperature
start temperature.
-
m_dK
private double m_dK
decrease factor in the temperature scheme.
-
m_eSeedToRand
private int m_eSeedToRand
flag for random seed in random walk.
-
-
Method Detail
-
dispose
public void dispose()
dispose memory.
-
Name
public java.lang.String Name()
name of optimization method.- Overrides:
Name
in classCDOptimizeBase
- Returns:
-
OptMethod
public int OptMethod()
optimizaitn method type.- Overrides:
OptMethod
in classCDOptimizeBase
-
SetStartTemperature
public void SetStartTemperature(double dStartTemperature)
start temperature.
-
StartTemperature
public double StartTemperature()
get start tempature.
-
SetDecFac
public void SetDecFac(double dK)
decrease factor in the temperature scheme.
-
DecFac
public double DecFac()
get decreasing factor.
-
RandomSeed
public int RandomSeed()
flag for random seed in random walk.
-
SetRandomSeed
public void SetRandomSeed(int eSeedToRand)
get random seeding flag.
-
Minimize
public int Minimize(CDVector x, CDOptimizeFuncBase pFuncEvalBase)
minimization using steepest annealing.- Specified by:
Minimize
in classCDOptimizeBase
- Returns:
-
Gauss
public double Gauss()
make randomize gauss.
-
-