[vtkusers] Bug in vtkTIFFReader reading multi-paged tiff file
Maarten Beek
beekmaarten at yahoo.com
Thu Jan 16 16:45:41 EST 2014
I'm using VTK 6.0, but with the fixed vtkTIFFReader added to my project.
vtkImageActor::HasTranslucentPolygonalGeometry() seems to want image data of type unsigned char and 2 or 4 components in order to do transparency. I'm using vtkImageShiftScale to get unsigned char and am working on an algorithm to add an alpha component to my one component tiff data. Curious if this does the trick.
I can understand the order is important if one of the actor is opaque, but why would this still be important when both are 50% transparent.
In my app the loading of each image is initiated through a button. I would like to create an app which is independent of the order in which the user clicks these buttons.
Maarten
On Thursday, January 16, 2014 3:25:11 PM, David Gobbi <david.gobbi at gmail.com> wrote:
Are you using vtk-master (or perhaps a vtk 6.1 release candidate)?
The TIFF reader had a serious multi-frame bug in older versions.
First, note that the vtkTIFFReader doesn't just give you the raw data
from the files, it seems to pass it through a lookup table sometimes.
And I'm not sure exactly how it deals with alpha, and to be honest,
I wouldn't trust it.
I'm really not sure what you mean when you say "The order of adding
the actors to the renderer matters, but I try to avoid this by using
transparency." The order in which you add images is _crucial_ when
you are using transparency.
Are you using the vtkImageStack? It's a class that is designed
specifically to handle layered rendering of images.
David
On Thu, Jan 16, 2014 at 12:40 PM, Maarten Beek <beekmaarten at yahoo.com> wrote:
> Hi David,
>
> Is it possible to show all images in a multi-paged tiff transparently?
>
> Only when I show the 1st image (page), I see a 2nd 2d image (both are
> transparent).
> As soon as I move to another tiff image (page), the 2d image disappears. It
> returns when I move back to the 1st tiff page.
>
> The multi-paged tiff is one component, and I am thinking of an algorithm to
> add an alpha component, but can hardly believe this would be required...
>
> The order of adding the actors to the renderer matters, but I try to avoid
> this by using transparency.
>
> Moving one image in front of the other by changing its z-coordinate using
> vtkImageActor::SetPosition() doesn't help.
>
> Maarten
>
>
>
> On Friday, November 8, 2013 4:36:06 PM, Maarten Beek <beekmaarten at yahoo.com>
> wrote:
> Hi David,
>
> Using VTK 6.0.0, sorry ;-)
>
> Should I send you the tiff file so you can play with it?
>
> Now I seem to have your attention:
>
> - How do I display a multi-page tif? I don't seem to see the different
> images using a vtkImageSlice.
>
> - What would be good values for the window and level parameters? I am using
> window = range[1]-range[0] and level = 0.5*(range[0]+range[1]) which works
> ok for this multi-page tif, but gets me nowhere when I try to display a drr.
>
> Thanks - Maarten
>
>
>
>
>
> On Friday, November 8, 2013 4:23:23 PM, David Gobbi <david.gobbi at gmail.com>
> wrote:
> Hi Maarten,
>
> Which version of VTK are you using? I believe that this bug has been
> fixed in the master branch by a commits in the following topic merge:
> http://vtk.org/gitweb?p=VTK.git;a=commitdiff;h=7e3d5270
>
> It was not fixed in time for VTK 5.10, however.
>
> David
>
>
> On Fri, Nov 8, 2013 at 2:12 PM, Maarten Beek <beekmaarten at yahoo.com> wrote:
>> Hi all,
>>
>> vtkTIFFReader crashed for me while loading a multi-paged tiff file.
>>
>> The crash occured in vtkTIFFReader::ReadGenericImage(), because
>> this->OutputExtent was not set (still NULL).
>> The scalar type for the image I was loading was unsigned short, so it
>> happened at line 1368.
>>
>> I changed void vtkTIFFReader::ReadVolume(void* buffer) into void
>> vtkTIFFReader::ReadVolume(void* buffer, int outExt[6]) and added the line
>> this->outputExtent = outExt.
>>
>> This solved my crash.
>> I am not sure I am on to something, but thought to let you know.
>>
>> Maarten
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20140116/4b11c986/attachment.html>
More information about the vtkusers
mailing list