[Paraview] Image Doesn't load correctly
Burlen Loring
burlen.loring at gmail.com
Mon May 4 14:33:02 EDT 2015
Hi Kevin.
Your RequestInformation looks a little bare. Unless things have changed
recently, you might need to set WHOLE_EXTENT, ORIGIN, SPACING,
CAN_PRODUCE_SUB_EXTENT keys there. and if you support parallel IO honor
the requested extent in RequestData.
Burlen
On 05/04/2015 09:52 AM, Dean, Kevin wrote:
> So I am still having a few issues with the reader. I have checked the
> output from the information Panel. And it seems as if all the
> information is the same. So maybe the data is getting deleted somehow
> (I'm not sure...., but here is a snippet of my code);
>
> int vtkPVPROTOImageReader::RequestInformation (
> vtkInformation*,
> vtkInformationVector**,
> vtkInformationVector* outputVector)
> {
> vtkInformation* outInfo = outputVector->GetInformationObject(0);
> vtkDataObject::SetPointDataActiveScalarInfo(outInfo,
> VTK_UNSIGNED_CHAR, 1);
>
> return 1;
> }
>
> int vtkPVPROTOImageReader::RequestData(vtkInformation
> *vtkNotUsed(request),
> vtkInformationVector **inputVector,
> vtkInformationVector *outputVector)
> {
> ... conversion code from protobuf
>
> /* Convert from protobuf to vtkImageData */
> vtkSmartPointer<vtkImageData> image = "function converting to protobuf";
>
> vtkDataArray* scalars = image->GetPointData()->GetScalars();
> scalars->SetName("ReconstructionData");
>
> /* Get the info object */
> vtkInformation *outInfo = outputVector->GetInformationObject(0);
> outInfo->Set(vtkDataObject::DATA_TYPE_NAME(), "vtkImageData");
>
> /* Get the output */
> vtkImageData* output = vtkImageData::GetData(outputVector);
>
> // output->SetSpacing(image->GetSpacing());
> // output->SetOrigin(image->GetOrigin());
> // output->AllocateScalars(outInfo);
> //
> output->GetPointData()->SetScalars(image->GetPointData()->GetScalars());
> // output->SetDimensions(image->GetDimensions());
>
> output->ShallowCopy(image);
>
> int* dimensions = output->GetDimensions();
>
> std::cout << "\nNumber of points: " << output->GetNumberOfPoints()
> << std::endl;
> std::cout << "Number of cells: " << output->GetNumberOfCells() <<
> "\n" << std::endl;
>
> // print out the pixel values to see if they are actually present
> for (int z = 0; z < dimensions[2]; z++)
> {
> for (int y = 0; y < dimensions[1]; y++)
> {
> for (int x = 0; x < dimensions[0]; x++)
> {
> double* pixel =
> static_cast<double*>(output->GetScalarPointer(x,y,z));
> // do something with v
> std::cout << "pixel value: " << pixel[0] << "\n";
> }
> std::cout << std::endl;
> }
> std::cout << std::endl;
> }
>
> // write output to file and compare in visualization window...
> vtkSmartPointer<vtkXMLImageDataWriter> vtk_writer =
> vtkSmartPointer<vtkXMLImageDataWriter>::New();
> vtk_writer->SetInputData(output);
> vtk_writer->SetFileName( "/home/kdean/tmp/foo.vti" );
> vtk_writer->Update();
> vtk_writer->Write();
>
> return 1;
> }
>
>
> Another Problem I ran into:
> So I had to hardcode a file for the char *FileName into the
> RequestData Function in order to read any protobuf file. I ran a
> debugger on the code, and it seems like these functions from the
> header file (of the reader):
>
> vtkGetStringMacro(FileName);
> vtkSetStringMacro(FileName);
>
> they are never getting called.
>
> Thanks,
>
> Kevin
>
> here are my xml too... it looks right, but maybe I am missing something.
>
> On Sun, May 3, 2015 at 7:04 AM, Utkarsh Ayachit
> <utkarsh.ayachit at kitware.com <mailto:utkarsh.ayachit at kitware.com>> wrote:
>
> You can also use the Information panel to see what arrays are being
> read in and what their ranges are.
>
> On Sat, May 2, 2015 at 7:06 PM, Dean, Kevin
> <kevin.dean at decisionsciencescorp.com
> <mailto:kevin.dean at decisionsciencescorp.com>> wrote:
> > looked at the spreadsheet view in the GUI, and it looks like
> none of the
> > Point Data is actually being copied...
> >
> > On Sat, May 2, 2015 at 3:44 PM, Dean, Kevin
> > <kevin.dean at decisionsciencescorp.com
> <mailto:kevin.dean at decisionsciencescorp.com>> wrote:
> >>
> >> What's up Utkarsh?
> >>
> >> So I was able to write that plugin and convert my image to the
> >> vtkImageData. However, I am having trouble visualizing the
> image. However,
> >> when I write out the output from my reader, the image gets written
> >> correctly... Here are some pictures to show the differences.
> (All the
> >> information for the images is exactly the same) Do you have an
> idea of how I
> >> can try to fix it? Thanks.
> >>
> >> Kevin E. Dean
> >
> >
> >
> > This email and its contents are confidential. If you are not the
> intended
> > recipient, please do not disclose or use the information within
> this email
> > or its attachments. If you have received this email in error,
> please report
> > the error to the sender by return email and delete this
> communication from
> > your records.
>
>
>
> This email and its contents are confidential. If you are not the
> intended recipient, please do not disclose or use the information
> within this email or its attachments. If you have received this email
> in error, please report the error to the sender by return email and
> delete this communication from your records.
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
>
> Search the list archives at: http://markmail.org/search/?q=ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150504/88d4ce6a/attachment.html>
More information about the ParaView
mailing list