[vtkusers] Writing a JPEG from vtkActor
Dominik Szczerba
domi at vision.ee.ethz.ch
Tue Dec 20 10:35:52 EST 2005
Hello,
Even if I change the date to point data I am not succesful with either
Cast or ShiftScale. Please see below:
//read in
vtkStructuredPointsReader* reader = vtkStructuredPointsReader::New();
reader->SetFileName(argv[1]);
vtkStructuredPoints* grid = reader->GetOutput();
grid->Update();
//print some info
unsigned long MEM = grid->GetActualMemorySize();//in kB
cout << "mem=" << MEM << endl;
int NP = grid->GetNumberOfPoints();
cout << "NP=" << NP << endl;
int NCELLS = grid->GetNumberOfCells();
cout << "NCELLS=" << NCELLS << endl;
double range[2];
grid->GetPointData()->GetScalars("vx")->GetRange(range);
cerr << "range " << range[0] << " " << range[1] << endl;
grid->GetPointData()->SetActiveScalars("vx");
vtkImageShiftScale *iss = vtkImageShiftScale::New();
iss->SetInput(grid);
iss->SetOutputScalarTypeToUnsignedChar();
iss->SetShift(-range[0]);
iss->SetScale((range[1] - range[0]) / 256.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
More information about the vtkusers
mailing list