[vtkusers] How can I insert a Tcl binary string into a  	vtkDataArray?
    Erin McKay 
    e.mckay at unsw.edu.au
       
    Mon Feb  7 16:06:43 EST 2005
    
    
  
Actually its not that hard (ahem). SetArray works just fine...
I have attached a brief code example for future reference:
> I have a big chunk of data (from a database) in a Tcl binary string.
> I'd really like to stuff it into a vtkDataArray for analysis. Is there
> any fast way to do this? I've tried vtkCharArray::SetArray but it
> doesn't like string arguments. SetValue is too slow. I've seen similar
> questions asked in the mailing list archives but no definitive answers
> as yet. Surely it can't be that hard??
>
#-------------------------
package require my_stuff
package require vtk
package require vtkinteraction
	
	set wd [$dbImage GetWidth]
	set ht [$dbImage GetHeight]
	set buffer [$dbImage CopyData]
	# buffer is a binary string produced, in this instance, using a SWIG 
typemap
	vtkCharArray imageData
	imageData SetArray $buffer [string bytelength $buffer] 1
	vtkImageData myImage
	myImage SetDimensions $wd $ht 1
	myImage SetScalarTypeToFloat
	[myImage GetPointData] SetScalars imageData
	vtkImageViewer viewer
	viewer SetInput myImage
	viewer SetColorWindow [expr $wd + $ht]
	viewer SetColorLevel [expr ($wd + $ht / 2)]
	viewer Render
	wm withdraw .
    
    
More information about the vtkusers
mailing list