1

We are working with very large size(1-4 GB) multi-resolution (4-5 resolutions) tiled images(tile size is 512X512). The highest resolution reaches 100K X 100K pixels. We need to view these images for which we tried developing a image viewer in java using SWT. The primary requirement is that the navigation (zooming,panning) in the image should be as smooth as possible. we are not able to achieve smoothness factor in our SWT viewer as images are very big and we can only load some part of the image at a time. Although we used multithreading for fetching the images, we are not satisfied with the display part. My questions are

  1. Is SWT a right choice?
  2. Keeping the development environment as java, what are other options to improve display performance (we are exploring JOGL right now)?
  3. Are there any available libraries in java for providing smooth navigation with big images?

Thanks a lot.

gouessej
  • 3,640
  • 3
  • 33
  • 67
Adarsh
  • 433
  • 6
  • 14
  • Have you profiled the application to see what are the performance hotspots? – Kayaman Apr 08 '15 at 07:30
  • yes, we did the profiling, solved the memory leaks, optimized memory utilization, but concern here is smooth navigation, which we are not able to achieve. – Adarsh Apr 08 '15 at 08:00
  • This project may help you http://iipimage.sourceforge.net/ – Pablo Gallego Falcón Apr 08 '15 at 16:41
  • @pablo Thanks for sharing the link, the example in the link ( the NASA/JPL-Caltech) explains my problem very precisely. This is the kind of performance which we are getting with our developed product, but the requirement is to get very smooth navigation(zooming/panning) experience. – Adarsh Apr 09 '15 at 07:11
  • Like the one explained here (http://iipimage.sourceforge.net/demo) – Adarsh Apr 09 '15 at 07:19
  • This approach would work with JOGL: http://stackoverflow.com/a/425770/458157 I advise you to use com.jogamp.opengl.util.TileRenderer, it works exactly like the C version: http://www.mesa3d.org/brianp/TR.html – gouessej Apr 15 '15 at 12:27
  • Hi Adarsh, solved? You could generate offline different mipmaps and then load them runtime based on the detail required – elect Aug 07 '15 at 08:55
  • Solved by using combination of openGL and java animation framework. @Elect I appreciate your suggestion but we already had the data in multi-resolution pyramid format. – Adarsh Oct 17 '16 at 10:04

0 Answers0