Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
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 #4927 (closed)

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

PYR: SHA1 handling is broken

Reported by: jamoore Owned by: jamoore
Priority: major Milestone: OMERO-Beta4.3
Component: Bio-Formats Version: n.a.
Keywords: n.a. Cc: mlinkert
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2011-06-16 (14)

Description

Traditionally, sha1 generation has been plane (i.e. row) based. For pyramids, it will need to be tile based. Since this isn't specified anywhere, the change should be transparent for users. The logic may should be pushed down into bioformats so that any reader will provide a sha1 in the appropriate way.

Change History (14)

comment:1 Changed 13 years ago by jmoore

  • Cc mlinkert-x added
  • Component changed from General to Bio-Formats
  • Owner set to mlinkert-x
  • Priority changed from minor to major
  • Remaining Time 1.5 deleted

BfPixelWrapper, for example, is calculating by timepoint (though ByPyramidPixelBuffer disallows getTimepoint, it is unwittingly using it itself via the delegate).

    public byte[] getMessageDigest() throws IOException {
       MessageDigest md;
       try {
           md = MessageDigest.getInstance("SHA-1");
       } catch (NoSuchAlgorithmException e) {
           throw new RuntimeException(
                   "Required SHA-1 message digest algorithm unavailable.");
       }
       for (int t = 0; t < sizeT; t++) {
           try {
               byte[] buffer = new byte[timepointSize];
               getTimepoint(t,buffer);
               md.update(ByteBuffer.wrap(buffer));
           } catch (DimensionsOutOfBoundsException e) {
               throw new RuntimeException(e);
           }
       }
       return md.digest();
   }

comment:2 Changed 13 years ago by jburel

  • Sprint changed from 2011-04-21 (10) to 2011-05-05 (11)

Moved from sprint 2011-04-21 (10)

comment:3 Changed 13 years ago by mlinkert

  • Sprint changed from 2011-05-05 (11) to 2011-05-19 (12)

comment:4 Changed 13 years ago by jmoore

  • Remaining Time set to 1

comment:5 Changed 13 years ago by mlinkert

  • Owner changed from mlinkert-x to jmoore

comment:6 Changed 13 years ago by jburel

  • Sprint changed from 2011-05-19 (12) to 2011-06-02 (13)

Moved from sprint 2011-05-19 (12)

comment:7 Changed 13 years ago by jburel

  • Sprint changed from 2011-06-02 (13) to 2011-06-16 (14)

Moved from sprint 2011-06-02 (13)

comment:8 Changed 13 years ago by jmoore <josh@…>

(In [5ff290a5eafaee60ec7211e79c39888e34615188/ome.git] on branch develop) Adding forEachTile to omero.client in OmeroJava (See #4927, #5755)

comment:9 Changed 13 years ago by jmoore <josh@…>

(In [dbe2b7240d3ffe7cb6968d997da255846e56ddb9/ome.git] on branch develop) Adding forEachTile to omero.client in OmeroPy (See #4927)

comment:10 Changed 13 years ago by Will Moore <will@…>

(In [70fabe9f09d21eec352a019308f4db3779b2bddb/ome.git] on branch develop) Adding counter and delay to Python integration testRomioToPyramid. See #4927

comment:11 Changed 13 years ago by jmoore <josh@…>

(In [bdf988d4c389a3ec42a5410fe5f4cc9c54079bd1/ome.git] on branch develop) Partial revert of [4ea06983d312c06a5e1c61175afac01884a31b0c/ome.git]

Changes to omero.client were inadvertent (See #4927)

comment:12 Changed 13 years ago by jmoore <josh@…>

(In [7f4b2fe42b6b772a2ac0b25b8c6dd614127cdcd0/ome.git] on branch develop) Move OmeroJava and OmeroPy omero.client.forEachTile to TileLoop? classes (See #4927)

comment:13 Changed 13 years ago by jmoore <josh@…>

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

(In [23f73f491901c35cca77a1aeda89cc3efdb350b5/ome.git] on branch develop) Add TileLoop to OmeroCpp (Fix #4927)

comment:14 Changed 13 years ago by jmoore

Rather than completely solve SHA1s the decision was to specify in all languages how to loop over the data. The previous (closing) commit finally added support for OmeroCpp (mildly tested).

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.73318 sec.)

We're Hiring!