[Insight-users] Converting itk::Image<float, 2> to itk::Image <VectorPixelType, 2>

Miller, James V (Research) millerjv at crd.ge.com
Thu, 11 Mar 2004 10:39:33 -0500


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C4077E.87AFC331
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Carlos,=20
=20
Can simply use the GradientAnisotropicDiffusionImageFilter on your =
original
scalar image?=20
=20
I am not sure whether the VectorGradientAnisotropicDiffusionImageFilter =
will
like processing a vector image where the vector length is one.
=20
If you still need to convert a scalar image to a vector, this is how I =
have
done it in the past
=20
  typedef =
itk::ScalarToArrayCastImageFilter<InputImageType,VectorImageType>
ScalarToVectorFilterType;
  ScalarToVectorFilterType::Pointer scalarToVector =3D
ScalarToVectorFilterType::New();
  scalarToVector->SetInput( reader->GetOutput() );
  scalarToVector->Update();

=20

-----Original Message-----
From: Carlos Cardenas [mailto:caedcasa at hotmail.com]
Sent: Wednesday, March 10, 2004 11:42 PM
To: insight-users at itk.org
Subject: [Insight-users] Converting itk::Image<float, 2> to
itk::Image<VectorPixelType, 2>


Hi everyone,
=20
    I was trying to find a solution for my problem looking into the old
emails sendet to the mailinglist but I did not find a solution. I am =
trying
to convert an itk::Image<float, 2> into a vector image.
I used the class ScalarToArrayCastImageFilter without success. I can =
compile
my program and also link it without problem. My program crashes when it
comes to the part where the image has to be converted.  Could anybody =
tell
me what I am doing wrong and how I can convert my image into a vector =
image
so that I can use the VectorGradientAnisotropicDiffusionImageFilter.
=20
    Part of the source code below:
=20
 typedef itk::Image<float, 2>ImageTypeFloat2D;
 typedef itk::Vector<float, 3> VectorPixelType;
 typedef itk::Image<VectorPixelType, 2> VectorImageType;

 typedef itk::ScalarToArrayCastImageFilter<ImageTypeFloat2D,
VectorImageType>  CastFilterTypeToVector;
  CastFilterTypeToVector::Pointer casterToVector =3D
CastFilterTypeToVector::New();
  casterToVector->SetInput(filterSlice->GetOutput());
  casterToVector->Update(); // my program says good bye at this point
=20
  typedef
itk::VectorGradientAnisotropicDiffusionImageFilter<VectorImageType,
VectorImageType> FilterType;
   FilterType::Pointer filter =3D FilterType::New();
=20
Thank you in advance for any help,
=20
Carlos
=20

  _____ =20

Lieblingssong auf's Handy laden oder Display aufpeppen - bei MSN gibt's
jetzt auch polyphone Klingelt=F6ne & farbige Logos! Hier klicken
<http://g.msn.com/8HMBDEDE/2740??PS=3D>
_______________________________________________ Insight-users mailing =
list
Insight-users at itk.org http://www.itk.org/mailman/listinfo/insight-users


------_=_NextPart_001_01C4077E.87AFC331
Content-Type: text/html;
	charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff size=2>Carlos, 
</FONT></SPAN></DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff size=2>Can simply use 
the GradientAnisotropicDiffusionImageFilter on your original scalar image? 
</FONT></SPAN></DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff size=2>I am not sure 
whether the VectorGradientAnisotropicDiffusionImageFilter will like processing a 
vector image where the vector length is one.</FONT></SPAN></DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff size=2>If you still need 
to convert a scalar image to a vector, this is how I have done it in the 
past</FONT></SPAN></DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff size=2>&nbsp; typedef 
itk::ScalarToArrayCastImageFilter&lt;InputImageType,VectorImageType&gt; 
ScalarToVectorFilterType;<BR>&nbsp; ScalarToVectorFilterType::Pointer 
scalarToVector =&nbsp;&nbsp;&nbsp; ScalarToVectorFilterType::New();<BR>&nbsp; 
scalarToVector-&gt;SetInput( reader-&gt;GetOutput() );<BR>&nbsp; 
scalarToVector-&gt;Update();<BR></FONT></SPAN></DIV>
<DIV><SPAN class=621493515-11032004><FONT color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<BLOCKQUOTE>
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> Carlos Cardenas 
  [mailto:caedcasa at hotmail.com]<BR><B>Sent:</B> Wednesday, March 10, 2004 11:42 
  PM<BR><B>To:</B> insight-users at itk.org<BR><B>Subject:</B> [Insight-users] 
  Converting itk::Image&lt;float, 2&gt; to itk::Image&lt;VectorPixelType, 
  2&gt;<BR><BR></FONT></DIV>
  <DIV>
  <DIV class=RTE>Hi everyone,</DIV>
  <DIV class=RTE>&nbsp;</DIV>
  <DIV class=RTE>&nbsp;&nbsp;&nbsp; I was trying to find a solution for my 
  problem looking into the old emails sendet to the mailinglist but I did not 
  find a solution. I am trying to convert an itk::Image&lt;float, 2&gt; into a 
  vector image.</DIV>
  <DIV class=RTE>I used the class ScalarToArrayCastImageFilter without success. 
  I can compile my program and also link it without problem. My program crashes 
  when it comes to the part where the image has to be converted. &nbsp;Could 
  anybody tell me what I am doing wrong and how I can convert my image into a 
  vector image so that I can use the 
  VectorGradientAnisotropicDiffusionImageFilter.</DIV>
  <DIV class=RTE>&nbsp;</DIV>
  <DIV class=RTE>&nbsp;&nbsp;&nbsp; Part of the source code below:</DIV>
  <DIV class=RTE>&nbsp;</DIV>
  <DIV class=RTE>&nbsp;typedef itk::Image&lt;float, 
  2&gt;ImageTypeFloat2D;<BR>&nbsp;typedef itk::Vector&lt;float, 3&gt; 
  VectorPixelType;<BR>&nbsp;typedef itk::Image&lt;VectorPixelType, 2&gt; 
  VectorImageType;</DIV>
  <DIV class=RTE><BR>&nbsp;typedef 
  itk::ScalarToArrayCastImageFilter&lt;ImageTypeFloat2D, 
  VectorImageType&gt;&nbsp; CastFilterTypeToVector;<BR>&nbsp; 
  CastFilterTypeToVector::Pointer casterToVector = 
  CastFilterTypeToVector::New();<BR>&nbsp; 
  casterToVector-&gt;SetInput(filterSlice-&gt;GetOutput());<BR>&nbsp; 
  casterToVector-&gt;Update(); // my program says good bye at this point</DIV>
  <DIV class=RTE>&nbsp;</DIV>
  <DIV class=RTE>&nbsp; typedef 
  itk::VectorGradientAnisotropicDiffusionImageFilter&lt;VectorImageType, 
  VectorImageType&gt; FilterType;<BR>&nbsp;&nbsp; FilterType::Pointer filter = 
  FilterType::New();</DIV>
  <DIV class=RTE>&nbsp;</DIV>
  <DIV class=RTE>Thank you in advance for any help,</DIV>
  <DIV class=RTE>&nbsp;</DIV>
  <DIV class=RTE>Carlos<BR>&nbsp;</DIV></DIV><BR clear=all>
  <HR>
  Lieblingssong auf's Handy laden oder Display aufpeppen - bei MSN gibt's jetzt 
  auch polyphone Klingeltöne &amp; farbige Logos! <A 
  href="http://g.msn.com/8HMBDEDE/2740??PS=">Hier klicken</A> 
  _______________________________________________ Insight-users mailing list 
  Insight-users at itk.org 
http://www.itk.org/mailman/listinfo/insight-users</BLOCKQUOTE></BODY></HTML>

------_=_NextPart_001_01C4077E.87AFC331--