Class CAAMAnalyzeSynthesizeSoftware
- java.lang.Object
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMAnalyzeSynthesize
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMAnalyzeSynthesizeSoftware
-
public class CAAMAnalyzeSynthesizeSoftware extends CAAMAnalyzeSynthesize
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 for software implementation of the analysis/synthesis functions.- Author:
- Ruida Cheng
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
CAAMAnalyzeSynthesizeSoftware.sWarpEntry
-
Field Summary
Fields Modifier and Type Field Description private ModelSimpleImage
m_pAnalyzeImage
reference to analyze imageprivate java.util.Vector<CAAMAnalyzeSynthesizeSoftware.sWarpEntry>
m_WarpTable
warp table-
Fields inherited from class gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMAnalyzeSynthesize
asOpenGL, asSoftware, m_Id, m_pReferenceFrame
-
-
Constructor Summary
Constructors Constructor Description CAAMAnalyzeSynthesizeSoftware(CAAMReferenceFrame rf)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
Analyze(CAAMShape shape, ModelSimpleImage refImg)
Warpper to analyze the image.boolean
Analyze(CAAMShape shape, ModelSimpleImage refImg, boolean useInterpolation)
This method samples the image intensities under a user-supplied shape into a texture vector.boolean
Analyze(CAAMShape shape, CDVector texture)
Warpper to analyze the image.boolean
Analyze(CAAMShape shape, CDVector texture, boolean useInterpolation)
This method samples the image intensities under a user-supplied shape into a texture vector.void
BuildWarpTable()
Cache method, that caches triangle info.CAAMAnalyzeSynthesize
Clone(CAAMReferenceFrame rf)
Clones itself.void
dispose()
Dispose memoryvoid
SetAnalyzeImage(ModelSimpleImage img)
Sets the image to be analyzed.boolean
Synthesize(CAAMShape shape, CDVector texture, ModelSimpleImage destImage, boolean renderOntoImage)
Renders a texture vector into a shape.-
Methods inherited from class gov.nih.mipav.view.renderer.WildMagic.AAM.CAAMAnalyzeSynthesize
AAMLoadAnalyzerSynthesizer, FromFile, ToFile
-
-
-
-
Field Detail
-
m_WarpTable
private java.util.Vector<CAAMAnalyzeSynthesizeSoftware.sWarpEntry> m_WarpTable
warp table
-
m_pAnalyzeImage
private ModelSimpleImage m_pAnalyzeImage
reference to analyze image
-
-
Constructor Detail
-
CAAMAnalyzeSynthesizeSoftware
public CAAMAnalyzeSynthesizeSoftware(CAAMReferenceFrame rf)
Constructor- Parameters:
rf
- The reference frame to analyze and synthesize.
-
-
Method Detail
-
dispose
public void dispose()
Dispose memory- Specified by:
dispose
in classCAAMAnalyzeSynthesize
-
BuildWarpTable
public void BuildWarpTable()
Cache method, that caches triangle info. This method cache triangle information that does not change.
-
SetAnalyzeImage
public void SetAnalyzeImage(ModelSimpleImage img)
Sets the image to be analyzed.- Specified by:
SetAnalyzeImage
in classCAAMAnalyzeSynthesize
- Parameters:
img
- Image to be analyzed.
-
Analyze
public boolean Analyze(CAAMShape shape, CDVector texture)
Warpper to analyze the image. Sample image texture under a given shape.- Parameters:
shape
- VOI shapetexture
- image texture- Returns:
- true if the shape is inside the image
-
Analyze
public boolean Analyze(CAAMShape shape, ModelSimpleImage refImg)
Warpper to analyze the image. Sample image texture under a given shape.- Parameters:
shape
- VOI shapetexture
- image texture with MIPAV simple image type- Returns:
- true if the shape is inside the image
-
Analyze
public boolean Analyze(CAAMShape shape, CDVector texture, boolean useInterpolation)
This method samples the image intensities under a user-supplied shape into a texture vector.- Specified by:
Analyze
in classCAAMAnalyzeSynthesize
- Parameters:
shape
- VOI shapetexture
- image textureuseInterpolation
- If true bilinear interpolation is used (default). Otherwise the faster nearest neighbor interpolation is used.- Returns:
- true if the shape is inside the image
-
Analyze
public boolean Analyze(CAAMShape shape, ModelSimpleImage refImg, boolean useInterpolation)
This method samples the image intensities under a user-supplied shape into a texture vector.- Specified by:
Analyze
in classCAAMAnalyzeSynthesize
- Parameters:
shape
- VOI shapetexture
- image texture with MIPAV simple image typeuseInterpolation
- If true bilinear interpolation is used (default). Otherwise the faster nearest neighbor interpolation is used.- Returns:
- true if the shape is inside the image
-
Synthesize
public final boolean Synthesize(CAAMShape shape, CDVector texture, ModelSimpleImage destImage, boolean renderOntoImage)
Renders a texture vector into a shape. This method renders a texture vector into a shape defined in image coordinates.- Specified by:
Synthesize
in classCAAMAnalyzeSynthesize
- Parameters:
shape
- The shape to synthesize into.texture
- The input image texture.destImage
- Destination imagerenderOntoImage
- If true the synthesization is done on top of the existing image.- Returns:
- True on success.
-
Clone
public CAAMAnalyzeSynthesize Clone(CAAMReferenceFrame rf)
Clones itself.- Specified by:
Clone
in classCAAMAnalyzeSynthesize
- Parameters:
rf
- The reference frame of the cloned object.- Returns:
- A cloned object created on the heap.
-
-