HeLo Posted March 4, 2008 Report Share Posted March 4, 2008 Hello friends,I finally expanded the TIFF-reader of .. (found somewhere, before sometime) to a hopefully good level of usefulness.I tested it on a Mac, but it should work on other machines as well.The reader acceptsBWGray 8,16,32 bitGray 8 with LUTRGB 8,16,32 bitas well as documents with multiple pages.It does not accept compressed TIFF.In the hope that many will profit from this code .Herbert [moderator note] The attached file(s) could not be found due to server error. Quote Link to comment
gb119 Posted March 4, 2008 Report Share Posted March 4, 2008 QUOTE(HeLo @ Mar 3 2008, 07:17 AM) Hello friends,I finally expanded the TIFF-reader of .. (found somewhere, before sometime) to a hopefully good level of usefulness. I tested it on a Mac, but it should work on other machines as well. [...] QUOTE(HeLo @ Mar 3 2008, 07:17 AM) In the hope that many will profit from this code.Herbert Wow - how your old code comes back to byte you ! <img src="http://lavag.org/public/style_emoticons/default/smile.gif" style="vertical-align:middle" emoid=" " border="0" alt="smile.gif" /> I think I wrote the original version of that code about 10 years ago now. Certainly the orginal (still available from <a href="http://dmg-stairs.msm.cam.ac.uk/%7Egb119/labview/" target="_blank"><a href="http://dmg-stairs.msm.cam.ac.uk/~gb119/labview/" target="_blank">http://dmg-stairs.msm.cam.ac.uk/~gb119/labview/</a></a>) was written in LabVIEw 5.1 which was shiny and new then (and now 8.5 won't even open the original version !). Good to see that after a decade the code is still some use to folk. Quote Link to comment
Tomi Maila Posted April 24, 2008 Report Share Posted April 24, 2008 There was a bug in the byte order handling when reading 16-bit and 32-bit little-endian tags from a TIFF file. The byte-order in these cases was ignored and as a result wrong value was read from a tag. The problem fixed in the attached version. Quote Link to comment
Rolf Kalbermatter Posted April 25, 2008 Report Share Posted April 25, 2008 QUOTE (Tomi Maila @ Apr 23 2008, 03:50 AM) There was a bug in the byte order handling when reading 16-bit and 32-bit little-endian tags from a TIFF file. The byte-order in these cases was ignored and as a result wrong value was read from a tag. The problem fixed in the attached version. That was my first reaction when reading the OP. Does it handle Little Endian and Big Endian TIFF files alike given that it was tested on a Mac only :-) Rolf Kalbermatter Quote Link to comment
Tomi Maila Posted April 25, 2008 Report Share Posted April 25, 2008 QUOTE (rolfk @ Apr 24 2008, 08:32 AM) That was my first reaction when reading the OP. Does it handle Little Endian and Big Endian TIFF files alike given that it was tested on a Mac only :-) The code tries to handle the byte order issue but it seems that at least in this one place I fixed, it was ignored. There may be other byte order bugs as well, I only used one type of TIFF image to test the code. Furthermore, be careful when using this code in a parallel application. The library uses LV global to specify the byte order of a single file. If multiple files with different byte orders are read in parallel, the code will fail. This would be rather easy to fix, but I didn't fix it yet. Maybe I will in a month or so as I need to start reading TIFF files for a project. Quote Link to comment
gb119 Posted April 25, 2008 Report Share Posted April 25, 2008 QUOTE (Tomi Maila @ Apr 24 2008, 01:27 PM) The code tries to handle the byte order issue but it seems that at least in this one place I fixed, it was ignored. There may be other byte order bugs as well, I only used one type of TIFF image to test the code. Furthermore, be careful when using this code in a parallel application. The library uses LV global to specify the byte order of a single file. If multiple files with different byte orders are read in parallel, the code will fail. This would be rather easy to fix, but I didn't fix it yet. Maybe I will in a month or so as I need to start reading TIFF files for a project. Hmmm, I'm pretty sure I didn't put the global in there... on the other hand I'm also pretty sure I just ignored byte-order issues all together (the original version of the code read images generated on a Windows machine (from an FEI FIB200 system for those that are interested) and displayed on a Windows LabVIEW). Perhaps we should put the TIFF library up on the new Lava code-repository project on Googlecode to keep a track of bug fixes to it.... Edit: Now done - in 8.5.x\Machine Vision and Imaging\TIFF File Reader Probably the easiest thing to do is to LVOOP up the internal file processing routines and then the endian-ness can be kept to a per image setting without globals. I think I can see one bug already with the Get Tag value has two outputs - single value and multiple value, but for one type of endian-ness the former isn't being set... Quote Link to comment
nord Posted June 12, 2009 Report Share Posted June 12, 2009 QUOTE (HeLo @ Mar 3 2008, 08:17 AM) Hello friends,I finally expanded the TIFF-reader of .. (found somewhere, before sometime) to a hopefully good level of usefulness. I tested it on a Mac, but it should work on other machines as well. The reader accepts BW Gray 8,16,32 bit Gray 8 with LUT RGB 8,16,32 bit as well as documents with multiple pages. It does not accept compressed TIFF. In the hope that many will profit from this code . Herbert Hi, thank you for sharing your code. I would like to use it, unfortunately, I'm running on Labview 7.1 and so is unable to open your 8.5 version code. Is there any way you can post a 7.1 version of your TIFF Reader library? Thanks much. Quote Link to comment
unicorn Posted July 6, 2009 Report Share Posted July 6, 2009 QUOTE (HeLo @ Mar 3 2008, 08:17 AM) Hi, thank you for sharing your code. I would like to use it, unfortunately, I'm running on Labview 7.1 and so is unable to open your 8.5 version code. Is there any way you can post a 7.1 version of your TIFF Reader library? Thanks much. Where is the code anyway? Quote Link to comment
ChristianC Posted November 17, 2009 Report Share Posted November 17, 2009 Hello friends, I finally expanded the TIFF-reader of .. (found somewhere, before sometime) to a hopefully good level of usefulness. I tested it on a Mac, but it should work on other machines as well. The reader accepts BW Gray 8,16,32 bit Gray 8 with LUT RGB 8,16,32 bit as well as documents with multiple pages. It does not accept compressed TIFF. In the hope that many will profit from this code . Herbert Hallo Herbert, where can I find the tiff_reader? Regards Christian Quote Link to comment
Yair Posted November 18, 2009 Report Share Posted November 18, 2009 There was a crash in the site which caused some attachments to disappear. We can ask the moderator to try to find them manually (which I've now done), but I don't know if they will find it or how long it will take them. Quote Link to comment
gb119 Posted November 18, 2009 Report Share Posted November 18, 2009 There was a crash in the site which caused some attachments to disappear. We can ask the moderator to try to find them manually (which I've now done), but I don't know if they will find it or how long it will take them. Alternatively, it's on the very little used LAVA Code Repository at http://code.google.com/p/lavacr/source/browse/#svn/trunk/8.5.x/Machine%20Vision%20and%20Imaging/TIFF%20File%20Reader There's instructions there on how to use subversion to pull off the repository. Unfortunately 8.5 will only save back to 8.0 so someone who still has 8.0 will have to back port it to 7.1. Alternatively, you can forward port the 5.1 original version which should stillbe at the link given in one of my earlier posts on the thread and fix up the bugs.... EDIT: Except that I've just checked and my old research group have stopped directory listings on the web server. The direct link still works ok: http://dmg-stairs.msm.cam.ac.uk/~gb119/labview/Tiff_reader.llb Edit2: .htaccess is a wonderful thing Quote Link to comment
pbuerki Posted January 22, 2015 Report Share Posted January 22, 2015 Dear Gavin and Herbert, Thank you so much for making these VIs available. I was looking for some time for a replacement for a libtiff LabVIEW library that only ran on 32-bit LabVIEW. Your reader is by far the fastest that I have found loading a 11MB U16 TIFF file in 133ms. What makes it special is that it runs both with 32-bit and 64-bit LabVIEW. After some minor optimization, your VI loads the file in 74ms (!). I have renamed the modified reader into TIFF File Reader (LAVA.org).vi. Note also, that I have crosslinked this thread with a discussion on the LabVIEW discussion board, http://forums.ni.com/t5/LabVIEW/Labview-libtiff-implementation/td-p/929843/highlight/false/page/7. I hope you don't mind. I attach an updated copy of the library to this message (LabVIEW 2011). Thank you again for your work. Best regards, Peter LAVA TIFF File Reader (32 bit + 64 bit).zip 1 Quote Link to comment
hooovahh Posted January 22, 2015 Report Share Posted January 22, 2015 I don't speak for the original developers, but I thank you. It sounds like the changes you made were for the better, and after the server crash years ago, having a new version uploaded in the original thread will help others who stumble here looking for a good TIFF reader. Quote Link to comment
Neil Pate Posted January 22, 2015 Report Share Posted January 22, 2015 I think there may be an error in the library. The "main" VI is not actually part of the library and the library references a file that does not exist, so I presume some form of renaming (outside the IDE) has gone on? After fixing this I tried this on the one TIFF file I have but it is compressed and looking at the code it appears there is not yet support for compressed TIFFs. Quote Link to comment
gb119 Posted January 22, 2015 Report Share Posted January 22, 2015 After fixing this I tried this on the one TIFF file I have but it is compressed and looking at the code it appears there is not yet support for compressed TIFFs. YEs, that would mean implementing LZW compression in native LabVIEW which seemed like a lot of work....:-) Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.