Results 1568 comments of John Cupitt

No, arrayjoin is quick because it uses hard edges. Use merge for fancy feathering. You can also feather edges with composite, but that's harder to use. If you only have...

Did you see the nip2 demo of image mosaic assembly? It uses these functions. Start up nip2, click File / Open Examples, double-click on `1_point_mosaic`, then load `1pt_mosaic.ws`. Kirk made...

Here's an arrayjoin demo: ```python #!/usr/bin/python3 import sys import pyvips size = 256 image = pyvips.Image.new_from_file(sys.argv[1]) tiles_across = 1 + int(image.width / size) tiles_down = 1 + int(image.height / size)...

Vingetting: take a shot of a white and use that to correct your frames. Eg. ```python white = pyvips.Image.new_from_file("white.png") vignette = white.max() / white frames = [pyvips.Image.new_from_file(filename) for filename in...

You could try using the mosaic functions instead of arrayjoin. They take the offset you give as a starting point, then do a search for the exact overlap. At least...

How are your 10 bit images stored? If it's two bytes per pixel you can just use `rawload`: https://libvips.github.io/libvips/API/current/VipsForeignSave.html#vips-rawload eg. ```python image = pyvips.Image.rawload("raw-file", 3000, 2000, 2).copy(bands=1, format="ushort") ``` To...

You can add: ``` M = pyvips.Image.rawload('theimage.dump',1920,1200,2).copy(bands=1, format="ushort", interpretation="b-w") ``` If you like to tag as monochrome, though it won't make much difference. libvips images are just big arrays, so...

Hi @cookmscott, this sounds very cool. We keep meaning to add a thing to make it possible to generate tiles on demand with eg. numpy, but it hasn't happened yet...

It'll decompress and recompress, but it's smart enough to do this on several threads, so as long as you have a few cores it should be fast enough. libtiff doesn't...

Hello, yes, good idea. This is supposed to be the image view window for nip3: https://github.com/jcupitt/vipsdisp And it does what you suggest, more or less. So it's coming!