LEICA BigTIFF
Benjamin Gilbert
bgilbert at cs.cmu.edu
Sat Jul 7 18:05:12 EDT 2012
On 07/07/2012 12:14 PM, Agelos Pappas wrote:
> As you can see the one of the two image tags, the thumbnail, has the
> same dimensions as the collection. The code will fail if the above
> condition is not met in any of the two tags.
Nice, that's a better solution.
> I'm adding the lowest resolution of the thumbnail as an associated
> image. I thought it would be quicker to not use the largest one.
In the example slide, our choices are:
1616 x 4668
404 x 1167
101 x 291
The other slide formats have associated images which are 1000-2000
pixels on their longest side. I don't like the idea of OpenSlide eating
data (by returning a downsampled associated image), but returning a 30
MB buffer is a bit excessive. Adam, any thoughts? Associated images
are demand-loaded these days, so there's no runtime overhead if the app
doesn't request them.
> There is a big issue with libxml2 however, which I found out the hard
> way. There's a function called *xmlCleanupParser*. This function should
> be called once we are done using the library, so that it cleans up
> memory used by the library itself.
[...]
> Does this mean that whenever you call the library's functions, new
> memory is allocated? Or does initialization takes place only once?
Initialization takes place only once. I agree with Adam, it's not safe
for us to call xmlCleanupParser at all. Also, xmlInitParser is not
thread-safe, so we need to call it ourselves from _openslide_init rather
than letting libxml2 call it implicitly.
> Let me know if you want me to send you the leica vendor file I've written.
When you're ready, send a GitHub pull request on openslide/openslide and
I'll review it.
--Benjamin Gilbert
More information about the openslide-users
mailing list