slow retrieval of hypercube data from OMERO
Posted: Mon Nov 17, 2014 2:00 pm
Hi all -
I've been wrestling with the slow retrieval of FLIM data (and more generally of all data) from an OMERO server.
I can test the actual transport time of data from the server by fetching the data of a large FileAnnotation. I can reliably read 1.2 MBytes in 0.15 - 0.32 sec (this is the time just for the store.read(size) operation).
In contrast, when these data are stored as 256 planes of 2 channels of 128x128 uint16 pixels (which is 1.68 MBytes uncompressed), it takes 2.25 - 2.5 seconds for the store.getHypercube(...) operation.
It even takes 0.6 - 0.7 sec to retrieve only 60 planes of data using getHypercube. I can't tell from reading the code whether the planes are assembled into a hypercube on the server side, or whether the planes are requested individually by the client. In any case, the performance is very slow.
I'm inclined at this point just to save my FLIM data as a FileAnnotation to the smaller amount of image data, but this defeats the interoperability of having data stored as OMERO images. (I would even consider storing ALL of my data as FileAnnotations!).
It would be better if the performance could be improved instead.
Best,
Gary
I've been wrestling with the slow retrieval of FLIM data (and more generally of all data) from an OMERO server.
I can test the actual transport time of data from the server by fetching the data of a large FileAnnotation. I can reliably read 1.2 MBytes in 0.15 - 0.32 sec (this is the time just for the store.read(size) operation).
In contrast, when these data are stored as 256 planes of 2 channels of 128x128 uint16 pixels (which is 1.68 MBytes uncompressed), it takes 2.25 - 2.5 seconds for the store.getHypercube(...) operation.
It even takes 0.6 - 0.7 sec to retrieve only 60 planes of data using getHypercube. I can't tell from reading the code whether the planes are assembled into a hypercube on the server side, or whether the planes are requested individually by the client. In any case, the performance is very slow.
I'm inclined at this point just to save my FLIM data as a FileAnnotation to the smaller amount of image data, but this defeats the interoperability of having data stored as OMERO images. (I would even consider storing ALL of my data as FileAnnotations!).
It would be better if the performance could be improved instead.
Best,
Gary