[ome-devel] Setting Pixels

Bernhard Holländer bernhard.hollaender at gmail.com
Mon May 11 10:36:10 BST 2009


Hi Chris!

Thanks for your answers.

I have another question:

My method to save pixels accepts planes rather than 5-d image data.
When a new plane is added I update the pixels object to reflect that
change in the channel, timepoint size etc. Unfortunaltely, I have to
recreate the pixel store after the change, otherwise I get an API
exception that the (eg. channel) size of the pixel object is to small
for the actual pixels written (this is from the server log):

2009-05-11 10:51:20,014 INFO  [
ome.services.util.ServiceHandler] (l.Server-6)  Excp:    ome.condition
s.ApiUsageException: C '1' greater than sizeC '1'.

That error occurs after
1. creating the pixels
2. writing the first channel
3. updating the pixels object to have two channels
4. saving the object
5 writing the second channel fails (this call fails)

To avoid this problem I have to recreate the pixel store after 4.

My question, is this intentional or could you update the pixelstore
service to deal with this partial writes?

Thanks! Bernhard



On Fri, May 8, 2009 at 3:55 PM, Chris Allan <callan at blackcat.ca> wrote:
> On Thu, 2009-05-07 at 15:50 +0200, Bernhard Holländer wrote:
>> Hi again!
>
> Hi Bernhard.
>
>>
>> I'm in the process of writing a method to set image pixels. I have a
>> few questions:
>>
>> 1. I'm following the cpp test beta3.cpp, is there a more convenient
>> way to write pixels and metadata, like there was with the
>> MetadataStore?
>
> >From a metadata perspective you might take a look at the IPixels API.
> Specifically "createImage()".
>
>>
>> 2. Are rendering settings and thumbnails produced automatically, or do
>> I have to trigger that after an upload?
>
> They are produced by either the Thumbnail or Rendering services upon
> first display. If you want to do this yourself before a rendering event,
> from either the Thumbnail or Rendering service, you can retrieve an
> instance of either and call "resetDefaults()".
>
>>
>> 3. What is the purpose of the sha1 member of the Pixels object? I can
>> set it to arbitray values and it does not seem to make a difference.
>
> The SHA1 attribute/member/field is strictly informational. It's expected
> that the caller update the SHA1 but not required by any portion of the
> OMERO server or client infrastructure. As this can be a burden on import
> and creation we are considering taking this out in the future.
>
>>
>> 4. Is it correct that the setPlane method of the RawPixelStore service
>> expects big-endian data buffers?
>
> Yes.
>
>>
>> Many tanks for answers! Bernhard
>
> Thanks for the feedback. :)
>
> -Chris
>
> _______________________________________________
> ome-devel mailing list
> ome-devel at lists.openmicroscopy.org.uk
> http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>


More information about the ome-devel mailing list