Working with Gigapixel Images (Very large files!)

    May 23 2010 | 5:13 pm
    I've been using: jit.rota
    to load and then scale image files. It's working fine for small images, however, I'd like to load images 20MB or even up to 500MB with very high resolution so I can essentially zoom in and out with little quality loss. I've tried loading an image 20MB and it hangs and the output window just stays black.
    Anyone have ideas for working with large files like this?

    • May 24 2010 | 8:26 am
      Processing images like that will take some cpu i guess, it might be better to process in GL directly instead of using jit.rota (so rotating/scaling an and rendering it to a window directly).
      For the reading part: have you tried 'asyncread' instead of 'read' ? That should prevent from the entire patch from responding. I have no idea how this will work with big image-files, but worth a try. The object will send a message from the info outlet once it is done.
    • Sep 12 2019 | 1:06 am
      I am also trying to open very high resolution images (<10MB) at which point hangs and Max 7 crashes consistently. What are the resolution limitations when reading images into ?
    • Sep 12 2019 | 1:43 pm
      are you running Max in 64bit mode? How much RAM do you have?
    • Sep 12 2019 | 6:45 pm
      Okay looks like I had 32-bit mode enabled in the Get Info panel for the Max in macOS. I have 16 GB of RAM.
      Now at least Max 7 won't crash when loading an image that is e.g. 7MB but even so, Max still slows to a crawl once it's loaded. Also, as QuickTime is not supported in 64-bit mode, I switched to viddll engine in preferences and restarted Max, and notice now that does nothing when sending usesrcrect 1 to the object, which is the crux of this inquiry.
    • Sep 13 2019 | 10:38 am
      Instead of using [] you can also load your image in a [] with the (read) message.
    • Oct 02 2019 | 10:33 pm
      It seems that even with 64-bit enabled and loading the large image (jpg/png) into a texture on the GPU, Max 7 without fail crashes when [read] images approaching 30000 x 30000 pixels.
    • Oct 03 2019 | 2:21 pm
      i would use some external software to split up the image into chunks that can be read into multiple jit.matrix/ objects (the image handling backend for all these objects is the same), and then stitch back together using multiple gl.videoplanes and an anim.node hierarchy to adjust the view.
      Jitter has no special functionality for managing these large images.