<html><head></head><body bgcolor="#FFFFFF"><div>Can you try replacing test1.toFloat with toDouble()</div><div><br></div><div>Because your image data is populated with double?</div><div><br></div><div>Jothy<br><br><br></div><div><br>On 09-May-2012, at 11:39 PM, Brian Curtis <<a href="mailto:bcurtis3@masonlive.gmu.edu">bcurtis3@masonlive.gmu.edu</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
Thanks for your help,<br>
<br>
The following is the code that I wanted to create in the first place
with the help from Jothy (Thank You). The values printed are weird
and I wanted to send this to the community to help me correct any
mistakes and so that I can gather some helpful hints from the
community as to better practices in my code and using and
understanding VTK.<br>
<br>
Thanks,<br>
~Brian<br>
==============================<br>
#include <vtkDoubleArray.h><br>
#include <vtkImageData.h><br>
#include <vtkPointData.h><br>
#include <vtkFloatArray.h><br>
#include <vtkPoints.h><br>
#include <vtkPolyData.h><br>
#include <vtkProbeFilter.h><br>
#include <vtkDataObjectToTable.h><br>
#include <vtkTable.h><br>
#include <vtkTableReader.h><br>
#include <vtkVariant.h><br>
<br>
int main(int, char *[]) {<br>
printf("This is the beggining of the file\n");<br>
<br>
int i;<br>
<br>
vtkDoubleArray* myones = vtkDoubleArray::New();<br>
myones->SetName("Ones Scalar Array");<br>
myones->InsertNextValue(1.0);<br>
myones->InsertNextValue(2.0);<br>
myones->InsertNextValue(1.0);<br>
myones->InsertNextValue(2.0);<br>
myones->InsertNextValue(1.0);<br>
myones->InsertNextValue(2.0);<br>
myones->InsertNextValue(1.0);<br>
myones->InsertNextValue(2.0);<br>
printf("Created Scalar Array\n");<br>
<br>
//Now Creating the dataset<br>
vtkImageData* griddata = vtkImageData::New();<br>
//griddata->SetPoints(cubepoints);<br>
griddata->SetDimensions(2,2,2);<br>
griddata->SetSpacing(2.0,2.0,2.0);<br>
griddata->SetOrigin(-1.0,-1.0,-1.0);<br>
griddata->GetPointData()->SetScalars(myones);<br>
printf("Set Image Data\n");<br>
<br>
//CREATE A LINE TO INTERPOLATE ONTO<br>
float line[5][3] = { {-2.0, 2.0, -2.0}, {-1.0, 1.0, -1.0},<br>
{0.0, 0.0, 0.0}, {1.0, -1.0, 1.0}, {2.0,
-2.0, 2.0} };<br>
vtkFloatArray* lcoords = vtkFloatArray::New();<br>
lcoords->SetNumberOfComponents(3);<br>
lcoords->SetNumberOfTuples(5);<br>
for(i=1; i<5; i++){<br>
lcoords->SetTuple(i, line[i]);<br>
}<br>
<br>
vtkPoints* linepoints = vtkPoints::New();<br>
linepoints->SetData(lcoords);<br>
printf("Created linepoints\n");<br>
<br>
vtkPolyData* linedata = vtkPolyData::New();<br>
linedata->SetPoints(linepoints);<br>
printf("Created line data\n");<br>
<br>
printf("Creating Probe Filter\n");<br>
vtkProbeFilter* probe = vtkProbeFilter::New();<br>
probe->SetInput(linedata);<br>
probe->SetSource(griddata);<br>
probe->Update();<br>
<br>
//RETURNING RESULTS AS A VTKTABLE<br>
vtkDataObjectToTable* polyDataToTable =
vtkDataObjectToTable::New();<br>
polyDataToTable->SetInputConnection(probe->GetOutputPort());<br>
polyDataToTable->SetFieldType(vtkDataObjectToTable::POINT_DATA);<br>
polyDataToTable->Update();<br>
<br>
//PRINT THE RESULTANT SCALAR VALUES<br>
vtkTable* table = polyDataToTable->GetOutput();<br>
int A = table->GetNumberOfRows();<br>
int B = table->GetNumberOfColumns();<br>
printf("Rows: %i Columns: %i\n",A,B);<br>
for(i=0; i<A; i++){<br>
vtkVariant test1 = table->GetValue(i,0);<br>
vtkVariant test2 = table->GetValue(i,1);<br>
printf("Row %i:
(%f,%f)\n",i,test1.ToFloat(),test2.ToFloat());<br>
}<br>
<br>
printf("This is the end of the file\n");<br>
<br>
myones->Delete();<br>
griddata->Delete();<br>
lcoords->Delete();<br>
linepoints->Delete();<br>
linedata->Delete();<br>
probe->Delete();<br>
polyDataToTable->Delete();<br>
table->Delete();<br>
<br>
return EXIT_SUCCESS;<br>
<br>
}<br>
==========================<br>
<br>
<br>
<br>
On 05/09/2012 12:21 PM, Jothybasu Selvaraj wrote:
<blockquote cite="mid:CAKuw5X2_j27OSy8uVv7tGRFB7KT3E6+BPGX9t=mgNMiMNiBFuQ@mail.gmail.com" type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div dir="ltr">vtkTable::GetValue() shoudl do that.<br>
<br>
<br>
Jothy<br>
<br>
<div class="gmail_quote">On Wed, May 9, 2012 at 5:11 PM, Brian
Curtis <span dir="ltr"><<a moz-do-not-send="true" href="mailto:bcurtis3@masonlive.gmu.edu" target="_blank">bcurtis3@masonlive.gmu.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Jothy,<br>
<br>
Thanks for your reply.<br>
<br>
I am interested in printing the interpolated scalar values
to the screen (Terminal window), how would I go about
this?<br>
<br>
~Brian<br>
<br>
<br>
<br>
On 05/09/2012 09:41 AM, Jothybasu Selvaraj wrote:
<blockquote type="cite">
<div dir="ltr">This should help you<br>
<br>
vtkSmartPointer<vtkProbeFilter>pf=<br>
vtkSmartPointer<vtkProbeFilter>::New();<br>
pf->SetInput(cube);//cube as vtkImageData<br>
pf->SetSource(line);line as vtkPolyData<br>
pf->Update();<br>
<br>
//Returns the result as a vtkTable<br>
vtkSmartPointer<vtkDataObjectToTable>polyDataToTable=<br>
vtkSmartPointer<vtkDataObjectToTable>::New();<br>
polyDataToTable->SetInputConnection(pf->GetOutputPort());<br>
polyDataToTable->SetFieldType(vtkDataObjectToTable::POINT_DATA);<br>
polyDataToTable->Update();<br>
<br>
Jothy<br>
<br>
<div class="gmail_quote">On Wed, May 9, 2012 at 2:17
PM, Brian Curtis <span dir="ltr"><<a moz-do-not-send="true" href="mailto:bcurtis3@masonlive.gmu.edu" target="_blank">bcurtis3@masonlive.gmu.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I'm looking for an example that does this or a few
examples that show the proper way to do this.<br>
<br>
I'm not sure how to understand vtkProbeFilter from
<a moz-do-not-send="true" href="http://www.vtk.org/doc/nightly/html/classvtkProbeFilter.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkProbeFilter.html</a>
and what part of it will do the work I need.<br>
<br>
vtkProbeFilter->Probe requires three vtkDataSet
but how do I get my points into a dataset?<br>
<br>
Thanks for your help,<br>
~Brian<br>
<br>
On 05/08/2012 11:10 AM, Brian Curtis wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0
0 .8ex;border-left:1px #ccc
solid;padding-left:1ex"> Hi,<br>
<br>
I am interested in creating the following simple
example in order to expand off of at a later
time:<br>
- Create a cube (8 points) with scalar values
all set to 1<br>
- Create a line (5 points) that intersects with
cube<br>
- Get scalar interpolations for the line from
the cube<br>
<br>
Cube pts:<br>
float pts[8][3] = { {-1.0, -1.0, -1.0}, {-1.0,
1.0, -1.0},<br>
{-1.0, 1.0, 1.0}, {-1.0,
-1.0, 1.0},<br>
{1.0, -1.0, -1.0}, {1.0,
1.0, -1.0},<br>
{1.0, 1.0, 1.0}, {1.0,
-1.0, 1.0} };<br>
Line pts:<br>
float line[5][3] = { {-2.0, 2.0, -2.0}, {-1.0,
1.0, -1.0},<br>
{0.0, 0.0, 0.0}, {1.0,
-1.0, 1.0}, {2.0, -2.0, 2.0} };<br>
<br>
I could not find a simple example to do this,
and I'm not exactly sure if probefilter is the
right way to go about this. What the best (and
easiest) way to approach this problem?<br>
<br>
Thanks,<br>
~Brian<br>
<br>
_______________________________________________<br>
Powered by <a moz-do-not-send="true" href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a moz-do-not-send="true" href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK
FAQ at: <a moz-do-not-send="true" href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a moz-do-not-send="true" href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br>
</blockquote>
<br>
<br>
_______________________________________________<br>
Powered by <a moz-do-not-send="true" href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a moz-do-not-send="true" href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK
FAQ at: <a moz-do-not-send="true" href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a moz-do-not-send="true" href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<span class="HOEnZb"><font color="#888888"> <br>
-- <br>
<div dir="ltr">Jothy<br>
</div>
<br>
</font></span></div>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
<div dir="ltr">Jothy<br>
</div>
<br>
</div>
</blockquote>
<br>
</div></blockquote></body></html>