[vtkusers] Writing a JPEG from vtkActor

Dominik Szczerba domi at vision.ee.ethz.ch
Tue Dec 20 11:34:15 EST 2005


The problem is in the data. I have a lot of vector and scalar fields and
just cannot set the active scalar (SetActiveScalar) - compiles, but
doenst work. The file loads OK in paraview and show correctly all the
components. This is a separate issue but lets leave it asside for now.

To simplify testing I produce legacy files with one scalar field per
file. Now some of them produce good images some do not. I always check
the range and it's valid - although very different, also negative. So
something is unclear in the data->image range conversion.
Dominik

Dominik Szczerba wrote:
> It doesnt help. The image is empty :( I tried both versions 4.4.2 and CVS...
> --dsz
> 
> 
>>I just realized I did the division backwards in this step.  You should
>>be dividing 256 by the difference in the minimum and maximum range values.
>>
>>iss->SetScale(256.0 / (range[1] - range[0]));
>>
>>
>>
>>>  vtkPNGWriter* writer = vtkPNGWriter::New();
>>>  writer->SetInput(iss->GetOutput());
>>>  writer->SetFileName(argv[2]);
>>>  writer->Write();
>>>
>>>Always the first scalar is taken, regardles of explicit selection with
>>>setActiveScalarrs. The info seems displayed properly (of the first
>>>scalar) whih is in my case -9.11732e-06 1.53533e-05, output is black
>>>image (empty histogram).
>>>I will be grateful if you shed some light on this mystery.
>>>Dominik
>>>
>>>Amy Squillacote wrote:
>>>
>>>>Try using vtkImageShiftScale instead.  Do something like the following.
>>>>
>>>>double range[2];
>>>>grid->GetCellData()->GetScalars("abc")->GetScalarRange(range);
>>>>
>>>>vtkImageShiftScale *iss = vtkImageShiftScale::New();
>>>>iss->SetInput(grid);
>>>>iss->SetOutputScalarTypeToUnsignedChar();
>>>>iss->SetShift(-range[0]);
>>>>iss->SetScale((range[1] - range[0]) / 256.0);
>>>>
>>>>Are you sure that the data in your grid (a vtkImageData, I assume)
>>>
>>>is in
>>>
>>>>cell data? It's usually in point data.
>>>>
>>>>- Amy
>>>>
>>>>At 09:44 AM 12/20/2005, Dominik Szczerba wrote:
>>>>
>>>>
>>>>>Thanks a lot, yes, I am trying the vtkImageCast, compiles fine, but
>>>
>>>get
>>>
>>>>>a black image at the end. Shouldnt I set ranges somewhere?
>>>>>I can do
>>>>>
>>>>>grid->GetCellData()->GetScalars("abc")->GetRange())
>>>>>
>>>>>but where do I plug the output?
>>>>>
>>>>>Dominik
>>>>>
>>>>>Amy Squillacote wrote:
>>>>>
>>>>>>Try using either vtkImageCast or vtkImageShiftScale to change your
>>>>>
>>>>>image
>>>>>
>>>>>>data to contain either unsigned char or unsigned short data.
>>>>>>
>>>>>>- Amy
>>>>>>
>>>>>>At 08:58 AM 12/20/2005, Dominik Szczerba wrote:
>>>>>>
>>>>>>
>>>>>>>What is the error? I try to do the same with vtkPNGWriter ending up
>>>>>
>>>>>with:
>>>>>
>>>>>>>vtkPNGWriter (0x8058948): PNGWriter only supports unsigned char and
>>>>>>>unsigned short inputs
>>>>>>>
>>>>>>>Meanwhile I try to figure out how to do the appropriate
>>>
>>>convertion in
>>>
>>>>>>>vtk.
>>>>>>>--dsz
>>>>>>>
>>>>>>>Marlos Fabris wrote:
>>>>>>>
>>>>>>>>Hi,
>>>>>>>>
>>>>>>>>I'm trying to write a jpeg file (using vtkJPEGWriter) from a
>>>>>
>>>>>vtkActor
>>>>>
>>>>>>>>but I can't accomplish this. I have a vtk file with structured
>>>>>
>>>>>points
>>>>>
>>>>>>>>data and I wish to transform to vtkPolyData and color it with my
>>>>>>>>vtkLookupTable.
>>>>>>>>
>>>>>>>>Is there a way to convert only my vtkActor to a vtkImageData,
>>>>>
>>>>>without
>>>>>
>>>>>>>>the frameborders of vtkWindowToImageFilter?
>>>>>>>>
>>>>>>>>Or is there a way to trim my image?
>>>>>>>>
>>>>>>>>Thank you in advance,
>>>>>>>>
>>>>>>>>Marlos Fabris
>>>>>>>>_______________________________________________
>>>>>>>>This is the private VTK discussion list.
>>>>>>>>Please keep messages on-topic. Check the FAQ at:
>>>>>>>
>>>>>>>http://www.vtk.org/Wiki/VTK_FAQ
>>>>>>>
>>>>>>>>Follow this link to subscribe/unsubscribe:
>>>>>>>>http://www.vtk.org/mailman/listinfo/vtkusers
>>>>>>>
>>>>>>>--
>>>>>>>Dominik Szczerba, Dr.
>>>>>>>ETZ C110 CO-ME/BIWI CH-8092 Zurich
>>>>>>>http://www.vision.ee.ethz.ch/~domi
>>>>>>>_______________________________________________
>>>>>>>This is the private VTK discussion list.
>>>>>>>Please keep messages on-topic. Check the FAQ at:
>>>>>>>http://www.vtk.org/Wiki/VTK_FAQ
>>>>>>>Follow this link to subscribe/unsubscribe:
>>>>>>>http://www.vtk.org/mailman/listinfo/vtkusers
>>>>>
>>>>>--
>>>>>Dominik Szczerba, Dr.
>>>>>ETZ C110 CO-ME/BIWI CH-8092 Zurich
>>>>>http://www.vision.ee.ethz.ch/~domi
>>>>>_______________________________________________
>>>>>This is the private VTK discussion list.
>>>>>Please keep messages on-topic. Check the FAQ at:
>>>>>http://www.vtk.org/Wiki/VTK_FAQ
>>>>>Follow this link to subscribe/unsubscribe:
>>>>>http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>>>-- 
>>>Dominik Szczerba, Dr.
>>>ETZ C110 CO-ME/BIWI CH-8092 Zurich
>>>http://www.vision.ee.ethz.ch/~domi
>>>_______________________________________________
>>>This is the private VTK discussion list.
>>>Please keep messages on-topic. Check the FAQ at:
>>>http://www.vtk.org/Wiki/VTK_FAQ
>>>Follow this link to subscribe/unsubscribe:
>>>http://www.vtk.org/mailman/listinfo/vtkusers
> 
> 

-- 
Dominik Szczerba, Dr.
ETZ C110 CO-ME/BIWI CH-8092 Zurich
http://www.vision.ee.ethz.ch/~domi



More information about the vtkusers mailing list