<div dir="ltr"><div>I have change this line. </div><div><br></div><div><font color="#500050">sgrid->GetCellData()-></font><wbr>AddArray(probe->GetOutput()-><wbr>GetPointData()->GetArray(i));</div><div><br></div><div>to <br></div><div><p><font face="Consolas" size="2"><font face="Consolas" size="2">sgrid</font></font><font color="#008080" face="Consolas" size="2"><font color="#008080" face="Consolas" size="2"><font color="#008080" face="Consolas" size="2">-></font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">GetPointData()->AddArray(probe</font></font><font color="#008080" face="Consolas" size="2"><font color="#008080" face="Consolas" size="2"><font color="#008080" face="Consolas" size="2">-></font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">GetOutput()->GetPointData()->GetArray(i));</font></font></p><p>And I still get this error:</p><p><span style="color:rgb(128,0,0);font-family:"Courier";font-size:8pt">ERROR: In C:\bbd\7cc78367\build\superbuild\paraview\src\VTK\IO\XML\vtkXMLStructuredDataReader.cxx, line 360</span>
</p><p style="margin:0px;text-indent:0px"><span style="color:rgb(128,0,0);font-family:"Courier";font-size:8pt">vtkXMLStructuredGridReader (000000000BA5C060): Error reading extent 0 255 0 255 0 255 from piece 0</span></p><p><font face="Consolas"><span><br></span>in addition with <br></font></p><font face="Consolas"><p><span style="color:rgb(128,0,0);font-family:"Courier";font-size:8pt">ERROR: In C:\bbd\7cc78367\build\superbuild\paraview\src\VTK\IO\XML\vtkXMLDataReader.cxx, line 443</span>
</p><p style="margin:0px;text-indent:0px"><span style="color:rgb(128,0,0);font-family:"Courier";font-size:8pt">vtkXMLStructuredGridReader (000000000BA5C060): Cannot read point data array "position" from PointData in piece 0.  The data array in the element may be too short.</span></p><p style="margin:0px;text-indent:0px"><span style="color:rgb(128,0,0);font-family:"Courier";font-size:8pt"><br></span></p><span style="color:rgb(128,0,0);font-family:"Courier";font-size:8pt"><div><br></div><div><font color="#000000" size="2">Could someone provide some idea or an example how to correctly write the output of a vtkProbeFilter to any vtk file?</font></div><div><font color="#000000" size="2"><br></font></div><div><font color="#000000" size="2">Thanks!</font></div><div><font color="#000000" size="2"><br></font></div><div><font color="#000000" size="2">best,</font></div><div><font color="#000000" size="2">Siming</font></div></span></font></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-09-27 15:47 GMT+02:00 Siming Bayer <span dir="ltr"><<a href="mailto:siming.bayer@gmail.com" target="_blank">siming.bayer@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thank you, Cory!</div><div><br></div><div>best,</div><div>Siming</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2017-09-27 15:46 GMT+02:00 Cory Quammen <span dir="ltr"><<a href="mailto:cory.quammen@kitware.com" target="_blank">cory.quammen@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">Hi Siming,<br>
<br>
Please reply-all to keep the discussion on the list so others may<br>
participate and benefit.<br>
<br>
This line in your export code is a problem:<br>
<span><br>
sgrid->GetCellData()->AddArray<wbr>(probe->GetOutput()->GetPointD<wbr>ata()->GetArray(i));<br>
<br>
</span>Point and cell data arrays have different lengths for structured<br>
grids. The writer is apparently not catching this, but the reader is.<br>
<span class="m_-5074431289999964730HOEnZb"><font color="#888888"><br>
Cory<br>
</font></span><div class="m_-5074431289999964730HOEnZb"><div class="m_-5074431289999964730h5"><br>
On Wed, Sep 27, 2017 at 9:42 AM, Siming Bayer <<a href="mailto:siming.bayer@gmail.com" target="_blank">siming.bayer@gmail.com</a>> wrote:<br>
> I used the vtkProbeFilter to interpolate the value on the edges of a<br>
> volumetric mesh onto a image volume with dimension of 256x256x256. And save<br>
> the output of vtkProbeFilter to a .vts file use the following code:<br>
><br>
> vtkSmartPointer<vtkImageData> volume = vtkSmartPointer<vtkImageData>:<wbr>:New();<br>
><br>
> volume->DeepCopy(reader->GetOu<wbr>tput());<br>
><br>
> //find the cell centers, store as polydata<br>
><br>
> vtkSmartPointer<vtkPoints> probePoints = vtkSmartPointer<vtkPoints>::Ne<wbr>w();<br>
><br>
> double center[3] = { 0,0,0 };<br>
><br>
> for (vtkIdType cellId = 0; cellId < volume->GetNumberOfCells(); ++cellId)<br>
><br>
> {<br>
><br>
> double pcoords[3] = { 0,0,0 };<br>
><br>
> double *weights = new double[volume->GetMaxCellSize(<wbr>)];<br>
><br>
> vtkCell* cell = volume->GetCell(cellId);<br>
><br>
> int subId = cell->GetParametricCenter(pcoo<wbr>rds);<br>
><br>
> cell->EvaluateLocation(subId, pcoords, center, weights);<br>
><br>
> probePoints->InsertNextPoint(c<wbr>enter[0], center[1], center[2]);<br>
><br>
> }<br>
><br>
> vtkSmartPointer<vtkPolyData> probePolyData =<br>
> vtkSmartPointer<vtkPolyData>::<wbr>New();<br>
><br>
> probePolyData->SetPoints(probe<wbr>Points);<br>
><br>
> //read the .vtu mesh file as untructured grid<br>
><br>
> vtkSmartPointer<vtkXMLUnstruct<wbr>uredGridReader> meshReader =<br>
> vtkSmartPointer<vtkXMLUnstruct<wbr>uredGridReader>::New();<br>
><br>
> meshReader->SetFileName(argv[2<wbr>]);<br>
><br>
> meshReader->Update();<br>
><br>
> vtkUnstructuredGrid* ugrid = meshReader->GetOutput();<br>
><br>
> std::cout << "Interpolating...." << std::endl;<br>
><br>
> //Probe filter<br>
><br>
> vtkSmartPointer<vtkProbeFilter<wbr>> probe =<br>
> vtkSmartPointer<vtkProbeFilter<wbr>>::New();<br>
><br>
> probe->SetValidPointMaskArrayN<wbr>ame("mesh");<br>
><br>
> probe->SetSourceData(ugrid);<br>
><br>
> probe->SetInputData(probePolyD<wbr>ata);<br>
><br>
> probe->Update();<br>
><br>
> //save the output of probefileter as .vtu file<br>
><br>
> vtkSmartPointer<vtkStructuredG<wbr>rid> sgrid =<br>
> vtkSmartPointer<vtkStructuredG<wbr>rid>::New();<br>
><br>
> sgrid->SetDimensions(256, 256, 256);<br>
><br>
> sgrid->SetPoints(probePoints);<br>
><br>
> unsigned int numberOfArrays =<br>
> probe->GetOutput()->GetPointDa<wbr>ta()->GetNumberOfArrays();<br>
><br>
> std::cout << "Copying arrays:" << std::endl;<br>
><br>
> for (unsigned int i = 0; i < numberOfArrays; i++)<br>
><br>
> {<br>
><br>
> std::cout << "\t" <<<br>
> probe->GetOutput()->GetPointDa<wbr>ta()->GetArray(i)->GetName() << std::endl;<br>
><br>
> sgrid->GetCellData()->AddArray<wbr>(probe->GetOutput()->GetPointD<wbr>ata()->GetArray(i));<br>
><br>
> }<br>
><br>
> std::cout << "Writing .vts output" << std::endl;<br>
><br>
> vtkSmartPointer<vtkXMLStructur<wbr>edGridWriter> sWriter =<br>
> vtkSmartPointer<vtkXMLStructur<wbr>edGridWriter>::New();<br>
><br>
> sWriter->SetFileName("test.vts<wbr>");<br>
><br>
> sWriter->SetInputData(sgrid);<br>
><br>
> sWriter->Write();<br>
><br>
> }<br>
><br>
><br>
> Maybe something wrong here?<br>
><br>
><br>
> best,<br>
><br>
> Siming<br>
><br>
><br>
> 2017-09-27 15:29 GMT+02:00 Cory Quammen <<a href="mailto:cory.quammen@kitware.com" target="_blank">cory.quammen@kitware.com</a>>:<br>
>><br>
>> [Moving this discussion over to the ParaView list serve as it has to<br>
>> do with ParaView.]<br>
>><br>
>> Unfortunately, there's not enough information in the header file. What<br>
>> wrote this .vts file?<br>
>><br>
>> Thanks,<br>
>> Cory<br>
>><br>
>> On Wed, Sep 27, 2017 at 9:25 AM, Siming Bayer <<a href="mailto:siming.bayer@gmail.com" target="_blank">siming.bayer@gmail.com</a>><br>
>> wrote:<br>
>> > Yes,<br>
>> ><br>
>> > the whole file is quite large. The header part is the following:<br>
>> ><br>
>> > <?xml version="1.0"?><br>
>> > <VTKFile type="StructuredGrid" version="0.1" byte_order="LittleEndian"<br>
>> > header_type="UInt32" compressor="vtkZLibDataCompres<wbr>sor"><br>
>> >   <StructuredGrid WholeExtent="0 255 0 255 0 255"><br>
>> >     <Piece Extent="0 255 0 255 0 255"<br>
>> >><br>
>> >       <PointData><br>
>> >       </PointData><br>
>> >       <CellData><br>
>> >         <DataArray type="Float64" Name="velocity" NumberOfComponents="3"<br>
>> > format="appended" RangeMin="0"                    RangeMax="0"<br>
>> > offset="0"                   /><br>
>> >         <DataArray type="Float64" Name="position" NumberOfComponents="3"<br>
>> > format="appended" RangeMin="0"                    RangeMax="0"<br>
>> > offset="906832"              /><br>
>> >         <DataArray type="Float64" Name="rest_position"<br>
>> > NumberOfComponents="3" format="appended" RangeMin="0"<br>
>> > RangeMax="0"                    offset="1813664"             /><br>
>> >         <DataArray type="Int8" Name="mesh" format="appended"<br>
>> > RangeMin="0"<br>
>> > RangeMax="0"                    offset="2720496"             /><br>
>> >       </CellData><br>
>> >       <Points><br>
>> >         <DataArray type="Float32" Name="Points" NumberOfComponents="3"<br>
>> > format="appended" RangeMin="0.86602540378"<br>
>> > RangeMax="440.80693053"<br>
>> > offset="2758320"             /><br>
>> >       </Points><br>
>> >     </Piece><br>
>> >   </StructuredGrid><br>
>> >   <AppendedData encoding="base64"><br>
>> ><br>
>> ><br>
>> > _.............................<wbr>..............................<wbr>............(here<br>
>> > is the data)<br>
>> >   </AppendedData><br>
>> > </VTKFile><br>
>> ><br>
>> > Thank you!<br>
>> ><br>
>> > best,<br>
>> > Siming<br>
>> ><br>
>> > 2017-09-27 15:21 GMT+02:00 Cory Quammen <<a href="mailto:cory.quammen@kitware.com" target="_blank">cory.quammen@kitware.com</a>>:<br>
>> >><br>
>> >> On Wed, Sep 27, 2017 at 8:50 AM, Siming Bayer <<a href="mailto:siming.bayer@gmail.com" target="_blank">siming.bayer@gmail.com</a>><br>
>> >> wrote:<br>
>> >> > Dear all,<br>
>> >> ><br>
>> >> > I got the following error while reading a .vts file with ParaView:<br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > ERROR: In<br>
>> >> ><br>
>> >> ><br>
>> >> > C:\bbd\7cc78367\build\superbui<wbr>ld\paraview\src\VTK\IO\XML\vtk<wbr>XMLStructuredDataReader.cxx,<br>
>> >> > line 360<br>
>> >> ><br>
>> >> > vtkXMLStructuredGridReader (000000000B791F40): Error reading extent 0<br>
>> >> > 255 0<br>
>> >> > 255 0 255 from piece 0<br>
>> >> ><br>
>> >> ><br>
>> >> > What does it mean? What could be the reason?<br>
>> >> ><br>
>> >><br>
>> >> Perhaps there is something wrong with the file. Can you share it, or<br>
>> >> ideally a smaller data set that exhibits the same problem?<br>
>> >><br>
>> >> Thanks,<br>
>> >> Cory<br>
>> >><br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > ______________________________<wbr>_________________<br>
>> >> > Powered by <a href="http://www.kitware.com" target="_blank" rel="noreferrer">www.kitware.com</a><br>
>> >> ><br>
>> >> > Visit other Kitware open-source projects at<br>
>> >> > <a href="http://www.kitware.com/opensource/opensource.html" target="_blank" rel="noreferrer">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
>> >> ><br>
>> >> > Please keep messages on-topic and check the VTK FAQ at:<br>
>> >> > <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank" rel="noreferrer">http://www.vtk.org/Wiki/VTK_FA<wbr>Q</a><br>
>> >> ><br>
>> >> > Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" target="_blank" rel="noreferrer">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
>> >> ><br>
>> >> > Follow this link to subscribe/unsubscribe:<br>
>> >> > <a href="http://public.kitware.com/mailman/listinfo/vtkusers" target="_blank" rel="noreferrer">http://public.kitware.com/mail<wbr>man/listinfo/vtkusers</a><br>
>> >> ><br>
>> >><br>
>> >><br>
>> >><br>
>> >> --<br>
>> >> Cory Quammen<br>
>> >> Staff R&D Engineer<br>
>> >> Kitware, Inc.<br>
>> ><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> Cory Quammen<br>
>> Staff R&D Engineer<br>
>> Kitware, Inc.<br>
><br>
><br>
<br>
<br>
<br>
--<br>
Cory Quammen<br>
Staff R&D Engineer<br>
Kitware, Inc.<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>