<div dir="ltr"><div>Hi,</div><div>I am trying to find the value of a label at particular point in the image. The pickedPoint gives me the x,y,z co-ordinate where I should pick the value. How do I find the image value at that voxel? Since it is a label image I want to use nearest neighbor interpolation. Can anyone give me pointers of how to get the label value?</div>
<div><br></div><div><br></div>  vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::SafeDownCast(obj);<br><br>  iren-&gt;SetPicker(picker);<br><br>  // get event position<br>  int event_pos[2];<br>  iren-&gt;GetEventPosition(event_pos);<br>

<br>  // update label<br>  QString str;<br><br>iren-&gt;GetPicker()-&gt;Pick(iren-&gt;GetEventPosition()[0], iren-&gt;GetEventPosition()[1], 0,  iren-&gt;GetRenderWindow()-&gt;GetRenderers()-&gt;GetFirstRenderer());<br>
  double pickedPoint[3];<br>  iren-&gt;GetPicker()-&gt;GetPickPosition(pickedPoint);<br>
<br>  vtkSmartPointer&lt;vtkImageCast&gt; imageCast = vtkSmartPointer&lt;vtkImageCast&gt;::New();<br>  vtkSmartPointer&lt;vtkImageData&gt; atlasLabelImageData = vtkSmartPointer&lt;vtkImageData&gt;::New();<br><br>
  imageCast-&gt;SetInput(atlasLabelsReader-&gt;GetOutput());<br>  imageCast-&gt;SetOutputScalarTypeToUnsignedShort();<br>  imageCast-&gt;Update();<br>  atlasLabelImageData = imageCast-&gt;GetOutput();<br>  unsigned long labelCellID = (unsigned short) atlasLabelImageData-&gt;FindPoint(pickedPoint);<br>
<br>  str.sprintf(&quot;(x, y, z) = (%3.2f, %3.2f, %3.2f), Label Value = %f&quot;, pickedPoint[0], pickedPoint[1], pickedPoint[2], labelCellID);<br clear="all">
<div><br></div>-- <br>Thanks,<br>Kannan
</div>