Task #4927 (closed)
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 8 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
comment:2 Changed 8 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 8 years ago by mlinkert
- Sprint changed from 2011-05-05 (11) to 2011-05-19 (12)
comment:4 Changed 8 years ago by jmoore
- Remaining Time set to 1
comment:5 Changed 8 years ago by mlinkert
- Owner changed from mlinkert-x to jmoore
comment:6 Changed 8 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 8 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 8 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 8 years ago by jmoore <josh@…>
(In [dbe2b7240d3ffe7cb6968d997da255846e56ddb9/ome.git] on branch develop) Adding forEachTile to omero.client in OmeroPy (See #4927)
comment:10 Changed 8 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 8 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 8 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 8 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 8 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).
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(); }