Bio-Formats provides an API for opening very large image planes in tiles:
byte[] openBytes(int no, int x, int y, int w, int h)
byte[] openBytes(int no, byte[] buf, int x, int y, int w, int h)
Any valid tile width and height should behave correctly, but for optimal performance you can ask for the data's ideal tile size using:
int getOptimalTileWidth()
int getOptimalTileHeight()
So hopefully it would not be too difficult for Icy to provide a "crop image on import" sort of feature -- and maybe eventually a tile-based image viewer. Please let us know if you have any trouble with it!
Regards,
Curtis
P.S. This week, the ImageJ2 team will be working on the underpinnings in ImgLib2 for a SCIFIO-driven CellImg with intelligent disk caching. Once this work is ready, and if Icy becomes capable of using ImgLib2 data structures at the interface level, you could potentially harness this feature for tile-based image support.