Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #5716 (closed)

Opened 8 years ago

Closed 8 years ago

Bug: channel_offsets fails on set plane of big image.

Reported by: jamoore Owned by: wmoore
Priority: major Milestone: OMERO-Beta4.3
Component: Scripting Version: n.a.
Keywords: n.a. Cc: jburel, cxallan
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: n.a.

Description

ERROR:blitz_gateway:Failed to setPlane() on rawPixelsStore while creating Image
Traceback (most recent call last):
  File "c:\OMERO-CURRENT\lib\python\omero\gateway\__init__.py", line 2443, in createImageFromNumpySeq
    uploadPlane(plane, theZ, theC, theT)
  File "c:\OMERO-CURRENT\lib\python\omero\gateway\__init__.py", line 2429, in uploadPlane
    rawPixelsStore.setPlane(convertedPlane, z, c, t)
  File "c:\OMERO-CURRENT\lib\python\omero_api_RawPixelsStore_ice.py", line 254, in setPlane
    return _M_omero.api.RawPixelsStore._op_setPlane.invoke(self, ((buf, z, c, t), _ctx))
InternalException: exception ::omero::InternalException
{
    serverStackTrace = ome.conditions.InternalException:  Wrapped Exception: (java.lang.UnsupportedOperationException):
Non-tile based writing unsupported.

	at ome.io.bioformats.BfPyramidPixelBuffer.setPlane(BfPyramidPixelBuffer.java:1055)

	at ome.services.RawPixelsBean.setPlane(RawPixelsBean.java:564)

Change History (3)

comment:1 Changed 8 years ago by wmoore

Interesting that this didn't fail on getPlane() from a 'Big' image (same size as the one you're creating).

Is getPlane() supported for big images?

I'm not sure how to implement createImageFromNumpySeq() using tiles, since it currently takes a sequence of planes. It's possible that uploadPlane() could take a whole plane and upload it as tiles (solves the error above). This would possibly allow server-side scripts to use createImageFromNumpySeq() on big images (largish ones anyway) but this is not likely to be nice for remote clients.

To make the whole script tile-based would require a complete re-write and is not worth doing unless we know someone wants this functionality on big images.

comment:2 Changed 8 years ago by jmoore

  • Cc cxallan added

Will, at the moment, getPlane is supported for big images, but will likely be removed in 4.3.1 (#4853). setPlane is completely disallowed. The intent is that all API consumers move away from plane-based methods towards tile-based ones. It may be worth modifying this as an example for others. Chris, thoughts?

comment:3 Changed 8 years ago by Will Moore <will@…>

  • Remaining Time set to 0
  • Resolution set to fixed
  • Status changed from new to closed

(In [289e066f1beb547cf4a0247fb45617cfbe7fe38f/ome.git] on branch develop) Channel_Offsets.py handles Big Images with 'not supported' message. Closes #5716

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.81840 sec.)

We're Hiring!