Difference between revisions of "NA"

From NAMIC Wiki
Jump to: navigation, search
m (Update from Wiki)
m (Update from Wiki)
Line 1: Line 1:
== Shape Correspondence Based on Local Curvature ==
+
== Base Classes ==
  
=== Description ===
+
'''SphericalWaveletObject'''<dimension of signal ,type of signal>::itkObject
  
We are working on a correspondence method based on local curvature. This is a population based method (a la MDL or DetCov) that optimizes correspondence for a population, rather than pair-based. Currently we use the Koenderink measure C and S as our correspondence metric. However, the code is structured in such a way to enable very easy modification of the metric.
+
: Functions:
 +
:: -get/setSubdivisionLevel() : sets the level of recursive, spherical icosahedron subdivision
 +
:: -getTemplateMesh() [sphere] : returns the subdivided icosahdron mesh with lower levels preceding higher levels in the point list.
 +
:: -get/setSignalVector (does not compute, only storage)
 +
:: -get/setCoefficientVector (does not compute, only storage)
 +
:: -IsSignalVectorAvailable() whether the signal information is available
 +
:: -IsCoefficientVector() whether the coefficients are available
  
=== Current Status & Plans for Project Week ===
+
: :: -getIndicesSetAtResolution() //this the K set, used for the forward/backward filters
 +
:: -getDifferenceIndicesSetAtResolution() //this is the M set, used for the forward/backward filters
 +
: Member Variables:
 +
:: Private:
 +
::: coeffs:itkVector<itkVector<double>> (k-th vector stores the coefficients for dimension k of signal) [Nxd], where N is the number of points in the template mesh, and d is the dimenstionality of the signal
 +
::: signal:itkVector<itkVector<type of signal>> (k-th vector stores the signal at dimension k) [Nxd], where N is the number of points in the template mesh, and d is the dimenstionality of the signal
 +
::: A,B,C,K,M …(what type of structure?)
 +
::: itkMesh: TemplateMesh
  
There still is plenty of room for improvements, but the code is working right now. We have tried it in a very small dataset for debugging, and the optimization seems to properly converge.
+
<br />'''SurfaceWaveletsObject'''<dim,type>::'''SphericalWaveletsObject'''<dim,type>
  
We also tried on the caudate dataset, and it seemed to work properly, although we dont yet have a visualization method in place. This is one of the things we want to accomplish at Project Week: coming up with a nice visualization of the correspondence results with the KWMeshVisu tool that we developed at the previous programming week.
+
: Functions:
 +
:: -set/getSphericalParametrizedMesh() [internally we remesh]
 +
:: -get/setSurfaceSignal
  
We are also in contact with Tobias Heimann who is the original author of a large part of the ITK classes we are using, and we plan to make a combined submission with him to MICCAI open source workshop. The paper is also one of the major things that we want to work on during the week.
+
== Filters ==
  
=== Members ===
+
'''SphericalWaveletsSignalToCoefficientsFilter'''<nowiki>::processingObject </nowiki>
  
* Ipek Oguz (UNC)
+
: Functions:
* Martin Styner (UNC)
+
:: -setInput(sphericalWaveletObject)
 +
:: -getOutput(sphericalWaveletObject)
 +
 
 +
<br />'''SphericalWaveletsCoefficentsToSignalFilter'''<nowiki>::processingObject </nowiki>
 +
 
 +
: Functions:
 +
:: -setInput(sphericalWaveletObject)
 +
:: -getOutput(sphericalWaveletObject)
 +
 
 +
<br />
 +
 
 +
== Example of use for shape analysis ==
 +
 
 +
<br />
 +
 
 +
: SphericalWaveletObject swo<1,float>
 +
: swo.setSubdivision(5)
 +
: SphericalWaveletObject::surfaceSignalType s
 +
: swo.setSignal(s);
 +
 
 +
: mesh = swo.getTemplateMesh(); //can visualize
 +
 
 +
: SphericalWaveletSignalToCoefficientsFilter swf
 +
: swf.SetInput(swo);
 +
: swf.Update();
 +
: swg.GetOutput(swo);
 +
 
 +
== Links ==
 +
 
 +
* [[NA-MIC/Projects/Structural/Shape_Analysis/Spherical_Wavelets_in_ITK|Spherical Wavelets in ITK]]
 +
* [[NA-MIC/Projects/Structural/Shape_Analysis/3D_Shape_Analysis_Using_Spherical_Wavelets|3D Shape Analysis Using Spherical Wavelets]]

Revision as of 14:03, 18 December 2006

Home < NA

Base Classes

SphericalWaveletObject<dimension of signal ,type of signal>::itkObject

Functions:
-get/setSubdivisionLevel() : sets the level of recursive, spherical icosahedron subdivision
-getTemplateMesh() [sphere] : returns the subdivided icosahdron mesh with lower levels preceding higher levels in the point list.
-get/setSignalVector (does not compute, only storage)
-get/setCoefficientVector (does not compute, only storage)
-IsSignalVectorAvailable() whether the signal information is available
-IsCoefficientVector() whether the coefficients are available
 :: -getIndicesSetAtResolution() //this the K set, used for the forward/backward filters
-getDifferenceIndicesSetAtResolution() //this is the M set, used for the forward/backward filters
Member Variables:
Private:
coeffs:itkVector<itkVector<double>> (k-th vector stores the coefficients for dimension k of signal) [Nxd], where N is the number of points in the template mesh, and d is the dimenstionality of the signal
signal:itkVector<itkVector<type of signal>> (k-th vector stores the signal at dimension k) [Nxd], where N is the number of points in the template mesh, and d is the dimenstionality of the signal
A,B,C,K,M …(what type of structure?)
itkMesh: TemplateMesh


SurfaceWaveletsObject<dim,type>::SphericalWaveletsObject<dim,type>

Functions:
-set/getSphericalParametrizedMesh() [internally we remesh]
-get/setSurfaceSignal

Filters

SphericalWaveletsSignalToCoefficientsFilter::processingObject

Functions:
-setInput(sphericalWaveletObject)
-getOutput(sphericalWaveletObject)


SphericalWaveletsCoefficentsToSignalFilter::processingObject

Functions:
-setInput(sphericalWaveletObject)
-getOutput(sphericalWaveletObject)


Example of use for shape analysis


SphericalWaveletObject swo<1,float>
swo.setSubdivision(5)
SphericalWaveletObject::surfaceSignalType s
swo.setSignal(s);
mesh = swo.getTemplateMesh(); //can visualize
SphericalWaveletSignalToCoefficientsFilter swf
swf.SetInput(swo);
swf.Update();
swg.GetOutput(swo);

Links