<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;I've been trying to debug why nothing gets displayed when using the vtkProbeFilter and sampling the results to vtkImageData.</div><div><br></div><div>I've discovered now that when the probe filter is introduced into the pipeline, it is somehow <b>altering the data type from unsigned char, to something else.</b>&nbsp;</div><div><br></div><div><b>Question 01: </b>How can I force the output of vtkProbeFilter to store the results in unsigned char?</div><div><br></div><div><b>Question 02</b>: How can I find out the type used to store the results in vtkImageData, after it has passed through the vtkProbeFilter?</div><div><br></div><div><br></div><div><b><span class="Apple-style-span" style="text-decoration: underline;">Here are my current findings</span></b></div><div><br></div><div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"># Use a probe filter to obtain elevation data from the reconstructed surface</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">vtkImageData elevationData</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetScalarTypeToUnsignedChar</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetWholeExtent $XminR $XmaxR $YminR $YmaxR $ZminR $ZmaxR</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetDimensions $XmaxD $YmaxD $ZmaxD</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetOrigin $XminB $YminB $ZminB</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetSpacing $width $height $length</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData AllocateScalars</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"># Fill image with zeroes</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">set d 100</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">for {set i 0} {$i &lt; &nbsp;$XmaxD} {incr i} {</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;for {set p 0} {$p &lt; &nbsp;$YmaxD} {incr p} {</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetScalarComponentFromFloat $i $p 0 0 $d</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;}</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">}</span></font></div></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">vtkImageActor imageActor</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;imageActor SetInput elevationData</span></font></div></div><div><br></div><div>When you don't use the probe filter, I get the following output (I'm only displaying the image data and simply displaying it on screen)</div><div><br></div><div><img height="402" width="384" apple-width="yes" apple-height="yes" src="cid:07B85151-20AF-43AC-A814-415A1FA9DC77@du.ae"></div><div><br></div><div>How ever, the moment I introduce the probe filter, I get the following error</div><div><br></div></div><div><br></div><div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">E</span></font><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">RROR: In /Users/elvis/Tool/vtk-5.x/src/VTK/Rendering/vtkImageActor.cxx, line 267</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">vtkOpenGLImageActor (0x8a0200): This filter requires unsigned char scalars as input</span></font></div><div><br></div><div>Here is the code with the probe filter&nbsp;</div><div><br></div><div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"># Use a probe filter to obtain elevation data from the reconstructed surface</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">vtkImageData elevationData</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetScalarTypeToUnsignedChar</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetWholeExtent $XminR $XmaxR $YminR $YmaxR $ZminR $ZmaxR</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetDimensions $XmaxD $YmaxD $ZmaxD</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetOrigin $XminB $YminB $ZminB</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetSpacing $width $height $length</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData AllocateScalars</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"># Fill image with zeroes</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">set d 100</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">for {set i 0} {$i &lt; &nbsp;$XmaxD} {incr i} {</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;for {set p 0} {$p &lt; &nbsp;$YmaxD} {incr p} {</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;elevationData SetScalarComponentFromFloat $i $p 0 0 $d</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;}</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">}</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">vtkProbeFilter probe&nbsp;</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;probe SetInputConnection 0 [elevationData GetProducerPort]</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;probe SetInputConnection 1 [reader GetOutputPort]&nbsp;</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;probe Update</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">vtkImageActor imageActor</span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;">&nbsp;&nbsp;imageActor SetInput elevationData</span></font></div><div><br></div><div><br></div><div>This shows that vtkProbeFilter is storing the results in a format other than unsigned char.&nbsp;</div><div><br></div><div>How can I fix this and get it to store the probed results in unsigned char?</div></div><div><br></div><div>Best regards,</div><div><br></div><div>Elvis&nbsp;</div><div><br></div><div><br></div></div></body></html>