No subject


Fri Jan 14 08:05:08 EST 2011


ilter is the one I am looking for.=20

But now when I try to use it to get the Hessian matrix. I got the following=
 compiling errors.=20
----------------------------------------------
In the header file myAlgorithm.h, I declare

typedef itk::SymmetricSecondRankTensor< float, 3 > HessianPixelType;
typedef itk::Image< HessianPixelType, 3 >    HessianImageType;
typedef itk::MultiScaleHessianBasedMeasureImageFilter< FloatVolumeImageType=
, HessianImageType,=20
                                                FloatVolumeImageType > Mult=
iScaleHessianFilterType;

HessianImageType::Pointer m_itkHessianImageData;

And then, in the myAlgorithm.cpp, I have

MultiScaleHessianFilterType::Pointer hessianFilter =3D MultiScaleHessianFil=
terType::New();
=09
	hessianFilter->SetInput( cast2float->GetOutput() );
	hessianFilter->SetNumberOfSigmaSteps( 10 );
	hessianFilter->SetSigmaStepMethodToEquispaced();
	hessianFilter->SetSigmaMinimum( 0.5 );
	hessianFilter->SetSigmaMaximum( 4.0 );
	hessianFilter->SetGenerateHessianOutput( true );
	hessianFilter->SetGenerateScalesOutput( true );
=09
	m_itkHessianImageData =3D hessianFilter->GetHessianOutput();

And I compile, I have the following errors:
/Users/zwang/workspace/myFuzzyVesselSegmentation/VesselSegmentationPanel.cp=
p:214:0 /Users/zwang/workspace/myFuzzyVesselSegmentation/VesselSegmentation=
Panel.cpp:214: error: invalid conversion from 'const itk::Image<itk::Symmet=
ricSecondRankTensor<float, 3u>, 3u>*' to 'itk::Image<itk::SymmetricSecondRa=
nkTensor<float, 3u>, 3u>*'

/Users/zwang/workspace/myFuzzyVesselSegmentation/VesselSegmentationPanel.cp=
p:214:0 /Users/zwang/workspace/myFuzzyVesselSegmentation/VesselSegmentation=
Panel.cpp:214: error:   initializing argument 1 of 'itk::SmartPointer<TObje=
ctType>& itk::SmartPointer<TObjectType>::operator=3D(TObjectType*) [with TO=
bjectType =3D itk::Image<itk::SymmetricSecondRankTensor<float, 3u>, 3u>]'



May I know what the reason? Or what's the proper way to get the hessian mat=
rix with the itk::MultiscalHessianBasedMeasureImageFilter?

Regards,
Zhimin


On 25-Feb-2011, at 9:22 PM, Luca Antiga wrote:

> Hi Zhimin,
>  if you just need to compute the hessian and eigenvectors at a particular=
 scale, you are better off using the HessianRecursiveGaussianImageFilter an=
d manipulate the hessian to get the eigenvectors directly, pretty much in t=
he same way as done in the ThreadedGenerateData method, in Code/Review/itkH=
essianToObjectnessMeasureImageFilter.txx
>=20
> If, on the other hand, you need to perform a multi-scale analysis and the=
n look at the eigenvectors, then using MultiScaleHessianBasedMeasureImageFi=
lter is correct. In that case, the GetHessianOutput method will get you an =
image where each voxel holds the Hessian at the scale that gave the highest=
 response (in terms of the generic Hessian-based measure you plug in the fi=
lter, for instance Sato's vesselness).
>=20
> As for accessing the individual values of the Hessian, use the H(0,0), H(=
1,0), etc signature (see Code/Common/itkSymmetricSecondRankTensor.h). That =
way you can access all 9 components (except that only 6 will be stored, but=
 that's transparent to you).
>=20
> Hope this helps
>=20
> Luca
>=20
>=20
> On Feb 25, 2011, at 9:21 AM, Wang Zhimin wrote:
>=20
>> Dear all,
>>=20
>> I am a newbie to ITK. I currently want to compute the hessian matrix, ei=
gen vector out of some volume CT images. I found that I can use itk::MultiS=
caleHessianBasedMeasureImageFilter, or itk::HessianRecursiveGaussianImageFi=
lter plus itk::SymmetricEigenAnalysis and SymmetricSecondRankTensor image i=
terator to finish the job. Am I right?
>>=20
>> For the itk::MultiScaleHessianBasedMeasureImageFilter, I understand that=
 I can turn the GenerateHessianOutputOn() function to compute the Hessian i=
mage and use GetHessianOutput() to get the SymmetricSecondRankTensor image.=
 Is this a correct procedure? If yes, so here comes my question. Since the =
multi scale hessian filter is multi scale, if I use GetHessianOutput() func=
tion, what scale is the Hessian output of?
>>=20
>> Suppose my volume image dimension is 3, how can I access all the values =
in Hessian matrix? Can I use H[][] to access all 9 values? Or I can only ac=
cess 6 and I need to fill up all the rest based on symmetric rule?
>>=20
>> For my second option, from HessianRecursiveGaussianImageFilter -> Symmet=
ricSecondRankTensor image -> SymmetricEigenAnalysis -> eigen vector, will i=
t work as predicted?=20
>>=20
>> Sorry for so many questions.=20
>>=20
>> Thank you and best regards,
>> Zhimin
>>=20
>> Research Fellow
>> Institute for Infocomm Research
>> A-STAR, Singapore
>>=20
>>=20
>> Institute for Infocomm Research disclaimer: "This email is confidential =
and may be privileged. If you are not the intended recipient, please delete=
 it and notify us immediately. Please do not copy or use it for any purpose=
, or disclose its contents to any other person. Thank you."
>> _____________________________________
>> Powered by www.kitware.com
>>=20
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>=20
>> Kitware offers ITK Training Courses, for more information visit:
>> http://www.kitware.com/products/protraining.html
>>=20
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>=20
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>=20

Institute for Infocomm Research disclaimer:  "This email is confidential an=
d may be privileged. If you are not the intended recipient, please delete i=
t and notify us immediately. Please do not copy or use it for any purpose, =
or disclose its contents to any other person. Thank you."

--Apple-Mail-6-689679561
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="ISO-8859-1"

<html><head></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode:=
 space; -webkit-line-break: after-white-space; "><div>Hi, Luca</div><div><b=
r></div><div>Thanks for the reply.</div><div><br></div><div>From what you h=
ave written, I think the MultiScaleHessianBasedMeasureImageFilter is the on=
e I am looking for.&nbsp;</div><div><br></div><div>But now when I try to us=
e it to get the Hessian matrix. I got the following compiling errors.&nbsp;=
</div><div>----------------------------------------------</div><div>In the =
header file myAlgorithm.h, I declare</div><div><br></div><div><div style=3D=
"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
font: normal normal normal 11px/normal Menlo; "><span style=3D"color: #be29=
9d">typedef</span> itk::SymmetricSecondRankTensor&lt; <span style=3D"color:=
 #be299d">float</span>, <span style=3D"color: #2f2fd1">3</span> &gt; Hessia=
nPixelType;</div></div><div style=3D"margin-top: 0px; margin-right: 0px; ma=
rgin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal =
Menlo; "><div style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0=
px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; "><span=
 style=3D"color: #be299d">typedef</span> itk::Image&lt; HessianPixelType, <=
span style=3D"color: #2f2fd1">3</span> &gt;&nbsp; &nbsp; HessianImageType;<=
/div></div><div><div style=3D"margin-top: 0px; margin-right: 0px; margin-bo=
ttom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; =
"><span style=3D"color: #be299d">typedef</span> itk::MultiScaleHessianBased=
MeasureImageFilter&lt; FloatVolumeImageType, HessianImageType,&nbsp;</div><=
div style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin=
-left: 0px; font: normal normal normal 11px/normal Menlo; ">&nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; FloatVolumeImageType &gt; MultiScaleHessianFilterType;</div></div><div s=
tyle=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left=
: 0px; font: normal normal normal 11px/normal Menlo; "><br></div><div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-lef=
t: 0px; font: normal normal normal 11px/normal Menlo; color: rgb(0, 132, 35=
); ">HessianImageType::Pointer m_itkHessianImageData;</div></div><div><br><=
/div>And then, in the myAlgorithm.cpp, I have<div><br></div><div><div style=
=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0p=
x; font: normal normal normal 11px/normal Menlo; color: rgb(77, 129, 134); =
">MultiScaleHessianFilterType<span style=3D"color: #000000">::</span><span =
style=3D"color: #733ea4">Pointer</span><span style=3D"color: #000000"> hess=
ianFilter =3D </span>MultiScaleHessianFilterType<span style=3D"color: #0000=
00">::</span><span style=3D"color: #401f7d">New</span><span style=3D"color:=
 #000000">();</span></div><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font=
: 11.0px Menlo; min-height: 13.0px"><span class=3D"Apple-tab-span" style=3D=
"white-space:pre">	</span><br class=3D"webkit-block-placeholder"></p><div s=
tyle=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left=
: 0px; font: normal normal normal 11px/normal Menlo; "><span class=3D"Apple=
-tab-span" style=3D"white-space:pre">	</span>hessianFilter-&gt;<span style=
=3D"color: #401f7d">SetInput</span>( cast2float-&gt;<span style=3D"color: #=
401f7d">GetOutput</span>() );</div><div style=3D"margin-top: 0px; margin-ri=
ght: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal =
11px/normal Menlo; "><span class=3D"Apple-tab-span" style=3D"white-space:pr=
e">	</span>hessianFilter-&gt;<span style=3D"color: #401f7d">SetNumberOfSigm=
aSteps</span>( <span style=3D"color: #2f2fd1">10</span> );</div><div style=
=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0p=
x; font: normal normal normal 11px/normal Menlo; color: rgb(64, 31, 125); "=
><span style=3D"color: #000000"><span class=3D"Apple-tab-span" style=3D"whi=
te-space:pre">	</span>hessianFilter-&gt;</span>SetSigmaStepMethodToEquispac=
ed<span style=3D"color: #000000">();</span></div><div style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal =
normal normal 11px/normal Menlo; "><span class=3D"Apple-tab-span" style=3D"=
white-space:pre">	</span>hessianFilter-&gt;<span style=3D"color: #401f7d">S=
etSigmaMinimum</span>( <span style=3D"color: #2f2fd1">0.5</span> );</div><d=
iv style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-=
left: 0px; font: normal normal normal 11px/normal Menlo; "><span class=3D"A=
pple-tab-span" style=3D"white-space:pre">	</span>hessianFilter-&gt;<span st=
yle=3D"color: #401f7d">SetSigmaMaximum</span>( <span style=3D"color: #2f2fd=
1">4.0</span> );</div><div style=3D"margin-top: 0px; margin-right: 0px; mar=
gin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal M=
enlo; color: rgb(64, 31, 125); "><span style=3D"color: #000000"><span class=
=3D"Apple-tab-span" style=3D"white-space:pre">	</span>hessianFilter-&gt;</s=
pan>SetGenerateHessianOutput<span style=3D"color: #000000">( </span><span s=
tyle=3D"color: #be299d">true</span><span style=3D"color: #000000"> );</span=
></div><div style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px=
; margin-left: 0px; font: normal normal normal 11px/normal Menlo; color: rg=
b(64, 31, 125); "><span style=3D"color: #000000"><span class=3D"Apple-tab-s=
pan" style=3D"white-space:pre">	</span>hessianFilter-&gt;</span>SetGenerate=
ScalesOutput<span style=3D"color: #000000">( </span><span style=3D"color: #=
be299d">true</span><span style=3D"color: #000000"> );</span></div><p style=
=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px=
"><span class=3D"Apple-tab-span" style=3D"white-space:pre">	</span><br clas=
s=3D"webkit-block-placeholder"></p><p style=3D"margin: 0.0px 0.0px 0.0px 0.=
0px; font: 11.0px Menlo; min-height: 13.0px"><span class=3D"Apple-tab-span"=
 style=3D"white-space:pre"><span class=3D"Apple-tab-span" style=3D"white-sp=
ace:pre">	</span></span>m_itkHessianImageData =3D hessianFilter-&gt;<span s=
tyle=3D"color: #401f7d">GetHessianOutput</span>();</p><div><br></div><div>A=
nd I compile, I have the following errors:</div><div><div style=3D"margin-t=
op: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 12px; text-ind=
ent: -12px; font: normal normal normal 11px/normal Menlo; ">/Users/zwang/wo=
rkspace/myFuzzyVesselSegmentation/VesselSegmentationPanel.cpp:214:0 /Users/=
zwang/workspace/myFuzzyVesselSegmentation/VesselSegmentationPanel.cpp:214: =
error: invalid conversion from 'const itk::Image&lt;itk::SymmetricSecondRan=
kTensor&lt;float, 3u&gt;, 3u&gt;*' to 'itk::Image&lt;itk::SymmetricSecondRa=
nkTensor&lt;float, 3u&gt;, 3u&gt;*'</div><div style=3D"margin-top: 0px; mar=
gin-right: 0px; margin-bottom: 0px; margin-left: 12px; text-indent: -12px; =
font: normal normal normal 11px/normal Menlo; min-height: 13px; "><br></div=
><div style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; marg=
in-left: 12px; text-indent: -12px; font: normal normal normal 11px/normal M=
enlo; min-height: 13px; "><div style=3D"margin-top: 0px; margin-right: 0px;=
 margin-bottom: 0px; margin-left: 12px; text-indent: -12px; font: normal no=
rmal normal 11px/normal Menlo; ">/Users/zwang/workspace/myFuzzyVesselSegmen=
tation/VesselSegmentationPanel.cpp:214:0 /Users/zwang/workspace/myFuzzyVess=
elSegmentation/VesselSegmentationPanel.cpp:214: error: &nbsp; initializing =
argument 1 of 'itk::SmartPointer&lt;TObjectType&gt;&amp; itk::SmartPointer&=
lt;TObjectType&gt;::operator=3D(TObjectType*) [with TObjectType =3D itk::Im=
age&lt;itk::SymmetricSecondRankTensor&lt;float, 3u&gt;, 3u&gt;]'</div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-lef=
t: 12px; text-indent: -12px; font: normal normal normal 11px/normal Menlo; =
min-height: 13px; "><br></div><div style=3D"margin-top: 0px; margin-right: =
0px; margin-bottom: 0px; margin-left: 12px; text-indent: -12px; font: norma=
l normal normal 11px/normal Menlo; min-height: 13px; "><br></div></div></di=
v><div style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; mar=
gin-left: 0px; font: normal normal normal 11px/normal Menlo; color: rgb(0, =
132, 35); "><font class=3D"Apple-style-span" color=3D"#000000"><br></font><=
/div><div>May I know what the reason? Or what's the proper way to get the h=
essian matrix with the itk::MultiscalHessianBasedMeasureImageFilter?</div><=
div><br></div><div>Regards,</div><div>Zhimin</div><div><br></div><div><br><=
div><div>On 25-Feb-2011, at 9:22 PM, Luca Antiga wrote:</div><br class=3D"A=
pple-interchange-newline"><blockquote type=3D"cite"><div style=3D"word-wrap=
: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-spa=
ce; ">Hi Zhimin,<div>&nbsp;if you just need to compute the hessian and eige=
nvectors at a particular scale, you are better off using the HessianRecursi=
veGaussianImageFilter and manipulate the hessian to get the eigenvectors di=
rectly, pretty much in the same way as done in the&nbsp;ThreadedGenerateDat=
a method, in Code/Review/itkHessianToObjectnessMeasureImageFilter.txx</div>=
<div><br></div><div>If, on the other hand, you need to perform a multi-scal=
e analysis and then look at the eigenvectors, then using&nbsp;MultiScaleHes=
sianBasedMeasureImageFilter is correct. In that case, the GetHessianOutput =
method will get you an image where each voxel holds the Hessian at the scal=
e that gave the highest response (in terms of the generic Hessian-based mea=
sure you plug in the filter, for instance Sato's vesselness).</div><div><br=
></div><div>As for accessing the individual values of the Hessian, use the =
H(0,0), H(1,0), etc signature (see Code/Common/itkSymmetricSecondRankTensor=
.h). That way you can access all 9 components (except that only 6 will be s=
tored, but that's transparent to you).</div><div><br></div><div>Hope this h=
elps</div><div><br></div><div>Luca</div><div><br></div><div><br><div><div>O=
n Feb 25, 2011, at 9:21 AM, Wang Zhimin wrote:</div><br class=3D"Apple-inte=
rchange-newline"><blockquote type=3D"cite"><div style=3D"word-wrap: break-w=
ord; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><fo=
nt class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D"4"><span class=
=3D"Apple-style-span" style=3D"font-size: 14px; ">Dear all,</span></font><d=
iv><font class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D"4"><span=
 class=3D"Apple-style-span" style=3D"font-size: 14px;"><br></span></font></=
div><div><font class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D"4"=
><span class=3D"Apple-style-span" style=3D"font-size: 14px;">I am a newbie =
to ITK.&nbsp;</span></font><span class=3D"Apple-style-span" style=3D"font-f=
amily: 'Andale Mono'; font-size: 14px; ">I currently want to compute the he=
ssian matrix, eigen vector out of some volume CT images. I found that I can=
 use itk::MultiScaleHessianBasedMeasureImageFilter, or itk::HessianRecursiv=
eGaussianImageFilter plus itk::SymmetricEigenAnalysis and&nbsp;SymmetricSec=
ondRankTensor image iterator to finish the job. Am I right?</span></div><di=
v><font class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D"4"><span =
class=3D"Apple-style-span" style=3D"font-size: 14px;"><br></span></font></d=
iv><div><font class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D"4">=
<span class=3D"Apple-style-span" style=3D"font-size: 14px;">For the itk::Mu=
ltiScaleHessianBasedMeasureImageFilter, I understand that I can turn the Ge=
nerateHessianOutputOn() function to compute the Hessian image and use GetHe=
ssianOutput() to get the SymmetricSecondRankTensor image. Is this a correct=
 procedure? If yes, so here comes my question. Since the multi scale hessia=
n filter is multi scale, if I use GetHessianOutput() function, what scale i=
s the Hessian output of?</span></font></div><div><font class=3D"Apple-style=
-span" face=3D"'Andale Mono'" size=3D"4"><span class=3D"Apple-style-span" s=
tyle=3D"font-size: 14px;"><br></span></font></div><div><font class=3D"Apple=
-style-span" face=3D"'Andale Mono'" size=3D"4"><span class=3D"Apple-style-s=
pan" style=3D"font-size: 14px;">Suppose my volume image dimension is 3, how=
 can I access all the values in Hessian matrix? Can I use H[][] to access a=
ll 9 values? Or I can only access 6 and I need to fill up all the rest base=
d on symmetric rule?</span></font></div><div><font class=3D"Apple-style-spa=
n" face=3D"'Andale Mono'" size=3D"4"><span class=3D"Apple-style-span" style=
=3D"font-size: 14px;"><br></span></font></div><div><font class=3D"Apple-sty=
le-span" face=3D"'Andale Mono'" size=3D"4"><span class=3D"Apple-style-span"=
 style=3D"font-size: 14px;">For my second option, from HessianRecursiveGaus=
sianImageFilter -&gt; SymmetricSecondRankTensor image -&gt; SymmetricEigenA=
nalysis -&gt; eigen vector, will it work as predicted?&nbsp;</span></font><=
/div><div><font class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D"4=
"><span class=3D"Apple-style-span" style=3D"font-size: 14px;"><br></span></=
font></div><div><font class=3D"Apple-style-span" face=3D"'Andale Mono'" siz=
e=3D"4"><span class=3D"Apple-style-span" style=3D"font-size: 14px;">Sorry f=
or so many questions.&nbsp;</span></font></div><div><font class=3D"Apple-st=
yle-span" face=3D"'Andale Mono'" size=3D"4"><span class=3D"Apple-style-span=
" style=3D"font-size: 14px;"><br></span></font></div><div><font class=3D"Ap=
ple-style-span" face=3D"'Andale Mono'" size=3D"4"><span class=3D"Apple-styl=
e-span" style=3D"font-size: 14px;">Thank you and best regards,</span></font=
></div><div><font class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D=
"4"><span class=3D"Apple-style-span" style=3D"font-size: 14px;">Zhimin</spa=
n></font></div><div><font class=3D"Apple-style-span" face=3D"'Andale Mono'"=
 size=3D"4"><span class=3D"Apple-style-span" style=3D"font-size: 14px;"><br=
></span></font></div><div><font class=3D"Apple-style-span" face=3D"'Andale =
Mono'" size=3D"4"><span class=3D"Apple-style-span" style=3D"font-size: 14px=
;">Research Fellow</span></font></div><div><font class=3D"Apple-style-span"=
 face=3D"'Andale Mono'" size=3D"4"><span class=3D"Apple-style-span" style=
=3D"font-size: 14px;">Institute for Infocomm Research</span></font></div><d=
iv><font class=3D"Apple-style-span" face=3D"'Andale Mono'" size=3D"4"><span=
 class=3D"Apple-style-span" style=3D"font-size: 14px;">A-STAR, Singapore</s=
pan></font></div><div><font class=3D"Apple-style-span" face=3D"'Andale Mono=
'" size=3D"4"><span class=3D"Apple-style-span" style=3D"font-size: 14px;"><=
br></span></font></div><div><span class=3D"Apple-style-span" style=3D"font-=
family: Menlo; font-size: 11px; "><br></span></div>
<div>
Institute for Infocomm Research disclaimer:  "This email is confidential an=
d may be privileged. If you are not the intended recipient, please delete i=
t and notify us immediately. Please do not copy or use it for any purpose, =
or disclose its contents to any other person. Thank you."<br>
</div></div>
_____________________________________<br>Powered by <a href=3D"http://www.k=
itware.com/">www.kitware.com</a><br><br>Visit other Kitware open-source pro=
jects at<br><a href=3D"http://www.kitware.com/opensource/opensource.html">h=
ttp://www.kitware.com/opensource/opensource.html</a><br><br>Kitware offers =
ITK Training Courses, for more information visit:<br><a href=3D"http://www.=
kitware.com/products/protraining.html">http://www.kitware.com/products/prot=
raining.html</a><br><br>Please keep messages on-topic and check the ITK FAQ=
 at:<br><a href=3D"http://www.itk.org/Wiki/ITK_FAQ">http://www.itk.org/Wiki=
/ITK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br>http://ww=
w.itk.org/mailman/listinfo/insight-users<br></blockquote></div><br></div></=
div></blockquote></div><br></div></div>
<DIV>
Institute for Infocomm Research disclaimer:  &quot;This email is confidenti=
al and may be privileged. If you are not the intended recipient, please del=
ete it and notify us immediately. Please do not copy or use it for any purp=
ose, or disclose its contents to any other person. Thank you.&quot;<BR>
</DIV></body></html>

--Apple-Mail-6-689679561--


More information about the Insight-users mailing list