[vtkusers] Can you Fix my very simple problem? convert tiff series/stack to .vtk file with python script?
Dr. Daniel James White PhD
dan at chalkie.org.uk
Fri Oct 10 09:43:45 EDT 2003
Hi all,
A very simple problem I'm sure only takes a moment to fix......
I'm trying to write a python script to convert series/stacks of tiff
images from our confocal microscope
into some .vtk file that can be then read by VTK / MayaVi / VolView /
ParaView etc
The Data sets are slices through living cells etc, and need to be
reconstructed into a 3D data set for visualisation
Here is what I have so far..... I think it reads the stack/series of
tiff files into a 3D image OK,
but it fails at the point of conversion of the image data into a
structured grid (is this the right thing to do?) which can then be
written as a vtkStructuredGrid
with vtkStructuredGridWriter.
what am I doing wrong...... I'm sure its very simple...
cheers
Dan
#!/usr/bin/env python
# tiffstack2vtk.py
# tiff series to .vtk conversion script
# Dan White 2003
#-----------------------------------------------------------------------
----
# Code begins
import types,sys
if sys.argv[1:]:
filename = sys.argv[1]
else:
filename = "whatnofilename.tif" # default filename
from vtkpython import *
# Build the vtk pipeline
# Data reader
reader1 = vtkTIFFReader ()
reader1.SetFilePrefix(filename)
reader1.SetFilePattern("%s%02i.tif") #change to fit filename
reader1.SetDataExtent(0,182,0,212,0,24) #change to fit image size
reader1.SetDataSpacing(1,1,2.45) #change to fit z spacing vs x,y
reader1.SetDataByteOrderToBigEndian #only needed if more than one
byte per pixel
reader = vtkImageLuminance ()
reader.SetInput (reader1.GetOutput())
# Convert image to structured grid, I think I need to do this right?
converter = vtkDataSetToStructuredGridFilter () # OK this like
doesn't work as it is an abstract class
converter.SetInput(reader.GetOutput()) # so how should
I do it then?
# Data writer
writer = vtk.vtkStructuredGridWriter() #or should it be something
else
writer.SetFileName('vtkfileout.vtk') #change vtkfileout to
whatever filename you want
writer.SetInput(converter.GetOutput())
# write the file to disk...
writer.Write()
Dr. Daniel James White BSc. (Hons.) PhD
Cell Biology
Department of biological and environmental science
PO Box 35
University of Jyväskylä
Jyväskylä FIN 40014
Finland
+358 (0)14 260 4183 (work)
+358 (0)414740463 (mob)
http://www.chalkie.org.uk
dan at chalkie.org.uk
white at cc.jyu.fi
More information about the vtkusers
mailing list