<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;">Hi Luis,<br><br>&nbsp; Thank you for your reply. Yes, the .png files recreated from the .vtk file (by doing a ImageReadImageSeriesWrite) opens fine in Volview. I do get a normal visualization. While this suffices my requirements, I was wondering why Volview was not being able to read the .vtk file. I would rather fix the bug now than later as it might be difficult to trace the origins.&nbsp; If you have any further suggestions, please do let me know. <br><br>Has anyone ever encountered a problem reading .vtk files generated using ITK ? <br><br>Thank you,<br>Emma<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: Andinet Enquobahrie &lt;andinet.enqu@kitware.com&gt;; insight-users@itk.org<br>Sent: Tuesday, June 12, 2007 6:28:19 PM<br>Subject: Re: [Insight-users] ImageSeriesReadWrite only reads first file.<br><br><div><br>Hi Emma,<br><br>Note that you can directly read in VolView the set of PNG images,<br>you don't really need to convert them to .vtk.<br><br>Simply load one of the .png images, and Volview will offer you<br>the option of completing the series.<br><br>Please let us know if by loading the data in this way, you<br>get a normal visualization.<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;Thanks<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<br><br><br>--------------------<br>Emma Ryan wrote:<br>&gt; The files are named as file000.png, file001.png, ...file031.png.<br>&gt; <br>&gt; The .vtk file generated is of a decent size. Also, when I read in the <br>&gt; .vtk and write out Image series, using the ImageReadImageSeriesWrite.cpp
 <br>&gt; file,&nbsp;&nbsp;I can recreate the original 32 2D slices.<br>&gt; <br>&gt; I am simply not able to view them using volview. Any clues !&nbsp;&nbsp;Volview <br>&gt; does ask for Z-spacing and units, but then it displays nothing.<br>&gt; <br>&gt; Emma<br>&gt; <br>&gt; <br>&gt; ----- Original Message ----<br>&gt; From: Andinet Enquobahrie &lt;andinet.enqu@kitware.com&gt;<br>&gt; To: Emma Ryan &lt;eryanvtk@yahoo.com&gt;<br>&gt; Sent: Tuesday, June 12, 2007 5:31:13 AM<br>&gt; Subject: Re: [Insight-users] ImageSeriesReadWrite only reads first file.<br>&gt; <br>&gt; Emma Ryan wrote:<br>&gt; <br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; Hi,<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; I am trying to generate a .vtk file (3D ) from a&nbsp;&nbsp;set of .png<br>&gt;&nbsp;&nbsp;&gt; images. I use the ImageSeriesReadWrite.cxx example provided in ITK as<br>&gt;&nbsp;&nbsp;&gt; is. My command line syntax is&nbsp;&nbsp;"SeriesRW.exe 0 31 output.vtk"<br>&gt;
 <br>&gt; <br>&gt; How are the png images named? Give us a list of their names... The issue<br>&gt; might be with the file format..<br>&gt; <br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; i.e SeriesRW is the executable, there are 32 slices starting from 0,<br>&gt;&nbsp;&nbsp;&gt; and the output format is supposed to be .vtk , so that I can open it<br>&gt;&nbsp;&nbsp;&gt; using Volview.<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; While the program executes with no errors or warnings, when I open<br>&gt;&nbsp;&nbsp;&gt; output.vtk file in Volview, it seems to be empty.<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; I am not sure why this.&nbsp;&nbsp;If anyone has a clue as to why this happens,<br>&gt;&nbsp;&nbsp;&gt; please let me know.&nbsp;&nbsp;Here is the code.<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; #include "itkImage.h"<br>&gt;&nbsp;&nbsp;&gt; #include "itkImageSeriesReader.h"<br>&gt;&nbsp;&nbsp;&gt; #include "itkImageFileWriter.h"<br>&gt;&nbsp;&nbsp;&gt;
 #include "itkNumericSeriesFileNames.h"<br>&gt;&nbsp;&nbsp;&gt; #include "itkPNGImageIO.h"<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; int main( int argc, char ** argv )<br>&gt;&nbsp;&nbsp;&gt; {<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; if( argc &lt; 4 )<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; "Usage: " &lt;&lt; std::endl;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; argv[0] &lt;&lt; " firstSliceValue lastSliceValue&nbsp;&nbsp;<br>&gt;&nbsp;&nbsp;&gt; outputImageFile " &lt;&lt; std::endl;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; return EXIT_FAILURE;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; typedef unsigned
 char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PixelType;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; const unsigned int Dimension = 3;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; typedef itk::Image&lt; PixelType, Dimension &gt;&nbsp;&nbsp;ImageType;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; typedef itk::ImageSeriesReader&lt; ImageType &gt;&nbsp;&nbsp;ReaderType;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; typedef itk::ImageFileWriter&lt;&nbsp;&nbsp; ImageType &gt;&nbsp;&nbsp;WriterType;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; ReaderType::Pointer reader = ReaderType::New();<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; WriterType::Pointer writer = WriterType::New();<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; const unsigned int first = atoi( argv[1] );<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; const unsigned int last&nbsp;&nbsp;= atoi( argv[2]
 );<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; const char * outputFilename = argv[3];<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; typedef itk::NumericSeriesFileNames&nbsp;&nbsp;&nbsp;&nbsp;NameGeneratorType;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; NameGeneratorType::Pointer nameGenerator = NameGeneratorType::New();<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; nameGenerator-&gt;SetSeriesFormat( "file%03d.png" );<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; nameGenerator-&gt;SetStartIndex( first);<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; nameGenerator-&gt;SetEndIndex( last );<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; nameGenerator-&gt;SetIncrementIndex( 1 );<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; reader-&gt;SetImageIO( itk::PNGImageIO::New()
 );<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;reader-&gt;SetFileNames( nameGenerator-&gt;GetFileNames()&nbsp;&nbsp;);<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; writer-&gt;SetFileName( outputFilename );<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; writer-&gt;SetInput( reader-&gt;GetOutput() );<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; try<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; writer-&gt;Update();<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; catch( itk::ExceptionObject &amp; err )<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; "ExceptionObject caught !" &lt;&lt; std::endl;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; err &lt;&lt; std::endl;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; return
 EXIT_FAILURE;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp; return EXIT_SUCCESS;<br>&gt;&nbsp;&nbsp;&gt; }<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; Thank you,<br>&gt;&nbsp;&nbsp;&gt; Emma<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt; ------------------------------------------------------------------------<br>&gt;&nbsp;&nbsp;&gt; Building a website is a piece of cake.<br>&gt;&nbsp;&nbsp;&gt; Yahoo! Small Business gives you all the tools to get online.<br>&gt;&nbsp;&nbsp;&gt; <br>&gt; &lt;<a target="_blank" href="http://us.rd.yahoo.com/evt=48251/*http://smallbusiness.yahoo.com/webhosting/?p=PASSPORTPLUS">http://us.rd.yahoo.com/evt=48251/*http://smallbusiness.yahoo.com/webhosting/?p=PASSPORTPLUS</a>&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;
 ------------------------------------------------------------------------<br>&gt;&nbsp;&nbsp;&gt; Don't get soaked. Take a quick peak at the forecast<br>&gt;&nbsp;&nbsp;&gt; &lt;<a target="_blank" href="http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news">http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news</a> <br>&gt; &lt;<a target="_blank" href="http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news">http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news</a>&gt;&gt;<br>&gt;&nbsp;&nbsp;&gt; with theYahoo! Search weather shortcut.<br>&gt;&nbsp;&nbsp;&gt; &lt;<a target="_blank" href="http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news">http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news</a> <br>&gt; &lt;<a target="_blank"
 href="http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news">http://tools.search.yahoo.com/shortcuts/?fr=oni_on_mail&amp;#news</a>&gt;&gt;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;------------------------------------------------------------------------<br>&gt;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&gt;_______________________________________________<br>&gt;&nbsp;&nbsp;&gt;Insight-users mailing list<br>&gt;&nbsp;&nbsp;&gt;Insight-users@itk.org<br>&gt;&nbsp;&nbsp;&gt;<a target="_blank" href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</a><br>&gt;&nbsp;&nbsp;&gt;&nbsp;&nbsp;<br>&gt;&nbsp;&nbsp;&gt;<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; ==========================================================<br>&gt; Andinet A. Enquobahrie, PhD<br>&gt; R&amp;D Engineer<br>&gt; Kitware Inc.<br>&gt; <br>&gt; 28 Corporate Drive<br>&gt; Clifton Park, NY 12065-8662<br>&gt; Phone: 518-371-3971 x124<br>&gt; <a target="_blank"
 href="http://www.kitware.com">www.kitware.com</a> &lt;<a target="_blank" href="http://www.kitware.com">http://www.kitware.com</a>&gt;<br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; ------------------------------------------------------------------------<br>&gt; Boardwalk for $500? In 2007? Ha!<br>&gt; Play Monopoly Here and Now <br>&gt; &lt;<a target="_blank" href="http://us.rd.yahoo.com/evt=48223/*http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow">http://us.rd.yahoo.com/evt=48223/*http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow</a>&gt; <br>&gt; (it's updated for today's economy) at Yahoo! Games.<br>&gt; <br>&gt; <br>&gt; ------------------------------------------------------------------------<br>&gt; <br>&gt; _______________________________________________<br>&gt; Insight-users mailing list<br>&gt; Insight-users@itk.org<br>&gt; <a target="_blank"
 href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</a><br></div></div><br></div></div><br>

<hr size=1><a href="
http://us.rd.yahoo.com/evt=49981/*http://advision.webevents.yahoo.com/mailbeta/features_spam.html">Sucker-punch spam</a> with award-winning protection.<br> Try the <a href="
http://us.rd.yahoo.com/evt=49981/*http://advision.webevents.yahoo.com/mailbeta/features_spam.html">free Yahoo! Mail Beta.</a></body></html>