Class CAAMInitializeStegmann
- java.lang.Object
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMObject
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMInitialize
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMInitializeStegmann
-
public class CAAMInitializeStegmann extends CAAMInitialize
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 $ Concrete class implementation of a simple initialization method.- Author:
- Ruida Cheng
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
CAAMInitializeStegmann.CAAMInitCandidates
Initialization candidate containiner.(package private) class
CAAMInitializeStegmann.CAAMInitEntry
Container for initialization results.
-
Field Summary
Fields Modifier and Type Field Description private double
m_dXmax
search range, currently not used.private double
m_dXmin
search range, currently not used.private double
m_dXspacing
stepping length, currently not used.private double
m_dYmax
search range, currently not used.private double
m_dYmin
search range, currently not used.private double
m_dYspacing
stepping length, currently not used.private int
m_nCandidates
number of candidates.private int
m_nIterations1stPass
number of iterations.private int
m_nIterations2ndPass
number of iterations.CAAMShape
m_sCentredRefshape
Centered reference shape.private java.util.Vector<CDVector>
m_vModelParameterSteps
Model parameters changes steps.private CDVector
m_vRotationSteps
model rotation steps.private CDVector
m_vScaleSteps
model scale steps.poly
meanShapePolygon
mean shape polygon.-
Fields inherited from class gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMInitialize
m_pModel
-
-
Constructor Summary
Constructors Constructor Description CAAMInitializeStegmann(CAAMModel aammodel)
Constructor.CAAMInitializeStegmann(CAAMModel aammodel, ModelImage targetImageSlice, ModelImage sampleImage, CAAMShape sampleShape)
AAM initialization from given aam model, target imge, and sample image and VOI
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
counterClockwise(float[] x, float[] y, float[] z, int nPts)
Change the given VOI to counter clock wise order.int
Initialize(ModelSimpleImage image, CAAMShape s, CDVector c)
Performs a somewhat brute force initialization of an AAM.int
Initialize(ModelSimpleImage image, CAAMShape s, CDVector c, ModelImage targetImageSlice)
Performs a somewhat brute force initialization of an AAM.static void
pause()
Pause function for testing and debugging purpose.void
SetIterations1stPass(int i)
Sets the number of iterations in the coarse search.void
SetIterations2ndPass(int i)
Sets the number of iterations in the refinement search.void
SetModelParameterSteps(java.util.Vector<CDVector> av)
Sets the number of model parameter steps.void
SetNCandidates(int i)
Set the number of candidatesvoid
SetRotationSteps(CDVector v)
Sets the number of rotation steps.void
SetScaleSteps(CDVector v)
Sets the number of scale steps.void
SetXYSpacing(double xs, double ys)
Sets the spacing of the search grid in x and y.-
Methods inherited from class gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMObject
FromFile, ToFile
-
-
-
-
Field Detail
-
m_sCentredRefshape
public CAAMShape m_sCentredRefshape
Centered reference shape.
-
m_vScaleSteps
private CDVector m_vScaleSteps
model scale steps.
-
m_vRotationSteps
private CDVector m_vRotationSteps
model rotation steps.
-
m_vModelParameterSteps
private java.util.Vector<CDVector> m_vModelParameterSteps
Model parameters changes steps.
-
m_dXspacing
private double m_dXspacing
stepping length, currently not used.
-
m_dYspacing
private double m_dYspacing
stepping length, currently not used.
-
m_dXmin
private double m_dXmin
search range, currently not used.
-
m_dXmax
private double m_dXmax
search range, currently not used.
-
m_dYmin
private double m_dYmin
search range, currently not used.
-
m_dYmax
private double m_dYmax
search range, currently not used.
-
m_nIterations1stPass
private int m_nIterations1stPass
number of iterations.
-
m_nIterations2ndPass
private int m_nIterations2ndPass
number of iterations.
-
m_nCandidates
private int m_nCandidates
number of candidates.
-
meanShapePolygon
public poly meanShapePolygon
mean shape polygon.
-
-
Constructor Detail
-
CAAMInitializeStegmann
public CAAMInitializeStegmann(CAAMModel aammodel)
Constructor.- Parameters:
aammodel
- The model to initialize.
-
CAAMInitializeStegmann
public CAAMInitializeStegmann(CAAMModel aammodel, ModelImage targetImageSlice, ModelImage sampleImage, CAAMShape sampleShape)
AAM initialization from given aam model, target imge, and sample image and VOI- Parameters:
aammodel
- aam modeltargetImageSlice
- target imagesampleImage
- sample imagesampleShape
- sample VOI
-
-
Method Detail
-
pause
public static void pause()
Pause function for testing and debugging purpose.
-
counterClockwise
private void counterClockwise(float[] x, float[] y, float[] z, int nPts)
Change the given VOI to counter clock wise order.- Parameters:
x
- VOI x coordinate arrayy
- VOI y coordinate arrayz
- VOI z coordinate arraynPts
- number of VOI points
-
Initialize
public int Initialize(ModelSimpleImage image, CAAMShape s, CDVector c)
Performs a somewhat brute force initialization of an AAM.- Specified by:
Initialize
in classCAAMInitialize
- Parameters:
image
- The image beeing searched in.s
- The output shape after initialization.c
- The output model parameters after initialization.- Returns:
- 0 on succes, non-zero on errors.
-
Initialize
public int Initialize(ModelSimpleImage image, CAAMShape s, CDVector c, ModelImage targetImageSlice)
Performs a somewhat brute force initialization of an AAM.- Parameters:
image
- The image being searched in.s
- The output shape after initialization.c
- The output model parameters after initialization.- Returns:
- 0 on succes, non-zero on errors.
-
SetNCandidates
public void SetNCandidates(int i)
Set the number of candidates- Parameters:
i
- candidiate index
-
SetIterations1stPass
public void SetIterations1stPass(int i)
Sets the number of iterations in the coarse search.- Parameters:
i
- iteration number
-
SetIterations2ndPass
public void SetIterations2ndPass(int i)
Sets the number of iterations in the refinement search.- Parameters:
i
- number of iterations
-
SetXYSpacing
public void SetXYSpacing(double xs, double ys)
Sets the spacing of the search grid in x and y.- Parameters:
xs
- x coordinate stepys
- y coordinate step
-
SetScaleSteps
public void SetScaleSteps(CDVector v)
Sets the number of scale steps.- Parameters:
v
- scale vector
-
SetRotationSteps
public void SetRotationSteps(CDVector v)
Sets the number of rotation steps.- Parameters:
v
- rotation vector
-
SetModelParameterSteps
public void SetModelParameterSteps(java.util.Vector<CDVector> av)
Sets the number of model parameter steps.- Parameters:
av
- parameters change vector
-
-