<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">Hello Luis,<br><br>&nbsp; Thank you for your reply. My image is 256 x 256 x 32. I have 512Mb ram. No computer does not seem to swapping memory.<br>I used .mha file instead of .vtk for the deformation field and it was quick and correct.<br><br>So, does the warper not accept .vtk files ?&nbsp; I tried to debug the code to see where the program&nbsp; takes forever and it seemed to be in the ImageFilereader (deformation field type)<br><br>The imageReader should expect a certain byte size and I am sure there are that&nbsp; many bytes in the file, so I'm not sure what the problem is.<br><br>Emma<br><br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From:
 Luis Ibanez &lt;luis.ibanez@kitware.com&gt;<br>To: Emma Ryan &lt;eryanvtk@yahoo.com&gt;<br>Cc: insight-users@itk.org<br>Sent: Saturday, February 23, 2008 8:00:34 PM<br>Subject: Re: [Insight-users] Is it silly to attempt this ?<br><br>
<br><br>Hi 
Emma,<br><br>The 
source 
code 
that 
you 
posted 
seems 
to 
be 
reasonable.<br><br><br>However, 

duration 
of 

hours 
for 
warping 
an 
image<br>sounds 
like 
an 
excesive 
time.<br><br><br>1) 
How 
big 
is 
your 
image 
?<br>&nbsp; 
&nbsp; 
&nbsp; 
pixels 
along 
X<br>&nbsp; 
&nbsp; 
&nbsp; 
pixels 
along 
Y<br>&nbsp; 
&nbsp; 
&nbsp; 
pixels 
along 
Z<br><br><br>2) 
How 
much 
RAM 
do 
you 
have 
?<br><br><br>3) 
Have 
you 
checked 
if 
your 
computer<br>&nbsp; 
&nbsp; 
is 
not 
swapping 
memory 
?<br><br>&nbsp; 
&nbsp; 
(you 
can 
check 
this 
on 
Windows 
by 
looking<br>&nbsp; 
&nbsp; 
 
at 
the 
Task 
Manager, 
or 
in 
Linux 
by 
using<br>&nbsp; 
&nbsp; 
 
the 
top 
tool, 
or 
the 
system 
information 
tool.)<br><br><br>Please 
let 
us 
know,<br><br><br>&nbsp; 
 
Thanks<br><br><br>&nbsp; 
&nbsp; 
Luis<br><br><br>----------------<br>Emma 
Ryan 
wrote:<br>&gt; 
Hi,<br>&gt;&nbsp; <br>&gt;&nbsp; 
 

am 
trying 
to 
read 
in 

3D 
deformationField.vtk 
file 
and 
apply 
it 
to <br>&gt; 

3D 
image. 
To 
read 
the 
deformation 
field, 

use 
ImageFileReader <br>&gt; 
&lt;deformafieldType&gt;&nbsp; 
and 
then 
connect 
the 
output 
of 
this 
to 
the 
warper.<br>&gt; <br>&gt; 
The 
code 
for 
this 
is 
available 
below.&nbsp; 
It 
seems 
to 
take 
forever 
to 
read <br>&gt; 
the 
deformation 
field 
file.&nbsp; 
Even 
after 

hours, 
the 
reading 
is 
not <br>&gt; 
complete. 
What 
is 
going 
on 
?&nbsp; 
Any 
clues 
?<br>&gt; <br>&gt; 
Thanks,<br>&gt; 
Emma<br>&gt; <br>&gt; <br>&gt; 
#if 
defined(_MSC_VER)<br>&gt; 
#pragma 
warning 

disable 

4786 
)<br>&gt; 
#endif<br>&gt; <br>&gt; 
#include 
"itkImageFileReader.h"<br>&gt; 
#include 
"itkImageFileWriter.h"<br>&gt; <br>&gt; 
#include 
"itkImageRegionIterator.h"<br>&gt; <br>&gt; <br>&gt; 
#include 
"itkCastImageFilter.h"<br>&gt; 
#include 
"itkWarpImageFilter.h"<br>&gt; 
#include 
"itkLinearInterpolateImageFunction.h"<br>&gt; <br>&gt; 
#include 
"itkSquaredDifferenceImageFilter.h"<br>&gt; 
#include 
"itkCheckerBoardImageFilter.h"<br>&gt; 
#include 
"itkTimeProbe.h"&nbsp; 
&nbsp; 
&nbsp; <br>&gt; <br>&gt; 
#include 
"itkImageRegionIteratorWithIndex.h"<br>&gt; 
#include 
"itkPointSet.h"<br>&gt; 
#include 
&lt;fstream&gt;<br>&gt; <br>&gt; <br>&gt; <br>&gt; 
int 
main( 
int 
argc, 
char 
*argv[] 
)<br>&gt; 
{<br>&gt;&nbsp; 
&nbsp; 
 
if( 
argc 
&lt; 

)<br>&gt;&nbsp; 
&nbsp; 
 
{<br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
std::cerr 
&lt;&lt; 
"Missing 
Parameters 

&lt;&lt; 
std::endl;<br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
std::cerr 
&lt;&lt; 
"Usage: 

&lt;&lt; 
argv[0];<br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
std::cerr 
&lt;&lt; 

fixedImagefile 
movingImageFile 
deformField.vtk 
";<br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
std::cerr 
&lt;&lt; 

outputImageFile 

&lt;&lt; 
std::endl;<br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
return 
1;<br>&gt;&nbsp; 
&nbsp; 
 
}<br>&gt; <br>&gt;&nbsp; 
&nbsp; <br>&gt;&nbsp; 
&nbsp; 
 
const 
unsigned 
int 
Dimension 

3;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
unsigned 
char 
PixelType;<br>&gt; <br>&gt; <br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::Image&lt; 
PixelType, 
Dimension 
&gt;&nbsp; 
FixedImageType;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::ImageFileReader&lt; 
FixedImageType 
&gt; 
FixedImageReaderType;<br>&gt;&nbsp; 
&nbsp; 
 
FixedImageReaderType::Pointer 
fixedImageReader 
= <br>&gt; 
FixedImageReaderType::New();<br>&gt;&nbsp; 
&nbsp; 
 
fixedImageReader-&gt;SetFileName( 
argv[1] 
);<br>&gt; <br>&gt;&nbsp; 
&nbsp; <br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::Image&lt; 
PixelType, 
Dimension 
&gt;&nbsp; 
MovingImageType;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::ImageFileReader&lt; 
MovingImageType 
&gt; 
MovingImageReaderType;<br>&gt;&nbsp; 
&nbsp; 
 
MovingImageReaderType::Pointer 
movingImageReader 
= <br>&gt; 
MovingImageReaderType::New();<br>&gt;&nbsp; 
&nbsp; 
 
movingImageReader-&gt;SetFileName( 
argv[2] 
);<br>&gt; <br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
typedef 
itk::Vector&lt; 
float, 
Dimension 
&gt;&nbsp; 
&nbsp; 
VectorPixelType;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::Image&lt;&nbsp; 
VectorPixelType, 
Dimension 
&gt; 
DeformationFieldType;<br>&gt; <br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::ImageFileReader&lt; 
DeformationFieldType 
&gt;&nbsp; 
FieldReaderType;<br>&gt;&nbsp; 
&nbsp; 
 
FieldReaderType::Pointer 
fieldReader 

FieldReaderType::New();<br>&gt; <br>&gt;&nbsp; 
&nbsp; 
 
fieldReader-&gt;SetFileName( 
argv[3] 
);<br>&gt; <br>&gt;&nbsp; 
 <br>&gt;&nbsp; 
&nbsp; 
try 
{<br>&gt; <br>&gt;&nbsp; 
&nbsp; 
 
fieldReader-&gt;Update();<br>&gt;&nbsp; 
&nbsp; 
}<br>&gt; <br>&gt;&nbsp; 
&nbsp; 
catch 

itk::ExceptionObject 
&amp; 
err 
)<br>&gt;&nbsp; 
&nbsp; 
{<br>&gt;&nbsp; 
&nbsp; 
 
std::cerr 
&lt;&lt; 
"ExceptionObject 
caught 
!" 
&lt;&lt; 
std::endl;<br>&gt;&nbsp; 
&nbsp; 
 
std::cerr 
&lt;&lt; 
err 
&lt;&lt; 
std::endl;<br>&gt;&nbsp; 
&nbsp; 
 
return 
-1;<br>&gt;&nbsp; 
&nbsp; 
 
}<br>&gt; <br>&gt; <br>&gt;&nbsp; 
&nbsp; <br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::WarpImageFilter&lt;MovingImageType, <br>&gt; 
MovingImageType,DeformationFieldType&nbsp; 
&gt;&nbsp; 
&nbsp; 
 
WarperType;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::LinearInterpolateImageFunction&lt;MovingImageType, 
double&nbsp; <br>&gt;&nbsp; 
&gt;&nbsp; 
InterpolatorType;<br>&gt;&nbsp; 
&nbsp; 
 
WarperType::Pointer 
warper 

WarperType::New();<br>&gt;&nbsp; 
&nbsp; 
 
InterpolatorType::Pointer 
interpolator 

InterpolatorType::New();<br>&gt;&nbsp; 
&nbsp; 
 
FixedImageType::Pointer 
fixedImage 

fixedImageReader-&gt;GetOutput();<br>&gt; <br>&gt;&nbsp; 
 <br>&gt;&nbsp; 
&nbsp; 
 
warper-&gt;SetInput( 
movingImageReader-&gt;GetOutput() 
);<br>&gt;&nbsp; 
&nbsp; 
 
warper-&gt;SetInterpolator( 
interpolator 
);<br>&gt;&nbsp; 
&nbsp; 
 
warper-&gt;SetOutputSpacing( 
fixedImage-&gt;GetSpacing() 
);<br>&gt;&nbsp; 
&nbsp; 
 
warper-&gt;SetOutputOrigin( 
fixedImage-&gt;GetOrigin() 
);<br>&gt; <br>&gt;&nbsp; 
&nbsp; 
 
warper-&gt;SetDeformationField( 
fieldReader-&gt;GetOutput() 
);<br>&gt; <br>&gt;&nbsp; <br>&gt;&nbsp; 
&nbsp; 
 
typedef&nbsp; 
unsigned 
char&nbsp; 
OutputPixelType;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::Image&lt; 
OutputPixelType, 
Dimension 
&gt; 
OutputImageType;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::CastImageFilter&lt;<br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
MovingImageType,<br>&gt;&nbsp; 
&nbsp; 
&nbsp; 
&nbsp; 
 
OutputImageType 
&gt; 
CastFilterType;<br>&gt;&nbsp; 
&nbsp; 
 
typedef 
itk::ImageFileWriter&lt; 
OutputImageType 
&gt;&nbsp; 
WriterType;<br>&gt; <br>&gt;&nbsp; <br>&gt;&nbsp; 
&nbsp; 
 
WriterType::Pointer&nbsp; 
&nbsp; 
&nbsp; 
writer 
=&nbsp; 
WriterType::New();<br>&gt;&nbsp; 
&nbsp; 
 
CastFilterType::Pointer&nbsp; 
caster 
=&nbsp; 
CastFilterType::New();<br>&gt; <br>&gt;&nbsp; 
&nbsp; 
 
writer-&gt;SetFileName( 
argv[4] 
);<br>&gt; <br>&gt;&nbsp; 
&nbsp; <br>&gt;&nbsp; 
&nbsp; 
 
caster-&gt;SetInput( 
warper-&gt;GetOutput() 
);<br>&gt;&nbsp; 
&nbsp; 
 
writer-&gt;SetInput( 
caster-&gt;GetOutput()&nbsp; 
 
);<br>&gt;&nbsp; 
&nbsp; 
 
writer-&gt;Update();<br>&gt; <br>&gt;&nbsp; 
 <br>&gt;&nbsp; 
&nbsp; 
 
return 
0;<br>&gt; 
}<br>&gt; <br>&gt; <br>&gt; <br>&gt; 
------------------------------------------------------------------------<br>&gt; 
Looking 
for 
last 
minute 
shopping 
deals? 
Find 
them 
fast 
with 
Yahoo! <br>&gt; 
Search. <br>&gt; 
&lt;<a href="http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsearch/category.php?category=shopping" target="_blank">http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsearch/category.php?category=shopping</a>&gt;<br>&gt; <br>&gt; <br>&gt; 
------------------------------------------------------------------------<br>&gt; <br>&gt; 
_______________________________________________<br>&gt; 
Insight-users 
mailing 
list<br>&gt; 
<a ymailto="mailto:Insight-users@itk.org" href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>&gt; 
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br></div><br></div></div><br>
      <hr size=1>Looking for last minute shopping deals? <a href="http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsearch/category.php?category=shopping"> 
Find them fast with Yahoo! Search.</a></body></html>