John Cupitt
John Cupitt
You don't need to save as a pyramidal tiff. Something like: ```python im = pyvips.Image.arrayjoin(tiles, across=max_x + 1) im.tiffsave("my-tmpfile.tif", bigtiff=True, compression="jpeg", tile=True, tile_width=512, tile_height=512) ``` Then convert to ome-tiff in...
Hi @z1186464862, > tile = self.wsi.crop(x, y, self.patch_size, self.patch_size).numpy()[..., :3] This will be very slow -- it's much better to pass the `rgb` flag to `openslideload` and then not drop...
Hello @reyvateil, Unfortunately, Cairo has a hard limit of 32k pixels in any axis, so your image is just too big :( libvips used to have a workaround (it rendered...
Hello @DDoS, You're right, libvips will print int, rational and srational EXIF tags as numbers, but it uses `exif_entry_get_value()` for all other types. This string is internationalised, so it'll vary...
Let's tag this as an enhancement issue for a new EXIF system.
Any other suggestions for a new and better way to handle EXIF are very welcome, of course.
Yes, exif has: ```C typedef enum { EXIF_FORMAT_BYTE = 1, EXIF_FORMAT_ASCII = 2, EXIF_FORMAT_SHORT = 3, EXIF_FORMAT_LONG = 4, EXIF_FORMAT_RATIONAL = 5, EXIF_FORMAT_SBYTE = 6, EXIF_FORMAT_UNDEFINED = 7, EXIF_FORMAT_SSHORT =...
Yes, exactly, you could have eg.: ```json { "exif": { "ifd0": { "Orientation": "1", "Orientation-i18n": "Top-left", "XResolution": "72000/1000", "XResolution-i18n": "72", ... ``` Or I suppose the i18n values could be...
The GIF saver has this functionality too, though it's also limited to a choice of 2, 4, 8, 16, 32, 64, 128, 256 colours. There's a PR with some code...
It's this PR: https://github.com/libvips/libvips/pull/3122 It needs a small upstream change, unfortunately.